A system for configuration of embedded intelligence comprises a processor and a memory. The processor is configured to associate a prompt of an embedded intelligence applet with an exposed field of a process. The memory is coupled to the processor and is configured to provide the processor with instructions. The memory is configured to store the process definition.
|
20. A method comprising:
creating an embedded intelligence applet including:
creating a blank report;
determining whether the blank report is usable as the embedded intelligence applet based on at least one of: a number of columns in the blank report being below a column threshold and output of the blank report meets a criteria; and
if the blank report is usable as the embedded intelligence applet, enabling the blank report as the embedded intelligence applet;
associating a prompt of the embedded intelligence applet with an exposed field of a process, wherein the embedded intelligence applet is configured to generate a report based on the exposed field;
storing a definition of the process and an association, wherein the association indicates a relationship between the process and the embedded intelligence applet; and
in the event an indication to execute the process is received, automatically executing the embedded intelligence applet to generate the report, wherein the embedded intelligence applet is integrated with the process.
1. A system comprising:
a processor configured to:
create an embedded intelligence applet including:
create a blank report;
determine whether the blank report is usable as the embedded intelligence applet based on at least one of: a number of columns in the blank report being below a column threshold and output of the blank report meets a criteria; and
if the blank report is usable as the embedded intelligence applet, enable the blank report as the embedded intelligence applet;
associate a prompt of the embedded intelligence applet with an exposed field of a process, wherein the embedded intelligence applet is configured to generate a report based on the exposed field;
store a definition of the process and an association, wherein the association indicates a relationship between the process and the embedded intelligence applet; and
in the event an indication to execute the process is received, automatically provide the embedded intelligence applet to generate the report, wherein the embedded intelligence applet is integrated with the process; and
a memory coupled to the processor and configured to provide the processor with instructions.
21. A computer program product, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
creating an embedded intelligence applet including:
creating a blank report;
determining whether the blank report is usable as the embedded intelligence applet based on at least one of: a number of columns in the blank report being below a column threshold and output of the blank report meets a criteria; and
if the blank report is usable as the embedded intelligence applet, enabling the blank report as the embedded intelligence applet;
associating a prompt of the embedded intelligence applet with an exposed field of a process, wherein the embedded intelligence applet is configured to generate a report based on the exposed field;
storing a definition of the process and an association, wherein the association indicates a relationship between the process and the embedded intelligence applet; and
in the event an indication to execute the process is received, automatically executing the embedded intelligence applet to generate the report, wherein the embedded intelligence applet is integrated with the process.
2. The system of
3. The system of
4. The system of
5. The system of
6. The system of
8. The system of
9. The system of
10. The system of
11. The system of
12. The system of
13. The system of
14. The system of
15. The system of
16. The system of
17. The system of
18. The system of
19. The system of
22. The system of
23. The system of
24. The system of
|
This application is a continuation of U.S. patent application Ser. No. 13/443,185 issued as U.S. Pat. No. 9,223,462 entitled CONFIGURATION OF EMBEDDED INTELLIGENCE filed Apr. 10, 2012 which is incorporated herein by reference for all purposes.
A business manager makes many complex decisions over the course of each day. Enterprise business software has come to be relied upon for assisting a manager with his decision making by presenting him with data relevant to these decisions. For example, a manager who is considering giving an employee a raise might want to see data regarding the amount and timing of raises given to employees in the past, sorted by business division and employee performance level. Setting up this type of data analysis traditionally requires some level of software programming, and is not typically integrated into the decision making process. A manager would have to request the services of technical staff to prepare code for the report and utilizing the report would require switching tasks between report viewing and decision making.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process; an apparatus; a system; a composition of matter; a computer program product embodied on a computer readable storage medium; and/or a processor, such as a processor configured to execute instructions stored on and/or provided by a memory coupled to the processor. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention. Unless stated otherwise, a component such as a processor or a memory described as being configured to perform a task may be implemented as a general component that is temporarily configured to perform the task at a given time or a specific component that is manufactured to perform the task. As used herein, the term ‘processor’ refers to one or more devices, circuits, and/or processing cores configured to process data, such as computer program instructions.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
A system for configuration of embedded intelligence comprises a processor configured to associate a prompt of an embedded intelligence applet with an exposed field of a business process, and a memory coupled to the processor and configured to provide the processor with instructions and to store the business process definition. In some embodiments, the business process definition is stored with the associated embedded intelligence applet.
Configuration of embedded intelligence is disclosed. A human resources and financial software application comprises a database, a set of business processes, and a set of embedded intelligence applets. Each business process modifies or accesses data stored in the database to accomplish a business process, e.g., hire an employee, modify the salary of an employee, give an employee a promotion, enter an invoice, etc. Each embedded intelligence applet prepares a report on data stored within the database to assist a business manager with the decisions made in the business processes. The embedded intelligence applets are made available automatically for the user of the business process so that no switching to another application is necessary in order for the functionality of the embedded intelligence applet to be visible, available, or interactive for the user. In various embodiments, the embedded intelligence applet is automatically triggered, is automatically made visible, is automatically made to be interactive with the user, is automatically launched, is automatically updated based on new values of input or updated input, or any other appropriate trigger. Embedded intelligence applets are created with a standard report writer user interface that does not require technical skill. So that the configuration of the embedded intelligence applet does not require a high degree of technical skill—for example, a computer skill level of a programmer, or a computer specialist, or a system administrator. When a report has been created with the report writer user interface, it is then enabled as an embedded intelligence applet, if it meets certain criteria. An embedded intelligence applet may include a set of prompts, e.g., variables that need to be supplied to the embedded intelligence applet in order for it to run. An embedded intelligence applet that provides the salary for each employee of a certain job profile could take as input a job profile to find salaries of, or an employee to search salaries of employees with the same job profile. When an embedded intelligence applet is added to a business process, the prompts have their values supplied by business process exposed fields. Business process exposed fields comprise data fields made available by the business process for use by embedded intelligence applets. For example, an embedded intelligence applet takes as an input an output provided by exposed fields that are available from a business process. These fields comprise available variables from the business process that can be output to provide input values to the embedded intelligence applet.
Database system administrator 104 comprises a database system administrator administrating database system 108. In some embodiments, database system administrator 104 comprises an employee at a company purchasing database system services. In some embodiments, administrating database system 108 comprises preparing, configuring, or modifying database system 108 as desired by database system users (e.g., database system user 106). In some embodiments, database system administrator 104 configures and modifies database system 108 in ways not available to database system user 106. Database system user 106 comprises a database user accessing database services on database system 108. In some embodiments, database system user 106 comprises an employee at a company purchasing database system services. In various embodiments, there are 1, 2, 4, 13, 22, 115, or any other appropriate number of database system users accessing database services on database system 108. In some embodiments, each database system user only has access to their own data stored on database system 108 and is able to utilize database system 108 as though they are the sole database system user. In some embodiments, software and data on database system 108 is owned and maintained by database system engineer 102 and access to database system 108 is provided to database system user 106 as a service. In some embodiments, database system user 106 configures services on database system 108. In some embodiments, the ability of database system user 106 to configure database system 108 is limited compared with that of database system engineer 102 or database system administrator 104. In some embodiments, a database system user (e.g., database system user 106) comprises a person accessing database system 108 via a user interface, e.g., a web page. In some embodiments, a database system user comprises an automated system accessing database system 108 via a machine interface, e.g., a public application programming interface (API).
In some embodiments, the embedded intelligence applet provides information by receiving the input information associated with the process and looks for related information in the database. For example, in the event that a raise process is being used, the applet provides salary data for employees with the same job classification (e.g., laterally relevant data), provides employee salary data (e.g., background data, or vertically relevant data, etc.), provides employee data for those with salary similar to the contemplated raise salary (e.g., forecasted laterally relevant data), or any other appropriate data. In some embodiments, related information comprises results from a search on a database (e.g., an object database). In some embodiments, the search on the database comprises a search based at least in part on an attribute of an object received as an input object. In some embodiments, the search on the database comprises a search based at least in part on an attribute of an object related to the input object.
Business process 302 is divided into business process step 308, business process step 310, and business process step 312. In various embodiments, a business process is broken into 1, 2, 3, 5, 7, 10, or any other appropriate number of steps. Each step contains a subset of the fields a database system user is to fill out in order for the business process to complete. As a business process evolves, (e.g., through revisions to the software), the number of steps the business process is divided into can change (e.g., more decisions are added, the decisions are spread out among a larger number of steps). Business process 302 additionally comprises factory object 314, factory object 316, and factory object 318. Factory object 314 is associated with business process step 308, factory object 316 is associated with business process step 310, and factory object 318 is associated with business process step 312. Each factory object gathers data entered into fields on its associated business process step and reports the data to business object 320. For instance, if an employee name is entered into an employee name field in business process step 308, factory object 314 will detect the employee name and report it to business object 320. Business object 320 collects data from the factory objects and presents the data to embedded intelligence applet 304 and embedded intelligence applet 306 in a documented and consistent format. For instance, if business process 302 comprises a modify employee salary business process, and business process step 310 includes a new employee salary field, factory object 316 will register data entered into the new employee salary field and report it to business object 320, which will then present it to embedded intelligence applet 304 and embedded intelligence applet 306 in the documented and consistent format. If business process 302 evolves (e.g., through revisions to the software) and the business process step that includes the new employee salary field is changed, the factory objects are changed correspondingly such that business object 320 still receives data entered into the new employee salary field and is able to report the data in the same manner as prior to the business process evolution.
Embedded intelligence applet 304 and embedded intelligence applet 306 receive data from business object 320 as part of their data analysis and report preparation. For instance, when a user enters an employee name into a modify employee salary process, embedded intelligence applet 304 and embedded intelligence applet 306 receive the employee name and can execute further data analysis and report preparation based on it, e.g., finding the performance records of the employee and presenting them to the database user. In some embodiments, database management system 300 comprises a processor configured to associate a prompt of an embedded intelligence applet (e.g., embedded intelligence applet 304) with an exposed field of a business process (e.g., business process 302) and a memory coupled to the processor and configured to provide the processor with instructions and to store the business process definition with the associated embedded intelligence applet.
In some embodiments, the business process with its associated embedded intelligence applet has the ability to add/remove steps in the business process and yet still allow the embedded intelligence applet to trigger where their prompts have been satisfied (e.g., the linkage from exposed fields of the business process are output or transferred to the embedded intelligence applet as inputs).
In 610 the report is enabled for use. In various embodiments, enabling the report for use comprises storing the report, adding the report name to a list of available reports, causing the report to appear in report search results, notifying users of the availability of the report, or enabling the report for use in any other appropriate way. In 612 it is determined if the report can be used as an embedded intelligence applet. In various embodiments, the report can be used as an embedded intelligence applet if its number of columns (e.g., the report data source columns defined in 606) is below a threshold, if the output data plotting and graphing is below a certain number of plots and graphs, if the output data processing meets an output data processing criteria, or if the report meets any other appropriate criteria for use as an embedded intelligence applet. In some embodiments, the determination of whether the report can be used as an embedded intelligence applet is only made after an indication by a user that the report is to be used as an embedded intelligence applet. If it is determined that the report cannot be used as an embedded intelligence applet, the process ends. If it is determined that the report can be used as an embedded intelligence applet, control passes to 614. In 614, the report is enabled as an embedded intelligence applet. In various embodiments, enabling the report as an embedded intelligence applet comprises storing the report with an indicator that it is an embedded intelligence applet, adding the report name to a list of available embedded intelligence applets, causing the report to appear in embedded intelligence applet search results, notifying users of the availability of the embedded intelligence applet, or enabling the report as an embedded intelligence applet in any other appropriate way.
In 706 an embedded intelligence applet is selected to add to the business process. In various embodiments, an embedded intelligence applet is selected from a list of embedded intelligence applets, from a category tree of embedded intelligence applets, from a set of search results for embedded intelligence applets, by typing the name into an embedded intelligence applet name field, or in any other appropriate way. In some embodiments, the user is given the option to create a new embedded intelligence applet to add to the business process. In some embodiments, when an embedded intelligence applet is selected to add to the business process, a reference to the embedded intelligence applet is added to the business process definition.
In 708, embedded intelligence applet prompts are associated with fields exposed by the business process. In some embodiments, embedded intelligence applet prompts comprise input data prompts that affect the output data displayed by the embedded intelligence applet. In some embodiments, embedded intelligence applet prompts comprise data prompts as defined in 608 of
In 710, an embedded intelligence applet security policy is defined. In some embodiments, an embedded intelligence applet security policy comprises a limitation of the database system users (e.g., database system users such as database system user 106 of
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
Ruggiero, Jonathan David, Shay, Bruce, Gustafson, Paul, Pouschine, Nick
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
8024651, | Jan 30 2007 | Adobe Inc | Data visualization using tables integrated with hierarchical pie charts |
20020052771, | |||
20020069214, | |||
20030140089, | |||
20040024622, | |||
20040039990, | |||
20040078461, | |||
20050216282, | |||
20060143220, | |||
20070106642, | |||
20070226241, | |||
20070250840, | |||
20100017783, | |||
20100250486, | |||
20120089636, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 19 2015 | Workday, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jan 06 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 18 2020 | 4 years fee payment window open |
Jan 18 2021 | 6 months grace period start (w surcharge) |
Jul 18 2021 | patent expiry (for year 4) |
Jul 18 2023 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 18 2024 | 8 years fee payment window open |
Jan 18 2025 | 6 months grace period start (w surcharge) |
Jul 18 2025 | patent expiry (for year 8) |
Jul 18 2027 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 18 2028 | 12 years fee payment window open |
Jan 18 2029 | 6 months grace period start (w surcharge) |
Jul 18 2029 | patent expiry (for year 12) |
Jul 18 2031 | 2 years to revive unintentionally abandoned end. (for year 12) |