Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
DETAILED ACTION
Status of the Application
The following is a non-Final Office Action.
In response to Examiner's communication of 9/30/2025, Applicant responded on 12/30/2025. Amended claims 1, 6, 8-13, 19, and 20.
IDS filed on 9/26/2025 is acknowledged and considered by the Examiner.
Claims 1-20 are pending in this application and have been examined.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 12/30/2025 has been entered.
Response to Amendment
Applicant's amendments to claims 1, 6, 8-13, 19, and 20 are sufficient to overcome the claim objections set forth in the previous action. The claim objections are hereby withdrawn.
Applicant's amendments to claims 1, 6, 8-13, 19, and 20 are not sufficient to overcome the 101 rejections set forth in the previous action.
Applicant's amendments to claims 1, 6, 8-13, 19, and 20 are not sufficient to overcome the prior art rejections set forth in the previous action.
Response to Arguments – 35 USC § 101
Applicant’s arguments with respect to the rejections have been fully considered, but they are not persuasive.
Applicant submits, “…The limitations recited in the independent claims cannot practically be performed in the human mind. "Accessing a flexible goal ontology comprising a plurality of goal entities, one or more goal relationships between the plurality of goal entities, and one or more goal properties, the one or more goal properties including one or more metadata attributes relating to the one or more goal entities" requires maintaining and querying a complex data structure with multiple interconnected components, properties, and relationships. A flexible goal ontology is not merely a conceptual framework but a specific data structure implementation that stores goal entities, relationships, and properties in a manner that enables dynamic querying and manipulation. The human mind is not equipped to maintain such a data structure with the necessary fidelity and accessibility to support the subsequent claim limitations.…The amended claims recite that "the alignment automatically predicted by an application of a machine-learning model to the one or more goal properties." This limitation cannot be performed in the human mind. The application of a machine learning model requires processing goal properties through trained model parameters using mathematical operations that involve matrix multiplications, activation functions, and other computational processes that are beyond human mental capacity to perform. The August 2025 Memo expressly recognizes that claim limitations encompassing artificial intelligence in a way that cannot be practically performed in the human mind do not fall within the mental process grouping. A machine learning model that processes goal properties to automatically predict alignments between employee objectives and organizational strategies involves computational complexity that the human mind is not equipped to replicate...While the claimed invention may relate to the field of organizational goal management, the claims do not recite methods of organizing human activity. Instead, they recite specific technological structures and processes for implementing goal management functionality through computer systems. The claims require a flexible goal ontology, mapping rules that operate on that ontology, machine learning prediction of alignments, and incremental updating based on rule reevaluation-none of which are human activities but rather computer-implemented technological processes… As the Federal Circuit explained in McRO, Inc. v.Bandai Namco Games Am. Inc., courts must be careful to avoid oversimplifying claims by looking at them generally and failing to account for the specific requirements of the claims. The Examiner's characterization improperly oversimplifies the claims by focusing on the ultimate purpose (goal management)while ignoring the specific technological structures and processes by which that purpose is achieved...The Examiner concludes that the judicial exception is not integrated into a practical application because the additional elements are computing elements recited at a high level of generality implementing the abstract idea and merely link the abstract idea to the technical environment of a computer. This analysis fails to consider the claims as a whole and fails to recognize the specific technological improvements disclosed in the specification and reflected in the claims….The specification establishes that the claimed invention improves computer technology and the technical field of organizational goal management systems. The specification describes the technological problem: traditional goal management systems require manual processes for creating goal representations, identifying relationships between goals, and updating representations when goals change. The specification explains that the claimed invention provides a technological solution through the use of a flexible goal ontology that can accommodate various goal entity types and relationships, mapping rules that dynamically assemble customized representations based on ontological properties and relationships, and incremental updating that reevaluates only affected rules when changes occur. As explained in paragraph [1196], the system trains a machine learning model on prepared goals data to automatically predict alignments, with network parameters updated to minimize a loss function comparing predicted goal alignments against true labels in a training set. This represents a specific technological implementation for solving the technical problem of automated goal alignment prediction...Desjardins provides critical guidance for evaluating claims related to machine learning. The precedential decision explains that examiners must evaluate whether the specification identities improvements as to how the machine learning model itself operates and whether the claims as a whole reflect those improvements…the specification similarly identifies specific technological improvements. The claimed machine learning model that automatically predicts alignments based on goal properties represents an improvement over manual alignment processes. The flexible goal ontology provides an improvement over rigid data structures by accommodating customizable goal entity types, relationship types, and property attributes. The mapping rules that evaluate properties and relationships to dynamically assemble customized representations provide an improvement over static presentation approaches. The incremental updating based on reevaluation of affected mapping rules provides an improvement over complete regeneration by identifying which rules are impacted by changes and selectively updating only affected portions of the representation...The amended claims recite "the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically predicted by an application of a machine-learning model to the one or more goal properties." This limitation further clarifies the technological improvement. The machine learning model that automatically predicts alignments based on goal properties eliminates the need for manual alignment determination...The mapping rules are not generic rules-they are rules that define mappings based on properties and relationships within the goal ontology. The machine learning model is not a genetic model-it is a model trained to predict alignments based on goal properties. The incremental updating is not a generic updating process-it is a process that identifies affected mapping rules and reevaluates those rules selectively. These specific limitations reflect particular technological implementations rather than generic computer components…claims as a whole provide an improvement to technology. The flexible goal ontology, mapping rules, machine learning model, and incremental updating are not being used merely as tools to automate manual goal management...The machine learning model enables automatic alignment prediction. The incremental updating enables selective reevaluation based on identifying affected rules. These are improvements to how computer systems perform goal management, not merely using computers to perform existing manual processes more quickly...even if certain neural network architectures are known, the specific application of machine learning to automatically predict alignments between employee objectives and organizational strategies based on goal properties addresses a specific technological problem (automated alignment determination in goal management systems). The integration of this automatic prediction with a flexible goal ontology, mapping rules, and incremental updating provides a comprehensive technological solution. The claims do not merely recite using machine learning generally-they recite a machine learning model trained on prepared goals data with network parameters updated to minimize a loss function comparing predicted alignments against true labels, applied within a system that uses a flexible goal ontology and mapping rules to dynamically assemble and incrementally update customized goal representations...The problem is implementing such alignment in computer systems using flexible ontological structures, rule-based mapping, machine learning prediction, and incremental updating. These are technological problems that arise specifically in the realm of computer-implemented goal management systems. Before computers, there were no flexible goal ontologies, no mapping rules that evaluate ontological properties and relationships, no machine learning models that predict alignments, and no incremental updating based on reevaluating affected mapping rules. These technological problems and the claimed technological solutions are inherently rooted in computer technology...The Examiner has not shown that the specific combination of limitations claimed was well- understood, routine, and conventional at the time of filing. The specification describes this combination as providing specific benefits including dynamic goal representation assembly, automated alignment prediction, and efficient incremental updating. The Examiner has not pointed to evidence that this specific combination was known in the prior art or that one skilled in the art would have understood it to be conventional. The Berkheimer memo requires such evidence, and the Examiner's conclusory assertions based on general descriptions of computing infrastructure are insufficient….” The Examiner respectfully disagrees.
Analyzing the claims, as a whole, under Step 2A, Prong 1:
The limitations regarding, …receiving a request from a user to view a goal representation; accessing a flexible goal ontology comprising a plurality of goal entities, one or more goal relationships between the plurality of goal entities, and one or more goal properties, the one or more goal properties including one or more metadata attributes relating to the plurality of goal entities, the plurality of goal entities including one or more employee objectives and one or more organizational strategies. the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically predicted by an … model to the one or more goal properties, the … model trained on prepared goals data, wherein network parameters of the … model are updated to minimize a loss function comparing predicted goal alignments against true labels in a training set; obtaining a set of mapping rules defining mappings between one or more goals based on the one or more goal properties and the one or more goal relationships in the flexible goal ontology; evaluating the set of mapping rules to dynamically assemble a customized goal representation tailored to the user; incrementally updating the customized goal representation based on a revaluation of the set of mapping rules affected by changes to the plurality of goal entities, the one or more goal relationships, and the one or more goal properties; and transmitting the customized goal representation to a … associated with the user for graphical rendering based on a context of the user..…, under the broadest reasonable interpretation, can include a human using their mind and using pen and paper to perform the identified limitations. Therefore, the claims are directed to a mental process.
Further, … receiving a request from a user to view a goal representation; accessing a flexible goal ontology comprising a plurality of goal entities, one or more goal relationships between the plurality of goal entities, and one or more goal properties, the one or more goal properties including one or more metadata attributes relating to the plurality of goal entities, the plurality of goal entities including one or more employee objectives and one or more organizational strategies. the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically predicted by an … model to the one or more goal properties, the … model trained on prepared goals data, wherein network parameters of the … model are updated to minimize a loss function comparing predicted goal alignments against true labels in a training set; obtaining a set of mapping rules defining mappings between one or more goals based on the one or more goal properties and the one or more goal relationships in the flexible goal ontology; evaluating the set of mapping rules to dynamically assemble a customized goal representation tailored to the user; incrementally updating the customized goal representation based on a revaluation of the set of mapping rules affected by changes to the plurality of goal entities, the one or more goal relationships, and the one or more goal properties; and transmitting the customized goal representation to a … associated with the user for graphical rendering based on a context of the user.…, under the broadest reasonable interpretation, are managing human and human goals, therefore it is, managing personal behavior or relationships or interactions between people. Thus, the claims are directed to certain methods of organizing human activity.
Accordingly, the claims are directed to a mental process, certain methods of organizing human activity, and thus, the claims are directed to an abstract idea under the first prong of Step 2A.
Analyzing the claims, as a whole, under Step 2A, Prong 2:
This judicial exception is not integrated into a practical application under the second prong of Step 2A.
In particular, the claims recite the additional elements beyond the recited abstract idea identified under Step 2A, Prong 1, such as:
Claim 1, 19, 20: A system comprising: one or more computer processors; one or more computer memories; a set of instructions incorporated into one or more memories, the set of instructions configuring the one or more computer processors, A non-transitory computer-readable storage medium storing a set of instructions that, when executed by one or more computer processors, causes the one or more computer processors, a client device associated with the user, application of a machine-learning model
Claim 13: graphical user interface, the graphical user interface comprising an interactive sidebar
Claim 14: graphical user interface that is configured for small screens through use of interactive sidebars providing context-specific navigation
Claim 16: external systems
Claim 17: neural network
, and pursuant to the broadest reasonable interpretation, as an ordered combination, each of the additional elements are computing elements recited at high level of generality implementing the abstract idea, and thus, are no more than applying the abstract idea with generic computer components.
Further, these additional elements generally link the abstract idea to a technical environment, namely the environment of a computer.
Additionally, with respect to, “receiving …”, “accessing…”, “obtaining…”, “incrementally updating…”, “transmitting…”, “…user selection of the selected goal…”, ”…providing context-specific navigation…”, “…propagating updates…”, these elements do not add a meaningful limitations to integrate the abstract idea into a practical application because they are extra-solution activity, pre and post solution activity - i.e. data gathering – “receiving …”, “accessing…”, “obtaining…”, “…user selection of the selected goal…”, ”…providing context-specific navigation…”, “…propagating updates…”, data output – “incrementally updating…”, “transmitting…”, “…user selection of the selected goal…”, ”…providing context-specific navigation…”, “…propagating updates…”
Analyzing the claims, as a whole, under Step 2B:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception under Step 2B.
As noted above, the aforementioned additional elements beyond the recited abstract idea are not sufficient to amount to significantly more than the recited abstract idea because, as an order combination, the additional elements are no more than mere instructions to implement the idea using generic computer components (i.e. apply it).
Additionally, as an order combination, the additional elements append the recited abstract idea to well-understood, routine, and conventional activities in the field as individually evinced by the applicant’s own disclosure, as required by the Berkheimer Memo, in at least:
[1193] The machine learning model may comprise a neural network implementing an embedding layer, convolutional layers, pooling layers, and/or dense layers. A convolutional neural network architecture may be selected based on its proven effectiveness in text classification tasks.
[1195] One skilled in the art will appreciate that various standard neural network architectures could be adapted for the goals alignment task.
[1225] Here are some examples of insights that the machine learning described herein may be configured to reveal regarding compensation and goals:
[1226] Predictive Modeling for Budgeting: A regression model could forecast next year's payroll budget needs by analyzing historical trends in compensation changes, hiring forecasts, attrition predictions, and economic indicators. The predictions can help guide budget planning cycles.
[1273] In example embodiments, one or more user interfaces may be caused to be presented that include advanced visualizations, embedded analytics, mobile optimization, drag-and-drop manipulation, visual cues, animations, recommendations, or simulations, as described herein. For example, one or more user interfaces my include one or more of the following features:
[1274] An interactive sidebar providing contextual actions on goals including creating, aligning, updating, editing, ending, deleting, and reactivating goals;
[1376] Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules. A hardware-implemented module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more processors may be configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein.
[1383] Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
[1384] A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
[1385] In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
[1386] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that both hardware and software architectures merit consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.
[1387] FIG. 300 is a block diagram of an example computer system 30000 on which methodologies and operations described herein may be executed, in accordance with an example embodiment.
[1388] In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[1389] The example computer system 30000 includes a processor 30002 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 30004 and a static memory 30006, which communicate with each other via a bus 30008. The computer system 30000 may further include a graphics display unit 30010 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 30000 also includes an alphanumeric input device 30012 (e.g., a keyboard or a touch-sensitive display screen), a user interface (UI) navigation device 30014 (e.g., a mouse), a storage unit 30016, a signal generation device 30018 (e.g., a speaker) and a network interface device 30020.
[1390] The storage unit 30016 includes a machine-readable medium 30022 on which is stored one or more sets of instructions and data structures (e.g., software) 30024 embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 30024 may also reside, completely or at least partially, within the main memory 30004 and/or within the processor 30002 during execution thereof by the computer system 30000, the main memory 30004 and the processor 30002 also constituting machine-readable media.
[1391] While the machine-readable medium 30022 is shown in an example embodiment to be a single medium, the term "machine-readable medium" may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions 30024 or data structures. The term "machine-readable medium" shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions (e.g., instructions 30024) for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term "machine-readable medium" shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[1393] Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the present disclosure. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
[1394] Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
Furthermore, as an ordered combination, these elements amount to generic computer components receiving or transmitting data over a network, performing repetitive calculations, electronic record keeping, and storing and retrieving information in memory, which, as held by the courts, are well-understood, routine, and conventional. See MPEP 2106.05(d).
While Applicant’s amendments further prosecution, unlike McRO, Desjardins and 2025 Memo, by Applicant’s own admission, the claims and the argued elements, are directed to, …automatic prediction of alignments between organizational strategies and employee objectives…traditional goal management systems require manual processes for creating goal representations, identifying relationships between goals, and updating representations when goals change…, which is a problem directed to organizing human activity (i.e. managing human and human goals) and a mental process (i.e. human requesting to view human goals, human employees aligning personal goals to organizational goals, humans presenting requested goals for viewing on paper), as established in Step 2A Prong 1. This problem does not specifically arise in the realm of computer technology, but rather, this problem existed and was addressed long before the advent of computers. Thus, the claims do not recite a technical improvement to a technical problem or necessarily roots in computing technologies. Additionally, pursuant to the broadest reasonable interpretation, as an ordered combination as a whole, each of the additional elements are computing elements recited at high level of generality implementing the abstract idea, and thus, are no more than applying the abstract idea with generic computer components. Further, as an ordered combination as a whole, these additional elements generally link the abstract idea to a technical environment, namely the environment of a computer and machine learning, performing extra solution activities. Therefore, as an ordered combination as a whole, the additional elements do not integrate the abstract ideas into a practical application in Step 2A Prong 2 (apply it and general link) or amount to significantly more in Step 2B (apply it and wurc).
Contrary to Applicant’s assertions, “These are technological problems that arise specifically in the realm of computer-implemented goal management systems. Before computers, there were no flexible goal ontologies, no mapping rules that evaluate ontological properties and relationships, no machine learning models that predict alignments, and no incremental updating based on reevaluating affected mapping rules. These technological problems and the claimed technological solutions are inherently rooted in computer technology”.
Ontology and business decision mapping existed and solved mental problems and business problems, long before the advent of computers and do not root in computing technologies or solve technical problems, and are manual and mental processes, which are abstract ideas.
In computer science and information science, an ontology encompasses a representation, formal naming, and definition of the categories, properties, and relations between the concepts, data, and entities that substantiate one, many, or all domains of discourse. More simply, an ontology is a way of showing the properties of a subject area and how they are related, by defining a set of concepts and categories that represent the subject.
Every academic discipline or field creates ontologies to limit complexity and organize data into information and knowledge. Each uses ontological assumptions to frame explicit theories, research and applications. New ontologies may improve problem solving within that domain. Translating research papers within every field is a problem made easier when experts from different countries maintain a controlled vocabulary of jargon between each of their languages.[1]
For instance, the definition and ontology of economics is a primary concern in Marxist economics,[2] but also in other subfields of economics.[3] An example of economics relying on information science occurs in cases where a simulation or model is intended to enable economic decisions, such as determining what capital assets are at risk and by how much (see risk management).
What ontologies in both information science and philosophy have in common is the attempt to represent entities, ideas and events, with all their interdependent properties and relations, according to a system of categories. In both fields, there is considerable work on problems of ontology engineering (e.g., Quine and Kripke in philosophy, Sowa and Guarino in computer science),[4] and debates concerning to what extent normative ontology is possible (e.g., foundationalism and coherentism in philosophy, BFO and Cyc in artificial intelligence).
Applied ontology is considered a spiritual successor to prior work in philosophy, however many current efforts are more concerned with establishing controlled vocabularies of narrow domains than first principles, the existence of fixed essences or whether enduring objects (e.g., perdurantism and endurantism) may be ontologically more primary than processes. Artificial intelligence has retained the most attention regarding applied ontology in subfields like natural language processing within machine translation and knowledge representation, but ontology editors are being used often in a range of fields like education without the intent to contribute to AI.
Ontologies arise out of the branch of philosophy known as metaphysics, which deals with questions like "what exists?" and "what is the nature of reality?". One of five traditional branches of philosophy, metaphysics is concerned with exploring existence through properties, entities and relations such as those between particulars and universals, intrinsic and extrinsic properties, or essence and existence. Metaphysics has been an ongoing topic of discussion since recorded history.
Since the mid-1970s, researchers in the field of artificial intelligence (AI) have recognized that knowledge engineering is the key to building large and powerful AI systems[citation needed]. AI researchers argued that they could create new ontologies as computational models that enable certain kinds of automated reasoning, which was only marginally successful. In the 1980s, the AI community began to use the term ontology to refer to both a theory of a modeled world and a component of knowledge-based systems. In particular, David Powers introduced the word ontology to AI to refer to real world or robotic grounding,[8][9][10] publishing in 1990 literature reviews emphasizing grounded ontology in association with the call for papers for a AAAI Summer Symposium Machine Learning of Natural Language and Ontology, with an expanded version published in SIGART Bulletin and included as a preface to the proceedings.[11] Some researchers, drawing inspiration from philosophical ontologies, viewed computational ontology as a kind of applied philosophy.[12]
In 1993, the widely cited web page and paper "Toward Principles for the Design of Ontologies Used for Knowledge Sharing" by Tom Gruber[13] used ontology as a technical term in computer science closely related to earlier idea of semantic networks and taxonomies. Gruber introduced the term as a specification of a conceptualization:
An ontology is a description (like a formal specification of a program) of the concepts and relationships that can formally exist for an agent or a community of agents. This definition is consistent with the usage of ontology as set of concept definitions, but more general. And it is a different sense of the word than its use in philosophy.[14]
Attempting to distance ontologies from taxonomies and similar efforts in knowledge modeling that rely on classes and inheritance, Gruber stated (1993):
Ontologies are often equated with taxonomic hierarchies of classes, class definitions, and the subsumption relation, but ontologies need not be limited to these forms. Ontologies are also not limited to conservative definitions — that is, definitions in the traditional logic sense that only introduce terminology and do not add any knowledge about the world.[15] To specify a conceptualization, one needs to state axioms that do constrain the possible interpretations for the defined terms.[16]
As refinement of Gruber's definition Feilmayr and Wöß (2016) stated: "An ontology is a formal, explicit specification of a shared conceptualization that is characterized by high semantic expressiveness required for increased complexity."[17]
See https://web.archive.org/web/20220918220226/https://en.wikipedia.org/wiki/Ontology_(information_science)
Business decision mapping (BDM) is a technique for making decisions, particularly for the kind of decisions that often need to be made in business. It involves using diagrams to help articulate and work through the decision problem, from initial recognition of the need through to communication of the decision and the thinking behind it.
BDM is designed for use in making deliberative decisions—those made based on canvassing and weighing up the arguments. It is also qualitative—although numbers may be involved, the main considerations are qualitatively specified and there is no calculation-based route to the right decision. In these two key elements, BDM is similar to the natural or typical way of making decisions.
However, it differs from typical, informal decision making by providing a structured, semi-formal framework, and using visual language, taking advantage of our ability to grasp and make sense of information faster and more easily when it is graphically presented.
BDM is centered on the creation of a decision map—a single diagram that brings together in one organized structure all the fundamental elements of a decision, and that functions as a focus of collaboration.
BDM aims to support the decision process, making it easier, more reliable and more accountable. It addresses some major problems that can afflict business decision making the way it is generally done, including stress, anxiety, time pressure, lost thinking and inefficiency. By mapping the decision problem, the options, the arguments and all relevant evidence visually using BDM, the decision maker can avoid holding a large amount of information in his or her head, is able to make a more complete and transparent analysis and can generate a record of the thinking behind the final decision.
See https://web.archive.org/web/20220629025100/https://en.wikipedia.org/wiki/Business_decision_mapping
A semantic network, or frame network is a knowledge base that represents semantic relations between concepts in a network. This is often used as a form of knowledge representation. It is a directed or undirected graph consisting of vertices, which represent concepts, and edges, which represent semantic relations between concepts,[1] mapping or connecting semantic fields. A semantic network may be instantiated as, for example, a graph database or a concept map. Typical standardized semantic networks are expressed as semantic triples.
Semantic networks are used in natural language processing applications such as semantic parsing[2] and word-sense disambiguation.[3] Semantic networks can also be used as a method to analyze large texts and identify the main themes and topics (e.g., of social media posts), to reveal biases (e.g., in news coverage), or even to map an entire research field.[4]
Examples of the use of semantic networks in logic, directed acyclic graphs as a mnemonic tool, dates back centuries. The earliest documented use being the Greek philosopher Porphyry's commentary on Aristotle's categories in the third century AD.
In computing history, "Semantic Nets" for the propositional calculus were first implemented for computers by Richard H. Richens of the Cambridge Language Research Unit in 1956 as an "interlingua" for machine translation of natural languages.[5] Although the importance of this work and the CLRU was only belatedly realized.
Semantic networks were also independently implemented by Robert F. Simmons[6] and Sheldon Klein, using the first order predicate calculus as a base, after being inspired by a demonstration of Victor Yngve. The "line of research was originated by the first President of the Association for Computational Linguistics, Victor Yngve, who in 1960 had published descriptions of algorithms for using a phrase structure grammar to generate syntactically well-formed nonsense sentences. Sheldon Klein and I about 1962-1964 were fascinated by the technique and generalized it to a method for controlling the sense of what was generated by respecting the semantic dependencies of words as they occurred in text."[7] Other researchers, most notably M. Ross Quillian[8] and others at System Development Corporation helped contribute to their work in the early 1960s as part of the SYNTHEX project. It's from these publications at SDC that most modern derivatives of the term "semantic network" cite as their background. Later prominent works were done by Allan M. Collins and Quillian (e.g., Collins and Quillian;[9][10] Collins and Loftus[11] Quillian[12][13][14][15]). Still later in 2006, Hermann Helbig fully described MultiNet.[16]
In the late 1980s, two Netherlands universities, Groningen and Twente, jointly began a project called Knowledge Graphs, which are semantic networks but with the added constraint that edges are restricted to be from a limited set of possible relations, to facilitate algebras on the graph.[17] In the subsequent decades, the distinction between semantic networks and knowledge graphs was blurred.[18][19] In 2012, Google gave their knowledge graph the name Knowledge Graph.
The semantic link network was systematically studied as a semantic social networking method. Its basic model consists of semantic nodes, semantic links between nodes, and a semantic space that defines the semantics of nodes and links and reasoning rules on semantic links. The systematic theory and model was published in 2004.[20] This research direction can trace to the definition of inheritance rules for efficient model retrieval in 1998[21] and the Active Document Framework ADF.[22] Since 2003, research has developed toward social semantic networking.[23] This work is a systematic innovation at the age of the World Wide Web and global social networking rather than an application or simple extension of the Semantic Net (Network). Its purpose and scope are different from that of the Semantic Net (or network).[24] The rules for reasoning and evolution and automatic discovery of implicit links play an important role in the Semantic Link Network.[25][26] Recently it has been developed to support Cyber-Physical-Social Intelligence.[27] It was used for creating a general summarization method.[28] The self-organised Semantic Link Network was integrated with a multi-dimensional category space to form a semantic space to support advanced applications with multi-dimensional abstractions and self-organised semantic links[29][30] It has been verified that Semantic Link Network play an important role in understanding and representation through text summarisation applications.[31][32] Semantic Link Network has been extended from cyberspace to cyber-physical-social space. Competition relation and symbiosis relation as well as their roles in evolving society were studied in the emerging topic: Cyber-Physical-Social Intelligence[33]
More specialized forms of semantic networks has been created for specific use. For example, in 2008, Fawsy Bendeck's PhD thesis formalized the Semantic Similarity Network (SSN) that contains specialized relationships and propagation algorithms to simplify the semantic similarity representation and calculations.[34]
See https://web.archive.org/web/20220706011040/https://en.wikipedia.org/wiki/Semantic_network
The limitations are abstract elements that are part of and directed to the recited abstract idea as described above with respect to the first prong of Step 2A, i.e. mental process and organizing human activities, generally linked to a technical environment, i.e. computer and machine learning. Even novel and newly discovered judicial exceptions are still exceptions, despite their novelty. July 2015 Update, p. 3; see SAP America Inc. v. Investpic, LLC, No. 2017-2081, slip op. at 2 (Fed Cir. May 15, 2018).
Simply reciting specific limitations that narrow the abstract idea does not make an abstract idea non-abstract. 79 Fed. Reg. 74631; buySAFE Inc. v. Google, Inc., 765 F.3d 1350, 1355 (2014); see SAP America at p. 12. As discussed in SAP America, no matter how much of an advance the claims recite, when “the advance lies entirely in the realm of abstract ideas, with no plausibly alleged innovation in the non-abstract application realm,” “[a]n advance of that nature is ineligible for patenting.” Id. at p. 3.
Claims can recite a mental process even if they are claimed as being performed on a computer. The Supreme Court recognized this in Benson, determining that a mathematical algorithm for converting binary coded decimal to pure binary within a computer’s shift register was an abstract idea. The Court concluded that the algorithm could be performed purely mentally even though the claimed procedures “can be carried out in existing computers long in use, no new machinery being necessary.” 409 U.S at 67, 175 USPQ at 675. See also Mortgage Grader, 811 F.3d at 1324, 117 USPQ2d at 1699 (concluding that concept of “anonymous loan shopping” recited in a computer system claim is an abstract idea because it could be “performed by humans without a computer”).
In evaluating whether a claim that requires a computer recites a mental process, examiners should carefully consider the broadest reasonable interpretation of the claim in light of the specification. For instance, examiners should review the specification to determine if the claimed invention is described as a concept that is performed in the human mind and applicant is merely claiming that concept performed 1) on a generic computer, or 2) in a computer environment, or 3) is merely using a computer as a tool to perform the concept. In these situations, the claim is considered to recite a mental process.
1. Performing a mental process on a generic computer. An example of a case identifying a mental process performed on a generic computer as an abstract idea is Voter Verified, Inc. v. Election Systems & Software, LLC, 887 F.3d 1376, 1385, 126 USPQ2d 1498, 1504 (Fed. Cir. 2018). In this case, the Federal Circuit relied upon the specification in explaining that the claimed steps of voting, verifying the vote, and submitting the vote for tabulation are “human cognitive actions” that humans have performed for hundreds of years. The claims therefore recited an abstract idea, despite the fact that the claimed voting steps were performed on a computer. 887 F.3d at 1385, 126 USPQ2d at 1504. Another example is Versata, in which the patentee claimed a system and method for determining a price of a product offered to a purchasing organization that was implemented using general purpose computer hardware. 793 F.3d at 1312-13, 1331, 115 USPQ2d at 1685, 1699. The Federal Circuit acknowledged that the claims were performed on a generic computer, but still described the claims as “directed to the abstract idea of determining a price, using organizational and product group hierarchies, in the same way that the claims in Alice were directed to the abstract idea of intermediated settlement, and the claims in Bilski were directed to the abstract idea of risk hedging.” 793 F.3d at 1333; 115 USPQ2d at 1700-01.
2. Performing a mental process in a computer environment. An example of a case identifying a mental process performed in a computer environment as an abstract idea is Symantec Corp., 838 F.3d at 1316-18, 120 USPQ2d at 1360. In this case, the Federal Circuit relied upon the specification when explaining that the claimed electronic post office, which recited limitations describing how the system would receive, screen and distribute email on a computer network, was analogous to how a person decides whether to read or dispose of a particular piece of mail and that “with the exception of generic computer-implemented steps, there is nothing in the claims themselves that foreclose them from being performed by a human, mentally or with pen and paper”. 838 F.3d at 1318, 120 USPQ2d at 1360. Another example is FairWarning IP, LLC v. Iatric Sys., Inc., 839 F.3d 1089, 120 USPQ2d 1293 (Fed. Cir. 2016). The patentee in FairWarning claimed a system and method of detecting fraud and/or misuse in a computer environment, in which information regarding accesses of a patient’s personal health information was analyzed according to one of several rules (i.e., related to accesses in excess of a specific volume, accesses during a pre-determined time interval, or accesses by a specific user) to determine if the activity indicates improper access. 839 F.3d. at 1092, 120 USPQ2d at 1294. The court determined that these claims were directed to a mental process of detecting misuse, and that the claimed rules here were “the same questions (though perhaps phrased with different words) that humans in analogous situations detecting fraud have asked for decades, if not centuries.” 839 F.3d. at 1094-95, 120 USPQ2d at 1296.
3. Using a computer as a tool to perform a mental process. An example of a case in which a computer was used as a tool to perform a mental process is Mortgage Grader, 811 F.3d. at 1324, 117 USPQ2d at 1699. The patentee in Mortgage Grader claimed a computer-implemented system for enabling borrowers to anonymously shop for loan packages offered by a plurality of lenders, comprising a database that stores loan package data from the lenders, and a computer system providing an interface and a grading module. The interface prompts a borrower to enter personal information, which the grading module uses to calculate the borrower’s credit grading, and allows the borrower to identify and compare loan packages in the database using the credit grading. 811 F.3d. at 1318, 117 USPQ2d at 1695. The Federal Circuit determined that these claims were directed to the concept of “anonymous loan shopping”, which was a concept that could be “performed by humans without a computer.” 811 F.3d. at 1324, 117 USPQ2d at 1699. Another example is Berkheimer v. HP, Inc., 881 F.3d 1360, 125 USPQ2d 1649 (Fed. Cir. 2018), in which the patentee claimed methods for parsing and evaluating data using a computer processing system. The Federal Circuit determined that these claims were directed to mental processes of parsing and comparing data, because the steps were recited at a high level of generality and merely used computers as a tool to perform the processes. 881 F.3d at 1366, 125 USPQ2d at 1652-53. See MPEP 2106.04(a)(2).
Further, the courts have indicated may not be sufficient to show an improvement in computer-functionality:
i. Generating restaurant menus with functionally claimed features, Ameranth, 842 F.3d at 1245, 120 USPQ2d at 1857;
ii. Accelerating a process of analyzing audit log data when the increased speed comes solely from the capabilities of a general-purpose computer, FairWarning IP, LLC v. Iatric Sys., 839 F.3d 1089, 1095, 120 USPQ2d 1293, 1296 (Fed. Cir. 2016);
iii. Mere automation of manual processes, such as using a generic computer to process an application for financing a purchase, Credit Acceptance Corp. v. Westlake Services, 859 F.3d 1044, 1055, 123 USPQ2d 1100, 1108-09 (Fed. Cir. 2017) or speeding up a loan-application process by enabling borrowers to avoid physically going to or calling each lender and filling out a loan application, LendingTree, LLC v. Zillow, Inc., 656 Fed. App'x 991, 996-97 (Fed. Cir. 2016) (non-precedential);
vii. Providing historical usage information to users while they are inputting data, in order to improve the quality and organization of information added to a database, because “an improvement to the information stored by a database is not equivalent to an improvement in the database’s functionality,” BSG Tech LLC v. Buyseasons, Inc., 899 F.3d 1281, 1287-88, 127 USPQ2d 1688, 1693-94 (Fed. Cir. 2018); and
viii. Arranging transactional information on a graphical user interface in a manner that assists traders in processing information more quickly, Trading Technologies v. IBG LLC, 921 F.3d 1084, 1093-94, 2019 USPQ2d 138290 (Fed. Cir. 2019).
And, the courts have indicated may not be sufficient to show an improvement to technology include:
i. A commonplace business method being applied on a general purpose computer, Alice Corp., 573 U.S. at 223, 110 USPQ2d at 1976; Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015);
iii. Gathering and analyzing information using conventional techniques and displaying the result, TLI Communications, 823 F.3d at 612-13, 118 USPQ2d at 1747-48;
vii. Selecting one type of content (e.g., FM radio content) from within a range of existing broadcast content types, or selecting a particular generic function for computer hardware to perform (e.g., buffering content) from within a range of well-known, routine, conventional functions performed by the hardware, Affinity Labs of Tex. v. DirecTV, LLC, 838 F.3d 1253, 1264, 120 USPQ2d 1201, 1208 (Fed. Cir. 2016). See 2106.05(a).
Furthermore, [u]se of a computer or other machinery in its ordinary capacity for economic or other tasks (e.g., to receive, store, or transmit data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., a fundamental economic practice or mathematical equation) does not integrate a judicial exception into a practical application or provide significantly more. See Affinity Labs v. DirecTV, 838 F.3d 1253, 1262, 120 USPQ2d 1201, 1207 (Fed. Cir. 2016) (cellular telephone); TLI Communications LLC v. AV Auto, LLC, 823 F.3d 607, 613, 118 USPQ2d 1744, 1748 (Fed. Cir. 2016) (computer server and telephone unit). Similarly, “claiming the improved speed or efficiency inherent with applying the abstract idea on a computer” does not integrate a judicial exception into a practical application or provide an inventive concept. Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1367, 115 USPQ2d 1636, 1639 (Fed. Cir. 2015).
[T]he courts have found the additional elements to be mere instructions to apply an exception, because they do no more than merely invoke computers or machinery as a tool to perform an existing process include:
i. A commonplace business method or mathematical algorithm being applied on a general purpose computer, Alice Corp. Pty. Ltd. V. CLS Bank Int’l, 573 U.S. 208, 223, 110 USPQ2d 1976, 1983 (2014); Gottschalk v. Benson, 409 U.S. 63, 64, 175 USPQ 673, 674 (1972); Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015);
ii. Generating a second menu from a first menu and sending the second menu to another location as performed by generic computer components, Apple, Inc. v. Ameranth, Inc., 842 F.3d 1229, 1243-44, 120 USPQ2d 1844, 1855-57 (Fed. Cir. 2016); See MPEP 2106.05(f).
Response to Arguments – Prior Art
Applicant’s arguments with respect to the rejections have been fully considered, but they are not persuasive.
Applicant submits, “…However, Duggan fails to disclose this recited structure. While Duggan appears to discuss hierarchical parent-child relationships, Duggan does not disclose or suggest "a flexible goal ontology" as recited in the independent claims. Duggan's goals database stores goals "in a flat structure" where "each goal includes only its immediate contributing goal, parent goal one-degree of separation away, or both." This flat database structure with parent-child pointers is fundamentally different from "a flexible goal ontology" that comprises entities, relationships, and properties as distinct structural components. An ontology, by definition, provides a formal representation of knowledge as a set of concepts within a domain and the relationships between those concepts, which is not taught or suggested by Duggan's flat relational database.…” The Examiner respectfully disagrees.
Under the broadest reasonable interpretation, the claims do not distinguish from the teachings of Duggan.
PNG
media_image1.png
396
650
media_image1.png
Greyscale
PNG
media_image2.png
474
624
media_image2.png
Greyscale
PNG
media_image3.png
484
652
media_image3.png
Greyscale
Applicant submits, “…Duggan does not disclose a data architecture where goal entities are specifically categorized to include both "employee objectives" and "organizational strategies" as distinct but related components within the flexible goal ontology. The Examiner cites to column 5, lines 20-50, which discusses alignment in three ways (vertical, company/mission, and horizontal), but this passage merely describes conceptual alignment principles-it does not disclose a data structure organization where "the plurality of goal entities" specifically "including one or more employee objectives and one or more organizational strategies" are stored and related within a goal ontology. Duggan's system treats all goals uniformly within its flat structure without distinguishing between employee-level objectives and broader organizational strategies as distinct entity types…” The Examiner respectfully disagrees.
Under the broadest reasonable interpretation, the claims do not distinguish from the teachings of Duggan.
PNG
media_image4.png
560
650
media_image4.png
Greyscale
PNG
media_image5.png
442
666
media_image5.png
Greyscale
Applicant submits, “…Duggan's approach involves direct graph traversal of hardcoded parent-child links, not rule-based mapping that evaluates goal properties and ontological relationships to determine which
goals should be mapped together.…” The Examiner respectfully disagrees.
Under the broadest reasonable interpretation, hardcoded parent-child link is a type of rule based mapping that evaluates goal properties and relationships to determine which goals should be mapped together. Furthermore, the claims do not require or define any specific “mapping rules” to map the goal properties and goal relationships. Thus, the claims do not distinguish from the teachings of Duggan.
PNG
media_image6.png
436
654
media_image6.png
Greyscale
PNG
media_image7.png
462
654
media_image7.png
Greyscale
Applicant submits, “…Duggan does not teach or suggest "evaluating the set of mapping rules to dynamically assemble a customized goal representation tailored to the user" as recited. Duggan's system presents goals based on direct assignment relationships and organizational hierarchy-it does not evaluate mapping rules based on goal properties and ontological relationships to dynamically assemble customized representations. Duggan simply displays goals that are directly linked through parent-child assignments without any rule-based evaluation process…” The Examiner respectfully disagrees.
PNG
media_image8.png
460
650
media_image8.png
Greyscale
PNG
media_image9.png
432
652
media_image9.png
Greyscale
Applicant submits, “…Duggan does not teach or suggest "incrementally updating the customized goal representation based on a revaluation of the mapping rules affected by changes to the plurality of goal entities, the one or more goal relationships, and the one or more properties." Duggan's system updates goal progress calculations based on changes to milestone completion or metric values, but this is fundamentally different from "revaluation of the mapping rules affected by changes" to entities, relationships, and properties. The independent claims require identifying which mapping rules are affected by specific changes and then reevaluating those rules to incrementally update the representation, which are elements that Duggan simply does not disclose.…” The Examiner respectfully disagrees.
Under the broadest reasonable interpretation, Duggan teaches:
incrementally updating the customized goal representation based on a revaluation of the set of mapping rules affected by changes to the plurality of goal entities, the one or more goal relationships, and the one or more goal properties; and (in at least [col 6 ln25-55] modern goal-setting processes strive to be dynamic and agile. Goals should reflect fast-paced, ever-changing global work environments, enabling workers to shift focus to more important goals. Rather than a set-it-and-forget-it approach, the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously…they can and should be modified regularly, goals do not have to be perfectly defined when they are created. For imperfect goals such as “launch product X,” individuals may only know three real milestones at the start, yet anticipate five to ten more coming. When each milestone can be defined-whether midway through or near the end of a quarter-goal science best practices advocate editing and refining the goal, but only when goals are ready. By always staying focused on how to refine goals, employees can be sure they are getting the right work done now. [col 12 ln45-60] A goals manager module 411 is used to add, modify, or remove goals in the system. For example, the module receives modifications for an existing goal of the system. This module is responsible for identifying in the goals database 407 the existing goal and any changes and information needed from the user database 401 to make the changes. The module then executes the changes in the respective databases. A search module 413 allows users to search by various criteria as stored in the system. Some of these include searches by user (by owner, user assigned to, team, or other), goal name, due date, or other criteria. [col17 ln10-col18 ln65] FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. Although each team is working on different aspects of completing the application, they are working towards the completion of the same application. Some sample use cases of the system include: (1) User adds goal and assigns goal. For example, this is shown with contributing goal 821. A user, who is not the owner of parent goal 812, has determined the contributing goal 821 would assist in completing the parent goal 812. (2) User assigns a goal. For example, this is shown with contributing goal 827. Even though the user does not own goal 827, the user is helping the owner by identifying who would be best to complete the goal. (3) User adds goal and assigned goal. For example, this is shown with contributing goal 843. Although the user created goal 843, they did not assign it or link it with a parent goal. Another user has helped the user to connect the goal to parent goal 833 and assigned it to the user. (4) User adds goal. For example, this is shown with goal 845. At this time, this is a standalone goal that does not have a parent or contributing goals. In an implementation, the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814). FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). The system supports bottom-up and top-down goal assignments for one or more levels (e.g., one, two, three, four, or more levels difference) of separation (or difference) in an organization. For example, goals 4 and 8 show bottom up assignments. While goal 8 shows assignment from employee 1 to CEO (more than 1 level up in the organization's hierarchy), goal 4 shows an assignment from employee 1 to manager 1 (one level up only). In an implementation, the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. Goal 16 is an example of a private goal. A user (e.g., E1) can create a private goal. In an implementation, the private goal is visible only by the user (e.g., E1) who created it. In another implementation, the private goal is visible by the user (e.g., E1) who created it and the immediate manager of the user (e.g., M1 who is the manager of E1). In another implementation, the private goal is visible by the user (e.g., E1) who created it and any users who are at a higher level in the organizational hierarchy. [col20 ln5-45] FIG. 13 shows a cascading goal tree for milestone goals. All progress is properly calculated and rolled. Milestone goals that are completed are indicated by a “1,” while milestone goals that are not yet completed are indicated by a “0.” Indications of completion or noncompletion is analogous to a Boolean data type. Based on the milestones completed and not completed, the system calculates and determines the progress toward completion as indicated. For example, milestone goal 1301 is now fifty percent completed. This is because it includes two milestone items 1303 and 1305, where milestone item 1303 is completed and milestone item 1303 is not. As another example, goal 1307 is fifty-seven percent completed or 4 of 7 milestone items. This is because its milestone items are 1301 and 1309, where milestone item 1301 contains two milestone items and 1309 contains five milestone items. The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). FIG. 14 shows a cascading goal tree for metric goals. All progress is properly calculated and rolled. As discussed, metric goals are quantitative. For example, a goal can have 6 metric items to complete, and when 2 of the 6 are completed, the percentage completion is 33 percent. Subgoals roll up to their parent goal and so forth. For example, metric goal 1401 includes metric items 1403 and 1405. Metric goal 1401 is fifty-three percent completed (or 9 of 17 items) since its metric items are three-eighths completed and six-ninth completed. This is automatically calculated by the system (e.g., by adding the number of completions and the number of total items). The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). [col6 ln30-40] the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously. [col20 ln60-col21 ln20] the system includes an animation or graphic with each goal, indicating the health of each goal. This provides an easy visual indication on the progress of a goal. For example, the graphic includes a tree in various stages of health. If the tree's associated goal is doing well, then the tree is shown in bloom (e.g., more branches, more leaves, brighter in color). However, if the tree's associated goal is doing poorly, then the tree is shown in various stages of poor health (e.g., bare tree, darker hued graphic). The health of a goal is determined by the time a user has last checked in with the goal. A check in is an action taken by an owner or person assigned to the goal to update the status or progress of the goal. Some examples of various actions that can be taken are posting a comment, marking a milestone item complete, updating a current value of completion, or any combination of these. To encourage frequent actions, the health of a goal decays with time. This amount of time is set by the system and correspond to different lengths of time (e.g., 3 days, 1 week, 2 weeks, or other length of time). In an implementation, only actions taken by a goal's owner is considered in determining the health of the goal. For example, if a person assigned to complete a goal performs an action on the goal, this information is not included in determining the health of the goal. This helps to make sure that people who create goals are frequently checking the health of their goals, encouraging proactive behavior in the goal's owner to complete the goal.)
Applicant submits, “…While Duggan appears to discuss presenting goal visualizations to users, Duggan does not teach or suggest that the transmission and graphical rendering are "based on a context of the user" as recited. The cited portions describe displaying goals based on organizational hierarchy and user assignment, but context-based rendering requires adapting the representation based on contextual factors beyond simple assignment relationships. Duggan's visualization module adapts formatting based on screen size, but this is device-based adaptation, not context-based rendering that considers the user context recited in the claims…” The Examiner respectfully disagrees.
PNG
media_image10.png
432
652
media_image10.png
Greyscale
Applicant submits, “…Willardson does not cure the deficiencies of Duggan, and the combination fails to teach or suggest the recited limitation. Willardson appears to discuss a system for identifying user deficiencies and generating action paths based on behavioral data sets using machine learning models. Willardson's machine learning model analyzes behavioral data (such as credit score records, browser history, or social media activity) to identify deficiencies preventing a user from achieving objectives, and an action machine learning model generates recommended action paths to address those deficiencies. This system is fundamentally different from "the alignment automatically predicted by an application of a machine-learning model to the one or more goal properties" as recited in the independent claims.…Willardson's machine learning models appear to operate on behavioral data sets to identify deficiencies and recommend actions------they do not predict alignments between employee objectives and organizational strategies based on goal properties…These teachings relate to predicting user deficiencies and action paths, not to predicting "alignment between the one or more employee objectives and the one or more organizational strategies" based on "an application of a machine-learning model to the one or more goal properties." The independent claims require a machine learning model that receives as input "the one or more goal properties" (properties of goal entities within the ontology) and outputs "the alignment" (a relationship between employee objectives and organizational strategies). Willardson's system receives behavioral data as input and outputs deficiencies and action paths, which bears no relationship to the recited structure and function... Furthermore, even if one were to combine Duggan's goal management system with Willard.son's deficiency-identification system, the combination would not teach or suggest applying a machine learning model to goal properties to predict alignments. Willardson's models analyze user behavior patterns to identify gaps in abilities-they do not operate on structured goal properties within an ontology to determine how employee-level objectives align with organizational strategies. The fundamental technological problem addressed by Willardson (identifying persona! Deficiencies from behavioral data) is entirely different from the problem addressed by the recited limitation (predicting goal alignment relationships based on goal properties). The Examiner's combination improperly attempts to graft Willardson's behavioral analysis onto Duggan's goal structure without any teaching or suggestion in either reference that such a combination would be appropriate or would yield the recited functionality…The amendments clarify that "the alignment automatically predicted by an application of a machine-learning model to the one or more goal properties" operates within the context of "the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies." Neither Duggan nor Willardson, alone or in combination,teaches or suggests a machine learning model that predicts alignment relationships between employee objectives and organizational strategies based on goal properties. Willardson's action path predictions for addressing personal deficiencies cannot reasonably be construed as teaching this specific technical implementation, and the Examiner's combination lacks any explanation of how Willardson's behavioral analysis system would be applied to Duggan's goal properties to achieve the recited automatic alignment prediction… The Examiner provides the following motivation for combining Duggan and Willardson:…This rationale is insufficient to supp01i the proposed combination for several reasons… First, the rationale is entirely focused on Willard son's objective of identifying personal deficiencies and generating remedial action paths. This objective bears no relationship to Duggan's system for managing organizational goals through cascading relationships. A person of ordinary skill in the art reviewing Duggan's goal management system would have no motivation to incorporate Willardson's system for identifying behavioral deficiencies and recommending personal development actions. Duggan is directed to coordinating organizational goals across hierarchical levels to ensure employees at all levels ,work toward common objectives-it is not concerned vlith identifying individual deficiencies or recommending personal improvement actions. The Examiner's rationale does not explain why one skilled in the art would look to a personal deficiency identification system when working with an organizational goal management system, nor does the rationale explain what problem in Duggan's system would be solved by adding Willardson's deficiency analysis…. Second, even if one were motivated to combine elements from both references, the Examiner's rationale does not explain how Willardson's teachings would be adapted to predict goal alignments as recited in the claims. The rationale discusses improving deficiency detection and generating action paths-it does not address predicting alignments between employee objectives and organizational strategies based on goal properties. The Examiner appears to have identified two references that both mention machine learning and assumed they could be combined, but this fails… to provide the rational underpinnings required for an obviousness rejection. As the Federal Circuit has repeatedly held, the teaching, suggestion, or motivation to combine prior art references must come from the prior art itself or from the knowledge of one of ordinary skill in the art, not from the applicant's disclosure or from hindsight reconstruction. The Examiner's rationale provides no evidence that one skilled in the art would have been motivated to apply Willard son's behavioral deficiency analysis to Duggan's goal alignment problem…Third, the Examiner has not established that one of ordinary skill in the art would have had a reasonable expectation of success in achieving the claimed invention through the proposed combination. Willardson's machine learning models are trained on behavioral data (browsing patterns, credit scores, educational history) to identify deficiencies (lack of rhythm, poor credit, insufficient biochemistry background) and recommend actions (take music lessons, pay off loans, complete coursework). These models operate in an entirely different domain with entirely different inputs, outputs, and training methodologies than what would be required to predict goal alignments based on goal properties. The Examiner has not explained how one skilled in the art would adapt Willardson's models-which analyze temporal behavioral patterns to identify personal skill gapsto instead analyze goal properties within an organizational ontology to predict strategic alignment relationships. Without such explanation, there is no basis for finding a reasonable expectation of success... Fourth, the proposed combination would require substantial redesign of both Duggan's system and Willardson's system, which further undermines any finding of obviousness. Duggan's goal relationships are explicitly defined through user actions (employees and managers creating and assigning goals with direct parent-child links), whereas the recited claims require "the alignment automatically predicted by an application of a machine-learning model." To incorporate automatic ML-based alignment prediction into Duggan's system would require fundamentally restructuring how alignments are determined-moving from explicit user-defined relationships to implicit MLpredicted relationships. Similarly, Willardson's models would need to be completely retrained on entirely different data (goal properties instead of behavioral data) to produce entirely different outputs (alignment relationships instead of deficiencies and action paths). This level of modification goes far beyond the simple combination of familiar elements and would not have been obvious to one skilled in the art.… independent claims 1, 19, and 20, as amended, recites "the plurality of goal entities including one or more employee objectives and one or more organizational strategies" and that "the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically predicted by an application of a machine-learning model to the one or more goal prope1iies." These amendments emphasize the specific structural organization of the goal ontology and the specific role of the machine learning model in predicting alignment relationships within that structure. Neither Duggan nor Willardson, individually or in combination, teaches or suggests this specific technical implementation...Duggan's flat database structure with parent-child relationships does not constitute "a flexible goal ontology" ,vith distinct entity types including "employee objectives" and "organizational strategies." Duggan treats all goals uniformly without distinguishing between employee-level and organizational-level goal entities. The amended claims recite that "the plurality of goal entities including one or more employee objectives and one or more organizational strategies," which requires a data architecture that categorizes goal entities into these distinct types-a structure that Duggan simply does not disclose the amended claims now explicitly recite that "the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically predicted by an application of a machine-learning model to the one or more goal properties." This clarifies that the machine learning model operates on "the one or more goal properties" (properties of entities within the ontology) to predict "the alignment" (a specific type of goal relationship between employee objectives and organizational strategies). Willardson's models, which analyze behavioral data to identify personal deficiencies, cannot reasonably be read to teach this specific functionality. \,Villardson does not analyze goal properties, does not operate within a goal ontology structure, and does not predict alignment relationships between different types of goal entities. The Examiner's combination fails to bridge this gap….The amendments also clarify the relationship between the mapping rules and the goal ontology by emphasizing that the mapping rules operate "based on the one or more properties and the one or more relationships in the goal ontology." Duggan's graph traversal approach does not involve rules that operate on properties and relationships-it simply follows hard.coded parent-child links. The recited system requires a rule-based approach where mapping rules evaluate properties and relationships to determine how goals should be organized in the customized representation, which neither Duggan nor \Villardson teaches or suggests... The Examiner's r~jection fails to properly consider the claims as a whole and instead attempts to piece together individual limitations from disparate references without regard to how those limitations vmuld function together in an integrated system. The recited system requires an integrated architecture where: (l) a flexible goal ontology stores goal entities (including employeeobjectives and organizational strategies), goal relationships (including J\;IL-predicted alignments), and goal properties; (2) a machine learning model operates on goal properties to automatically predict alignments; (3) mapping rules operate on properties and relationships within the ontology to assemble customized representations; and (4) incremental updates are performed based on reevaluation of affected mapping rules. This integrated system represents a cohesive technological solution to the problem of dynamically managing and presenting organizational goal structures based on both explicit relationships and ML-predicted alignments------a solution that neither Duggan
nor vVillardson, individually or in combination, teaches or suggests… the combination proposed by the Examiner vmuld not have been obvious because it would render Duggan's system less effective for its intended purpose. Duggan emphasizes the importance of user-defined goal relationships where employees and managers actively create and assign goals to establish accountability and ownership. Duggan teaches that "goals should be drafted and owned by individuals, reviewed by managers, and tracked by both" and that "Individuals will achieve more when they help shape their own goals" ( column 5, lines 20-50). Introducing automatic ML-based alignment prediction would undermine this core principle by replacing user-defined relationships with system-generated predictions, which would reduce user engagement and ownership-the very benefits that Duggan seeks to achieve. One skilled in the art would not have been motivated to make this modification because it would compromise Duggan's fundamental approach to goal management...The Examiner's rejection also fails to account for the significant technical challenges that would be encountered in attempting to combine Duggan and Willardson. Training a machine learning model to predict goal alignments based on goal properties would require substantial labeled training data showing examples of aligned and non-aligned goal pairs along with their properties data that neither Duggan nor Willardson provides or suggests how to obtain. Wil!ardson's training data consists of behavioral patterns labeled with deficiencies, which is fundamentally different from goal property data labeled with alignment relationships. The Examiner provides no explanation of how one skilled in the art would overcome this substantial technical hurdle, and the absence of any such explanation further undermines the obviousness rejection...the Examiner's rejection improperly relies on hindsight reconstruction by reading the claims back onto the prior art. The Examiner appears to have identified that both Duggan and the claims relate to goal management, and that both Willardson and the claims mention machine learning, and then assumed that combining these references would yield the claimed invention. However, this backward-looking approach fails to consider what a person of ordinary skill in the art would have understood from the prior art itself at the time of invention. Nothing in Duggan suggests applying machine learning to predict goal alignments, and nothing in Willardson suggests applying its behavioral deficiency analysis to organizational goal relationships. The combination exists only in hindsight after reviewing Applicant's disclosure, which is insufficient to support an obviousness rejection...” The Examiner respectfully disagrees.
Respectfully, Applicant’s argument requires that the each of the features of supporting references are bodily incorporated into primary reference that teach and every element is individually taught by a single reference. However, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981). The test for obviousness is not whether the features of a secondary reference may be bodily incorporated into the structure of the primary reference; nor is it that the claimed invention must be expressly suggested in any one single or in all of the references. See id. Rather, the test is what the combined teachings of the references would have suggested to those of ordinary skill in the art. See id.; In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986).
Under the broadest reasonable interpretation, Duggan teaches: A system comprising: one or more computer processors; one or more computer memories; a set of instructions incorporated into one or more memories, the set of instructions configuring the one or more computer processors to perform operations, the operations comprising: ([col9 ln1-65])
receiving a request from a user to view a goal representation; (in at least [col17 ln65-col18 ln15] the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page)
accessing a flexible goal ontology comprising a plurality of goal entities, one or more goal relationships between the plurality of goal entities, and one or more goal properties, the plurality of goal properties including one or more metadata attributes relating to the one or more goal entities, the plurality of goal entities including one or more employee objectives and one or more organizational strategies, the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically … model to the one or more goal properties, …; (in at least [col14 ln1-col17 ln65] FIG. 6 shows a tree of cascading goals, where the goals are assigned according to atop-down approach only. In this tree, goals (represented by circles) flow from the top of the tree to the bottom (represented by arrows). This means that higher-level employees (or superiors) can add goals for lower-level employees, but not vice versa. For example, a goal 603 is subdivided into goals 605, 608, and 610. Goal 603 can be a goal created by someone higher up in an organization (e.g., CEO created goal) while goal 605 is created by someone in a mid-level position in the organization (e.g., manager created goal). The cascading goals tree is stored in the goals database. In an implementation, goals can be conceptualized as containers. Each goal is a container including one or more progress inputs, as described in greater detail elsewhere in this application. These progress indicators are used to determine the progression of its associated container/goal. For example, a specific container can have a parent goal, child goals, or a combination of these. Some classifications of goals (or progress inputs) include: Parent goal: A goal that has contributing goals. It may also have a parent. Contributing goal (or subgoal): Synonymous with child goal, a goal with a parent. May have contributing goals of its own. Progress of contributing goals directly increases or decreases progress of the parent goal. Every contributing goal represents an element of the parent goal. This means that the goals created at the top of the tree are divided into subgoals, such as goal 603 divided into subgoals (or contributing goals) 605, 608, and 610. The parents of goals 605, 608, and 610 is goal 603. Usually in an organization, this would mean that a higher-level position employee has created new goals and assigned these goals to lower level position employee. FIG. 7 shows a tree of cascading goals, where the goals are assigned according to top-down (e.g., 703 to 708), bottom-up (718 to 708), sideways (e.g., 724 to 726), or diagonal approaches in an organization. As compared to the top-down approach described in FIG. 6, the system allows additional relationships between goals to be represented in the system. This goal tree does not necessarily need to reflect the internal organizational structure of the organization. For example, the creator or assignee of goal 703 does not necessarily need to be a person at the top of the organization's organizational chart (e.g., CEO). An example relationship is parent goal 708 that includes contributor goal 722 that was created by the owner of the parent goal 708. However, another person different than the owner created contributor goal 718. Although the person did not create the parent goal 708, they are allowed to link their contributor goal to the parent goal 708. This can happen in an organization when a user views another person's owned goal and wants to contribute to its completion. For example, sometimes a person has worked previously on a similar project and recognizes certain requirements that the owner of the goal did not. To assist in the completion of the owner's goal, the user can add a contributor goal to the owner's goal. In another example, users with more than one level of separation in an organization's organization chart can assign goals to each other. For example, goal 716 is created by a manager. In the organization's organizational chart, the manager directly reports to a vice president that in turn directly reports to a CEO. However, the system allows the manager to create goal 716 and assign it to the CEO. Once assigned the goal, the CEO can choose whether to complete the goal themselves, divide the goal into further goals, or assign the goal to another person. In an implementation, the system allows at most one parent goal for each goal. This is because each goal contributes to the completion of at most one other goal in the system. If a user attempts to create a goal with more than one parent, the system disallows the user from doing so (e.g., displays an error message, does not record the goal, generates an alert for other users, or other methods). In another implementation, the system allows more than one parent goal for a goal. This means that the completion of one goal contributes to the completion of two or more parent goals. In an implementation, the system supports unattached goals. This means the goal (e.g., goal 766) has no parent goal. For example, FIG. 7 shows goal 766 that is unattached to other goals (e.g., it has no contributor or parent goals). This occurs in real-life situation where a goal needs to be accomplished, but users of the system have not determined how it will fit with the rest of an organization's goals when the goal is created. This is a convenient method for the organization to make note of the goal, until its proper place is determined. In an implementation, goals can be metric type, milestone type, or both. A first type of goal is a metric type and a second type of goal is a milestone type. For metric type goals, the progress represents true value, as contributions to completing the goal are measured by the same unit. For milestone type goals, contributions are equally weighted. For the metric type goal, the goal is associated with an initial numerical value, target numerical value, and unit. The initial numerical value is the value where the system starts tracking completion to the goal. Usually this would be 0, since most goals will have no progress when they are initially entered into the system. The system is flexible in tracking different types of units. A common unit is financial (e.g., dollars). Other units can be used in different situations (e.g., items, calls, customers, clients). An example of a metric type goal is “Get 10 meetings from list of 50 targeted, key accounts.” This goal requires users to review a client list of the organization and setup meetings with 10 of 50 of key accounts in the organization. When the goal is setup, the creator initiates the goal with an initial numerical value of 0 (e.g., no accounts or meeting have been setup yet), target numerical value of 10, and unit of meetings. For the milestone type goal, two or more steps (or subgoals) are created that represent progress within the goal. An example of a milestone goal is “Ship a new add-on product in Q2.” Within this goal can be the milestones of “Deliver code to QA” and “Test and certify product as ready for release.” In an implementation, if a parent of a contributor goal is a milestone based goal, the contributing goal represents one of its milestones. In an implementation, all milestones on a goal are equally weighted. This means that the completion of one of the contributor goal shows the same amount of progress towards completion of the parent goal as another contributor goal to the parent goal. This allows users a quick at a glance method to determine how much progress has been made in a parent goal. In another implementation, users can set in the system specific values of how much each contributor goal contributes to a parent goal. This can be represented as an integer or other value, such as numbers on a scale of 100. This is useful where some goals take longer time or require more effort than others to complete. In an implementation, if a parent goal is metric based, the contributing goal will represent a portion of the current value. Metric based goals can exceed 100 percent, but milestone based goals can not. Here are some examples of milestone goals:(1) Goal A is a milestone based goal that contains 3 milestones. Goal B is a contributing goal if parent goal A, which means it represents one of goal A's milestones. If goal B is at 50 percent, and goal A has no additional progress, goal A's overall progress will be 17 percent (includes rounding to closest integer). (2) Goal A is a metric based goal with a target value of 300 apples. Each contributor (goals B, C, and D) is assigned 100 apples. Goal B assigns another goal (goal E) to contribute to his, and he has assigned 50 of his 100 apples to the contributor. Now, there are three levels of goal hierarchy. Goal E has a standout quarter and sells 800 apples. Goal C has sold 50 of his 100 apples and goal D has sold no apples. The system represents the progress as: goal A: 283 percent; goal B: 800 percent; goal C: 50 percent; goal D: 0 percent; and goal E: 1600 percent. In an implementation, the system includes a default goal type of metric. This allows a goal's progress to be calculated by the average progress of its contributions. In an implementation, if a parent of a contributor goal is a milestone and metric based goal, only progress using the same unit will cascade upward to affect the parent goal. However, the contributing goals will still be able to add milestones to their goals which are peers to that contributing metric. Their goal's progress will still be calculated based on an average, but only the corresponding unit value will cascade upward to the parents which are also responsible for a metric unit key result with the same unit. For example, a first goal includes a “contacts” unit type, a second goal includes a “contacts” unit type and a third goal includes a “dollars” unit type. Assuming the second and third goals are contributing goals to the first goal, only progress of the second goal will affect the progress of the first goals “contacts” unit type, since they share the same unit type. However, the third goal will be considered a milestone of the first goal whose progress will be based on an average… the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814) [col17 ln40-60] FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). [col5 ln 20-50] Goals should be drafted and owned by individuals, reviewed by managers, and tracked by both. In contrast to MBO-model goals that are often only vertically aligned—visible to a manager and his or her direct reports—to be truly connected, all goals must be visible, aligned, and owned. Making goals visible online is a necessary condition for consensus and alignment in an organization. To be aligned, goals must be connected in three different ways: (a) Vertical—An individual's goals connect to (and do not conflict with) a manager's goals. (b) Company/Mission—An individual can clearly see how his or her goals connect to the company goals and mission, making goals more meaningful. (c) Horizontal—An individual's goals connect (and do not conflict) across teams. Who owns what goals is also important to achievement. Not all goals should come from corporate. Google Ventures' partner Rick Klau suggests more than half of goals should originate from employees. Behavioral science expert, Gary Latham found stakeholders participating in goal setting do better. About Kurt Lewin's student, Alex Bavelas, he wrote, “By securing employee participation in decision making, previously unattainable goals were reached by those workers.” Individuals will achieve more when they help shape their own goals and connect them to an internal sense of what they can do to make the biggest impact for the business. [col16 ln60-col17 ln5] Open cascading goals. The cascading goal model is open. Anyone at a company can contribute to anyone else at the company's goal. Goal relationships are not limited by reporting structure. This means that the system is generally agnostic to an organization's internal people hierarchy and organizational structure. [col12 ln30-50] A cascading goals generation module 409 is used to determine how goals in the system relate to one another. Although the information associated with each goal is stored in the goals database 407, the information stored in the goals database is in a flat structure (e.g., each goal includes only its immediate contributing goal, parent goal one-degree of separation away, or both). The cascading goals generation module determines an organization's entire goal tree or any subsection of the organization's goal tree (e.g., a goal's parent or contributing goal two or more degrees of separation away). This is useful in the system to allow users to see how one goal is related to another and diagnose how progress on one or two goals is impeding progress on other, seemingly unrelated goals (e.g., goals that are not directly coupled to each other). [col18 ln20-45] FIG. 10 also shows the flexible nature of goals in the system. For example, in atypical organization, goals will flow from those who occupy the upper portions of an organization chart downwards. An example of this is goal 2, where the chief executive officer of the organization delegates to a vice president of the organization. However, the system allows goals to flow in the reverse direction. As example of this is goal 8, where an employee has assigned a task to a chief executive officer. [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. Solid lines (e.g., 1201, 1203, and 1205) represent goals directly related to a selected goal. Dotted lines (e.g., 1207, 1209, and 1211) represent goals indirectly related to the selected goal. For example, user Sid Powers can understand how his selected goal 1213 relates to the rest of the goals in the organization in this visualization. The system generates a visualization showing that goal 1213 has a parent goal 1213, which in turn has a parent goal of 1215, which in turn has a parent goal 1217. This allows Sid to see that how his goal 1213 contributes to goals one degree of separation from his goal (e.g., goal 1215) and even goals two or more degrees of separation from his goal (e.g., goal 1217). This includes goals assigned to persons different than Sid (e.g., Michael Thorton for goal 1215). [col20 ln5-45] FIG. 13 shows a cascading goal tree for milestone goals. All progress is properly calculated and rolled. Milestone goals that are completed are indicated by a “1,” while milestone goals that are not yet completed are indicated by a “0.” Indications of completion or noncompletion is analogous to a Boolean data type. Based on the milestones completed and not completed, the system calculates and determines the progress toward completion as indicated. For example, milestone goal 1301 is now fifty percent completed. This is because it includes two milestone items 1303 and 1305, where milestone item 1303 is completed and milestone item 1303 is not. As another example, goal 1307 is fifty-seven percent completed or 4 of 7 milestone items. This is because its milestone items are 1301 and 1309, where milestone item 1301 contains two milestone items and 1309 contains five milestone items. The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). FIG. 14 shows a cascading goal tree for metric goals. All progress is properly calculated and rolled. As discussed, metric goals are quantitative. For example, a goal can have 6 metric items to complete, and when 2 of the 6 are completed, the percentage completion is 33 percent. Subgoals roll up to their parent goal and so forth. For example, metric goal 1401 includes metric items 1403 and 1405. Metric goal 1401 is fifty-three percent completed (or 9 of 17 items) since its metric items are three-eighths completed and six-ninth completed. This is automatically calculated by the system (e.g., by adding the number of completions and the number of total items). The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). [col6 ln30-40] the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously. [col14 ln50-65] parent goal 708 that includes contributor goal 722 that was created by the owner of the parent goal 708. However, another person different than the owner created contributor goal 718. Although the person did not create the parent goal 708, they are allowed to link their contributor goal to the parent goal 708. This can happen in an organization when a user views another person's owned goal and wants to contribute to its completion. For example, sometimes a person has worked previously on a similar project and recognizes certain requirements that the owner of the goal did not. To assist in the completion of the owner's goal, the user can add a contributor goal to the owner's goal. [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
obtaining a set of mapping rules defining mappings between one or more goals based on the one or more goal properties and the one or more goal relationships in the flexible goal ontology; (in at least [col16 ln40-col17 ln10] (1) Flexible assigning of goals. Goals can be cascaded through unlimited levels at an organization… (8) Adaptive options for assigning goals. Progress can be shared between contributors and a parent goal owner. The owner of the parent goal can be responsible for some milestones, while additional contributors can be responsible for others…FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. [col17 ln10-col18 ln65] FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. Although each team is working on different aspects of completing the application, they are working towards the completion of the same application. Some sample use cases of the system include: (1) User adds goal and assigns goal. For example, this is shown with contributing goal 821. A user, who is not the owner of parent goal 812, has determined the contributing goal 821 would assist in completing the parent goal 812. (2) User assigns a goal. For example, this is shown with contributing goal 827. Even though the user does not own goal 827, the user is helping the owner by identifying who would be best to complete the goal. (3) User adds goal and assigned goal. For example, this is shown with contributing goal 843. Although the user created goal 843, they did not assign it or link it with a parent goal. Another user has helped the user to connect the goal to parent goal 833 and assigned it to the user. (4) User adds goal. For example, this is shown with goal 845. At this time, this is a standalone goal that does not have a parent or contributing goals. In an implementation, the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814). FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). The system supports bottom-up and top-down goal assignments for one or more levels (e.g., one, two, three, four, or more levels difference) of separation (or difference) in an organization. For example, goals 4 and 8 show bottom up assignments. While goal 8 shows assignment from employee 1 to CEO (more than 1 level up in the organization's hierarchy), goal 4 shows an assignment from employee 1 to manager 1 (one level up only). In an implementation, the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. Goal 16 is an example of a private goal. A user (e.g., E1) can create a private goal. In an implementation, the private goal is visible only by the user (e.g., E1) who created it. In another implementation, the private goal is visible by the user (e.g., E1) who created it and the immediate manager of the user (e.g., M1 who is the manager of E1). In another implementation, the private goal is visible by the user (e.g., E1) who created it and any users who are at a higher level in the organizational hierarchy. [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. Solid lines (e.g., 1201, 1203, and 1205) represent goals directly related to a selected goal. Dotted lines (e.g., 1207, 1209, and 1211) represent goals indirectly related to the selected goal. For example, user Sid Powers can understand how his selected goal 1213 relates to the rest of the goals in the organization in this visualization. The system generates a visualization showing that goal 1213 has a parent goal 1213, which in turn has a parent goal of 1215, which in turn has a parent goal 1217. This allows Sid to see that how his goal 1213 contributes to goals one degree of separation from his goal (e.g., goal 1215) and even goals two or more degrees of separation from his goal (e.g., goal 1217). This includes goals assigned to persons different than Sid (e.g., Michael Thorton for goal 1215). [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
evaluating the set of mapping rules to dynamically assemble a customized goal representation tailored to the user; (in at least [col 6 ln25-55] modern goal-setting processes strive to be dynamic and agile. Goals should reflect fast-paced, ever-changing global work environments, enabling workers to shift focus to more important goals. Rather than a set-it-and-forget-it approach, the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously…they can and should be modified regularly, goals do not have to be perfectly defined when they are created. For imperfect goals such as “launch product X,” individuals may only know three real milestones at the start, yet anticipate five to ten more coming. When each milestone can be defined-whether midway through or near the end of a quarter-goal science best practices advocate editing and refining the goal, but only when goals are ready. By always staying focused on how to refine goals, employees can be sure they are getting the right work done now. [col17 ln10-col18 ln65] FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. Although each team is working on different aspects of completing the application, they are working towards the completion of the same application. Some sample use cases of the system include: (1) User adds goal and assigns goal. For example, this is shown with contributing goal 821. A user, who is not the owner of parent goal 812, has determined the contributing goal 821 would assist in completing the parent goal 812. (2) User assigns a goal. For example, this is shown with contributing goal 827. Even though the user does not own goal 827, the user is helping the owner by identifying who would be best to complete the goal. (3) User adds goal and assigned goal. For example, this is shown with contributing goal 843. Although the user created goal 843, they did not assign it or link it with a parent goal. Another user has helped the user to connect the goal to parent goal 833 and assigned it to the user. (4) User adds goal. For example, this is shown with goal 845. At this time, this is a standalone goal that does not have a parent or contributing goals. In an implementation, the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814). FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). The system supports bottom-up and top-down goal assignments for one or more levels (e.g., one, two, three, four, or more levels difference) of separation (or difference) in an organization. For example, goals 4 and 8 show bottom up assignments. While goal 8 shows assignment from employee 1 to CEO (more than 1 level up in the organization's hierarchy), goal 4 shows an assignment from employee 1 to manager 1 (one level up only). In an implementation, the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. Goal 16 is an example of a private goal. A user (e.g., E1) can create a private goal. In an implementation, the private goal is visible only by the user (e.g., E1) who created it. In another implementation, the private goal is visible by the user (e.g., E1) who created it and the immediate manager of the user (e.g., M1 who is the manager of E1). In another implementation, the private goal is visible by the user (e.g., E1) who created it and any users who are at a higher level in the organizational hierarchy. [col20 ln5-45] FIG. 13 shows a cascading goal tree for milestone goals. All progress is properly calculated and rolled. Milestone goals that are completed are indicated by a “1,” while milestone goals that are not yet completed are indicated by a “0.” Indications of completion or noncompletion is analogous to a Boolean data type. Based on the milestones completed and not completed, the system calculates and determines the progress toward completion as indicated. For example, milestone goal 1301 is now fifty percent completed. This is because it includes two milestone items 1303 and 1305, where milestone item 1303 is completed and milestone item 1303 is not. As another example, goal 1307 is fifty-seven percent completed or 4 of 7 milestone items. This is because its milestone items are 1301 and 1309, where milestone item 1301 contains two milestone items and 1309 contains five milestone items. The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). FIG. 14 shows a cascading goal tree for metric goals. All progress is properly calculated and rolled. As discussed, metric goals are quantitative. For example, a goal can have 6 metric items to complete, and when 2 of the 6 are completed, the percentage completion is 33 percent. Subgoals roll up to their parent goal and so forth. For example, metric goal 1401 includes metric items 1403 and 1405. Metric goal 1401 is fifty-three percent completed (or 9 of 17 items) since its metric items are three-eighths completed and six-ninth completed. This is automatically calculated by the system (e.g., by adding the number of completions and the number of total items). The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
incrementally updating the customized goal representation based on a revaluation of the set of mapping rules affected by changes to the plurality of goal entities, the one or more goal relationships, and the one or more goal properties; and (in at least [col 6 ln25-55] modern goal-setting processes strive to be dynamic and agile. Goals should reflect fast-paced, ever-changing global work environments, enabling workers to shift focus to more important goals. Rather than a set-it-and-forget-it approach, the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously…they can and should be modified regularly, goals do not have to be perfectly defined when they are created. For imperfect goals such as “launch product X,” individuals may only know three real milestones at the start, yet anticipate five to ten more coming. When each milestone can be defined-whether midway through or near the end of a quarter-goal science best practices advocate editing and refining the goal, but only when goals are ready. By always staying focused on how to refine goals, employees can be sure they are getting the right work done now. [col 12 ln45-60] A goals manager module 411 is used to add, modify, or remove goals in the system. For example, the module receives modifications for an existing goal of the system. This module is responsible for identifying in the goals database 407 the existing goal and any changes and information needed from the user database 401 to make the changes. The module then executes the changes in the respective databases. A search module 413 allows users to search by various criteria as stored in the system. Some of these include searches by user (by owner, user assigned to, team, or other), goal name, due date, or other criteria. [col17 ln10-col18 ln65] FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. Although each team is working on different aspects of completing the application, they are working towards the completion of the same application. Some sample use cases of the system include: (1) User adds goal and assigns goal. For example, this is shown with contributing goal 821. A user, who is not the owner of parent goal 812, has determined the contributing goal 821 would assist in completing the parent goal 812. (2) User assigns a goal. For example, this is shown with contributing goal 827. Even though the user does not own goal 827, the user is helping the owner by identifying who would be best to complete the goal. (3) User adds goal and assigned goal. For example, this is shown with contributing goal 843. Although the user created goal 843, they did not assign it or link it with a parent goal. Another user has helped the user to connect the goal to parent goal 833 and assigned it to the user. (4) User adds goal. For example, this is shown with goal 845. At this time, this is a standalone goal that does not have a parent or contributing goals. In an implementation, the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814). FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). The system supports bottom-up and top-down goal assignments for one or more levels (e.g., one, two, three, four, or more levels difference) of separation (or difference) in an organization. For example, goals 4 and 8 show bottom up assignments. While goal 8 shows assignment from employee 1 to CEO (more than 1 level up in the organization's hierarchy), goal 4 shows an assignment from employee 1 to manager 1 (one level up only). In an implementation, the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. Goal 16 is an example of a private goal. A user (e.g., E1) can create a private goal. In an implementation, the private goal is visible only by the user (e.g., E1) who created it. In another implementation, the private goal is visible by the user (e.g., E1) who created it and the immediate manager of the user (e.g., M1 who is the manager of E1). In another implementation, the private goal is visible by the user (e.g., E1) who created it and any users who are at a higher level in the organizational hierarchy. [col20 ln5-45] FIG. 13 shows a cascading goal tree for milestone goals. All progress is properly calculated and rolled. Milestone goals that are completed are indicated by a “1,” while milestone goals that are not yet completed are indicated by a “0.” Indications of completion or noncompletion is analogous to a Boolean data type. Based on the milestones completed and not completed, the system calculates and determines the progress toward completion as indicated. For example, milestone goal 1301 is now fifty percent completed. This is because it includes two milestone items 1303 and 1305, where milestone item 1303 is completed and milestone item 1303 is not. As another example, goal 1307 is fifty-seven percent completed or 4 of 7 milestone items. This is because its milestone items are 1301 and 1309, where milestone item 1301 contains two milestone items and 1309 contains five milestone items. The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). FIG. 14 shows a cascading goal tree for metric goals. All progress is properly calculated and rolled. As discussed, metric goals are quantitative. For example, a goal can have 6 metric items to complete, and when 2 of the 6 are completed, the percentage completion is 33 percent. Subgoals roll up to their parent goal and so forth. For example, metric goal 1401 includes metric items 1403 and 1405. Metric goal 1401 is fifty-three percent completed (or 9 of 17 items) since its metric items are three-eighths completed and six-ninth completed. This is automatically calculated by the system (e.g., by adding the number of completions and the number of total items). The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). [col6 ln30-40] the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously. [col20 ln60-col21 ln20] the system includes an animation or graphic with each goal, indicating the health of each goal. This provides an easy visual indication on the progress of a goal. For example, the graphic includes a tree in various stages of health. If the tree's associated goal is doing well, then the tree is shown in bloom (e.g., more branches, more leaves, brighter in color). However, if the tree's associated goal is doing poorly, then the tree is shown in various stages of poor health (e.g., bare tree, darker hued graphic). The health of a goal is determined by the time a user has last checked in with the goal. A check in is an action taken by an owner or person assigned to the goal to update the status or progress of the goal. Some examples of various actions that can be taken are posting a comment, marking a milestone item complete, updating a current value of completion, or any combination of these. To encourage frequent actions, the health of a goal decays with time. This amount of time is set by the system and correspond to different lengths of time (e.g., 3 days, 1 week, 2 weeks, or other length of time). In an implementation, only actions taken by a goal's owner is considered in determining the health of the goal. For example, if a person assigned to complete a goal performs an action on the goal, this information is not included in determining the health of the goal. This helps to make sure that people who create goals are frequently checking the health of their goals, encouraging proactive behavior in the goal's owner to complete the goal.)
transmitting the customized goal representation to a client device associated with the user for graphical rendering based on a context of the user. (in at least [col17 ln10-col18 ln65] FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. Although each team is working on different aspects of completing the application, they are working towards the completion of the same application. Some sample use cases of the system include: (1) User adds goal and assigns goal. For example, this is shown with contributing goal 821. A user, who is not the owner of parent goal 812, has determined the contributing goal 821 would assist in completing the parent goal 812. (2) User assigns a goal. For example, this is shown with contributing goal 827. Even though the user does not own goal 827, the user is helping the owner by identifying who would be best to complete the goal. (3) User adds goal and assigned goal. For example, this is shown with contributing goal 843. Although the user created goal 843, they did not assign it or link it with a parent goal. Another user has helped the user to connect the goal to parent goal 833 and assigned it to the user. (4) User adds goal. For example, this is shown with goal 845. At this time, this is a standalone goal that does not have a parent or contributing goals. In an implementation, the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814). FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). The system supports bottom-up and top-down goal assignments for one or more levels (e.g., one, two, three, four, or more levels difference) of separation (or difference) in an organization. For example, goals 4 and 8 show bottom up assignments. While goal 8 shows assignment from employee 1 to CEO (more than 1 level up in the organization's hierarchy), goal 4 shows an assignment from employee 1 to manager 1 (one level up only). In an implementation, the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. Goal 16 is an example of a private goal. A user (e.g., E1) can create a private goal. In an implementation, the private goal is visible only by the user (e.g., E1) who created it. In another implementation, the private goal is visible by the user (e.g., E1) who created it and the immediate manager of the user (e.g., M1 who is the manager of E1). In another implementation, the private goal is visible by the user (e.g., E1) who created it and any users who are at a higher level in the organizational hierarchy. [col19 ln55-67] The visualization also shows Sid how goals on the same level or of different degrees of separation are in relation to his. For example, goals 1219, 1221, 1223, and 1225 are on the same level as the selected goal. This provides accountability for Sid, since he now knows that in order to complete goal 1215, which is the parent goal of goal 1213, he will need goals 1219, 1221, 1223, and 1225 to be completed as well. Further, Sid can see how goals one or more degrees of separation away such as goals 1227 and 1229 relate to his own. Although the selected goal 1213 is not directly connected to these goals (e.g., the selected goal is not a parent or child goal), completion of these goals will contribute to the overall success of the organization. [col20 ln60-col21 ln20] the system includes an animation or graphic with each goal, indicating the health of each goal. This provides an easy visual indication on the progress of a goal. For example, the graphic includes a tree in various stages of health. If the tree's associated goal is doing well, then the tree is shown in bloom (e.g., more branches, more leaves, brighter in color). However, if the tree's associated goal is doing poorly, then the tree is shown in various stages of poor health (e.g., bare tree, darker hued graphic). The health of a goal is determined by the time a user has last checked in with the goal. A check in is an action taken by an owner or person assigned to the goal to update the status or progress of the goal. Some examples of various actions that can be taken are posting a comment, marking a milestone item complete, updating a current value of completion, or any combination of these. To encourage frequent actions, the health of a goal decays with time. This amount of time is set by the system and correspond to different lengths of time (e.g., 3 days, 1 week, 2 weeks, or other length of time). In an implementation, only actions taken by a goal's owner is considered in determining the health of the goal. For example, if a person assigned to complete a goal performs an action on the goal, this information is not included in determining the health of the goal. This helps to make sure that people who create goals are frequently checking the health of their goals, encouraging proactive behavior in the goal's owner to complete the goal. [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system. [col8 ln40-55] Client systems 113, 116, and 119 enable users to access and query information stored by server system 122. In a specific embodiment, the client systems can run as a standalone application such as a desktop application or mobile smartphone or tablet application. In another embodiment, a “web browser” application executing on a client system enables users to select, access, retrieve, or query information stored by server system 122. Examples of web browsers include the Internet Explorer browser program provided by Microsoft Corporation, Firefox browser provided by Mozilla, Chrome browser provided by Google, Safari browser provided by Apple, and others.)
Although implied, Duggan does not expressly disclose the following limitations, which however, are taught by Willardson,
… the alignment automatically predicted by an application of a machine-learning model to the one or more goal properties, the machine-learning model trained on prepared goals data, wherein network parameters of the machine-learning model are updated to minimize a loss function comparing predicted goal alignments against true labels in a training set; (in at least [0034] This data may be received from a database, such as database 300. Objective machine learning model 116 may be trained using objective training data 120 that includes previously inputted behavioral data set and a corresponding objective, examples of objectives, and the like. Training data may be updated such that with each iteration of objective machine learning model 116, new data is added to objective training data 120. In an embodiment, with each addition of new training data, the objective machine learning model 116 may be improved and updated. The output of the objective machine learning model 116 may be an objective 114 or a plurality of objectives for a user 112 to achieve. For example, behavioral data set may include a sample of music played by user 112 that shows a lack of rhythm. The objective machine learning model 116 may output an objective 114 of “becoming a better musician”. [0049] a subsumption ontology include frames, conceptual graphs, and logical assertions. In some embodiments, the knowledge base may be a storage hub that contains information about past matches of a behavioral data set 108 to a deficiency 124 based on the similarity of inputs and feedback from users and system administrators about the compatibility of matches. Next, an inference engine allows new knowledge to be inferred. For example, the inference engine may determine that a user's system has a behavioral data set 108 with attributes that demonstrate a deficiency 124 of math skills, the system may then infer that the user 112 should take additional courses in math. In another example, the inference engine may infer a strength based on the behavioral data set 108. Inferences can take the form of IF-THEN rules coupled with forward chaining or backward chaining approaches. Forward chaining starts with the known facts and asserts new facts. Backward chaining starts with goals and works backward to determine what facts must be asserted so that the goals can be achieved. Other approaches include the use of automated theorem provers, logic programming, blackboard systems, and term rewriting systems such as CHR (Constraint Handling Rules). For example, following the IF-THEN rule format, the inference engine could devise “if strength 132 consists of an aptitude for musical talent, then an action path 116 may include a proposed task of learning how to play a musical instrument.” The inference engine may make predictions or decisions in optimizing behavioral data set 108 to deficiency 124 for a user without being explicitly programmed to do so. The inference engine may receive constant feedback and self-learn based on previous classifications, as described through this disclosure, and recommendations to further refine and strengthen its recommendations. [0038] Training data may be formatted and/or organized by categories of data elements, for instance by associating data elements with one or more descriptors corresponding to categories of data elements. As a non-limiting example, training data may include data entered in standardized forms by persons or processes, such that entry of a given data element in a given field in a form may be mapped to one or more descriptors of categories. Elements in training data may be linked to descriptors of categories by tags, tokens, or other data elements; for instance, and without limitation, training data may be provided in fixed-length formats, formats linking positions of data to categories such as comma-separated value (CSV) formats and/or self-describing formats such as extensible markup language (XML), enabling processes or devices to detect categories of data. [0051] processor 104 may generate an action path 136 as a function of the deficiency 124. As used herein, an “action path” are a step/steps for a user to take. A step may be an action such as completing a course, or the like. An action path 136 may be used to for a user 112 to improve their deficiencies. In an embodiment, an action machine-learning model 140, such as classification, may be used to generate an action path 136. For example, a deficiency 124 may be used as an input in an action classifier. Machine-learning models are discussed in further detail below. A KBS, as discussed above, may also be used to determine an action path 136. An action classifier may perform classification in any way as discussed herein. Action machine-learning model 140 may be trained using training data that includes previous input-output combinations from the model, various deficiencies, various action path, various objectives, and the like. Training data may be gathered through previous iterations of the machine-learning process. An action classifier may output an action path 136 based on a deficiency 124 and objective 114 extracted from the behavioral data set 108. For example, if a user's deficiency is project management and the objective is to start a business, an action path 136 may include going to business school. For example, a user may submit a credit score record as the behavioral data set 108. A deficiency machine learning model 128 may identify “credit” as the deficiency 124 and determine an action path 136 of “paying off loans” if the objective is to “get a mortgage. The action-machine learning process 140 may be iterative and update training data to improve outputs. [0052] generate a classifier, such as deficiency classifier and action classifier, using a Naïve Bayes classification algorithm. Naïve Bayes classification algorithm generates classifiers by assigning class labels to problem instances, represented as vectors of element values. Class labels are drawn from a finite set. Naïve Bayes classification algorithm may include generating a family of algorithms that assume that the value of a particular element is independent of the value of any other element, given a class variable. Naïve Bayes classification algorithm may be based on Bayes Theorem expressed as P(A/B)=P(B/A) P(A)÷P(B), where P(A/B) is the probability of hypothesis A given data B also known as posterior probability; P(B/A) is the probability of data B given that the hypothesis A was true; P(A) is the probability of hypothesis A being true regardless of data also known as prior probability of A; and P(B) is the probability of the data regardless of the hypothesis. A naïve Bayes algorithm may be generated by first transforming training data into a frequency table. Processor 104 may then calculate a likelihood table by calculating probabilities of different data entries and classification labels. Processor 104 may utilize a naïve Bayes equation to calculate a posterior probability for each class. A class containing the highest posterior probability is the outcome of prediction. Naïve Bayes classification algorithm may include a gaussian model that follows a normal distribution. Naïve Bayes classification algorithm may include a multinomial model that is used for discrete counts. Naïve Bayes classification algorithm may include a Bernoulli model that may be utilized when vectors are binary. [0058] FIG. 2 , training data may be filtered, sorted, and/or selected using one or more supervised and/or unsupervised machine-learning processes and/or models as described in further detail below; such models may include without limitation a training data classifier 216. Training data classifier 216 may include a “classifier,” which as used in this disclosure is a machine-learning model as defined below, such as a mathematical model, neural net, or program generated by a machine learning algorithm known as a “classification algorithm,” as described in further detail below, that sorts inputs into categories or bins of data, outputting the categories or bins of data and/or labels associated therewith. A classifier may be configured to output at least a datum that labels or otherwise identifies a set of data that are clustered together, found to be close under a distance metric as described below, or the like. Machine-learning module 200 may generate a classifier using a classification algorithm, defined as a processes whereby a computing device and/or any module and/or component operating thereon derives a classifier from training data 204. Classification may be performed using, without limitation, linear classifiers such as without limitation logistic regression and/or naive Bayes classifiers, nearest neighbor classifiers such as k-nearest neighbors classifiers, support vector machines, least squares support vector machines, fisher's linear discriminant, quadratic classifiers, decision trees, boosted trees, random forest classifiers, learning vector quantization, and/or neural network-based classifiers. [0061] FIG. 2 , machine-learning algorithms may include at least a supervised machine-learning process 228. At least a supervised machine-learning process 228, as defined herein, include algorithms that receive a training set relating a number of inputs to a number of outputs, and seek to find one or more mathematical relations relating inputs to outputs, where each of the one or more mathematical relations is optimal according to some criterion specified to the algorithm using some scoring function. For instance, a supervised learning algorithm may include a goals 108 or goal datum 120 as described above as inputs, autonomous functions as outputs, and a scoring function representing a desired form of relationship to be detected between inputs and outputs; scoring function may, for instance, seek to maximize the probability that a given input and/or combination of elements inputs is associated with a given output to minimize the probability that a given input is not associated with a given output. Scoring function may be expressed as a risk function representing an “expected loss” of an algorithm relating inputs to outputs, where loss is computed as an error function representing a degree to which a prediction generated by the relation is incorrect when compared to a given input-output pair provided in training data 204. (i.e. comparing predicted goal alignments against true labels in a training set) Persons skilled in the art, upon reviewing the entirety of this disclosure, will be aware of various possible variations of at least a supervised machine-learning process 228 that may be used to determine relation between inputs and outputs. Supervised machine-learning processes may include classification algorithms as defined above.)
In the same field of endeavor, managing and predicting human goals and objectives, at the time the invention was filed, it would have been obvious for one of ordinary skill in the art to have modified the teachings of Duggan, as taught by Willardson above, with a reasonable expectation of success if arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make this modification to the teachings of Duggan with the motivation of, …Many people tend have deficiencies preventing them from finishing objectives. Such deficiencies are difficult for automated processes to detect and quantify, …An action path 136 may be used to for a user 112 to improve their deficiencies.…The action-machine learning process 140 may be iterative and update training data to improve outputs... The inference engine may make predictions or decisions in optimizing behavioral data set 108 to deficiency 124 for a user without being explicitly programmed to do so. The inference engine may receive constant feedback and self-learn based on previous classifications, as described through this disclosure, and recommendations to further refine and strengthen its recommendations…, as recited in Willardson.
[R]ationales that may support a conclusion of obviousness include:
(A) Combining prior art elements according to known methods to yield predictable results;
(B) Simple substitution of one known element for another to obtain predictable results;
(C) Use of known technique to improve similar devices (methods, or products) in the same way;
(D) Applying a known technique to a known device (method, or product) ready for improvement to yield predictable results;
(E) “Obvious to try” – choosing from a finite number of identified, predictable solutions, with a reasonable expectation of success;
(F) Known work in one field of endeavor may prompt variations of it for use in either the same field or a different one based on design incentives or other market forces if the variations are predictable to one of ordinary skill in the art;
(G) Some teaching, suggestion, or motivation in the prior art that would have led one of ordinary skill to modify the prior art reference or to combine prior art reference teachings to arrive at the claimed invention. See MPEP 2143.
Claim Rejections – 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 is/are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
Claim 1 (similarly 19, 20) recite, … to perform operations, the operations comprising:
receiving a request from a user to view a goal representation;
accessing a flexible goal ontology comprising a plurality of goal entities, one or more goal relationships between the plurality of goal entities, and one or more goal properties, the one or more goal properties including one or more metadata attributes relating to the plurality of goal entities, the plurality of goal entities including one or more employee objectives and one or more organizational strategies. the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically predicted by an … model to the one or more goal properties, the … model trained on prepared goals data, wherein network parameters of the … model are updated to minimize a loss function comparing predicted goal alignments against true labels in a training set;
obtaining a set of mapping rules defining mappings between one or more goals based on the one or more goal properties and the one or more goal relationships in the flexible goal ontology;
evaluating the set of mapping rules to dynamically assemble a customized goal representation tailored to the user;
incrementally updating the customized goal representation based on a revaluation of the set of mapping rules affected by changes to the plurality of goal entities, the one or more goal relationships, and the one or more goal properties; and
transmitting the customized goal representation to a … associated with the user for graphical rendering based on a context of the user.
Analyzing under Step 2A, Prong 1:
The limitations regarding, …receiving a request from a user to view a goal representation; accessing a flexible goal ontology comprising a plurality of goal entities, one or more goal relationships between the plurality of goal entities, and one or more goal properties, the one or more goal properties including one or more metadata attributes relating to the plurality of goal entities, the plurality of goal entities including one or more employee objectives and one or more organizational strategies. the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically predicted by an … model to the one or more goal properties, the … model trained on prepared goals data, wherein network parameters of the … model are updated to minimize a loss function comparing predicted goal alignments against true labels in a training set; obtaining a set of mapping rules defining mappings between one or more goals based on the one or more goal properties and the one or more goal relationships in the flexible goal ontology; evaluating the set of mapping rules to dynamically assemble a customized goal representation tailored to the user; incrementally updating the customized goal representation based on a revaluation of the set of mapping rules affected by changes to the plurality of goal entities, the one or more goal relationships, and the one or more goal properties; and transmitting the customized goal representation to a … associated with the user for graphical rendering based on a context of the user..…, under the broadest reasonable interpretation, can include a human using their mind and using pen and paper to perform the identified limitations. Therefore, the claims are directed to a mental process.
Further, … receiving a request from a user to view a goal representation; accessing a flexible goal ontology comprising a plurality of goal entities, one or more goal relationships between the plurality of goal entities, and one or more goal properties, the one or more goal properties including one or more metadata attributes relating to the plurality of goal entities, the plurality of goal entities including one or more employee objectives and one or more organizational strategies. the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically predicted by an … model to the one or more goal properties, the … model trained on prepared goals data, wherein network parameters of the … model are updated to minimize a loss function comparing predicted goal alignments against true labels in a training set; obtaining a set of mapping rules defining mappings between one or more goals based on the one or more goal properties and the one or more goal relationships in the flexible goal ontology; evaluating the set of mapping rules to dynamically assemble a customized goal representation tailored to the user; incrementally updating the customized goal representation based on a revaluation of the set of mapping rules affected by changes to the plurality of goal entities, the one or more goal relationships, and the one or more goal properties; and transmitting the customized goal representation to a … associated with the user for graphical rendering based on a context of the user.…, under the broadest reasonable interpretation, are managing human and human goals, therefore it is, managing personal behavior or relationships or interactions between people. Thus, the claims are directed to certain methods of organizing human activity.
Accordingly, the claims are directed to a mental process, certain methods of organizing human activity, and thus, the claims are directed to an abstract idea under the first prong of Step 2A.
Analyzing under Step 2A, Prong 2:
This judicial exception is not integrated into a practical application under the second prong of Step 2A.
In particular, the claims recite the additional elements beyond the recited abstract idea identified under Step 2A, Prong 1, such as:
Claim 1, 19, 20: A system comprising: one or more computer processors; one or more computer memories; a set of instructions incorporated into one or more memories, the set of instructions configuring the one or more computer processors, A non-transitory computer-readable storage medium storing a set of instructions that, when executed by one or more computer processors, causes the one or more computer processors, a client device associated with the user, application of a machine-learning model
Claim 13: graphical user interface, the graphical user interface comprising an interactive sidebar
Claim 14: graphical user interface that is configured for small screens through use of interactive sidebars providing context-specific navigation
Claim 16: external systems
Claim 17: neural network
, and pursuant to the broadest reasonable interpretation, as an ordered combination, each of the additional elements are computing elements recited at high level of generality implementing the abstract idea, and thus, are no more than applying the abstract idea with generic computer components.
Further, these additional elements generally link the abstract idea to a technical environment, namely the environment of a computer.
Additionally, with respect to, “receiving …”, “accessing…”, “obtaining…”, “incrementally updating…”, “transmitting…”, “…user selection of the selected goal…”, ”…providing context-specific navigation…”, “…propagating updates…”, these elements do not add a meaningful limitations to integrate the abstract idea into a practical application because they are extra-solution activity, pre and post solution activity - i.e. data gathering – “receiving …”, “accessing…”, “obtaining…”, “…user selection of the selected goal…”, ”…providing context-specific navigation…”, “…propagating updates…”, data output – “incrementally updating…”, “transmitting…”, “…user selection of the selected goal…”, ”…providing context-specific navigation…”, “…propagating updates…”
Analyzing under Step 2B:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception under Step 2B.
As noted above, the aforementioned additional elements beyond the recited abstract idea are not sufficient to amount to significantly more than the recited abstract idea because, as an order combination, the additional elements are no more than mere instructions to implement the idea using generic computer components (i.e. apply it).
Additionally, as an order combination, the additional elements append the recited abstract idea to well-understood, routine, and conventional activities in the field as individually evinced by the applicant’s own disclosure, as required by the Berkheimer Memo, in at least:
[1193] The machine learning model may comprise a neural network implementing an embedding layer, convolutional layers, pooling layers, and/or dense layers. A convolutional neural network architecture may be selected based on its proven effectiveness in text classification tasks.
[1195] One skilled in the art will appreciate that various standard neural network architectures could be adapted for the goals alignment task.
[1225] Here are some examples of insights that the machine learning described herein may be configured to reveal regarding compensation and goals:
[1226] Predictive Modeling for Budgeting: A regression model could forecast next year's payroll budget needs by analyzing historical trends in compensation changes, hiring forecasts, attrition predictions, and economic indicators. The predictions can help guide budget planning cycles.
[1273] In example embodiments, one or more user interfaces may be caused to be presented that include advanced visualizations, embedded analytics, mobile optimization, drag-and-drop manipulation, visual cues, animations, recommendations, or simulations, as described herein. For example, one or more user interfaces my include one or more of the following features:
[1274] An interactive sidebar providing contextual actions on goals including creating, aligning, updating, editing, ending, deleting, and reactivating goals;
[1376] Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules. A hardware-implemented module is a tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more processors may be configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein.
[1383] Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
[1384] A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
[1385] In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
[1386] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that both hardware and software architectures merit consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.
[1387] FIG. 300 is a block diagram of an example computer system 30000 on which methodologies and operations described herein may be executed, in accordance with an example embodiment.
[1388] In alternative embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[1389] The example computer system 30000 includes a processor 30002 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 30004 and a static memory 30006, which communicate with each other via a bus 30008. The computer system 30000 may further include a graphics display unit 30010 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 30000 also includes an alphanumeric input device 30012 (e.g., a keyboard or a touch-sensitive display screen), a user interface (UI) navigation device 30014 (e.g., a mouse), a storage unit 30016, a signal generation device 30018 (e.g., a speaker) and a network interface device 30020.
[1390] The storage unit 30016 includes a machine-readable medium 30022 on which is stored one or more sets of instructions and data structures (e.g., software) 30024 embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 30024 may also reside, completely or at least partially, within the main memory 30004 and/or within the processor 30002 during execution thereof by the computer system 30000, the main memory 30004 and the processor 30002 also constituting machine-readable media.
[1391] While the machine-readable medium 30022 is shown in an example embodiment to be a single medium, the term "machine-readable medium" may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions 30024 or data structures. The term "machine-readable medium" shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions (e.g., instructions 30024) for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term "machine-readable medium" shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[1393] Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the present disclosure. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
[1394] Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
Furthermore, as an ordered combination, these elements amount to generic computer components receiving or transmitting data over a network, performing repetitive calculations, electronic record keeping, and storing and retrieving information in memory, which, as held by the courts, are well-understood, routine, and conventional. See MPEP 2106.05(d).
Moreover, the remaining elements of dependent claims do not transform the recited abstract idea into a patent eligible invention because these remaining elements merely recite further abstract limitations that provide nothing more than simply a narrowing of the abstract idea recited in the independent claims.
Looking at these limitations as an ordered combination adds nothing additional that is sufficient to amount to significantly more than the recited abstract idea because they simply provide instructions to use a generic arrangement of generic computer components to “apply” the recited abstract idea, perform insignificant extra-solution activity, and generally link the abstract idea to a technical environment. Thus, the elements of the claims, considered both individually and as an ordered combination, are not sufficient to ensure that the claim as a whole amounts to significantly more than the abstract idea itself. Since there are no limitations in these claims that transform the exception into a patent eligible application such that these claims amount to significantly more than the exception itself, claims 1-20 are rejected under 35 U.S.C. 101 as being directed to non-statutory subject matter.
Claim Rejections – 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
Determining the scope and contents of the prior art.
Ascertaining the differences between the prior art and the claims at issue.
Resolving the level of ordinary skill in the pertinent art.
Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 1-20 is/are rejected under 35 U.S.C. 103 as being unpatentable by US10896390B1 to Duggan et al., (hereinafter referred to as “Duggan”) in view of US Patent Publication to US20240028953A1 to Willardson et al., (hereinafter referred to as “Willardson”)
As per Claim 1, Duggan teaches: (Currently Amended) A system comprising: one or more computer processors; one or more computer memories; a set of instructions incorporated into one or more memories, the set of instructions configuring the one or more computer processors to perform operations, the operations comprising: ([col9 ln1-65])
receiving a request from a user to view a goal representation; (in at least [col17 ln65-col18 ln15] the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page)
accessing a flexible goal ontology comprising a plurality of goal entities, one or more goal relationships between the plurality of goal entities, and one or more goal properties, the plurality of goal properties including one or more metadata attributes relating to the one or more goal entities, the plurality of goal entities including one or more employee objectives and one or more organizational strategies, the one or more goal relationships including an alignment between the one or more employee objectives and the one or more organizational strategies, the alignment automatically … model to the one or more goal properties, …; (in at least [col14 ln1-col17 ln65] FIG. 6 shows a tree of cascading goals, where the goals are assigned according to atop-down approach only. In this tree, goals (represented by circles) flow from the top of the tree to the bottom (represented by arrows). This means that higher-level employees (or superiors) can add goals for lower-level employees, but not vice versa. For example, a goal 603 is subdivided into goals 605, 608, and 610. Goal 603 can be a goal created by someone higher up in an organization (e.g., CEO created goal) while goal 605 is created by someone in a mid-level position in the organization (e.g., manager created goal). The cascading goals tree is stored in the goals database. In an implementation, goals can be conceptualized as containers. Each goal is a container including one or more progress inputs, as described in greater detail elsewhere in this application. These progress indicators are used to determine the progression of its associated container/goal. For example, a specific container can have a parent goal, child goals, or a combination of these. Some classifications of goals (or progress inputs) include: Parent goal: A goal that has contributing goals. It may also have a parent. Contributing goal (or subgoal): Synonymous with child goal, a goal with a parent. May have contributing goals of its own. Progress of contributing goals directly increases or decreases progress of the parent goal. Every contributing goal represents an element of the parent goal. This means that the goals created at the top of the tree are divided into subgoals, such as goal 603 divided into subgoals (or contributing goals) 605, 608, and 610. The parents of goals 605, 608, and 610 is goal 603. Usually in an organization, this would mean that a higher-level position employee has created new goals and assigned these goals to lower level position employee. FIG. 7 shows a tree of cascading goals, where the goals are assigned according to top-down (e.g., 703 to 708), bottom-up (718 to 708), sideways (e.g., 724 to 726), or diagonal approaches in an organization. As compared to the top-down approach described in FIG. 6, the system allows additional relationships between goals to be represented in the system. This goal tree does not necessarily need to reflect the internal organizational structure of the organization. For example, the creator or assignee of goal 703 does not necessarily need to be a person at the top of the organization's organizational chart (e.g., CEO). An example relationship is parent goal 708 that includes contributor goal 722 that was created by the owner of the parent goal 708. However, another person different than the owner created contributor goal 718. Although the person did not create the parent goal 708, they are allowed to link their contributor goal to the parent goal 708. This can happen in an organization when a user views another person's owned goal and wants to contribute to its completion. For example, sometimes a person has worked previously on a similar project and recognizes certain requirements that the owner of the goal did not. To assist in the completion of the owner's goal, the user can add a contributor goal to the owner's goal. In another example, users with more than one level of separation in an organization's organization chart can assign goals to each other. For example, goal 716 is created by a manager. In the organization's organizational chart, the manager directly reports to a vice president that in turn directly reports to a CEO. However, the system allows the manager to create goal 716 and assign it to the CEO. Once assigned the goal, the CEO can choose whether to complete the goal themselves, divide the goal into further goals, or assign the goal to another person. In an implementation, the system allows at most one parent goal for each goal. This is because each goal contributes to the completion of at most one other goal in the system. If a user attempts to create a goal with more than one parent, the system disallows the user from doing so (e.g., displays an error message, does not record the goal, generates an alert for other users, or other methods). In another implementation, the system allows more than one parent goal for a goal. This means that the completion of one goal contributes to the completion of two or more parent goals. In an implementation, the system supports unattached goals. This means the goal (e.g., goal 766) has no parent goal. For example, FIG. 7 shows goal 766 that is unattached to other goals (e.g., it has no contributor or parent goals). This occurs in real-life situation where a goal needs to be accomplished, but users of the system have not determined how it will fit with the rest of an organization's goals when the goal is created. This is a convenient method for the organization to make note of the goal, until its proper place is determined. In an implementation, goals can be metric type, milestone type, or both. A first type of goal is a metric type and a second type of goal is a milestone type. For metric type goals, the progress represents true value, as contributions to completing the goal are measured by the same unit. For milestone type goals, contributions are equally weighted. For the metric type goal, the goal is associated with an initial numerical value, target numerical value, and unit. The initial numerical value is the value where the system starts tracking completion to the goal. Usually this would be 0, since most goals will have no progress when they are initially entered into the system. The system is flexible in tracking different types of units. A common unit is financial (e.g., dollars). Other units can be used in different situations (e.g., items, calls, customers, clients). An example of a metric type goal is “Get 10 meetings from list of 50 targeted, key accounts.” This goal requires users to review a client list of the organization and setup meetings with 10 of 50 of key accounts in the organization. When the goal is setup, the creator initiates the goal with an initial numerical value of 0 (e.g., no accounts or meeting have been setup yet), target numerical value of 10, and unit of meetings. For the milestone type goal, two or more steps (or subgoals) are created that represent progress within the goal. An example of a milestone goal is “Ship a new add-on product in Q2.” Within this goal can be the milestones of “Deliver code to QA” and “Test and certify product as ready for release.” In an implementation, if a parent of a contributor goal is a milestone based goal, the contributing goal represents one of its milestones. In an implementation, all milestones on a goal are equally weighted. This means that the completion of one of the contributor goal shows the same amount of progress towards completion of the parent goal as another contributor goal to the parent goal. This allows users a quick at a glance method to determine how much progress has been made in a parent goal. In another implementation, users can set in the system specific values of how much each contributor goal contributes to a parent goal. This can be represented as an integer or other value, such as numbers on a scale of 100. This is useful where some goals take longer time or require more effort than others to complete. In an implementation, if a parent goal is metric based, the contributing goal will represent a portion of the current value. Metric based goals can exceed 100 percent, but milestone based goals can not. Here are some examples of milestone goals:(1) Goal A is a milestone based goal that contains 3 milestones. Goal B is a contributing goal if parent goal A, which means it represents one of goal A's milestones. If goal B is at 50 percent, and goal A has no additional progress, goal A's overall progress will be 17 percent (includes rounding to closest integer). (2) Goal A is a metric based goal with a target value of 300 apples. Each contributor (goals B, C, and D) is assigned 100 apples. Goal B assigns another goal (goal E) to contribute to his, and he has assigned 50 of his 100 apples to the contributor. Now, there are three levels of goal hierarchy. Goal E has a standout quarter and sells 800 apples. Goal C has sold 50 of his 100 apples and goal D has sold no apples. The system represents the progress as: goal A: 283 percent; goal B: 800 percent; goal C: 50 percent; goal D: 0 percent; and goal E: 1600 percent. In an implementation, the system includes a default goal type of metric. This allows a goal's progress to be calculated by the average progress of its contributions. In an implementation, if a parent of a contributor goal is a milestone and metric based goal, only progress using the same unit will cascade upward to affect the parent goal. However, the contributing goals will still be able to add milestones to their goals which are peers to that contributing metric. Their goal's progress will still be calculated based on an average, but only the corresponding unit value will cascade upward to the parents which are also responsible for a metric unit key result with the same unit. For example, a first goal includes a “contacts” unit type, a second goal includes a “contacts” unit type and a third goal includes a “dollars” unit type. Assuming the second and third goals are contributing goals to the first goal, only progress of the second goal will affect the progress of the first goals “contacts” unit type, since they share the same unit type. However, the third goal will be considered a milestone of the first goal whose progress will be based on an average… the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814) [col17 ln40-60] FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). [col5 ln 20-50] Goals should be drafted and owned by individuals, reviewed by managers, and tracked by both. In contrast to MBO-model goals that are often only vertically aligned—visible to a manager and his or her direct reports—to be truly connected, all goals must be visible, aligned, and owned. Making goals visible online is a necessary condition for consensus and alignment in an organization. To be aligned, goals must be connected in three different ways: (a) Vertical—An individual's goals connect to (and do not conflict with) a manager's goals. (b) Company/Mission—An individual can clearly see how his or her goals connect to the company goals and mission, making goals more meaningful. (c) Horizontal—An individual's goals connect (and do not conflict) across teams. Who owns what goals is also important to achievement. Not all goals should come from corporate. Google Ventures' partner Rick Klau suggests more than half of goals should originate from employees. Behavioral science expert, Gary Latham found stakeholders participating in goal setting do better. About Kurt Lewin's student, Alex Bavelas, he wrote, “By securing employee participation in decision making, previously unattainable goals were reached by those workers.” Individuals will achieve more when they help shape their own goals and connect them to an internal sense of what they can do to make the biggest impact for the business. [col16 ln60-col17 ln5] Open cascading goals. The cascading goal model is open. Anyone at a company can contribute to anyone else at the company's goal. Goal relationships are not limited by reporting structure. This means that the system is generally agnostic to an organization's internal people hierarchy and organizational structure. [col12 ln30-50] A cascading goals generation module 409 is used to determine how goals in the system relate to one another. Although the information associated with each goal is stored in the goals database 407, the information stored in the goals database is in a flat structure (e.g., each goal includes only its immediate contributing goal, parent goal one-degree of separation away, or both). The cascading goals generation module determines an organization's entire goal tree or any subsection of the organization's goal tree (e.g., a goal's parent or contributing goal two or more degrees of separation away). This is useful in the system to allow users to see how one goal is related to another and diagnose how progress on one or two goals is impeding progress on other, seemingly unrelated goals (e.g., goals that are not directly coupled to each other). [col18 ln20-45] FIG. 10 also shows the flexible nature of goals in the system. For example, in atypical organization, goals will flow from those who occupy the upper portions of an organization chart downwards. An example of this is goal 2, where the chief executive officer of the organization delegates to a vice president of the organization. However, the system allows goals to flow in the reverse direction. As example of this is goal 8, where an employee has assigned a task to a chief executive officer. [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. Solid lines (e.g., 1201, 1203, and 1205) represent goals directly related to a selected goal. Dotted lines (e.g., 1207, 1209, and 1211) represent goals indirectly related to the selected goal. For example, user Sid Powers can understand how his selected goal 1213 relates to the rest of the goals in the organization in this visualization. The system generates a visualization showing that goal 1213 has a parent goal 1213, which in turn has a parent goal of 1215, which in turn has a parent goal 1217. This allows Sid to see that how his goal 1213 contributes to goals one degree of separation from his goal (e.g., goal 1215) and even goals two or more degrees of separation from his goal (e.g., goal 1217). This includes goals assigned to persons different than Sid (e.g., Michael Thorton for goal 1215). [col20 ln5-45] FIG. 13 shows a cascading goal tree for milestone goals. All progress is properly calculated and rolled. Milestone goals that are completed are indicated by a “1,” while milestone goals that are not yet completed are indicated by a “0.” Indications of completion or noncompletion is analogous to a Boolean data type. Based on the milestones completed and not completed, the system calculates and determines the progress toward completion as indicated. For example, milestone goal 1301 is now fifty percent completed. This is because it includes two milestone items 1303 and 1305, where milestone item 1303 is completed and milestone item 1303 is not. As another example, goal 1307 is fifty-seven percent completed or 4 of 7 milestone items. This is because its milestone items are 1301 and 1309, where milestone item 1301 contains two milestone items and 1309 contains five milestone items. The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). FIG. 14 shows a cascading goal tree for metric goals. All progress is properly calculated and rolled. As discussed, metric goals are quantitative. For example, a goal can have 6 metric items to complete, and when 2 of the 6 are completed, the percentage completion is 33 percent. Subgoals roll up to their parent goal and so forth. For example, metric goal 1401 includes metric items 1403 and 1405. Metric goal 1401 is fifty-three percent completed (or 9 of 17 items) since its metric items are three-eighths completed and six-ninth completed. This is automatically calculated by the system (e.g., by adding the number of completions and the number of total items). The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). [col6 ln30-40] the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously. [col14 ln50-65] parent goal 708 that includes contributor goal 722 that was created by the owner of the parent goal 708. However, another person different than the owner created contributor goal 718. Although the person did not create the parent goal 708, they are allowed to link their contributor goal to the parent goal 708. This can happen in an organization when a user views another person's owned goal and wants to contribute to its completion. For example, sometimes a person has worked previously on a similar project and recognizes certain requirements that the owner of the goal did not. To assist in the completion of the owner's goal, the user can add a contributor goal to the owner's goal. [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
obtaining a set of mapping rules defining mappings between one or more goals based on the one or more goal properties and the one or more goal relationships in the flexible goal ontology; (in at least [col16 ln40-col17 ln10] (1) Flexible assigning of goals. Goals can be cascaded through unlimited levels at an organization… (8) Adaptive options for assigning goals. Progress can be shared between contributors and a parent goal owner. The owner of the parent goal can be responsible for some milestones, while additional contributors can be responsible for others…FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. [col17 ln10-col18 ln65] FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. Although each team is working on different aspects of completing the application, they are working towards the completion of the same application. Some sample use cases of the system include: (1) User adds goal and assigns goal. For example, this is shown with contributing goal 821. A user, who is not the owner of parent goal 812, has determined the contributing goal 821 would assist in completing the parent goal 812. (2) User assigns a goal. For example, this is shown with contributing goal 827. Even though the user does not own goal 827, the user is helping the owner by identifying who would be best to complete the goal. (3) User adds goal and assigned goal. For example, this is shown with contributing goal 843. Although the user created goal 843, they did not assign it or link it with a parent goal. Another user has helped the user to connect the goal to parent goal 833 and assigned it to the user. (4) User adds goal. For example, this is shown with goal 845. At this time, this is a standalone goal that does not have a parent or contributing goals. In an implementation, the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814). FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). The system supports bottom-up and top-down goal assignments for one or more levels (e.g., one, two, three, four, or more levels difference) of separation (or difference) in an organization. For example, goals 4 and 8 show bottom up assignments. While goal 8 shows assignment from employee 1 to CEO (more than 1 level up in the organization's hierarchy), goal 4 shows an assignment from employee 1 to manager 1 (one level up only). In an implementation, the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. Goal 16 is an example of a private goal. A user (e.g., E1) can create a private goal. In an implementation, the private goal is visible only by the user (e.g., E1) who created it. In another implementation, the private goal is visible by the user (e.g., E1) who created it and the immediate manager of the user (e.g., M1 who is the manager of E1). In another implementation, the private goal is visible by the user (e.g., E1) who created it and any users who are at a higher level in the organizational hierarchy. [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. Solid lines (e.g., 1201, 1203, and 1205) represent goals directly related to a selected goal. Dotted lines (e.g., 1207, 1209, and 1211) represent goals indirectly related to the selected goal. For example, user Sid Powers can understand how his selected goal 1213 relates to the rest of the goals in the organization in this visualization. The system generates a visualization showing that goal 1213 has a parent goal 1213, which in turn has a parent goal of 1215, which in turn has a parent goal 1217. This allows Sid to see that how his goal 1213 contributes to goals one degree of separation from his goal (e.g., goal 1215) and even goals two or more degrees of separation from his goal (e.g., goal 1217). This includes goals assigned to persons different than Sid (e.g., Michael Thorton for goal 1215). [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
evaluating the set of mapping rules to dynamically assemble a customized goal representation tailored to the user; (in at least [col 6 ln25-55] modern goal-setting processes strive to be dynamic and agile. Goals should reflect fast-paced, ever-changing global work environments, enabling workers to shift focus to more important goals. Rather than a set-it-and-forget-it approach, the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously…they can and should be modified regularly, goals do not have to be perfectly defined when they are created. For imperfect goals such as “launch product X,” individuals may only know three real milestones at the start, yet anticipate five to ten more coming. When each milestone can be defined-whether midway through or near the end of a quarter-goal science best practices advocate editing and refining the goal, but only when goals are ready. By always staying focused on how to refine goals, employees can be sure they are getting the right work done now. [col17 ln10-col18 ln65] FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. Although each team is working on different aspects of completing the application, they are working towards the completion of the same application. Some sample use cases of the system include: (1) User adds goal and assigns goal. For example, this is shown with contributing goal 821. A user, who is not the owner of parent goal 812, has determined the contributing goal 821 would assist in completing the parent goal 812. (2) User assigns a goal. For example, this is shown with contributing goal 827. Even though the user does not own goal 827, the user is helping the owner by identifying who would be best to complete the goal. (3) User adds goal and assigned goal. For example, this is shown with contributing goal 843. Although the user created goal 843, they did not assign it or link it with a parent goal. Another user has helped the user to connect the goal to parent goal 833 and assigned it to the user. (4) User adds goal. For example, this is shown with goal 845. At this time, this is a standalone goal that does not have a parent or contributing goals. In an implementation, the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814). FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). The system supports bottom-up and top-down goal assignments for one or more levels (e.g., one, two, three, four, or more levels difference) of separation (or difference) in an organization. For example, goals 4 and 8 show bottom up assignments. While goal 8 shows assignment from employee 1 to CEO (more than 1 level up in the organization's hierarchy), goal 4 shows an assignment from employee 1 to manager 1 (one level up only). In an implementation, the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. Goal 16 is an example of a private goal. A user (e.g., E1) can create a private goal. In an implementation, the private goal is visible only by the user (e.g., E1) who created it. In another implementation, the private goal is visible by the user (e.g., E1) who created it and the immediate manager of the user (e.g., M1 who is the manager of E1). In another implementation, the private goal is visible by the user (e.g., E1) who created it and any users who are at a higher level in the organizational hierarchy. [col20 ln5-45] FIG. 13 shows a cascading goal tree for milestone goals. All progress is properly calculated and rolled. Milestone goals that are completed are indicated by a “1,” while milestone goals that are not yet completed are indicated by a “0.” Indications of completion or noncompletion is analogous to a Boolean data type. Based on the milestones completed and not completed, the system calculates and determines the progress toward completion as indicated. For example, milestone goal 1301 is now fifty percent completed. This is because it includes two milestone items 1303 and 1305, where milestone item 1303 is completed and milestone item 1303 is not. As another example, goal 1307 is fifty-seven percent completed or 4 of 7 milestone items. This is because its milestone items are 1301 and 1309, where milestone item 1301 contains two milestone items and 1309 contains five milestone items. The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). FIG. 14 shows a cascading goal tree for metric goals. All progress is properly calculated and rolled. As discussed, metric goals are quantitative. For example, a goal can have 6 metric items to complete, and when 2 of the 6 are completed, the percentage completion is 33 percent. Subgoals roll up to their parent goal and so forth. For example, metric goal 1401 includes metric items 1403 and 1405. Metric goal 1401 is fifty-three percent completed (or 9 of 17 items) since its metric items are three-eighths completed and six-ninth completed. This is automatically calculated by the system (e.g., by adding the number of completions and the number of total items). The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
incrementally updating the customized goal representation based on a revaluation of the set of mapping rules affected by changes to the plurality of goal entities, the one or more goal relationships, and the one or more goal properties; and (in at least [col 6 ln25-55] modern goal-setting processes strive to be dynamic and agile. Goals should reflect fast-paced, ever-changing global work environments, enabling workers to shift focus to more important goals. Rather than a set-it-and-forget-it approach, the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously…they can and should be modified regularly, goals do not have to be perfectly defined when they are created. For imperfect goals such as “launch product X,” individuals may only know three real milestones at the start, yet anticipate five to ten more coming. When each milestone can be defined-whether midway through or near the end of a quarter-goal science best practices advocate editing and refining the goal, but only when goals are ready. By always staying focused on how to refine goals, employees can be sure they are getting the right work done now. [col 12 ln45-60] A goals manager module 411 is used to add, modify, or remove goals in the system. For example, the module receives modifications for an existing goal of the system. This module is responsible for identifying in the goals database 407 the existing goal and any changes and information needed from the user database 401 to make the changes. The module then executes the changes in the respective databases. A search module 413 allows users to search by various criteria as stored in the system. Some of these include searches by user (by owner, user assigned to, team, or other), goal name, due date, or other criteria. [col17 ln10-col18 ln65] FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. Although each team is working on different aspects of completing the application, they are working towards the completion of the same application. Some sample use cases of the system include: (1) User adds goal and assigns goal. For example, this is shown with contributing goal 821. A user, who is not the owner of parent goal 812, has determined the contributing goal 821 would assist in completing the parent goal 812. (2) User assigns a goal. For example, this is shown with contributing goal 827. Even though the user does not own goal 827, the user is helping the owner by identifying who would be best to complete the goal. (3) User adds goal and assigned goal. For example, this is shown with contributing goal 843. Although the user created goal 843, they did not assign it or link it with a parent goal. Another user has helped the user to connect the goal to parent goal 833 and assigned it to the user. (4) User adds goal. For example, this is shown with goal 845. At this time, this is a standalone goal that does not have a parent or contributing goals. In an implementation, the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814). FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). The system supports bottom-up and top-down goal assignments for one or more levels (e.g., one, two, three, four, or more levels difference) of separation (or difference) in an organization. For example, goals 4 and 8 show bottom up assignments. While goal 8 shows assignment from employee 1 to CEO (more than 1 level up in the organization's hierarchy), goal 4 shows an assignment from employee 1 to manager 1 (one level up only). In an implementation, the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. Goal 16 is an example of a private goal. A user (e.g., E1) can create a private goal. In an implementation, the private goal is visible only by the user (e.g., E1) who created it. In another implementation, the private goal is visible by the user (e.g., E1) who created it and the immediate manager of the user (e.g., M1 who is the manager of E1). In another implementation, the private goal is visible by the user (e.g., E1) who created it and any users who are at a higher level in the organizational hierarchy. [col20 ln5-45] FIG. 13 shows a cascading goal tree for milestone goals. All progress is properly calculated and rolled. Milestone goals that are completed are indicated by a “1,” while milestone goals that are not yet completed are indicated by a “0.” Indications of completion or noncompletion is analogous to a Boolean data type. Based on the milestones completed and not completed, the system calculates and determines the progress toward completion as indicated. For example, milestone goal 1301 is now fifty percent completed. This is because it includes two milestone items 1303 and 1305, where milestone item 1303 is completed and milestone item 1303 is not. As another example, goal 1307 is fifty-seven percent completed or 4 of 7 milestone items. This is because its milestone items are 1301 and 1309, where milestone item 1301 contains two milestone items and 1309 contains five milestone items. The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). FIG. 14 shows a cascading goal tree for metric goals. All progress is properly calculated and rolled. As discussed, metric goals are quantitative. For example, a goal can have 6 metric items to complete, and when 2 of the 6 are completed, the percentage completion is 33 percent. Subgoals roll up to their parent goal and so forth. For example, metric goal 1401 includes metric items 1403 and 1405. Metric goal 1401 is fifty-three percent completed (or 9 of 17 items) since its metric items are three-eighths completed and six-ninth completed. This is automatically calculated by the system (e.g., by adding the number of completions and the number of total items). The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). [col6 ln30-40] the recommended approach to goal science encourages individuals to modify, archive, and add new goals frequently and continuously. [col20 ln60-col21 ln20] the system includes an animation or graphic with each goal, indicating the health of each goal. This provides an easy visual indication on the progress of a goal. For example, the graphic includes a tree in various stages of health. If the tree's associated goal is doing well, then the tree is shown in bloom (e.g., more branches, more leaves, brighter in color). However, if the tree's associated goal is doing poorly, then the tree is shown in various stages of poor health (e.g., bare tree, darker hued graphic). The health of a goal is determined by the time a user has last checked in with the goal. A check in is an action taken by an owner or person assigned to the goal to update the status or progress of the goal. Some examples of various actions that can be taken are posting a comment, marking a milestone item complete, updating a current value of completion, or any combination of these. To encourage frequent actions, the health of a goal decays with time. This amount of time is set by the system and correspond to different lengths of time (e.g., 3 days, 1 week, 2 weeks, or other length of time). In an implementation, only actions taken by a goal's owner is considered in determining the health of the goal. For example, if a person assigned to complete a goal performs an action on the goal, this information is not included in determining the health of the goal. This helps to make sure that people who create goals are frequently checking the health of their goals, encouraging proactive behavior in the goal's owner to complete the goal.)
transmitting the customized goal representation to a client device associated with the user for graphical rendering based on a context of the user. (in at least [col17 ln10-col18 ln65] FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. Although each team is working on different aspects of completing the application, they are working towards the completion of the same application. Some sample use cases of the system include: (1) User adds goal and assigns goal. For example, this is shown with contributing goal 821. A user, who is not the owner of parent goal 812, has determined the contributing goal 821 would assist in completing the parent goal 812. (2) User assigns a goal. For example, this is shown with contributing goal 827. Even though the user does not own goal 827, the user is helping the owner by identifying who would be best to complete the goal. (3) User adds goal and assigned goal. For example, this is shown with contributing goal 843. Although the user created goal 843, they did not assign it or link it with a parent goal. Another user has helped the user to connect the goal to parent goal 833 and assigned it to the user. (4) User adds goal. For example, this is shown with goal 845. At this time, this is a standalone goal that does not have a parent or contributing goals. In an implementation, the system allows departmental flexibility in establishing goals. For example, goals 821 and 843 are created by a single user. The user can be a member of department 1 or 2, or neither. The user can add goals to goal subtrees of two different departments (e.g., goal 821 and 843). The user can add a top-down link (812 to 823) or a bottom-up link (827 to 814). FIGS. 9A-9F show user screens for different users in an organization. These users occupy different levels of the organization's organizational chart. Each screen represents what goals the system would present to each user for the organization's goal tree. For example, for a CEO of the organization, they can view goals that they have been assigned to. Here, the CEO has been assigned goals 1, 6, and 8. These goals can be created in the system by the CEO (goal 1) or others (goals 6 and 8). Employee 1 (or E1) created goal 8 and assigned the goal to CEO. This shows a bottom-up goal assignment, since employee 1 is lower in an organization structure than the CEO. The system also supports top down goal assignments. For example, for goal 2 CEO has assigned a goal to vice president 1 (VP1). The system supports bottom-up and top-down goal assignments for one or more levels (e.g., one, two, three, four, or more levels difference) of separation (or difference) in an organization. For example, goals 4 and 8 show bottom up assignments. While goal 8 shows assignment from employee 1 to CEO (more than 1 level up in the organization's hierarchy), goal 4 shows an assignment from employee 1 to manager 1 (one level up only). In an implementation, the system goals created by users in the system defaults to an open state. This means that the goals are visible by other users of the system. For example, a user can search goals of the system and the goals, whether they are assigned or created by the user, are returned in the search. In another example, a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. Goal 16 is an example of a private goal. A user (e.g., E1) can create a private goal. In an implementation, the private goal is visible only by the user (e.g., E1) who created it. In another implementation, the private goal is visible by the user (e.g., E1) who created it and the immediate manager of the user (e.g., M1 who is the manager of E1). In another implementation, the private goal is visible by the user (e.g., E1) who created it and any users who are at a higher level in the organizational hierarchy. [col19 ln55-67] The visualization also shows Sid how goals on the same level or of different degrees of separation are in relation to his. For example, goals 1219, 1221, 1223, and 1225 are on the same level as the selected goal. This provides accountability for Sid, since he now knows that in order to complete goal 1215, which is the parent goal of goal 1213, he will need goals 1219, 1221, 1223, and 1225 to be completed as well. Further, Sid can see how goals one or more degrees of separation away such as goals 1227 and 1229 relate to his own. Although the selected goal 1213 is not directly connected to these goals (e.g., the selected goal is not a parent or child goal), completion of these goals will contribute to the overall success of the organization. [col20 ln60-col21 ln20] the system includes an animation or graphic with each goal, indicating the health of each goal. This provides an easy visual indication on the progress of a goal. For example, the graphic includes a tree in various stages of health. If the tree's associated goal is doing well, then the tree is shown in bloom (e.g., more branches, more leaves, brighter in color). However, if the tree's associated goal is doing poorly, then the tree is shown in various stages of poor health (e.g., bare tree, darker hued graphic). The health of a goal is determined by the time a user has last checked in with the goal. A check in is an action taken by an owner or person assigned to the goal to update the status or progress of the goal. Some examples of various actions that can be taken are posting a comment, marking a milestone item complete, updating a current value of completion, or any combination of these. To encourage frequent actions, the health of a goal decays with time. This amount of time is set by the system and correspond to different lengths of time (e.g., 3 days, 1 week, 2 weeks, or other length of time). In an implementation, only actions taken by a goal's owner is considered in determining the health of the goal. For example, if a person assigned to complete a goal performs an action on the goal, this information is not included in determining the health of the goal. This helps to make sure that people who create goals are frequently checking the health of their goals, encouraging proactive behavior in the goal's owner to complete the goal. [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system. [col8 ln40-55] Client systems 113, 116, and 119 enable users to access and query information stored by server system 122. In a specific embodiment, the client systems can run as a standalone application such as a desktop application or mobile smartphone or tablet application. In another embodiment, a “web browser” application executing on a client system enables users to select, access, retrieve, or query information stored by server system 122. Examples of web browsers include the Internet Explorer browser program provided by Microsoft Corporation, Firefox browser provided by Mozilla, Chrome browser provided by Google, Safari browser provided by Apple, and others.)
Although implied, Duggan does not expressly disclose the following limitations, which however, are taught by Willardson,
… the alignment automatically predicted by an application of a machine-learning model to the one or more goal properties, the machine-learning model trained on prepared goals data, wherein network parameters of the machine-learning model are updated to minimize a loss function comparing predicted goal alignments against true labels in a training set; (in at least [0034] This data may be received from a database, such as database 300. Objective machine learning model 116 may be trained using objective training data 120 that includes previously inputted behavioral data set and a corresponding objective, examples of objectives, and the like. Training data may be updated such that with each iteration of objective machine learning model 116, new data is added to objective training data 120. In an embodiment, with each addition of new training data, the objective machine learning model 116 may be improved and updated. The output of the objective machine learning model 116 may be an objective 114 or a plurality of objectives for a user 112 to achieve. For example, behavioral data set may include a sample of music played by user 112 that shows a lack of rhythm. The objective machine learning model 116 may output an objective 114 of “becoming a better musician”. [0049] a subsumption ontology include frames, conceptual graphs, and logical assertions. In some embodiments, the knowledge base may be a storage hub that contains information about past matches of a behavioral data set 108 to a deficiency 124 based on the similarity of inputs and feedback from users and system administrators about the compatibility of matches. Next, an inference engine allows new knowledge to be inferred. For example, the inference engine may determine that a user's system has a behavioral data set 108 with attributes that demonstrate a deficiency 124 of math skills, the system may then infer that the user 112 should take additional courses in math. In another example, the inference engine may infer a strength based on the behavioral data set 108. Inferences can take the form of IF-THEN rules coupled with forward chaining or backward chaining approaches. Forward chaining starts with the known facts and asserts new facts. Backward chaining starts with goals and works backward to determine what facts must be asserted so that the goals can be achieved. Other approaches include the use of automated theorem provers, logic programming, blackboard systems, and term rewriting systems such as CHR (Constraint Handling Rules). For example, following the IF-THEN rule format, the inference engine could devise “if strength 132 consists of an aptitude for musical talent, then an action path 116 may include a proposed task of learning how to play a musical instrument.” The inference engine may make predictions or decisions in optimizing behavioral data set 108 to deficiency 124 for a user without being explicitly programmed to do so. The inference engine may receive constant feedback and self-learn based on previous classifications, as described through this disclosure, and recommendations to further refine and strengthen its recommendations. [0038] Training data may be formatted and/or organized by categories of data elements, for instance by associating data elements with one or more descriptors corresponding to categories of data elements. As a non-limiting example, training data may include data entered in standardized forms by persons or processes, such that entry of a given data element in a given field in a form may be mapped to one or more descriptors of categories. Elements in training data may be linked to descriptors of categories by tags, tokens, or other data elements; for instance, and without limitation, training data may be provided in fixed-length formats, formats linking positions of data to categories such as comma-separated value (CSV) formats and/or self-describing formats such as extensible markup language (XML), enabling processes or devices to detect categories of data. [0051] processor 104 may generate an action path 136 as a function of the deficiency 124. As used herein, an “action path” are a step/steps for a user to take. A step may be an action such as completing a course, or the like. An action path 136 may be used to for a user 112 to improve their deficiencies. In an embodiment, an action machine-learning model 140, such as classification, may be used to generate an action path 136. For example, a deficiency 124 may be used as an input in an action classifier. Machine-learning models are discussed in further detail below. A KBS, as discussed above, may also be used to determine an action path 136. An action classifier may perform classification in any way as discussed herein. Action machine-learning model 140 may be trained using training data that includes previous input-output combinations from the model, various deficiencies, various action path, various objectives, and the like. Training data may be gathered through previous iterations of the machine-learning process. An action classifier may output an action path 136 based on a deficiency 124 and objective 114 extracted from the behavioral data set 108. For example, if a user's deficiency is project management and the objective is to start a business, an action path 136 may include going to business school. For example, a user may submit a credit score record as the behavioral data set 108. A deficiency machine learning model 128 may identify “credit” as the deficiency 124 and determine an action path 136 of “paying off loans” if the objective is to “get a mortgage. The action-machine learning process 140 may be iterative and update training data to improve outputs. [0052] generate a classifier, such as deficiency classifier and action classifier, using a Naïve Bayes classification algorithm. Naïve Bayes classification algorithm generates classifiers by assigning class labels to problem instances, represented as vectors of element values. Class labels are drawn from a finite set. Naïve Bayes classification algorithm may include generating a family of algorithms that assume that the value of a particular element is independent of the value of any other element, given a class variable. Naïve Bayes classification algorithm may be based on Bayes Theorem expressed as P(A/B)=P(B/A) P(A)÷P(B), where P(A/B) is the probability of hypothesis A given data B also known as posterior probability; P(B/A) is the probability of data B given that the hypothesis A was true; P(A) is the probability of hypothesis A being true regardless of data also known as prior probability of A; and P(B) is the probability of the data regardless of the hypothesis. A naïve Bayes algorithm may be generated by first transforming training data into a frequency table. Processor 104 may then calculate a likelihood table by calculating probabilities of different data entries and classification labels. Processor 104 may utilize a naïve Bayes equation to calculate a posterior probability for each class. A class containing the highest posterior probability is the outcome of prediction. Naïve Bayes classification algorithm may include a gaussian model that follows a normal distribution. Naïve Bayes classification algorithm may include a multinomial model that is used for discrete counts. Naïve Bayes classification algorithm may include a Bernoulli model that may be utilized when vectors are binary. [0058] FIG. 2 , training data may be filtered, sorted, and/or selected using one or more supervised and/or unsupervised machine-learning processes and/or models as described in further detail below; such models may include without limitation a training data classifier 216. Training data classifier 216 may include a “classifier,” which as used in this disclosure is a machine-learning model as defined below, such as a mathematical model, neural net, or program generated by a machine learning algorithm known as a “classification algorithm,” as described in further detail below, that sorts inputs into categories or bins of data, outputting the categories or bins of data and/or labels associated therewith. A classifier may be configured to output at least a datum that labels or otherwise identifies a set of data that are clustered together, found to be close under a distance metric as described below, or the like. Machine-learning module 200 may generate a classifier using a classification algorithm, defined as a processes whereby a computing device and/or any module and/or component operating thereon derives a classifier from training data 204. Classification may be performed using, without limitation, linear classifiers such as without limitation logistic regression and/or naive Bayes classifiers, nearest neighbor classifiers such as k-nearest neighbors classifiers, support vector machines, least squares support vector machines, fisher's linear discriminant, quadratic classifiers, decision trees, boosted trees, random forest classifiers, learning vector quantization, and/or neural network-based classifiers. [0061] FIG. 2 , machine-learning algorithms may include at least a supervised machine-learning process 228. At least a supervised machine-learning process 228, as defined herein, include algorithms that receive a training set relating a number of inputs to a number of outputs, and seek to find one or more mathematical relations relating inputs to outputs, where each of the one or more mathematical relations is optimal according to some criterion specified to the algorithm using some scoring function. For instance, a supervised learning algorithm may include a goals 108 or goal datum 120 as described above as inputs, autonomous functions as outputs, and a scoring function representing a desired form of relationship to be detected between inputs and outputs; scoring function may, for instance, seek to maximize the probability that a given input and/or combination of elements inputs is associated with a given output to minimize the probability that a given input is not associated with a given output. Scoring function may be expressed as a risk function representing an “expected loss” of an algorithm relating inputs to outputs, where loss is computed as an error function representing a degree to which a prediction generated by the relation is incorrect when compared to a given input-output pair provided in training data 204. (i.e. comparing predicted goal alignments against true labels in a training set) Persons skilled in the art, upon reviewing the entirety of this disclosure, will be aware of various possible variations of at least a supervised machine-learning process 228 that may be used to determine relation between inputs and outputs. Supervised machine-learning processes may include classification algorithms as defined above.)
In the same field of endeavor, managing and predicting human goals and objectives, at the time the invention was filed, it would have been obvious for one of ordinary skill in the art to have modified the teachings of Duggan, as taught by Willardson above, with a reasonable expectation of success if arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make this modification to the teachings of Duggan with the motivation of, … Many people tend have deficiencies preventing them from finishing objectives. Such deficiencies are difficult for automated processes to detect and quantify, …An action path 136 may be used to for a user 112 to improve their deficiencies.…The action-machine learning process 140 may be iterative and update training data to improve outputs... The inference engine may make predictions or decisions in optimizing behavioral data set 108 to deficiency 124 for a user without being explicitly programmed to do so. The inference engine may receive constant feedback and self-learn based on previous classifications, as described through this disclosure, and recommendations to further refine and strengthen its recommendations…, as recited in Willardson.
As per Claim 2, Duggan teaches: The system of claim 1,
wherein the one or more goal relationships comprise one or more of alignment relationships, supporting relationships, dependency relationships, or ownership relationships. (in at least [col18 ln20-45] FIG. 10 shows a tree representing of the cascading goals represented in the user screens of FIGS. 9A-9F. In an implementation, the system restricts visibility of goals of an organization in tree format. For example, the system can provide views of goals in the system such as those in FIGS. 9A-9F, so that each user can access information relevant to their goals. This simplifies how users experience the system, so that only what is needed is visible to users. Users are generally allowed access to all the goals of an organization however, so if a user desires to do so, they can understand how their goals relate to parent goals in the system. [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. Solid lines (e.g., 1201, 1203, and 1205) represent goals directly related to a selected goal. Dotted lines (e.g., 1207, 1209, and 1211) represent goals indirectly related to the selected goal. For example, user Sid Powers can understand how his selected goal 1213 relates to the rest of the goals in the organization in this visualization. The system generates a visualization showing that goal 1213 has a parent goal 1213, which in turn has a parent goal of 1215, which in turn has a parent goal 1217. This allows Sid to see that how his goal 1213 contributes to goals one degree of separation from his goal (e.g., goal 1215) and even goals two or more degrees of separation from his goal (e.g., goal 1217). This includes goals assigned to persons different than Sid (e.g., Michael Thorton for goal 1215). [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
As per Claim 3, Duggan teaches: (Previously Presented) The system of claim 1,
wherein the plurality of goal entities comprise one or more of objectives, key results, milestones, strategies, or projects. (in at least [col16 ln40-col17 ln10] (1) Flexible assigning of goals. Goals can be cascaded through unlimited levels at an organization… (8) Adaptive options for assigning goals. Progress can be shared between contributors and a parent goal owner. The owner of the parent goal can be responsible for some milestones, while additional contributors can be responsible for others…FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. Solid lines (e.g., 1201, 1203, and 1205) represent goals directly related to a selected goal. Dotted lines (e.g., 1207, 1209, and 1211) represent goals indirectly related to the selected goal. For example, user Sid Powers can understand how his selected goal 1213 relates to the rest of the goals in the organization in this visualization. The system generates a visualization showing that goal 1213 has a parent goal 1213, which in turn has a parent goal of 1215, which in turn has a parent goal 1217. This allows Sid to see that how his goal 1213 contributes to goals one degree of separation from his goal (e.g., goal 1215) and even goals two or more degrees of separation from his goal (e.g., goal 1217). This includes goals assigned to persons different than Sid (e.g., Michael Thorton for goal 1215). [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
As per Claim 4, Duggan teaches: The system of claim 1,
wherein the one or more goal properties include one or more of titles, descriptions, statuses, due dates, progress metrics, priorities, or tags. (in at least [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. Solid lines (e.g., 1201, 1203, and 1205) represent goals directly related to a selected goal. Dotted lines (e.g., 1207, 1209, and 1211) represent goals indirectly related to the selected goal. For example, user Sid Powers can understand how his selected goal 1213 relates to the rest of the goals in the organization in this visualization. The system generates a visualization showing that goal 1213 has a parent goal 1213, which in turn has a parent goal of 1215, which in turn has a parent goal 1217. This allows Sid to see that how his goal 1213 contributes to goals one degree of separation from his goal (e.g., goal 1215) and even goals two or more degrees of separation from his goal (e.g., goal 1217). This includes goals assigned to persons different than Sid (e.g., Michael Thorton for goal 1215). [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
As per Claim 5, Duggan teaches: (Previously Presented) The system of claim 1, wherein the one or more metadata attributes include one or more of
creation timestamps indicating when the plurality of goal entities was created; ownership identifiers indicating owners responsible for the plurality of goal entities; source identifiers indicating source systems or databases for the plurality of goal entities; confidence scores indicating reliability; accuracy, or trustworthiness of the plurality of goal entities; sentiments scores indicating attitudes, opinions, or emotions associated with the plurality of goal entities; activity metrics indicating access frequency, edit rates, or progress velocity for the plurality of goal entities; version identifiers indicating iterations or revisions of the plurality of goal entities; lifecycle stages indicating drafting, active, completed, or archived status of plurality of goal entities; health indicators providing summaries of advancement, risks, or blockers for the plurality of goal entities (in at least [col4 ln5-30] generating a first report including identifying one or more goals associated with the first user from the goals database, where each goal of the one or more goals includes the first user as a goal owner or a goal assignee. [col12 ln45-60] A goals manager module 411 is used to add, modify, or remove goals in the system. For example, the module receives modifications for an existing goal of the system. This module is responsible for identifying in the goals database 407 the existing goal and any changes and information needed from the user database 401 to make the changes. The module then executes the changes in the respective databases. A search module 413 allows users to search by various criteria as stored in the system. Some of these include searches by user (by owner, user assigned to, team, or other), goal name, due date, or other criteria. [col18 ln60-col19 ln5] goal assignment acts as a lightweight workflow operation: a user can assign one or more pieces of their goal to another user. If the user assigns a piece of their goal to someone, and the recipient deletes the goal, ownership reverts back to the original assignor. The user can choose to reassign that reverted back goal to another user. [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. Solid lines (e.g., 1201, 1203, and 1205) represent goals directly related to a selected goal. Dotted lines (e.g., 1207, 1209, and 1211) represent goals indirectly related to the selected goal. For example, user Sid Powers can understand how his selected goal 1213 relates to the rest of the goals in the organization in this visualization. The system generates a visualization showing that goal 1213 has a parent goal 1213, which in turn has a parent goal of 1215, which in turn has a parent goal 1217. This allows Sid to see that how his goal 1213 contributes to goals one degree of separation from his goal (e.g., goal 1215) and even goals two or more degrees of separation from his goal (e.g., goal 1217). This includes goals assigned to persons different than Sid (e.g., Michael Thorton for goal 1215). [col22 ln20-col23 ln10] Table 1 includes an example of a goal progress report generated by the system….You also have 2 archived goals [col20 ln60-col21 ln20] an animation or graphic with each goal, indicating the health of each goal. This provides an easy visual indication on the progress of a goal. For example, the graphic includes a tree in various stages of health. If the tree's associated goal is doing well, then the tree is shown in bloom (e.g., more branches, more leaves, brighter in color). However, if the tree's associated goal is doing poorly, then the tree is shown in various stages of poor health (e.g., bare tree, darker hued graphic). The health of a goal is determined by the time a user has last checked in with the goal. A check in is an action taken by an owner or person assigned to the goal to update the status or progress of the goal. Some examples of various actions that can be taken are posting a comment, marking a milestone item complete, updating a current value of completion, or any combination of these. To encourage frequent actions, the health of a goal decays with time. [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system. )
As per Claim 6, Duggan teaches: (Currently Amended) The system of claim 1,
wherein the flexible goal ontology includes one or more goal entity types customizable via configuration to accommodate specific goals of an organization, one or more customizable relationships types, or one or more properties representing attributes associated with each of the one or more goal entity types. (in at least [col15 ln25-55] goals can be metric type, milestone type, or both. A first type of goal is a metric type and a second type of goal is a milestone type. For metric type goals, the progress represents true value, as contributions to completing the goal are measured by the same unit. For milestone type goals, contributions are equally weighted…For the metric type goal, the goal is associated with an initial numerical value, target numerical value, and unit. The initial numerical value is the value where the system starts tracking completion to the goal. Usually this would be 0, since most goals will have no progress when they are initially entered into the system. The system is flexible in tracking different types of units. A common unit is financial (e.g., dollars). Other units can be used in different situations (e.g., items, calls, customers, clients). An example of a metric type goal is “Get 10 meetings from list of 50 targeted, key accounts.” This goal requires users to review a client list of the organization and setup meetings with 10 of 50 of key accounts in the organization. When the goal is setup, the creator initiates the goal with an initial numerical value of 0 (e.g., no accounts or meeting have been setup yet), target numerical value of 10, and unit of meetings. [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
As per Claim 7, Duggan teaches: The system of claim 1,
wherein the set of mapping rules includes one or more rules for categorizing the one or more goals into sections of the customized goal representation based on the one or more goal properties. (in at least [col30 ln30-50] A cascading goals generation module 409 is used to determine how goals in the system relate to one another. Although the information associated with each goal is stored in the goals database 407, the information stored in the goals database is in a flat structure (e.g., each goal includes only its immediate contributing goal, parent goal one-degree of separation away, or both). The cascading goals generation module determines an organization's entire goal tree or any subsection of the organization's goal tree (e.g., a goal's parent or contributing goal two or more degrees of separation away). This is useful in the system to allow users to see how one goal is related to another and diagnose how progress on one or two goals is impeding progress on other, seemingly unrelated goals (e.g., goals that are not directly coupled to each other). [col21 ln55-col22 ln30] FIG. 16 shows an example flow 1601 for generating reports in a goal tracking system. In a step 1603, the system determines to exclude the second goal from a report, based on the hierarchical organization structure. This means that the second user is a lower-level employee when compared to the first user based on the organization chart. For example, the report includes a section detailing the progress of goals for persons reporting to the second user. Since the first goal is assigned to a higher-level employee, this goal is not included in the second user's report. In an implementation, the second goal is a goal owned (or created) by the second user…In a step 1605, the system determines to include the first goal in the report, based on the hierarchical organization structure. The second goal is included because the first goal is assigned to the second user. For example, the report includes a section detailing the progress of the second user's goal progress. The second goal would be included in this report. In a step 1607, the system presents the report to the second user. As discussed in greater detail elsewhere in this application, the report can be included as part of an e-mail summary, login screen, or other method for the second user. [col22 ln55-col23 ln40] The report shown in table 1 includes four general categories: team progress, team breakdown, goals to check out, and your current goals. The team progress category includes an overview of progress made towards completing goals. Also, this category displays how many nudges or cheers the user has given to goals since the last report. This is an important feature since, especially for busy managers, this provides an easy way for managers to identify whether they have been proactive in offering praise or encouragement to employees. The team breakdown category includes a breakdown of how each member that reports to the user has progressed with their goals. For example, team member Tiya has been assigned 11 goals in the system. For these goals, she has made eight percent progress, for a total of seventy percent completion of her goals. The goals to checkout category includes a listing of specific goals assigned to persons managed by the user. The system analyzes goals assigned to persons the user is responsible for and identifies which need attention. For example, the system has identified the goal “Instill data drive decision making” assigned to Vincent as not showing any progress (e.g., zero percent). The system includes a link to a corresponding social feature to indicate more work needs to be done on this goal (e.g., a nudge) with the listing. On the other hand, the system has also identified a goal of “Contribute 100 min towards strengthen core values” as having had thirty-two percent progress for a total of eighty-eighty percent completion as showing a good deal of progress. The system includes a link to a corresponding social feature to indicate good progress and encouragement on this goal (e.g., a cheer) with the listing. The “your current goals” category includes a listing of goals the user currently has in the system. Here, the user can view goals they are currently assigned to, as well as how they are doing with the goal. For example, for goal “Q4—Engagement Metrics,” the goal is fifty-six percent complete. It has been viewed by twenty-eight users of the system, cheered by one user, and nudged by one user. [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
As per Claim 8, Duggan teaches: (Currently Amended)The system of claim 1, wherein the context is determined based on one or more of:
a user profile of the user, the user profile including one or more organizational attributes, the one or more organizational attributes including one or more of a department, a manager, direct reports, indirect reports, a location, a job function, or access permissions; a user behavior pattern of the user, the user behavior pattern relating to one or more of frequently accessed goals, search queries, goal representations requested, or goal properties filtered; a parameter of the client device, the parameter indicating one or more device capabilities, the one or more device capabilities including screen size, resolution, input modes, or bandwidth; a user interface interaction, the user interface interaction relating to one or more of selected goals, search filters applied, representation views enabled, or graphical zoom levels; an activity of the users, the activity relating to one or more of current workflow tasks, active software applications, recent user inputs, or time of day; or a communication context, the communication context relating to one or more of discussion topics, messaging threads, chat participants, or meeting schedules. (in at least [col11 ln45-65] FIG. 4 shows a block diagram of a system including a cascading goal application tool. The system includes a user database 401 and a human resources database 403. These are organization information sources 405 used by the system to provide context and other advanced functionality for the system's goals features. The user database includes a profile for each user in an organization. Some information the user database can include for a given user are their full-name, e-mail address, position in company, office location, home address, or any combination of these. The human resources database 403 includes an organization chart of the organization. The organization chart is a diagram that shows the structure of an organization and the relationships and relative ranks of its users and their positions/jobs. A goals database 407 includes one or more goals the organization. The database also includes how the goals are interconnected among each other (e.g., subgoals, parent goals, or other relationships).)
As per Claim 9, Duggan teaches: (Currently Amended) The system of claim 1, wherein the updating comprises one or more:
detecting changes to the flexible goal ontology, including added goal entities, modified goal properties, altered goal relationships, or removed goal entities. identifying affected mapping rules relevant to the changes; re-evaluating the affected mapping rules in light of the changes to generate updated rule outputs; modifying the customized goal representation based on the updated rule outputs, the modifying including adding, removing, or modifying goal entities in the customized goal representation based on added, removed, or altered goal entities referred to by the affected mapping rules; re-organizing, re-categorizing, re-ordering, or re-structuring goal entities based on changes to properties and relationships evaluated by the affected mapping rules; dynamically expanding, collapsing, highlighting, or filtering portions of the customized goal representation impacted by the updated rule outputs; propagating and maintaining updated links, paths, hierarchies, dependencies, or alignments between goals in the customized goal representation; reflecting added, removed, or changed metadata and indicators in the customized goal representation; or re-validating access permissions and visibility filters based on updated mapping rules. (in at least [col1 ln60-67] The progress of contributing goals directly modifies the progress of all upward goals to reflect accurate progress of the overarching goal. Goals can be standalone goals, or contribute to other goals. The connection between goals may be made during the goal creation process or after both goals have been created. [col 12 ln45-60] A goals manager module 411 is used to add, modify, or remove goals in the system. For example, the module receives modifications for an existing goal of the system. This module is responsible for identifying in the goals database 407 the existing goal and any changes and information needed from the user database 401 to make the changes. The module then executes the changes in the respective databases. A search module 413 allows users to search by various criteria as stored in the system. Some of these include searches by user (by owner, user assigned to, team, or other), goal name, due date, or other criteria. [col20 ln5-45] FIG. 13 shows a cascading goal tree for milestone goals. All progress is properly calculated and rolled. Milestone goals that are completed are indicated by a “1,” while milestone goals that are not yet completed are indicated by a “0.” Indications of completion or noncompletion is analogous to a Boolean data type. Based on the milestones completed and not completed, the system calculates and determines the progress toward completion as indicated. For example, milestone goal 1301 is now fifty percent completed. This is because it includes two milestone items 1303 and 1305, where milestone item 1303 is completed and milestone item 1303 is not. As another example, goal 1307 is fifty-seven percent completed or 4 of 7 milestone items. This is because its milestone items are 1301 and 1309, where milestone item 1301 contains two milestone items and 1309 contains five milestone items. The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). FIG. 14 shows a cascading goal tree for metric goals. All progress is properly calculated and rolled. As discussed, metric goals are quantitative. For example, a goal can have 6 metric items to complete, and when 2 of the 6 are completed, the percentage completion is 33 percent. Subgoals roll up to their parent goal and so forth. For example, metric goal 1401 includes metric items 1403 and 1405. Metric goal 1401 is fifty-three percent completed (or 9 of 17 items) since its metric items are three-eighths completed and six-ninth completed. This is automatically calculated by the system (e.g., by adding the number of completions and the number of total items). The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion).)
As per Claim 13, Duggan teaches: (Currently Amended) The system of claim 1,
wherein the customized goal representation is included in a graphical user interface, the graphical user interface comprising an interactive sidebar displaying contextually relevant actions and information related to a selected goal associated with the customized goal representation, (in at least [col18 ln1-25] a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. [col19 ln1-30] FIG. 11 shows an example of a goal page of the system with social features. This page is accessible to members of the organization, even if they are not included with this goal (e.g., not the owner or creator of this goal). The goal is to “Prepare for annual trade show.” Various social features are included with the goal. For example, other users can nudge 1101, comment 1103, or cheer 1105 on goals of others or their own goals…A nudge social feature provides an alert to other users of the system regarding this goal, including the user assigned the goal. The nudge can be used to let the person assigned the goal that they are falling behind…A comment feature allows other user to make a comment regarding that goal. And all comments can be listed in a blog-style format for that goal, so users visiting the page can read the comments of others [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. [col18 ln55-65] The visibility can be user selected (e.g., the user selects a group or set of users of the organization) or system selected (e.g., the system determines the visibility of the goal by organization, historical information, or other method). For example, goals that a financial department is responsible for would appear for an engineer.)
wherein a sidebar is displayed in response to a user selection of the selected goal from a list of goals, the sidebar provides direct access to relevant options and information for acting on the selected goal without requiring navigation to a separate screen, content of the sidebar is determined dynamically based on properties and context of the selected goal, the sidebar enables contextually relevant actions on the selected goal including updating status, aligning to other goals, editing details, ending the goal, or deleting the selected goal. (in at least [col12 ln55-col13 ln10] A social module 415 is used to allow users to comment on a goal by selecting one or more status indicators with the goal. This can include a comment feature, to provide text, voice, video or other feedback for a given goal. In an implementation, the system includes a cheer and a nudge status indicator. This is a valuable tool, to promote community and accountability within an organization. For example, if a goal is nearing completion, users can indicate a cheer, meaning good progress is being made. On the other hand, if a goal has not had progress, users can indicate a nudge, meaning that more progress needs to be made. [col18 ln1-25] a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. [col 18 ln20-45] FIG. 10 shows a tree representing of the cascading goals represented in the user screens of FIGS. 9A-9F. In an implementation, the system restricts visibility of goals of an organization in tree format. For example, the system can provide views of goals in the system such as those in FIGS. 9A-9F, so that each user can access information relevant to their goals. This simplifies how users experience the system, so that only what is needed is visible to users. Users are generally allowed access to all the goals of an organization however, so if a user desires to do so, they can understand how their goals relate to parent goals in the system. [col19 ln1-30] FIG. 11 shows an example of a goal page of the system with social features. This page is accessible to members of the organization, even if they are not included with this goal (e.g., not the owner or creator of this goal). The goal is to “Prepare for annual trade show.” Various social features are included with the goal. For example, other users can nudge 1101, comment 1103, or cheer 1105 on goals of others or their own goals…A nudge social feature provides an alert to other users of the system regarding this goal, including the user assigned the goal. The nudge can be used to let the person assigned the goal that they are falling behind…A comment feature allows other user to make a comment regarding that goal. And all comments can be listed in a blog-style format for that goal, so users visiting the page can read the comments of others…A cheer feature provides encouragement to other users of the system regarding this goal, including the user assigned the goal. The cheer can be used to let the person assigned the goal they are doing well and should keep up the good work. The cheer social feature can sometimes be referred to as a “like” button… so that continual progress is necessary to garner cheers or nudges…. [col23 ln20-40] The “your current goals” category includes a listing of goals the user currently has in the system. Here, the user can view goals they are currently assigned to, as well as how they are doing with the goal. For example, for goal “Q4—Engagement Metrics,” the goal is fifty-six percent complete. It has been viewed by twenty-eight users of the system, cheered by one user, and nudged by one user. [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. [col18 ln55-65] The visibility can be user selected (e.g., the user selects a group or set of users of the organization) or system selected (e.g., the system determines the visibility of the goal by organization, historical information, or other method). For example, goals that a financial department is responsible for would appear for an engineer.)
As per Claim 14, Duggan teaches: The system of claim 1,
wherein the customized goal representation is included in a graphical user interface that is configured for small screens through use of interactive sidebars providing context-specific navigation to access key actions. (in at least [col13 ln1-25] A front-end or visualization module 417 is used to create visual representation of the information stored in the system. The front-end module is an intelligent module that adapts the visual representation in different formats depending on how a user is accessing the system. The front-end module 417 is coupled to a network (e.g., internet, intranet, or other networks) which users connect onto using desktops 419, mobile devices 421, or other devices. The system is adaptive meaning that it can accommodate many devices of different capabilities. For example, the module adapts to smaller screen sizes (e.g., desktop, smartphone, tablet, laptop, or other sizes) by formatting and presenting more or less information based on the screen size. Although a larger screen size can accommodate more information at once to present to a user, the system is designed to display information as needed to the user. This means that the system selects information to display to the user, depending on the functionality and features of the system the user is interacting with at a given time. [col18 ln1-25] a user can view other goals connected to a goal the user is assigned. When the user navigates to a system page with their goals, the system allows the user to see how other goals are related to their goal. This can include contributor or parent goals one, two, three, or more degrees of separation from the user's goal in a goal database of the system. Users can also search for users and see goals assigned to particular users in the system. For example, E1 (employee 1) can see CEO's page, and so forth. [col19 ln1-30] FIG. 11 shows an example of a goal page of the system with social features. This page is accessible to members of the organization, even if they are not included with this goal (e.g., not the owner or creator of this goal). The goal is to “Prepare for annual trade show.” Various social features are included with the goal. For example, other users can nudge 1101, comment 1103, or cheer 1105 on goals of others or their own goals…A nudge social feature provides an alert to other users of the system regarding this goal, including the user assigned the goal. The nudge can be used to let the person assigned the goal that they are falling behind…A comment feature allows other user to make a comment regarding that goal. And all comments can be listed in a blog-style format for that goal, so users visiting the page can read the comments of others [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. [col18 ln55-65] The visibility can be user selected (e.g., the user selects a group or set of users of the organization) or system selected (e.g., the system determines the visibility of the goal by organization, historical information, or other method). For example, goals that a financial department is responsible for would appear for an engineer.)
As per Claim 15, Duggan teaches: The system of claim 1, the operations further comprising
linking goal data items by storing associations between employee goal IDs and company objective IDs in a mapping table data structure within a data store. (in at least [col1 ln60-67] The progress of contributing goals directly modifies the progress of all upward goals to reflect accurate progress of the overarching goal. Goals can be standalone goals, or contribute to other goals. The connection between goals may be made during the goal creation process or after both goals have been created. [col5 ln30-50] (b) Company/Mission—An individual can clearly see how his or her goals connect to the company goals and mission, making goals more meaningful. [col11 ln45-65] FIG. 4 shows a block diagram of a system including a cascading goal application tool. The system includes a user database 401 and a human resources database 403. These are organization information sources 405 used by the system to provide context and other advanced functionality for the system's goals features. The user database includes a profile for each user in an organization. Some information the user database can include for a given user are their full-name, e-mail address, position in company, office location, home address, or any combination of these. The human resources database 403 includes an organization chart of the organization. The organization chart is a diagram that shows the structure of an organization and the relationships and relative ranks of its users and their positions/jobs. A goals database 407 includes one or more goals the organization. The database also includes how the goals are interconnected among each other (e.g., subgoals, parent goals, or other relationships). [col18 ln20-45] FIG. 10 shows a tree representing of the cascading goals represented in the user screens of FIGS. 9A-9F. In an implementation, the system restricts visibility of goals of an organization in tree format. For example, the system can provide views of goals in the system such as those in FIGS. 9A-9F, so that each user can access information relevant to their goals. This simplifies how users experience the system, so that only what is needed is visible to users. Users are generally allowed access to all the goals of an organization however, so if a user desires to do so, they can understand how their goals relate to parent goals in the system…FIG. 10 also shows the flexible nature of goals in the system. For example, in atypical organization, goals will flow from those who occupy the upper portions of an organization chart downwards. An example of this is goal 2, where the chief executive officer of the organization delegates to a vice president of the organization. However, the system allows goals to flow in the reverse direction. As example of this is goal 8, where an employee has assigned a task to a chief executive officer. [col20 ln40-55] the system highlights roadblocks of completing goals to owners of each goal. The owner of a goal can see within a goal detail page or a goal chart visualization if a contributor is behind, by viewing their progress indicator. The progress indicator can use different colors to indicate different levels of progress with each goal (e.g., red for poor progress, yellow for potential issues, and green for good progress). Since goal inherit progress of any child goals, this will also indicate to the goal's owner if contributors are behind. In an implementation, the system includes a goals at risk dashboard, which points out goals that are blocking the top company goals from being completed. [col23 ln30-col24 ln25] cascading goals are implemented in a directed graph using parent-child relationships. For example, goals in the system are stored in a database (queried using SQL or other database formats). In the database, each goal is represented as a row and references its parent (using a parent_id tag). Goal's children can be acquired by doing a reverse lookup on the parent. Table 2 shows sample pseudocode to implement goals in the system.)
As per Claim 16, Duggan teaches: The system of claim 1, the operations further comprising
propagating updates between external systems and integrated data repositories in real time. (in at least [col3 ln40-col4 ln10] the system includes: an organization database including a hierarchical organization structure of a first organization, the hierarchical organization structure including: a plurality of users of the system; and a plurality of relationships of each user of the plurality of users to other users of the plurality of users; a goals database including a plurality of goals stored in the system, where each goal of the plurality of goals includes a goal owner and a goal assignee; a user interface component, accessible over an internet connection, where the user interface component: receives a first computer transmission over the Internet from a first user of the system to create a first goal and to assign the first goal to a second user, where a first owner of the first goal includes the first user and a first assignee of the first goal includes the second user; and receives a first computer transmission over the Internet from the second user of the system to create a second goal and to assign the second goal to the first user, where a second owner of the first goal includes the second user and a second assignee of the second goal includes the first user; and a goals manager component, coupled to the goals database and the organization database, where the goals manager component stores, adds, and updates the goals database and determines based on the information from the organization database that the first user is higher in the hierarchical organization structure of the first organization than the second user; allows the first and second requests to be stored in the system, while disregarding that the first user is higher in the hierarchical organization structure of the first organization than the second user; and instructing the goal database to store the first and second goals associated with the first organization. [col11 ln5-45] the user accesses the system through either or both of native and nonnative applications. Native applications are locally installed on the particular computing system and are specific to the operating system or one or more hardware devices of that computing system, or a combination of these. These applications (which are sometimes also referred to as “apps”) can be updated (e.g., periodically) via a direct internet upgrade patching mechanism or through an applications store (e.g., Apple iTunes and App store, Google Play store, and Windows Phone App store).)
As per Claim 17, Duggan teaches: The system of claim 1, the operations further comprising
… on historical goals data to generate goal recommendations. (in at least [col14 ln30-65] sometimes a person has worked previously on a similar project and recognizes certain requirements that the owner of the goal did not. To assist in the completion of the owner's goal, the user can add a contributor goal to the owner's goal.)
Although implied, Duggan does not expressly disclose the following limitations, which however, are taught by Willardson,
training a neural network model on historical goals data to generate goal recommendations (in at least [0034] Objective machine learning model 116 may be trained using objective training data 120 that includes previously inputted behavioral data set and a corresponding objective, examples of objectives, and the like. Training data may be updated such that with each iteration of objective machine learning model 116, new data is added to objective training data 120. [0051] processor 104 may generate an action path 136 as a function of the deficiency 124. As used herein, an “action path” are a step/steps for a user to take. A step may be an action such as completing a course, or the like. An action path 136 may be used to for a user 112 to improve their deficiencies. In an embodiment, an action machine-learning model 140, such as classification, may be used to generate an action path 136. For example, a deficiency 124 may be used as an input in an action classifier. Machine-learning models are discussed in further detail below. A KBS, as discussed above, may also be used to determine an action path 136. An action classifier may perform classification in any way as discussed herein. Action machine-learning model 140 may be trained using training data that includes previous input-output combinations from the model, various deficiencies, various action path, various objectives, and the like. Training data may be gathered through previous iterations of the machine-learning process. An action classifier may output an action path 136 based on a deficiency 124 and objective 114 extracted from the behavioral data set 108. For example, if a user's deficiency is project management and the objective is to start a business, an action path 136 may include going to business school. For example, a user may submit a credit score record as the behavioral data set 108. A deficiency machine learning model 128 may identify “credit” as the deficiency 124 and determine an action path 136 of “paying off loans” if the objective is to “get a mortgage. The action-machine learning process 140 may be iterative and update training data to improve outputs. [0058] Training data classifier 216 may include a “classifier,” which as used in this disclosure is a machine-learning model as defined below, such as a mathematical model, neural net, or program generated by a machine learning algorithm known as a “classification algorithm,”)
The reason and rationale to combine Duggan and Willardson is the same as recited above.
As per Claim 18, Duggan teaches: The system of claim 1,
wherein the customized goal representation includes a visualization of a progress of the user with respect to one or more objectives of an organization. (in at least [col20 ln5-55] FIG. 13 shows a cascading goal tree for milestone goals. All progress is properly calculated and rolled. Milestone goals that are completed are indicated by a “1,” while milestone goals that are not yet completed are indicated by a “0.” Indications of completion or noncompletion is analogous to a Boolean data type. Based on the milestones completed and not completed, the system calculates and determines the progress toward completion as indicated. For example, milestone goal 1301 is now fifty percent completed. This is because it includes two milestone items 1303 and 1305, where milestone item 1303 is completed and milestone item 1303 is not. As another example, goal 1307 is fifty-seven percent completed or 4 of 7 milestone items. This is because its milestone items are 1301 and 1309, where milestone item 1301 contains two milestone items and 1309 contains five milestone items. The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion). FIG. 14 shows a cascading goal tree for metric goals. All progress is properly calculated and rolled. As discussed, metric goals are quantitative. For example, a goal can have 6 metric items to complete, and when 2 of the 6 are completed, the percentage completion is 33 percent. Subgoals roll up to their parent goal and so forth. For example, metric goal 1401 includes metric items 1403 and 1405. Metric goal 1401 is fifty-three percent completed (or 9 of 17 items) since its metric items are three-eighths completed and six-ninth completed. This is automatically calculated by the system (e.g., by adding the number of completions and the number of total items). The progress toward completion can be represented as a percentage (as shown), or graphical in a timeline and line chart (e.g., indicating percentage of completion)…the system highlights roadblocks of completing goals to owners of each goal. The owner of a goal can see within a goal detail page or a goal chart visualization if a contributor is behind, by viewing their progress indicator. The progress indicator can use different colors to indicate different levels of progress with each goal (e.g., red for poor progress, yellow for potential issues, and green for good progress). Since goal inherit progress of any child goals, this will also indicate to the goal's owner if contributors are behind. In an implementation, the system includes a goals at risk dashboard, which points out goals that are blocking the top company goals from being completed. )
As per Claim 19 and 20 for a method (see at least Duggan [col2 ln45-65]) and A non-transitory computer-readable medium (see at least Duggan [col9 ln1-65]), substantially recite the subject matter of Claim 1 and are rejected based on the same reasoning and rationale.
Claims 10-12 is/are rejected under 35 U.S.C. 103 as being unpatentable by US10896390B1 to Duggan et al., (hereinafter referred to as “Duggan”) in view of US Patent Publication to US20240028953A1 to Willardson et al., (hereinafter referred to as “Willardson”) in view of US Patent Publication to US20210397941A1 to Zhu et al., (hereinafter referred to as “Zhu”)
As per Claim 10, Duggan teaches: (Currently Amended) The system of claim 1, the operations further comprising:
…on historical goal data to generate goal recommendations, the historical goal data comprising past goal entities, properties, relationships, or user interactions…: (in at least [col14 ln50-65] parent goal 708 that includes contributor goal 722 that was created by the owner of the parent goal 708. However, another person different than the owner created contributor goal 718. Although the person did not create the parent goal 708, they are allowed to link their contributor goal to the parent goal 708. This can happen in an organization when a user views another person's owned goal and wants to contribute to its completion. For example, sometimes a person has worked previously on a similar project and recognizes certain requirements that the owner of the goal did not. To assist in the completion of the owner's goal, the user can add a contributor goal to the owner's goal.)
… representing salient features of the historical goal data; (in at least [col14 ln50-65] parent goal 708 that includes contributor goal 722 that was created by the owner of the parent goal 708. However, another person different than the owner created contributor goal 718. Although the person did not create the parent goal 708, they are allowed to link their contributor goal to the parent goal 708. This can happen in an organization when a user views another person's owned goal and wants to contribute to its completion. For example, sometimes a person has worked previously on a similar project and recognizes certain requirements that the owner of the goal did not. To assist in the completion of the owner's goal, the user can add a contributor goal to the owner's goal.)
… target labels indicating optimal goal alignments, mappings, hierarchies, or representations; (in at least [col 12 ln45-60] A goals manager module 411 is used to add, modify, or remove goals in the system. For example, the module receives modifications for an existing goal of the system. This module is responsible for identifying in the goals database 407 the existing goal and any changes and information needed from the user database 401 to make the changes. The module then executes the changes in the respective databases. [col14 ln30-40] Progress of contributing goals directly increases or decreases progress of the parent goal. Every contributing goal represents an element of the parent goal. This means that the goals created at the top of the tree are divided into subgoals, such as goal 603 divided into subgoals (or contributing goals) 605, 608, and 610. The parents of goals 605, 608, and 610 is goal 603. Usually in an organization, this would mean that a higher-level position employee has created new goals and assigned these goals to lower level position employee. [col19 ln35-55] FIG. 12 shows a screen for a visualization showing the hierarchy of cascading tasks. This visualization would be shown on a computer screen for the user, to help the user understand how their goals fit in with the rest of their organization's goals. Solid lines (e.g., 1201, 1203, and 1205) represent goals directly related to a selected goal. Dotted lines (e.g., 1207, 1209, and 1211) represent goals indirectly related to the selected goal. For example, user Sid Powers can understand how his selected goal 1213 relates to the rest of the goals in the organization in this visualization. The system generates a visualization showing that goal 1213 has a parent goal 1213, which in turn has a parent goal of 1215, which in turn has a parent goal 1217.)
…;
… to measure generalization performance; and (in at least [col1 ln60-67] The progress of contributing goals directly modifies the progress of all upward goals to reflect accurate progress of the overarching goal. Goals can be standalone goals, or contribute to other goals. The connection between goals may be made during the goal creation process or after both goals have been created. [col14 ln30-40] Progress of contributing goals directly increases or decreases progress of the parent goal. Every contributing goal represents an element of the parent goal. This means that the goals created at the top of the tree are divided into subgoals, such as goal 603 divided into subgoals (or contributing goals) 605, 608, and 610. The parents of goals 605, 608, and 610 is goal 603. Usually in an organization, this would mean that a higher-level position employee has created new goals and assigned these goals to lower level position employee. [col12 ln30-50] The cascading goals generation module determines an organization's entire goal tree or any subsection of the organization's goal tree (e.g., a goal's parent or contributing goal two or more degrees of separation away). This is useful in the system to allow users to see how one goal is related to another and diagnose how progress on one or two goals is impeding progress on other, seemingly unrelated goals (e.g., goals that are not directly coupled to each other).)
Although implied, Duggan does not expressly disclose the following limitations, which however, are taught by Willardson,
training the machine-learning model on historical goal data to perform the automatic prediction of the alignment, the historical goal data comprising past goal entities, properties, relationships, or user interactions, the training including: (in at least [0021] determine a behavioral pattern based on a temporal element from browser history in behavior data set 108. For example, processor 104 may determine the time for a user to purchase a dress from the first time the user opened the webpage to the time that the user purchased the dress. Processor 104 may determine, based on a predetermined threshold, that a user is impulsive or not impulsive based on a temporal element. [0034] Objective machine learning model 116 may be trained using objective training data 120 that includes previously inputted behavioral data set and a corresponding objective, examples of objectives, and the like. Training data may be updated such that with each iteration of objective machine learning model 116, new data is added to objective training data 120. In an embodiment, with each addition of new training data, the objective machine learning model 116 may be improved and updated. The output of the objective machine learning model 116 may be an objective 114 or a plurality of objectives for a user 112 to achieve. For example, behavioral data set may include a sample of music played by user 112 that shows a lack of rhythm. The objective machine learning model 116 may output an objective 114 of “becoming a better musician”. [0047] A deficiency classifier may use deficiency training data 132 to group data. As used herein, “deficiency training data” is a plurality of data entries that are used to model a classifier to determine deficiencies. Deficiency training data 132 may include previously inputted behavioral data sets and their corresponding classification output, where a classification output may include a datum indicating a level, score, category or the like of ability, strength, and/or deficiency relating to objective. Deficiency training data 132 may include outputs of deficiencies relevant to an objective and/or to a skill; a skill may be associated with and/or related to an objective. Association of skills with objectives may be recorded using any suitable data link, including without limitation inclusion of an objective as an element of a data structure representing a skill or vice-versa. Association of skills with objectives may include associations and/or links in a database. Alternatively or additionally, a skill may be an objective in its own right. An objective may also be a skill and/or other element associated with another objective. For example, the deficiency training data 132 may include examples such as a deficiency 124 for a user 112 that is a mechanical engineer, as shown in their behavioral data set 108, and has an objective 114 of becoming a cancer researcher, is a biochemistry background; ability with biochemistry may represent a skill associated with. Deficiencies may be relevant to an objective 114. A user 112 may have a plurality of deficiencies, but deficiency machine-learning model 128 may only identify deficiencies relevant to objective 114. Alternatively, deficiency machine-learning model 128 may identify all deficiencies associated with behavioral data set 108. Inputs to the machine-learning model may include the behavioral data set 108, objective 114, and the like. Outputs to the deficiency machine-learning process 128 may include a deficiency 124. Deficiency machine-learning process 128 may be iterative such that outputs of the classification algorithm may be used as future inputs of the algorithm. This may allow the deficiency classifier to evolve. Classification may be performed using, without limitation, linear classifiers such as without limitation logistic regression and/or naive Bayes classifiers, nearest neighbor classifiers such as k-nearest neighbors classifiers, support vector machines, least squares support vector machines, fisher's linear discriminant, quadratic classifiers, decision trees, boosted trees, random forest classifiers, learning vector quantization, and/or neural network-based classifiers. [0058] a training data classifier 216. Training data classifier 216 may include a “classifier,” which as used in this disclosure is a machine-learning model as defined below, such as a mathematical model, neural net, or program generated by a machine learning algorithm known as a “classification algorithm,” as described in further detail below, that sorts inputs into categories or bins of data, outputting the categories or bins of data and/or labels associated therewith. A classifier may be configured to output at least a datum that labels or otherwise identifies a set of data that are clustered together, found to be close under a distance metric as described below, or the like. Machine-learning module 200 may generate a classifier using a classification algorithm, defined as a processes whereby a computing device and/or any module and/or component operating thereon derives a classifier from training data 204. Classification may be performed using, without limitation, linear classifiers such as without limitation logistic regression and/or naive Bayes classifiers, nearest neighbor classifiers such as k-nearest neighbors classifiers, support vector machines, least squares support vector machines, fisher's linear discriminant, quadratic classifiers, decision trees, boosted trees, random forest classifiers, learning vector quantization, and/or neural network-based classifiers. [0061] a supervised learning algorithm may include a goals 108 or goal datum 120 as described above as inputs, autonomous functions as outputs, and a scoring function representing a desired form of relationship to be detected between inputs and outputs; scoring function may, for instance, seek to maximize the probability that a given input and/or combination of elements inputs is associated with a given output to minimize the probability that a given input is not associated with a given output. Scoring function may be expressed as a risk function representing an “expected loss” of an algorithm relating inputs to outputs, where loss is computed as an error function representing a degree to which a prediction generated by the relation is incorrect when compared to a given input-output pair provided in training data 204. [0063] Linear regression models may include the elastic net model, a multi-task elastic net model, a least angle regression model, a LARS lasso model, an orthogonal matching pursuit model, a Bayesian regression model, a logistic regression model, a stochastic gradient descent model, a perceptron model, a passive aggressive algorithm, a robustness regression model, a Huber regression model, or any other suitable model that may occur to persons skilled in the art upon reviewing the entirety of this disclosure. Linear regression models may be generalized in an embodiment to polynomial regression models, whereby a polynomial equation (e.g., a quadratic, cubic or higher-order equation) providing a best predicted output/actual output fit is sought; similar methods to those described above may be applied to minimize error functions,)
extracting feature vectors representing salient features of the historical goal data; (in at least [0020] the behavioral data set 108 may include behavioral patterns of a user 112. As used in this disclosure, “behavioral patterns” are data relating to a user's reoccurring behaviors. In an embodiment, the behavioral data set 108 may include the user's social media activity to show behavioral patterns. “Social media activity,” as used herein, is a user's history on content sharing platforms. A user's history may include their browsing patterns, posting patterns, like patterns, and the like. Social media may include Instagram, Facebook, LinkedIn, and the like. In an embodiment, behavioral patterns may be used to determine the aptitudes or abilities of a user 112. Examples of a behavioral pattern may include the user's pecuniary patterns, educational patterns, vocational patterns, musical patterns, past experience and skills, and the like. [0023] behavioral data set 108 may include survey data. As used in the current disclosure, “survey data” is information that is generated from a series of answers to questions by the user 112. The survey data may include responses to a survey given to a user…The survey may include questions regarding the user's pecuniary literacy, pecuniary history, occupation, educational history, overall health history, behavioral patterns and the like. The survey data may be used to determine deficiencies of a user. [0025] optical character recognition or optical character reader (OCR). These may allow automatic conversion of images of written (e.g., typed, handwritten or printed text) into machine-encoded text. This may be used to extract information from survey data and transform it into a machine-readable form. [0029] an OCR process may include a feature extraction process. In some cases, feature extraction may decompose a glyph into features. Exemplary non-limiting features may include corners, edges, lines, closed loops, line direction, line intersections, and the like. In some cases, feature extraction may reduce dimensionality of representation and may make the recognition process computationally more efficient. In some cases, extracted feature can be compared with an abstract vector-like representation of a character [0051] Training data may be gathered through previous iterations of the machine-learning process. An action classifier may output an action path 136 based on a deficiency 124 and objective 114 extracted from the behavioral data set 108. For example, if a user's deficiency is project management and the objective is to start a business, an action path 136 may include going to business school. For example, a user may submit a credit score record as the behavioral data set 108. A deficiency machine learning model 128 may identify “credit” as the deficiency 124 and determine an action path 136 of “paying off loans” if the objective is to “get a mortgage. The action-machine learning process 140 may be iterative and update training data to improve outputs. [0052] generate a classifier, such as deficiency classifier and action classifier, using a Naïve Bayes classification algorithm. Naïve Bayes classification algorithm generates classifiers by assigning class labels to problem instances, represented as vectors of element values. [0053] generate a classifier, using a K-nearest neighbors (KNN) algorithm. A “K-nearest neighbors algorithm” as used in this disclosure, includes a classification method that utilizes feature similarity to analyze how closely out-of-sample-features resemble training data to classify input data to one or more clusters and/or categories of features as represented in training data; this may be performed by representing both training data and input data in vector forms, and using one or more measures of vector similarity to identify classifications within training data, and to determine a classification of input data.)
associating the feature vectors with target labels indicating optimal goal alignments, mappings, hierarchies, or representations; (in at least [0047] Deficiency training data 132 may include previously inputted behavioral data sets and their corresponding classification output, where a classification output may include a datum indicating a level, score, category or the like of ability, strength, and/or deficiency relating to objective. Deficiency training data 132 may include outputs of deficiencies relevant to an objective and/or to a skill; a skill may be associated with and/or related to an objective. Association of skills with objectives may be recorded using any suitable data link, including without limitation inclusion of an objective as an element of a data structure representing a skill or vice-versa. Association of skills with objectives may include associations and/or links in a database. Alternatively or additionally, a skill may be an objective in its own right. An objective may also be a skill and/or other element associated with another objective. For example, the deficiency training data 132 may include examples such as a deficiency 124 for a user 112 that is a mechanical engineer, as shown in their behavioral data set 108, and has an objective 114 of becoming a cancer researcher, is a biochemistry background; ability with biochemistry may represent a skill associated with. Deficiencies may be relevant to an objective 114. A user 112 may have a plurality of deficiencies, but deficiency machine-learning model 128 may only identify deficiencies relevant to objective 114. Alternatively, deficiency machine-learning model 128 may identify all deficiencies associated with behavioral data set 108. Inputs to the machine-learning model may include the behavioral data set 108, objective 114, and the like. Outputs to the deficiency machine-learning process 128 may include a deficiency 124. Deficiency machine-learning process 128 may be iterative such that outputs of the classification algorithm may be used as future inputs of the algorithm. This may allow the deficiency classifier to evolve. Classification may be performed using, without limitation, linear classifiers such as without limitation logistic regression and/or naive Bayes classifiers, nearest neighbor classifiers such as k-nearest neighbors classifiers, support vector machines, least squares support vector machines, fisher's linear discriminant, quadratic classifiers, decision trees, boosted trees, random forest classifiers, learning vector quantization, and/or neural network-based classifiers. [0049] Inferences can take the form of IF-THEN rules coupled with forward chaining or backward chaining approaches. Forward chaining starts with the known facts and asserts new facts. Backward chaining starts with goals and works backward to determine what facts must be asserted so that the goals can be achieved. Other approaches include the use of automated theorem provers, logic programming, blackboard systems, and term rewriting systems such as CHR (Constraint Handling Rules). For example, following the IF-THEN rule format, the inference engine could devise “if strength 132 consists of an aptitude for musical talent, then an action path 116 may include a proposed task of learning how to play a musical instrument.” The inference engine may make predictions or decisions in optimizing behavioral data set 108 to deficiency 124 for a user without being explicitly programmed to do so. The inference engine may receive constant feedback and self-learn based on previous classifications, as described through this disclosure, and recommendations to further refine and strengthen its recommendations. [0053] an initial heuristic may include a ranking of associations between inputs and elements of training data. Heuristic may include selecting some number of highest-ranking associations and/or training data elements.)
…
The reason and rationale to combine Duggan and Willardson is the same as recited above.
Although implied, Duggan in view Willardson does not expressly disclose the following limitations, which however, are taught by Zhu,
evaluating the machine learning model using test data to measure generalization performance (in at least [0048] The whole dataset can be split chronologically into training set, validation set and test set to validate the performance of models. In an embodiment, a model can be learned for each company. In another embodiment, all data points can be used to learn a company-agnostic prediction model. [0058] The whole dataset can be split randomly into a training set (e.g., 80%), a validation set (e.g., 10%), and a test set (e.g., 10%) to evaluate model performance.)
At the time the invention was filed, it would have been obvious for one of ordinary skill in the art to have modified the teachings of Duggan in view of Willardson, as taught by Zhu above, with a reasonable expectation of success if arriving at the claimed invention. One of ordinary skill in the art would have been motivated to make this modification to the teachings of Duggan in view of Willardson with the motivation of, ….A metric-oriented learning machine, in embodiments, can automatically approximate given customized metrics, for example, via reinforcement learning to boost performance over a common loss.… a general learning framework or method is provided that integrates customized performance metrics into a learning process, for example, via a task-oriented estimator, and learns a machine learning model that directly optimizes the ultimate task-based goal or target…incorporate an approximation of non-differentiable customized performance metrics via a differentiable value function in the learning process, and optimize the machine learning model, e.g., a predictor, based on the value function. The disclosed system and/or method may further hybridize a heuristic loss function within the learning process, which can ensure a stable learning process…Real-world applications often involve domain-specific and task-based performance objectives that are not captured by the standard machine learning losses, but may be needed decision making…to further improve the predictor with the learned surrogate loss…a well-learned task-oriented estimator would also improve the predictor, which collaboratively forms a virtuous circle for the learning of both the task-oriented estimator network and the predictor network….improve the estimation of overall performance, e.g., ranking, relative direction, etc. A reward estimator network can be built to estimate the expected reward given input features and the latent embeddings…, as recited in Zhu.
As per Claim 11, Duggan teaches: (Currently Amended) The system of claim 10,
wherein the prediction suggests potential goal entities, mappings, hierarchies or representations to users or administrators to enhance goal definition workflows. (in at least [col14 ln50-65] parent goal 708 that includes contributor goal 722 that was created by the owner of the parent goal 708. However, another person different than the owner created contributor goal 718. Although the person did not create the parent goal 708, they are allowed to link their contributor goal to the parent goal 708. This can happen in an organization when a user views another person's owned goal and wants to contribute to its completion. For example, sometimes a person has worked previously on a similar project and recognizes certain requirements that the owner of the goal did not. To assist in the completion of the owner's goal, the user can add a contributor goal to the owner's goal. [col16 ln50-60] The system provides a variety of methods of notifying users on their goals. E-mail, push notifications (e.g., through a mobile device), and in-app recommendations are crafted by the system using a variety of factors. Some of these factors include: cascading relationship, reporting relationship, parent goal due date, milestone or cascaded goal due date, goal progress, or a combination of any of these factors.)
As per Claim 12, Duggan teaches: (Currently Amended) The system of claim 11, wherein the goal definition workflows include one or more of:
a goal creation workflow configured to enable users to define new goal entities, including specifying goal properties like title, description, owners, or metrics; a goal alignment workflow configured to enable users to define relationships between goals, including hierarchical alignments, supporting/supported-by relationships, or prerequisite dependencies; a goal assignment workflow configured to enable users to assign ownership of goals to users or departments; a goal planning workflow configured to enable users to associate goals with timelines, milestones, resources, budgets, or monitoring indicators; a goal status workflow configured to enable users to track progress and update current status of goals; a goal hierarchy workflow configured to enable users to organize goals into hierarchical representations, categories, roadmaps, or cascading alignments; or a goal access workflow configured to control visibility and permissions for goals based on entity properties, user attributes, or organizational policies. (in at least [col16 ln40-col17 ln10] (1) Flexible assigning of goals. Goals can be cascaded through unlimited levels at an organization… (8) Adaptive options for assigning goals. Progress can be shared between contributors and a parent goal owner. The owner of the parent goal can be responsible for some milestones, while additional contributors can be responsible for others…FIG. 8 shows goals for two departments of a company. Even though two different departments are shown here, the both contribute to the completion of goal 804. For example, if goal 804 represents completion of a smartphone application, department 1 represents a database team while department 2 represents a user-interface development team. [col 12 ln45-60] A goals manager module 411 is used to add, modify, or remove goals in the system. For example, the module receives modifications for an existing goal of the system. This module is responsible for identifying in the goals database 407 the existing goal and any changes and information needed from the user database 401 to make the changes. The module then executes the changes in the respective databases. A search module 413 allows users to search by various criteria as stored in the system. Some of these include searches by user (by owner, user assigned to, team, or other), goal name, due date, or other criteria. [col14 ln30-65] Progress of contributing goals directly increases or decreases progress of the parent goal. Every contributing goal represents an element of the parent goal. This means that the goals created at the top of the tree are divided into subgoals, such as goal 603 divided into subgoals (or contributing goals) 605, 608, and 610. The parents of goals 605, 608, and 610 is goal 603. Usually in an organization, this would mean that a higher-level position employee has created new goals and assigned these goals to lower level position employee…FIG. 7 shows a tree of cascading goals, where the goals are assigned according to top-down (e.g., 703 to 708), bottom-up (718 to 708), sideways (e.g., 724 to 726), or diagonal approaches in an organization. As compared to the top-down approach described in FIG. 6, the system allows additional relationships between goals to be represented in the system. This goal tree does not necessarily need to reflect the internal organizational structure of the organization. For example, the creator or assignee of goal 703 does not necessarily need to be a person at the top of the organization's organizational chart (e.g., CEO)…An example relationship is parent goal 708 that includes contributor goal 722 that was created by the owner of the parent goal 708. However, another person different than the owner created contributor goal 718. Although the person did not create the parent goal 708, they are allowed to link their contributor goal to the parent goal 708. This can happen in an organization when a user views another person's owned goal and wants to contribute to its completion. For example, sometimes a person has worked previously on a similar project and recognizes certain requirements that the owner of the goal did not. To assist in the completion of the owner's goal, the user can add a contributor goal to the owner's goal.)
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to PO HAN MAX LEE whose telephone number is (571) 272-3821. The examiner can normally be reached on Mon-Thurs 8:00 am - 7:00 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Rutao Wu can be reached on (571) 272-6045. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/PO HAN LEE/Primary Examiner, Art Unit 3623