Graphical representation of a complex task

Information

  • Patent Grant
  • 12079887
  • Patent Number
    12,079,887
  • Date Filed
    Monday, July 31, 2023
    a year ago
  • Date Issued
    Tuesday, September 3, 2024
    2 months ago
Abstract
Systems and methods are provided for storing data representing respective sub-elements of a complex task. Data representing one or more links between two or more sub-elements is stored, the links indicating a dependency between said sub-elements. A work order is calculated based on the identified links. A graphical representation of the calculated work order which indicates said sub-elements and their dependencies is provided. The links may indicate a temporal dependency of a second sub-element on a first sub-element and in which the provided graphical representation presents the temporal relationship of the sub-elements. Historical data may be received for association with one or more selected links or sub-elements, the historical data related to a prior event and which affects the temporal relationship between the sub-elements. An updated work order modified by the historical data may be calculated. An updated graphical representation of the work order may be provided.
Description
TECHNICAL FIELD

This disclosure relates to complex tasks, particularly to methods and systems for providing a graphical representation of a complex task, for example in product manufacture.


BACKGROUND

The manufacture of products and systems typically involves collaboration between members of a project, and sometimes multiple project teams which may be part of the same or a different company. Sometimes, different members of a project or different project teams may be geographically remote from one another. Tasks such as planning, designing, manufacturing, testing and/or deploying a product or system may themselves be divided into multiple tasks (or sub-elements) some of which may be performed independently of other tasks and some of which may be dependent on the completion of other tasks.


A complex task may be defined generally as a task (e.g. a project or build) involving sub-elements, one or some of which are dependent on one or more other tasks or sub-elements.


For example, a first team or company may be responsible for a first task, e.g. producing a first component or system, and another team or company may be responsible for a second task, e.g. producing a second component or system. The first and second tasks may be performed in parallel, or one task may need the other to be completed before it can begin. A third task may involve integrating the first and second components or systems at a later time, therefore requiring the first and second tasks to be completed in advance.


Project management is a term that may be used to describe the planning and management of complex tasks, an important part of which is scheduling. Some project management tools are known. One such example is a Gantt chart which is a type of chart used to illustrate scheduling and/or resource allocation for tasks. Typically, a Gantt chart comprises a list of tasks shown in relation to a time-line. Tasks to be performed over a particular portion of the time-line are indicated on the chart as bars or using similar graphics.


Sometimes, tasks and/or sub-elements may not be scheduled appropriately based on a current state. Elements involved in a task and/or sub-element may change over time. Practical lessons learned during an iteration of a task or sub-element may not be propagated to a subsequent iteration, leading to problems and/or inefficiencies.


SUMMARY

In various embodiments, a method performed by one or more processors comprises storing data representing respective sub-elements of a complex task. Data representing one or more links between two or more sub-elements is stored, the links indicating a dependency between said sub-elements. A work order is calculated based on the identified links. A graphical representation of the calculated work order which indicates said sub-elements and their dependencies is provided.


In some embodiments, the links may indicate a temporal dependency of a second sub-element on a first sub-element and in which the provided graphical representation presents the temporal relationship of the sub-elements.


In some embodiments, the method may further comprise receiving historical data for association with one or more selected links or sub-elements, which historical data relates to a prior event and which affects the temporal relationship between the sub-elements; calculating an updated work order modified by the historical data; and providing an updated graphical representation of the work order.


In some embodiments, the links may indicate that a second sub-element is temporally dependent on a first sub-element and wherein, responsive to the received historical data indicating that the second sub-element is temporally independent of the first sub-element, the calculating step modifies the work order so that the updated graphical representation shows temporal independence between the first and second sub-elements. The updated graphical representation may change the second sub-element from being shown subsequent to the first sub-element, to being shown in parallel to the first sub-element.


In some embodiments, third and fourth sub-elements may be stored without a temporal dependence of one on the other, and responsive to the received historical data indicating that the fourth sub-element is temporally dependent on the first sub-element, the calculating step may modify the work order so that the updated graphical representation shows the temporal dependence. The updated graphical representation may change the third and fourth sub-elements from being in parallel to the fourth sub-element being subsequent to the first sub-element.


In some embodiments, the historical data may be indicative of a received completion time for one or more sub-elements relative to a planned completion time.


In some embodiments, the historical data may be user feedback data relating to a previous performance of one or more sub-elements, the user feedback data being received through a graphical editing interface. The graphical editing interface may provide a form for indicating a sub-element that is temporally dependent on one or more other sub-elements, and wherein the step of calculating an updated work order is based on changes made to the form.


In some embodiments, the graphical editing interface may provide a free text area for receiving alphanumeric text. The alphanumeric text may be applied to a machine learning tool to derive semantic output which affects the temporal relationship between the sub-elements. Data may be received within the free text area is stored in association with the sub-element and automatically associated with at least one of a user identifier and/or a date.


In some embodiments, data received within the free text area may be stored in association with the sub-element and is accessible by means of a link provided on the graphical editing interface.


In some embodiments, the calculating step may update the work order to identify one or more conflicts with one or more other sub-elements, and the updated graphical representation may indicate the one or more conflicts. The conflicts may be indicated with a visual link on the updated graphical representation, selection of which opens a window indicating the conflicting sub-elements. The window may permit selection of an option to resolve the conflicting sub-elements automatically using one or more rules. The one or more rules may comprise moving one or more sub-elements temporally to resolve the conflict.


In some embodiments, the method may further comprise providing one or more further graphical representations of the work order in a different format which may be selected by a user.


In various embodiments, an apparatus is provided comprising one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising storing data representing respective sub-elements of a complex task; storing data representing one or more links between two or more sub-elements, the links indicating a dependency between said sub-elements; calculating a work order based on the identified links; and providing a graphical representation of the calculated work order which indicates said sub-elements and their dependencies.


In various embodiments, a non-transitory computer storage medium is encoded with instructions that, when executed by one or more computers, cause one or more computers to perform operations comprising storing data representing respective sub-elements of a complex task; storing data representing one or more links between two or more sub-elements, the links indicating a dependency between said sub-elements; calculating a work order based on the identified links; and providing a graphical representation of the calculated work order which indicates said sub-elements and their dependencies.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram that illustrates an example of a system that supports complex task scheduling according to embodiments.



FIG. 2 is a block diagram of an example of a computer system upon which embodiments of the specification may be implemented according to embodiments.



FIG. 3 is a flow chart illustrating an example of a method for complex task scheduling according to embodiments.



FIG. 4 is a flow chart illustrating an example of a method for updating complex task scheduling according to embodiments.



FIG. 5 is a hierarchical diagram illustrating an example of an interrelationship between complex tasks according to embodiments.



FIG. 6 is a hierarchical diagram illustrating an example of an interrelationship between sub-elements of a complex task (e.g., as illustrated in FIG. 5).



FIG. 7 illustrates an example of an editing interface for defining dependencies of a sub-element according to embodiments.



FIG. 8 illustrates an example of an editing interface for defining dependencies of another sub-element according to embodiments.



FIG. 9 illustrates an example of a graphical representation of a work order based on the FIG. 6 hierarchical diagram according to embodiments.



FIG. 10 illustrates an example of an editing interface in which a user note may be added to a sub-element according to embodiments.



FIG. 11 illustrates an example of an editing interface in which a saved user note may be accessed through a link according to embodiments.



FIG. 12a illustrates an example of a graphical representation of a work order, updated from the FIG. 9 example, according to embodiments.



FIG. 12b illustrates a further example of a graphical representation of a work order, updated from the FIG. 9 example, according to embodiments.



FIG. 13 illustrates an example of a graphical representation of a work order in which a different dependency is modified according to embodiments.



FIG. 14 illustrates an example of an editing interface in which a different user note may be added to a sub-element according to embodiments.



FIG. 15 illustrates an example of a graphical representation of a work order, updated from the FIG. 9 example based on modifications shown in FIG. 13 according to embodiments.



FIG. 16 is a flow chat illustrating an example of a method for updating complex task scheduling across multiple groups according to embodiments.





DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of systems and methods for the improved graphical representation of complex tasks, and in some embodiments, task scheduling. It will be apparent, however, that the present embodiments may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present embodiments.


In general overview, approaches, techniques and mechanisms are disclosed for addressing the above described and other problems.


In an embodiment, a method comprises storing data representing respective sub-elements of a complex task, storing data representing one or more links between two or more sub-elements, the links indicating a dependency between said sub-elements. The method may comprise calculating a work order based on the identified links, and providing a graphical representation of the calculated work order which indicates said sub-elements and their dependencies.


Dependencies may be upstream dependencies or downstream dependencies. An upstream dependency refers to a sub-element that needs to be completed before a current sub-element may be performed. A downstream dependency refers to a sub-element that requires the current sub-element to be performed beforehand. Dependencies may be referred to an internal and external dependencies in both cases. Internal dependencies may be within the scope of a current project or group, whereas external dependencies may be outside the scope of a current project or group.


Some embodiments relate to a computerised scheduling method for generating a graphical representation and/or scheduling a complex task.


Some embodiments relate to software providing a task scheduling tool. The software, when executed by one or more processors of a computer system, may present a graphical representation of a task schedule which includes links indicating a dependency between said sub-elements. The software may provide one or more further graphical representations based on the task schedule. The graphical representation may be interactive, in that a user may switch or alternate between different graphical representations and/or may drill down into individual sub-elements, links and other graphical fields to edit, comment and/or view further information.


Embodiments may provide the ability for an updated work order to be generated based on historical data and/or user input.


Historical data is any form of data that relates to a prior event associated with one or more sub-elements, or complex tasks, or an overall work order. For example, historical data may relate to a previous iteration of one or more sub-elements. The historical data may be computer-generated or manually entered and/or may be received from another computer system.


In some embodiments, for example, where a previous iteration of one or more sub-elements determines that completion of the relevant tasks occurs prior to an expected or planned date or time, this historical data may be associated in an update with the one or more sub-elements, and may affect the temporal relationship between them. Similarly, the historical data may determine that completion occurs after an expected or planned date or time.


In some embodiments, users may input historical data for association with a selected link and/or sub-element. The entered historical data may affect the temporal relationship between sub-elements.


Based on the historical data, an updated work order may be generated and an updated graphical representation generated therefrom. Advantageously, therefore, a subsequent iteration of a complex task (or a sub-element of it) may be scheduled (and performed in practice) more efficiently than a previous iteration based on historical data which, for example, may indicate a current state of a task, project or build or information learned from the previous iteration.


The historical data may be entered automatically and/or may be generated and input from an automated system, for example a computer system that records logistics data such as when a delivery of materials or components is made and therefore is available in local storage.


For example, in some embodiments, a current version of the work order may indicate that a second sub-element is dependent on (e.g. completion) of a first sub-element. A user's practical experience in performing the task may be that the second sub-element is not actually dependent and can be performed at least partially in parallel which may offer a time saving. For example, this may result from a change in the way one or each sub-element is performed and/or a change in a physical element which is involved in one or each sub-element. User entry of this information in relation to a sub-element or link may produce or propagate in an updated version of the work order a modified graphical representation which indicates the change.


For example, in some embodiments, a current version of the work order may indicate that first and second sub-elements are independent and can be performed independently of one another. A user's practical experience in performing the second sub-element may be that it is actually dependent the other task in all or some situations. For example, it may be learned in practice that the second sub-element always, or a significant amount of the time, has to be aborted until the first task is complete. User entry of this information may produce or propagate in an updated version of the work order a dependency which subsequently appears in a modified graphical representation.


In some embodiments, users may select a link and/or sub-element, e.g. through a graphical user interface (GUI), which selection may present an editing interface. For example, the editing interface may provide one or more of radio buttons, pull-down menus, free-text editing panes and any similar method of data entry.


In some embodiments, an automated text recognition system, natural language processing technique, or a machine-learning method (for example employing neural networks or similar models) may be applied to data entered into the editing interface, for example text entered in the free-text editing pane, to infer automatically a state and/or modification to be applied to a link and/or sub-element. The inferred state and/or modification may require user approval before being applied and propagated.


In some embodiments, users may enter notes or logbook entries into a free-text editing field or similar, e.g. with dates and/or authoring identities manually or automatically inserted, or select values from a drop-down menu. Users may select specific tasks, one or more properties of the task(s) and/or links to drill down the historical data input, e.g. which may indicate non-conformities and/or problems for the sub-element to allow others to identify easily what problems occurred in the past to help avoid them for subsequent iterations. For example, if a particular component or part is not available for a high fraction of the time when a sub-element is attempted, a new sub-element may be required to check it is available. This may assist with logistics etc. In another example, users may add or correct information, such as particular attributes or properties of a task, at a particular point in time. The added or corrected information may be presented to users for the next iteration, which may enrich, correct, and/or complete the data over time.


Terms and Definitions

For convenience, various embodiments of the techniques described herein are described with respect to terms such as “complex tasks” and “sub-elements”. As used herein, a complex task is a task involving one or more sub-elements. A sub-element is therefore a task that forms a constituent part of a complex task.


A task for example can be any one of a planning task, a meeting task, an ordering task, a review task, a manufacturing or assembly task, a testing task, a transportation task, etc., to give a non-exhaustive list of examples. In some embodiments, a task may be neither a complex task nor a sub-element.


A link between two or more sub-elements is any data representation of a dependency relationship between two or more tasks or sub-elements.


A work order is a data representation of tasks or sub-elements. In some embodiments, a work order may be a data representation of tasks or sub-elements in order, e.g., temporal order. It may comprise a list, document or spreadsheet, for example.


A graphical representation of a work order is any two (or more) dimensional representation of the work order suitable for storage on computer memory and/or displayable on an electronic display, such as a computer monitor.


Structural Overview



FIG. 1 is a block diagram that illustrates a system 100 that supports project collaboration, according to one embodiment. System 100 may be any system in which task scheduling applications are utilised, including complex task project management for product or system manufacture.


System 100 comprises a computing device 110 operated in use by a user 111. Computing device 110 in use executes a software application 120a. Software application 120a is a task scheduling application, which may be provided as a stand-alone application for storage and execution on memory of the computing device 110, or in some embodiments can be a cloud-based application which is accessed through a web browser of the computing device 110. Software application 120a allows the user 111 to perform one or more of creating, accessing and modifying one or more work orders 122 which may be stored locally on memory of the computing device 110 and/or which may be stored remotely on a server 125. The software application 120a may further generate from the or each work order 122 a graphical representation of the work order for display on a display monitor or screen.


A work order 122 may be a data file that represents, for a given complex task, one or more sub-elements and a temporal order of the sub-elements to perform the complex task. The work order 122 may be in the form of a list, a document or a spreadsheet, for example.


The server 125 is a computer device connected to the system 100 via a network 130. The network 130 may be, for example, an internet or intranet. The server 125 may be any computing device capable of sharing structured data with computing devices connected to the network 130, including a web server or file server.


In the shown example, a second computer device 140 is shown connected to the network 130. The second computer device 140 is operated in use by a user 112 and in use executes a software application 120a. Connection and operation of the second computer device 140 may be considered the same or largely similar to the first computer device 110, and is shown merely to represent the possibility of multiple users 111, 112 being able to create, access and modify work orders 122 if stored on the server 125.


Functional Overview and Implementation Examples


The software application 120a may be configured to perform the processing steps shown in overview in FIG. 3. FIG. 3 shows method steps in creating a work order and graphical representation of the work order.


In a first step 3.1, a plurality of sub-elements is defined for a particular task, project or build (collectively “task”). These may be manually entered by a user. In a second step 3.2, one or more links representing a dependency relationship between two or more of the sub-elements are defined. Again, these may be manually entered by a user. In a third step 3.3, a work order is calculated using the defined sub-elements and the links. In a fourth step, a graphical representation of the work order is generated. The defined sub-elements, links, work order and graphical representation may be stored locally and/or remotely on the server 125.


The software application 120a may also be configured to perform the processing steps shown in overview in FIG. 4. FIG. 4 shows method steps in updating the work order by means of user inputted data. In a first step 4.1, a work order is received, e.g. from the local storage or the server 125. In a second step 4.2, historical data is received in relation to one or more links and/or sub-elements. The historical data may be manually entered by a user. In a third step 4.3, an updated work order is calculated using the existing data as modified by the historical data. In a fourth step 4.4, an updated graphical representation of the work order is generated.


More detailed examples of the above method steps will now be explained.



FIG. 5 is a schematic view which may represent an example complex task 400. The complex task 400 in this example may be the production of a cargo ship but the same principles may be applied to any complex task, whether in manufacturing or otherwise. For example, the complex task 400 may be one or more of the production of automobiles, aircraft, ships, electronic systems etc. The complex task 400 is broken down into three sub-elements which are a hull assembly line (HAL) sub-element 401, an engine assembly line (EAL) sub-element 403 and a final assembly line (FAL) sub-element 405 for assembling the engine to the hull. Each sub-element 401, 403, 405 may be performed by one or more different teams at one or more different locations. An initial assumption is made that the FAL sub-element 405 is dependent on completion of the HAL and EAL sub-elements 401, 403 because in the FAL sub-element the engine is assembled within the hull. These dependencies are indicated by the arrows 413, 417. It is also assumed that the HAL sub-element 401 and the EAL sub-element 403 are not inter-dependent and may be performed in parallel. For completeness, further sub-elements 407, 409, 411 are indicated to show that each of the HAL, EAL and FAL sub-elements 401, 403, 405 are dependent on components being available at each respective site in order for the relevant work to be performed.



FIG. 6 is a schematic view which may represent in greater detail sub-elements within the HAL sub-element 401. For this purpose, the HAL sub-element 401 may be considered a complex task. Again, these sub-elements are shown by way of simplified example and it will be appreciated that in practice a much larger number of sub-elements may be performed, and that the same considerations may be applied to the EAL and FAL sub-elements 403, 405.


The complex WAL task 401, as it will be referred to, may be assigned by the system a unique identifier, as may the sub-elements which make up the complex task. The unique identifier(s) may be entered manually and/or generated automatically. In the shown example, a serial number 01 is assigned. Similar identifiers may be assigned to the overall (global) complex task 400 shown in FIG. 5, and the sub-elements within it. Further identifiers may be provided under the unique identifier, for example to indicate a location, a work zone or station within the location, and/or a specific team of workers. In the shown example, a station number 40 is assigned. Any form of identification means or system may be provided in any format, provided that the identifiers may be resolved by a computer system to group them appropriately.


A first sub-element 430 may be the assembly of the front hull, denoted by the internal task code 1.1. In this example, we assume that the hull of the cargo ship is formed of separate front and rear hull sections. A second sub-element 431 may be the assembly of the rear hull, denoted by the internal task code 1.2. It may be initially assumed that the first and second sub-elements 430, 431 may be performed by respective different teams in parallel.


A third sub-element 432 may be the installation of hydraulic components on the front hull, denoted by the internal task code 1.3. A fourth sub-element 433 may be the installation of hydraulic components on the rear hull, denoted by the internal task code 1.4. It may be initially assumed that the third and fourth sub-elements 432, 433 may be performed by respective teams in parallel.


A fifth sub-element 434 may be the installation of the electrical system (electricals) for the front hull hydraulic components, denoted by the internal task code 1.5.1. A sixth sub-element 435 may be the installation of the electricals for the front hull engine, denoted by the internal task code 1.5.2. A seventh sub-element 436 may be the installation of the electrical system (electricals) for the rear hull hydraulic components, denoted by the internal task code 1.6.1. An eighth sub-element 4437 may be the installation of the electricals for the rear hull engine, denoted by the internal task code 1.6.2. It may be initially assumed that the fifth to eighth sub-elements 434-437 may be performed by respective teams in parallel.


A ninth sub-element 438 may be the testing of the electricals for both the front and rear hull sections, denoted by the internal task code 1.7. It may be initially assumed that the ninth sub-element 438 is performed by a specialist team and is dependent on completion of the fifth to eighth sub-elements 434-437.


A tenth sub-element 439 may be the sending or transportation of the assembled and tested front and rear hulls to the FAL, denoted by the internal task code 1.8. It may be initially assumed that the tenth sub-element 439 is dependent on completion of the ninth sub-element 439.


It will therefore be appreciated that a relatively logical and symmetrical hierarchy of sub-elements 430-439 is assumed. It may be the case however that through practical performance of the complex task 401 (and/or one or more of the sub-elements 430-439) over one or more iterations that efficiencies or potentially problematic issues may arise. The presently-described system and method is directed at highlighting and/or resolving such issues, which may be performed in an intuitive and graphical manner.


Data representing the FIG. 5 and FIG. 6 complex tasks may be entered using one or more methods. For example, each complex task may be entered using one or more of a database, a spreadsheet or a dedicated editing interface or form that permits user entry of information which may comprise one or more of the identifier(s), names and descriptions, locations, dates and times, and dependencies, to give a non-exhaustive list. For example, the editing interface may provide one or more of radio buttons, pull-down menus, free-text editing panes and any similar method of data entry.


In some embodiments, FIGS. 5 and 6 may be a graphical representation of a work order for a complex task, albeit one without a date or time reference, because it indicates the sub-elements and their dependencies.


The system and methods described herein may permit various different forms of graphical representation to be computed. The system and methods herein may permit sub-elements and links indicative of dependencies to be selected and, by means of such selection, they may be modified and/or updated which may cause the work order and therefore the graphical representation to be modified automatically. The updating and modification may be performed at the sub-element and complex task level so that changes may be propagated locally and, if appropriate, globally throughout the complex tasks that are affected.


Referring to FIG. 7, an example editing interface 500 is shown for user entry of data for defining the first sub-element 430 shown in FIG. 6.


Within the editing interface 500 may be provided one or more pull-down menus 502, 504, 506 for entering identification information regarding the physical location where the first sub-element 430 may be performed. A first pull-down menu 502 is for selection of the appropriate assembly line from an existing stored list. In the present case, the user may select from the first pull-down menu 502 the Hull Assembly Line. A second pull-down menu 504 is for selection of the appropriate serial number (which may indicate the specific ship) from an existing stored list. In the present case, the user may select from the second pull-down menu 504 the serial number 01. A third pull-down menu 506 is for selection of the appropriate assembly line station from an existing stored list. In the present case, the user may select from the third pull-down menu 506 the Station 40. In some embodiments, users may create a new item for one or more of the pull-down menus 502, 504, 506.


The editing interface 500 may further provide one or more free-text fields 508, 510 for the user entry of a sub-element identifier and/or a description of the sub-element. Additionally, or alternatively, other methods of data entry may be employed. In the present case, the numeral sub-element identifier 1.1 is entered in field 508, and in a separate field 510 a brief description of the sub-element is entered.


The editing interface 500 may further provide one or more date entry fields 512, 514 for the respective entry of planned start and completion dates in any known format, e.g. dd/mm/yyyy or mm/dd/yyyy. The dates may be entered manually or by selecting a calendar pop-up through which selection of a date or range of dates may be selected. In some embodiments, the data entry fields 512, 514 may permit the input of times also.


The editing interface 500 may further provide one or more fields or items for indicating dependencies, for example upstream and/or downstream. For example, a first pull-down menu 516 may permit upstream dependencies to be selected from an existing list. In the shown example, a components available item may be selected and then associated with the first sub-element 430 by selecting the add button 518. For example, a second pull-down menu 520 may permit downstream dependencies to be selected from an existing list. In the shown example, the third sub-element 432 may be selected and associated with the first sub-element 430 by selecting the add button 522.


In some embodiments, multiple dependencies, whether upstream or downstream, may be associated with a sub-element in this manner.


In some embodiments, the editing interface 500 may provide for user notes to be entered, in association with the sub-element itself, or in association with menu elements of the sub-element. For example, each of the upstream and downstream dependency fields 516, 520 may have an associated means 524, 526 for a user to enter notes, for example to explain the reason for the dependency and/or to identify issues that occurred on a previous iteration of the sub-element.


Such notes may be entered using any conventional data entry method. In the editing interface 500, this may be by means of selecting a link 524, 526 which causes the system to open a new data entry field into which free text may be entered and saved. A user identifier and date/time may be associated with the note when saved to provide a traceable history indicating who entered what and when.


A save button 530 and a cancel button 532 are provided for respectively saving and cancelling the data entry. In some embodiments, selection of the save button 530 may automatically propagate changes and/or prompt an action or alert to appear in a resulting graphical representation of the work order.


Referring to FIG. 8, an example editing interface 550 is shown for user entry of data for defining the fifth sub-element 434 shown in FIG. 6. This editing interface 550 may be identical to that shown in FIG. 7, other than different data is entered. In particular, the free text field 508 is inputted with 1.5.1 and the free text field 510 is inputted with the description of the fifth sub-element 434. Different start and completion dates, as appropriate, may be entered in fields 512, 514.


In the example editing interface 550, an initial upstream dependency is selected from the pull-down menu 516, namely the third sub-element with identifier 1.3. This appears beneath the pull-down menu 516. Similarly, on the downstream side, an initial downstream dependency is selected from the pull-down menu 520, namely the ninth sub-element with identifier 1.7.


The save button 520 may be used to save and/or automatically propagate changes and/or prompt an action or alert in a resulting graphical representation of the work order.


Referring to FIG. 9, an example graphical representation 560 of a work order for the complex task 401, which takes as initial data the sub-element values indicated in FIGS. 7 and 8, and similar data for other sub-elements indicated in FIG. 6, is shown. The graphical representation 560 may result from a save operation associated with each editing interface so that changes are updated iteratively.


The graphical representation 560 may be one of a number of possible alternatives for representing sub-elements of a complex task. In some embodiments, the graphical representation 560 may relate to data for multiple complex tasks, although for ease of illustration and explanation, a single complex task is indicated here.


The vertical axis 562 is indicative of the list of sub-elements, for example using their assigned sub-element ID entered in field 508 of the editing interface 500, 550. The sub-element IDs may be arranged in any order, or may be logically arranged by name (e.g. alphanumerically) or order of entry. The horizontal axis 564 is indicative of time, for example in the form of a linear timeline partitioned into days, weeks, months and/or years.


Each sub-element is represented on the graphical representation 560 by a box 570 extending relative to the time axis 564. Alternative representations may be used, for example a simple line may be used instead of a box.


Additionally, dependencies between the boxes 570 are indicated on the graphical representation 56o by arrows 572 or another suitable means, which serve as links. For example, the arrow 572 extending between the third sub-element 1.3 (432) and the first sub-element 1.1 (430) indicate that the former requires the latter to be completed before it can commence.


Therefore, the graphical representation 560 provides an immediate and intuitive way of visualizing a schedule for completing each sub-element of a complex task, and which sub-elements may be performed in parallel and which require another sub-element to be completed beforehand.


Additionally, one or more of the sub-element boxes 570 and the dependency links 572 may be selected using the graphical representation, for example by clicking them using a mouse or similar user input device. Responsive to said selection, a properties box may appear on or over the graphical representation 560 and/or an editing interface associated with the selected item may appear for editing.


Referring to FIG. 10, the user may additionally select the link 524 to open a text editing pane 590 for entering comments or notes in free-text form. In some embodiments, the identity of the author 592 and the date/time 594 is automatically or manually entered. The user may type their notes into the free text area 596. A save button 598 and a cancel button 599 are provided for respectively saving and cancelling the entry of notes. As shown in FIG. 10, the user may enter details as to why the modification has been made which may be useful for other users to appreciate why the change was made and by whom it was made.


Referring to FIG. 11 the editing box 550 is shown after the save button 598 is selected. For example, the updated upstream dependency may be shown, as may the saved note which can be viewed by selecting the note link 560.


The same method may be used to add additional notes, which may be performed by any appropriate user. The same method may be used in association with the downstream dependencies to add and/or view notes associated with modifications on this type of dependency.


For example, the same steps may be applied to the sub-element boxes 580b, 580c, 580d associated with the sixth, seventh and eighth sub-elements 435-437 based on the realization that these tasks may likewise have their dependency altered.


Referring to FIG. 12a, an example graphical representation 610 of the work order, resulting from the above-mentioned modifications to sub-element boxes 580a-580d, is shown. It will be seen that said sub-element boxes 580a-580d are no longer indicated as dependent on the third and fourth sub-elements 432, 433 but instead are dependent on the first and second sub-elements 430, 431.


It will be appreciated that said modifications provide an opportunity to re-schedule sub-elements so that they may be performed more efficiently. The time period F is available to the fifth to eighth sub-elements 434-437, which means these can be brought forward in time as shown in FIG. 13b as an updated graphical representation 620. Referring to FIG. 12b, it will be seen that the fifth to eighth sub-elements 434-437 may commence in parallel with the third and fourth sub-elements 432, 433. However, the ninth sub-element 438 nevertheless is dependent on the third and fourth sub-elements 432, 433 completing.


A rescheduling possibility may be indicated in graphical form on the graphical representation 610 in whatever form it is generated and presented on the GUI. In FIG. 12a, for example, a rescheduling suggestion may be indicated by a box 625 that is shown differently, e.g. in a different color or shade.


In some embodiments, the rescheduling may be performed automatically without user intervention. For example, the graphical representation 620 shown in FIG. 12b may be generated responsive to a user saving the relevant editing interface in which they changed the dependency, with the modification propagating through the scheduled times for subsequent sub-elements.


Another example will now be described in which a dependency may be added to one or more sub-elements which was not previously present. In this example, we consider the case where, through previous iterations, it is discovered that the sixth sub-element 435 needs to be performed after the fifth sub-element 434 due, for example, to a structural layout issue on the front hull only.


Returning to FIG. 9, in response to a user selecting the sub-element box 580b, the editing interface 550 shown in FIG. 13 is opened, which corresponds to the sixth sub-element 435. In this example, using the steps stated above, the user may modify the upstream dependency using the pull-down menu 516 to indicate a new dependency on the fifth sub-element 434. The new dependency is indicated by reference numeral 630.


Referring to FIG. 14 the user may additionally select the link 524 to open the text editing pane 590 for entering comments or notes in free-text form. In some embodiments, the identity of the author 592 and the date/time 594 when the note is entered is automatically or manually entered. The user may type their notes into the free text area 596. The save button 598 and the cancel button 599 are provided for respectively saving and cancelling the entry of notes. As shown in FIG. 14, the user may enter details as to why the modification has been made which may be useful for other users to appreciate why the change was made and by whom it was made.


Referring to FIG. 15, an example graphical representation 610 of the work order, resulting from the above-mentioned modification to sub-element box 580b is shown. It will be seen that said sub-element box 580b is now dependent on the sub-element box 580a and cannot be performed in parallel with it.


In consequence, the system may automatically detect a conflict condition resulting from the ninth sub-element 438 (represented by box 720) being downwardly dependent on the moved sixth sub-element 435 but now scheduled in parallel with it. One or more subsequent downstream sub-elements (represented by box 722) may be similarly affected. Accordingly, the system may flag this through a visual alert, e.g. using a visual icon 730 associated with affected sub-elements.


In some embodiments, selection of the visual icon 730 may present through the GUI an indication or description of the conflict for manual resolution. In some embodiments, an automatic modification may be performed to resolve the conflict, e.g. by moving the boxes 720, 722 to a later time in the schedule, with the modification propagating through the scheduled times for subsequent sub-elements.


In some embodiments the above system and methods for scheduling a complex task may be applied for multiple groups G. A group may comprise any number of entities which handle respective sub-elements or complex tasks. For example, there may be multiple work zones, physical locations, users, teams and/or complex tasks (which themselves may be considered sub-elements in the context of a global complex task). Systems and methods for visualizing and updating a work order and presenting the output through a GUI may be propagated for all groups or selected subsets.



FIG. 16 is a flow chart representing an overview of the steps for applying the above-mentioned system and method for multiple groups G. A first step 16.1 indicates that subsequent steps are performed for each group G, either in parallel or one after the other. The next step 16.2 may calculate an updated work order for the respective group G using steps 4.1-4.3 shown in FIG. 4. The next step 16.3 may create or calculate an updated work order for all groups G taking into account cross-group dependencies or relationships. The next step 16.4 may generate an updated graphical representation of a work order for all groups G taking into account said cross-group dependencies or relationships.


Various types of GUI may be generated based on updated work orders as described above to provide immediate and intuitive feedback.


For example, a GUI may be provided as a so-called scheduling view showing a calendar view in relation to a list of ‘zones’ which may for example be zones of a factory or respective remote locations. A pull-down menu may enable a user to select a sub-set of dates to view. An area may indicate a key, e.g. a color or other visual key, indicating an identifier for distinguishing what is represented on the calendar view. For example, a darker color may be used to represent secondment teams as distinct from a FAL team which may be shown in a lighter color. Such colors or other indicators may be shown in the calendar view which may indicate so-called ‘task elements’ which may represent sub-elements and their relation to the calendar dates. In the event of the above-mentioned conflicts being identified by means of the updating methods, a visual indicator may be displayed for showing where a conflict may arise.


A visual indicator may be selected by a user on the GUI to open a window which displays details of the sub-elements that are in conflict, and may provide options to proceed, cancel or resolve.


The GUI may further display a list of task elements, or sub-elements, in a separate area which may provide a summary of, for example, task elements scheduled after a to do list and those that are unscheduled.


A GUI may additionally or alternatively be provided showing a calendar or date range in relation to one or more respective locations identified by one or more of their serial number and station. Within the underlying area may be presented task elements (sub-elements) with associated notes and information. Each task element may be selected through the GUI to view respective notes and/or information. In a single platform, users and/or teams may schedule new task elements based on recommended time slots generated by the system, resolve scheduling issues between task elements and/or zones and address flags to avoid blocking work downstream.


A GUI 840 may additionally or alternatively be provided showing a list of task elements (sub-elements) in list form. Each task element 842 may have an associated name, description, zone identifier, to do list and assignment. Further information may be associated with each task element. Selecting a particular task element may open sub-elements that are dependent on the selected task element. Information as to the status of the relevant task element, for example whether it is overdue or unscheduled may be displayed. In some embodiments, selecting a task element may cause display of a sub-window indicating father links showing in hierarchical form the various dependencies of the task element both upstream and downstream.


A GUI 850 may additionally or alternatively be provided for indicating in a single view a priority ordered list of task elements in graphical form. In some embodiments, the GUI may indicate task elements for which there are upcoming technical deadlines.


Hardware Overview


The techniques described herein may be implemented by one or more special-purpose computing devices. The special-purpose computing devices may be hard-wired to perform the techniques, or may include digital electronic devices such as one or more application-specific integrated circuits (ASICs) or fi programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques, or may include one or more general purpose hardware processors programmed to perform the techniques pursuant to program instructions in firmware, memory, other storage, or a combination. Such special-purpose computing devices may also combine custom hard-wired logic, ASICs, or FPGAs with custom programming to accomplish the techniques. The special-purpose computing devices may be desktop computer systems, portable computer systems, handheld devices, networking devices or any other device that incorporates hard-wired and/or program logic to implement the techniques.


For example, FIG. 2 is a block diagram that illustrates a computer system 300 upon which embodiments may be implemented. Computer system 300 includes a bus 302 or other communication mechanism for communicating information, and a hardware processor 304 coupled with bus 302 for processing information. Hardware processor 304 may be, for example, a general purpose microprocessor, microcontroller or plural such devices.


Computer system 300 also includes a main memory 306, such as a random access memory (RAM) or other dynamic storage device, coupled to bus 302 for storing information and instructions to be executed by processor 304. Main memory 306 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 304. Such instructions, when stored in storage media accessible to processor 304, render computer system 300 into a special-purpose machine that is customized to perform the operations specified in the instructions.


Computer system 300 further includes a read only memory (ROM) 308 or other static storage device coupled to bus 302 for storing static information and instructions for processor 304. A storage device 310, such as a magnetic disk or optical disk, is provided and coupled to bus 302 for storing information and instructions, including for example the above mentioned application 120a.


Computer system 300 may be coupled via bus 302 to a display 312, such as a cathode ray tube (CRT) or thin film transistor (TFT) monitor, for displaying information to a computer user. An input device 314, including alphanumeric and other keys, is coupled to bus 302 for communicating information and command selections to processor 304. Another type of user input device is cursor control 316, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to processor 304 and for controlling cursor movement on display 312. This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane. Computer system 300 may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware and/or program logic which in combination with the computer system causes or programs computer system 300 to be a special-purpose machine. According to one embodiment, the techniques herein are performed by computer system 300 in response to processor 304 executing one or more sequences of one or more instructions contained in main memory 306. Such instructions may be read into main memory 306 from another storage medium, such as storage device 310. Execution of the sequences of instructions contained in main memory 306 causes processor 304 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions.


The term “storage media” as used herein refers to any media that store data and/or instructions that cause a machine to operation in a specific fashion. Such storage media may comprise non-volatile media and/or volatile media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 310. Volatile media includes dynamic memory, such as main memory 306. Common forms of storage media include, for example, a floppy disk, a flexible disk, hard disk, solid state drive, magnetic tape, or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, NVRAM, any other memory chip or cartridge.


Storage media is distinct from but may be used in conjunction with transmission media. Transmission media participates in transferring information between storage media. For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 302. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications. Various forms of media may be involved in carrying one or more sequences of one or more instructions to processor 304 for execution. For example, the instructions may initially be carried on a magnetic disk or solid state drive of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 300 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 302. Bus 302 carries the data to main memory 306, from which processor 304 retrieves and executes the instructions. The instructions received by main memory 306 may optionally be stored on storage device 310 either before or after execution by processor 304. Computer system 300 also includes a communication interface 318 coupled to bus 302. Communication interface 318 provides a two-way data communication coupling to a network link 320 that is connected to a local network 322. For example, communication interface 318 may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 318 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 318 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.


Network link 320 typically provides data communication through one or more networks to other data devices. For example, network link 320 may provide a connection through local network 322 to a host computer 324 or to data equipment operated by an Internet Service Provider (ISP) 326. ISP 326 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 328. Local network 322 and Internet 328 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 320 and through communication interface 318, which carry the digital data to and from computer system 300, are example forms of transmission media.


Computer system 300 can send messages and receive data, including program code, through the network(s), network link 320 and communication interface 318. In the Internet example, a server 330 might transmit a requested code for an application program through Internet 328, ISP 326, local network 322 and communication interface 318. The received code may be executed by processor 304 as it is received, and/or stored in storage device 310, or other non-volatile storage for later execution.

Claims
  • 1. A method performed by one or more processors, the method comprising: storing data representing respective sub-elements of a complex task and one or more links between two or more sub-elements, the links indicating a dependency between the sub-elements, wherein the links indicate a temporal dependency of a second sub-element on a first sub-element;generating a workflow based on the data, and based on a first expected time consumed by the first sub-element and a second expected time consumed by the second sub-element;obtaining an update regarding the first sub-element, wherein the update comprises a first change in the first expected time;updating the workflow based on the first change; andin response to determining that the update satisfies any additional conflicts between a downstream sub-element and the first sub-element or the second sub-element, automatically rendering, by the one or more processors, a graphical representation of the updated workflow.
  • 2. The method of claim 1, wherein the first expected time of the first sub-element and the second sub-element is based on historical data associated with the first sub-element and the second sub-element.
  • 3. The method of claim 1, wherein the sub-elements comprise a third sub-element; and the method further comprises: determining that a previously inferred independent relationship between the third sub-element and the first sub-element or the second sub-element has changed to a dependent relationship; andupdating the workflow based on the determined change to the previously inferred independent relationship.
  • 4. The method of claim 3, wherein the determining that a previously inferred independent relationship between the third sub-element and the first sub-element or the second sub-element has changed to a dependent relationship comprises determining a change in a performance of the first sub-element, the second sub-element, or the third sub-element and that the dependent relationship is in response to the change in the performance.
  • 5. The method of claim 3, wherein the determining that a previously inferred independent relationship between the third sub-element and the first sub-element or the second sub-element has changed to a dependent relationship comprises determining a change in a physical component associated with the first sub-element, the second sub-element, or the third sub-element and that the dependent relationship is in response to the physical change.
  • 6. The method of claim 1, wherein the obtaining of the update regarding the first sub-element comprises determining a change in an efficiency of the first sub-element.
  • 7. The method of claim 1, wherein the updating of the workflow is performed automatically without a user.
  • 8. The method of claim 1, further comprising automatically resolving any conflicts caused to subsequent sub-elements in response to the updating of the workflow.
  • 9. A system comprising: one or more processors; anda memory storing instructions that, when executed by the one or more processors, cause the system to perform: storing data representing respective sub-elements of a complex task and one or more links between two or more sub-elements, the links indicating a dependency between the sub-elements, wherein the links indicate a temporal dependency of a second sub-element on a first sub-element;generating a workflow based on the data, and based on a first expected time consumed by the first sub-element and a second expected time consumed by the second sub-element;obtaining an update regarding the first sub-element, wherein the update comprises a first change in the first expected time;updating the workflow based on the first change; andin response to determining that the update satisfies any additional conflicts between a downstream sub-element and the first sub-element or the second sub-element, automatically rendering, by the one or more processors, a graphical representation of the updated workflow.
  • 10. The system of claim 9, wherein the first expected time of the first sub-element and the second sub-element is based on historical data associated with the first sub-element and the second sub-element.
  • 11. The system of claim 9, wherein the sub-elements comprise a third sub-element; and the instructions that, when executed by the one or more processors, further cause the system to perform: determining that a previously inferred independent relationship between the third sub-element and the first sub-element or the second sub-element has changed to a dependent relationship; andupdating the workflow based on the determined change to the previously inferred independent relationship.
  • 12. The system of claim 11, wherein the determining that a previously inferred independent relationship between the third sub-element and the first sub-element or the second sub-element has changed to a dependent relationship comprises determining a change in a performance of the first sub-element, the second sub-element, or the third sub-element and that the dependent relationship is in response to the change in the performance.
  • 13. The system of claim 11, wherein the determining that a previously inferred independent relationship between the third sub-element and the first sub-element or the second sub-element has changed to a dependent relationship comprises determining a change in a physical component associated with the first sub-element, the second sub-element, or the third sub-element and that the dependent relationship is in response to the physical change.
  • 14. The system of claim 9, wherein the obtaining of the update regarding the first sub-element comprises determining a change in an efficiency of the first sub-element.
  • 15. The system of claim 9, wherein the updating of the workflow is performed automatically without a user.
  • 16. The system of claim 9, wherein the instructions that, when executed by the one or more processors, further cause the system to perform: automatically resolving any conflicts caused to subsequent sub-elements in response to the updating of the workflow.
  • 17. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform: storing data representing respective sub-elements of a complex task and one or more links between two or more sub-elements, the links indicating a dependency between the sub-elements, wherein the links indicate a temporal dependency of a second sub-element on a first sub-element;generating a workflow based on the data, and based on a first expected time consumed by the first sub-element and a second expected time consumed by the second sub-element;obtaining an update regarding the first sub-element, wherein the update comprises a first change in the first expected time;updating the workflow based on the first change;in response to determining that the update satisfies any additional conflicts between a downstream sub-element and the first sub-element or the second sub-element, automatically rendering, by the one or more processors, a graphical representation of the updated workflow.
  • 18. The non-transitory computer readable medium of claim 17, wherein the first expected time of the first sub-element and the second sub-element is based on historical data associated with the first sub-element and the second sub-element.
  • 19. The non-transitory computer readable medium of claim 17, wherein the sub-elements comprise a third sub-element; and the instructions further cause the one or more processors to perform: determining that a previously inferred independent relationship between the third sub-element and the first sub-element or the second sub-element has changed to a dependent relationship; andupdating the workflow based on the determined change to the previously inferred independent relationship.
  • 20. The non-transitory computer readable medium of claim 19, wherein the determining that a previously inferred independent relationship between the third sub-element and the first sub-element or the second sub-element has changed to a dependent relationship comprises determining a change in a performance of the first sub-element, the second sub-element, or the third sub-element and that the dependent relationship is in response to the change in the performance.
CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 17/578,224, filed Jan. 18, 2022, which is a continuation of U.S. patent application Ser. No. 16/930,252, filed Jul. 15, 2020, now U.S. Pat. No. 11,227,344B2, which is a continuation of U.S. patent application Ser. No. 15/459,811, filed Mar. 15, 2017, now issued as U.S. Pat. No. 10,726,507, which claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application Ser. No. 62/421,013, filed Nov. 11, 2016, the content of which is hereby incorporated by reference in its entirety.

US Referenced Citations (311)
Number Name Date Kind
5515488 Hoppe et al. May 1996 A
6430305 Decker Aug 2002 B1
6732361 Andreoli May 2004 B1
6820135 Dingman et al. Nov 2004 B1
6978419 Kantrowitz Dec 2005 B1
6980984 Huffman et al. Dec 2005 B1
7027997 Robinson Apr 2006 B1
7168039 Bertram Jan 2007 B2
7322023 Shulman et al. Jan 2008 B2
7413119 Kubo et al. Aug 2008 B2
7421429 Thota Sep 2008 B2
7461077 Greenwood Dec 2008 B1
7529698 Joao May 2009 B2
7584172 Heuer et al. Sep 2009 B2
7590754 Woolston Sep 2009 B2
7617232 Gabbert et al. Nov 2009 B2
7650310 Stefanescu Jan 2010 B2
7756843 Palmer Jul 2010 B1
7788296 D'Albora et al. Aug 2010 B2
7792353 Forman et al. Sep 2010 B2
7831505 Herz Nov 2010 B2
7873639 Shipman Jan 2011 B2
7877280 Jones et al. Jan 2011 B2
7899796 Borthwick et al. Mar 2011 B1
7899822 Chakravarthy et al. Mar 2011 B2
7917376 Bellin et al. Mar 2011 B2
7930547 Hao et al. Apr 2011 B2
7941321 Greenstein et al. May 2011 B2
8019709 Norton et al. Sep 2011 B2
8036971 Aymeloglu et al. Oct 2011 B2
8037046 Udezue et al. Oct 2011 B2
8046283 Burns et al. Oct 2011 B2
8054756 Chand et al. Nov 2011 B2
8055633 Whyte Nov 2011 B2
8108878 Pulsipher Jan 2012 B1
8117281 Robinson et al. Feb 2012 B2
8121962 Vaiciulis et al. Feb 2012 B2
8135758 Bradateanu et al. Mar 2012 B2
8150829 Labrou et al. Apr 2012 B2
8214308 Chu Jul 2012 B2
8214490 Vos et al. Jul 2012 B1
8229902 Vishniac et al. Jul 2012 B2
8230332 Summers et al. Jul 2012 B2
8255399 Sokolan et al. Aug 2012 B2
8280883 Hao et al. Oct 2012 B2
8290838 Thakur et al. Oct 2012 B1
8290942 Jones et al. Oct 2012 B2
8290943 Carbone et al. Oct 2012 B2
8302855 Ma et al. Nov 2012 B2
8306986 Routson et al. Nov 2012 B2
8341259 Error Dec 2012 B2
8380719 Chang et al. Feb 2013 B2
8386377 Xiong et al. Feb 2013 B1
8391584 Anderson Mar 2013 B2
8397168 Leacock et al. Mar 2013 B2
8407341 Gillette et al. Mar 2013 B2
8412566 Quatse et al. Apr 2013 B2
8423425 Psota et al. Apr 2013 B2
8473454 Evanitsky et al. Jun 2013 B2
8478709 Tang et al. Jul 2013 B2
8484115 Aymeloglu et al. Jul 2013 B2
8489641 Seefeld et al. Jul 2013 B1
8495151 Bodapati et al. Jul 2013 B2
8554653 Falkenborg et al. Oct 2013 B2
8554709 Goodson et al. Oct 2013 B2
8577911 Stepinski et al. Nov 2013 B1
8583673 Tarek et al. Nov 2013 B2
8584047 Athans Nov 2013 B2
8589273 Creeden et al. Nov 2013 B2
8595058 Fordyce, III et al. Nov 2013 B2
8683344 Falkenberg Mar 2014 B2
8688573 Rukonic et al. Apr 2014 B1
8700414 Rothermel et al. Apr 2014 B2
8707185 Robinson et al. Apr 2014 B2
8712828 Maga et al. Apr 2014 B2
8719249 Bennett et al. May 2014 B2
8719350 Sharma May 2014 B2
8726144 Chidlovskii et al. May 2014 B2
8744890 Bernier et al. Jun 2014 B1
8756224 Dassa et al. Jun 2014 B2
8799799 Cervelli et al. Aug 2014 B1
8806355 Twiss et al. Aug 2014 B2
8812960 Sun et al. Aug 2014 B1
8860754 Mackinlay et al. Oct 2014 B2
8874432 Qi et al. Oct 2014 B2
8924388 Elliot et al. Dec 2014 B2
8924389 Elliot et al. Dec 2014 B2
8938686 Erenrich et al. Jan 2015 B1
8949164 Mohler Feb 2015 B1
8984390 Aymeloglu et al. Mar 2015 B2
9069842 Melby Jun 2015 B2
9100428 Visbal Aug 2015 B1
9111281 Stibel et al. Aug 2015 B2
9128804 Gores Sep 2015 B2
9129219 Robertson et al. Sep 2015 B1
9159095 Smith Oct 2015 B1
9195985 Domenica et al. Nov 2015 B2
9256664 Chakerian et al. Feb 2016 B2
9262401 Shin et al. Feb 2016 B2
9262514 Eckardt, III et al. Feb 2016 B2
9280618 Bruce et al. Mar 2016 B1
9280777 Bilicki et al. Mar 2016 B2
9286373 Elliot et al. Mar 2016 B2
9335911 Elliot et al. May 2016 B1
9576006 Boero et al. Feb 2017 B2
9607092 Kreitler et al. Mar 2017 B2
9767127 Feldschuh Sep 2017 B2
9934477 Hansen Apr 2018 B1
11227344 Thouzeau et al. Jan 2022 B2
20020065708 Senay et al. May 2002 A1
20020095658 Shulman Jul 2002 A1
20020103705 Brady Aug 2002 A1
20020147805 Leshem et al. Oct 2002 A1
20030126102 Borthwick Jul 2003 A1
20030220815 Chang Nov 2003 A1
20040034570 Davis Feb 2004 A1
20040111480 Yue Jun 2004 A1
20040153418 Hanweck Aug 2004 A1
20040236688 Bozeman Nov 2004 A1
20040254820 Ishii Dec 2004 A1
20050010472 Quatse et al. Jan 2005 A1
20050086207 Heuer et al. Apr 2005 A1
20050154628 Eckart et al. Jul 2005 A1
20050154769 Eckart et al. Jul 2005 A1
20050262005 Woolston Nov 2005 A1
20060026120 Carolan et al. Feb 2006 A1
20060026170 Kreitler et al. Feb 2006 A1
20060080283 Shipman Apr 2006 A1
20060106846 Schulz May 2006 A1
20060143034 Rothermel Jun 2006 A1
20060143075 Carr et al. Jun 2006 A1
20060143079 Basak et al. Jun 2006 A1
20060227363 Ogura Oct 2006 A1
20060277487 Poulsen Dec 2006 A1
20070000999 Kubo et al. Jan 2007 A1
20070011034 Jones Jan 2007 A1
20070011304 Error Jan 2007 A1
20070038543 Weinstein Feb 2007 A1
20070038646 Thota Feb 2007 A1
20070150801 Chidlovskii et al. Jun 2007 A1
20070156673 Maga Jul 2007 A1
20070162454 D'Albora et al. Jul 2007 A1
20070185867 Maga et al. Aug 2007 A1
20070192122 Routson et al. Aug 2007 A1
20070234210 Bukovec Oct 2007 A1
20070245300 Chan Oct 2007 A1
20070284433 Domenica et al. Dec 2007 A1
20080065655 Chakravarthy et al. Mar 2008 A1
20080069081 Chand et al. Mar 2008 A1
20080077642 Carbone et al. Mar 2008 A1
20080103996 Forman et al. May 2008 A1
20080208735 Balet et al. Aug 2008 A1
20080222295 Robinson et al. Sep 2008 A1
20080243711 Aymeloglu et al. Oct 2008 A1
20080255973 El Wade et al. Oct 2008 A1
20080267386 Cooper Oct 2008 A1
20080270328 Lafferty et al. Oct 2008 A1
20080294663 Heinley et al. Nov 2008 A1
20080313132 Hao et al. Dec 2008 A1
20090043746 Kanemasa Feb 2009 A1
20090076845 Bellin et al. Mar 2009 A1
20090094166 Aymeloglu et al. Apr 2009 A1
20090094270 Alirez et al. Apr 2009 A1
20090106178 Chu Apr 2009 A1
20090112745 Stefanescu Apr 2009 A1
20090125359 Knapic et al. May 2009 A1
20090125459 Norton et al. May 2009 A1
20090132953 Reed, Jr. et al. May 2009 A1
20090157732 Hao et al. Jun 2009 A1
20090187546 Whyte et al. Jul 2009 A1
20090187548 Ji et al. Jul 2009 A1
20090249244 Robinson et al. Oct 2009 A1
20090254842 Leacock et al. Oct 2009 A1
20090259636 Labrou et al. Oct 2009 A1
20090271343 Vaiciulis et al. Oct 2009 A1
20090307049 Elliott, Jr. et al. Dec 2009 A1
20090313463 Pang et al. Dec 2009 A1
20090319418 Herz Dec 2009 A1
20090319515 Minton et al. Dec 2009 A1
20090319891 MacKinlay Dec 2009 A1
20100030722 Goodson et al. Feb 2010 A1
20100031141 Summers et al. Feb 2010 A1
20100042922 Bradateanu et al. Feb 2010 A1
20100057622 Faith Mar 2010 A1
20100070842 Aymeloglu et al. Mar 2010 A1
20100098318 Anderson Apr 2010 A1
20100106752 Eckardt et al. Apr 2010 A1
20100114887 Conway et al. May 2010 A1
20100131502 Fordham May 2010 A1
20100161735 Sharma Jun 2010 A1
20100191563 Schlaifer et al. Jul 2010 A1
20100211535 Rosenberger Aug 2010 A1
20100235915 Memon et al. Sep 2010 A1
20100262688 Hussain et al. Oct 2010 A1
20100293174 Bennett et al. Nov 2010 A1
20100305994 Gaskell Dec 2010 A1
20100312837 Bodapati et al. Dec 2010 A1
20110040776 Najm et al. Feb 2011 A1
20110061013 Bilicki et al. Mar 2011 A1
20110078173 Seligmann et al. Mar 2011 A1
20110093327 Fordyce, III et al. Apr 2011 A1
20110099133 Chang et al. Apr 2011 A1
20110138292 Falkenberg Jun 2011 A1
20110153384 Horne et al. Jun 2011 A1
20110173093 Psota et al. Jul 2011 A1
20110208565 Ross et al. Aug 2011 A1
20110208724 Jones et al. Aug 2011 A1
20110213655 Henkin et al. Sep 2011 A1
20110218955 Tang et al. Sep 2011 A1
20110225033 Schmeyer Sep 2011 A1
20110270604 Qi et al. Nov 2011 A1
20110270834 Sokolan et al. Nov 2011 A1
20110289397 Eastmond et al. Nov 2011 A1
20110295649 Fine et al. Dec 2011 A1
20110314007 Dassa et al. Dec 2011 A1
20110314024 Chang et al. Dec 2011 A1
20120004904 Shin et al. Jan 2012 A1
20120011238 Rathod Jan 2012 A1
20120011245 Gillette et al. Jan 2012 A1
20120022945 Falkenborg et al. Jan 2012 A1
20120054284 Rakshit Mar 2012 A1
20120059853 Jagota Mar 2012 A1
20120066166 Curbera et al. Mar 2012 A1
20120079363 Folting et al. Mar 2012 A1
20120084117 Tavares et al. Apr 2012 A1
20120084287 Lakshminarayan et al. Apr 2012 A1
20120089606 Eshwar et al. Apr 2012 A1
20120131512 Takeuchi et al. May 2012 A1
20120144335 Abeln et al. Jun 2012 A1
20120158527 Cannelongo et al. Jun 2012 A1
20120159362 Brown et al. Jun 2012 A1
20120173381 Smith Jul 2012 A1
20120215784 King et al. Aug 2012 A1
20120221553 Wittmer et al. Aug 2012 A1
20120226523 Weiss et al. Sep 2012 A1
20120245976 Kumar et al. Sep 2012 A1
20120323888 Osann, Jr. Dec 2012 A1
20130016106 Yip et al. Jan 2013 A1
20130054299 Deshpande Feb 2013 A1
20130054306 Bhalla et al. Feb 2013 A1
20130055145 Antony et al. Feb 2013 A1
20130057551 Ebert et al. Mar 2013 A1
20130096988 Grossman et al. Apr 2013 A1
20130110746 Ahn May 2013 A1
20130151453 Bhanot et al. Jun 2013 A1
20130166348 Scotto Jun 2013 A1
20130166480 Popescu et al. Jun 2013 A1
20130185245 Anderson et al. Jul 2013 A1
20130185307 El-Yaniv et al. Jul 2013 A1
20130218879 Park et al. Aug 2013 A1
20130226318 Procyk et al. Aug 2013 A1
20130238616 Rose et al. Sep 2013 A1
20130246170 Gross et al. Sep 2013 A1
20130246537 Gaddala Sep 2013 A1
20130246597 Iizawa et al. Sep 2013 A1
20130263019 Castellanos et al. Oct 2013 A1
20130268520 Fisher et al. Oct 2013 A1
20130282696 John et al. Oct 2013 A1
20130290825 Arndt et al. Oct 2013 A1
20130297619 Chandrasekaran et al. Nov 2013 A1
20130304770 Boero et al. Nov 2013 A1
20130318604 Coates et al. Nov 2013 A1
20140012796 Petersen et al. Jan 2014 A1
20140040371 Gurevich et al. Feb 2014 A1
20140053091 Hou et al. Feb 2014 A1
20140058914 Song et al. Feb 2014 A1
20140068487 Steiger et al. Mar 2014 A1
20140095509 Patton Apr 2014 A1
20140108380 Gotz et al. Apr 2014 A1
20140108975 Yu Apr 2014 A1
20140108985 Scott et al. Apr 2014 A1
20140123279 Bishop et al. May 2014 A1
20140136285 Carvalho May 2014 A1
20140143009 Brice et al. May 2014 A1
20140156527 Grigg et al. Jun 2014 A1
20140157172 Peery et al. Jun 2014 A1
20140164502 Khodorenko et al. Jun 2014 A1
20140189536 Lange et al. Jul 2014 A1
20140189870 Singla et al. Jul 2014 A1
20140195515 Baker et al. Jul 2014 A1
20140200925 Hawkins Jul 2014 A1
20140222521 Chait Aug 2014 A1
20140222793 Sadkin et al. Aug 2014 A1
20140229554 Grunin et al. Aug 2014 A1
20140280056 Kelly Sep 2014 A1
20140282160 Zarpas Sep 2014 A1
20140330845 Feldschuh Nov 2014 A1
20140344230 Krause et al. Nov 2014 A1
20140358829 Hurwitz Dec 2014 A1
20140366132 Stiansen et al. Dec 2014 A1
20150073929 Psota et al. Mar 2015 A1
20150073954 Braff Mar 2015 A1
20150095773 Gonsalves et al. Apr 2015 A1
20150100897 Sun et al. Apr 2015 A1
20150106170 Bonica Apr 2015 A1
20150106379 Elliot et al. Apr 2015 A1
20150121272 Hamilton Apr 2015 A1
20150134599 Banerjee et al. May 2015 A1
20150135256 Hoy et al. May 2015 A1
20150188872 White Jul 2015 A1
20150242401 Liu Aug 2015 A1
20150278734 Grant Oct 2015 A1
20150338233 Cervelli et al. Nov 2015 A1
20150379413 Robertson et al. Dec 2015 A1
20160004764 Chakerian et al. Jan 2016 A1
20160180557 Yousaf et al. Jun 2016 A1
20160224734 Ryan Aug 2016 A1
20160246271 Shen Aug 2016 A1
20170109217 Raman Apr 2017 A1
20170155557 Desai Jun 2017 A1
20180357552 Campos Dec 2018 A1
Foreign Referenced Citations (14)
Number Date Country
102054015 May 2011 CN
102546446 Jul 2012 CN
103167093 Jun 2013 CN
102014204827 Sep 2014 DE
102014204830 Sep 2014 DE
102014204834 Sep 2014 DE
2487610 Aug 2012 EP
2858018 Apr 2015 EP
2996053 Mar 2016 EP
3035214 Jun 2016 EP
3038002 Jun 2016 EP
3040885 Jul 2016 EP
2005116851 Dec 2005 WO
2012061162 May 2012 WO
Non-Patent Literature Citations (138)
Entry
Cross et al., IP Workflow and Scalable Video Performance , 2015, IEEE, 12 pages. (Year: 2015).
Official Communication for U.S. Appl. No. 14/562,524 dated Sep. 14, 2015.
Official Communication for U.S. Appl. No. 14/571,098 dated Aug. 24, 2015.
Official Communication for U.S. Appl. No. 14/571,098 dated Aug. 5, 2015.
Official Communication for U.S. Appl. No. 14/571,098 dated Feb. 23, 2016.
Official Communication for U.S. Appl. No. 14/571,098 dated Mar. 11, 2015.
Official Communication for U.S. Appl. No. 14/571,098 dated Nov. 10, 2015.
Official Communication for U.S. Appl. No. 14/631,633 dated Sep. 10, 2015.
Official Communication for U.S. Appl. No. 14/676,621 dated Jul. 30, 2015.
Official Communication for U.S. Appl. No. 14/676,621 dated Oct. 29, 2015.
Official Communication for U.S. Appl. No. 14/746,671 dated Nov. 12, 2015.
Official Communication for U.S. Appl. No. 14/800,447 dated Dec. 10, 2015.
Official Communication for U.S. Appl. No. 14/813,749 dated Apr. 8, 2016.
Official Communication for U.S. Appl. No. 14/813,749 dated Sep. 28, 2015.
Official Communication for U.S. Appl. No. 14/842,734 dated Nov. 19, 2015.
Official Communication for U.S. Appl. No. 14/929,584 dated Feb. 4, 2016.
Official Communication for U.S. Appl. No. 14/929,584 dated May 25, 2016.
Official Communication for U.S. Appl. No. 14/463,615 dated Nov. 13, 2014.
Open Web Analytics (OWA), <http://www.openwebanalytics.com/> Printed Jul. 19, 2013 in 5 pages.
Piwik-Free Web Analytics Software. <http://piwik.org/> Printed Jul. 19, 2013 in18 pages.
Psaltis, Andrew G., “Streaming Data—Designing the Real-Time Pipeline,” Jan. 16, 2015, vol. MEAP VO3, pp. 0-12.
Sigrist, et al., “PROSITE, a Protein Domain Database for Functional Characterization and Annotation,” Nucleic Acids Research, 2010, vol. 38, pp. D161-D166.
StatCounter—Free Invisible Web Tracker, Hit Counter and Web Stats, <http://statcounter.com/> Printed Jul. 19, 2013 in 17 pages.
TestFlight—Beta Testing on the Fly, <http://testflightapp.com/> Printed Jul. 18, 2013 in 3 pages.
trak.io, <http://trak.io/> printed Jul. 18, 2013 in 3 pages.
UserMetrix, <http://usermetrix.com/android-analytics> printed Jul. 18, 2013 in 3 pages.
Valentini et al., “Ensembles of Learning Machines”, M. Marinaro and R. Tagliaferri (Eds.): Wirn Vietri 2002, LNCS 2486, pp. 3-20.
Vose et al., “Help File for ModelRisk Version 5,” 2007, Vose Software, pp. 349-353. [Uploaded in 5 Parts].
Wang et al., “Research on a Clustering Data De-Duplication Mechanism Based on Bloom Filter,” IEEE 2010, 5 pages.
Wikipedia, “Mobile Web,” Jan. 23, 2015, retrieved from the internet on Mar. 15, 2016 https://en.wikipedia.org/w/index.php?title=Mobile_Web&oldid=643800164.
Wikipedia, “Multimap,” Jan. 1, 2013, https://en.wikipedia.org/w/index.php?title=Multimap&oldid=530800748.
Windley, “The Live Web: Building Event-Based Connections in the Cloud,” Dec. 21, 2011, pp. 10, 216.
Windley, Phillip J., “The Live Web: Building Event-Based Connections in the Cloud,” Dec. 21, 2011, pp. 10, 216.
Winkler, “Bureau of the Census Statistical Research Division Record Linkage Software and Methods for Merging Administrative Lists,” Statistical Research Report Series No. RR2001/03, Jul. 23, 2001,https://www.census.gov/srd/papers/pdf/rr2001-03.pdf, retrieved on Mar. 9, 2016.
Winkler, William E., “Bureau of the Census Statistical Research Division Record Linkage Software and Methods for Merging Administrative Lists,” Statistical Research Report Series No. RR2001/03, Jul. 23, 2001,https://www.census.gov/srd/papers/pdf/rr2001-03.pdf, retrieved on Mar. 9, 2016.
Hausmann et al., “Detection of Conflicting Function Requirements in a Use Case Drive Approach,” 2023, IEEE, 11 pages.
Non-Final Office Action dated Jun. 8, 2022, issued in related U.S. Appl. No. 17/578,224 (21 pages).
Notice of Allowance mailed Mar. 15, 2023, issued in related U.S. Appl. No. 17/578,224 (22 pages).
“HunchLab: Heat Map and Kernel Density Calculation for Crime Analysis,” Azavea Journal, printed fromwww.azavea.com/blogs/newsletter/v4i4/kernel-density-capabilities-added-to- -hunchlab/ on Sep. 9, 2014, 2 pages.
“HunchLab: Heat Map and Kernel Density Calculation for Crime Analysis,” Azavea Journal, printedfromwww.azavea.com/blogs/newsletter/v4i4/kernel-density-capabilities-adde- d- -hunchlab/ on Sep. 9, 2014, 2 pages.
“Refresh CSS Ellipsis When Resizing Container—Stack Overflow,” Jul. 31, 2013, retrieved from internet http://stackoverflow.com/questions/17964681/refresh-css-ellipsis-when-res- izing-container, retrieved on May 18, 2015.
“SAP BusinessObjects Explorer Online Help,” Mar. 19, 2012, retrieved on Apr. 21, 2016 http://help.sap.com/businessobject/product_guides/boexir4/en/xi4_exp_user- _en.pdf.
Amnet, “5 Great Tools for Visualizing Your Twitter Followers,” posted Aug. 4, 2010, http://www.amnetblog.com/component/content/article/115-5-grate-t- ools-for-visualizing-your-twitter-followers.html.
Appacts, “Smart Thinking for Super Apps,” <http://www.appacts.com> Printed Jul. 18, 2013 in 4 pages.
Apsalar, “Data Powered Mobile Advertising,” “Free Mobile App Analytics” and various analytics related screen shots <http://apsalar.com> Printed Jul. 18, 2013 in 8 pages.
Capptain—Pilot Your Apps, <http://www.capptain.com> Printed Jul. 18, 2013 in 6 pages.
Celik, Tantek, “CSS Basic User Interface Module Level 3 (C553 UI),” Section 8 Resizing and Overflow, Jan. 17, 2012, retrieved from internet http://www.w3.org/TR/2012/WD-css3-ui-20120117/#resizing-amp-overflow retrieved on May 18, 2015.
Chaudhuri et al., “An Overview of Business Intelligence Technology,” Communications of the ACM, Aug. 2011, vol. 54, No. 8.
Cohn, et al., “Semi-supervised clustering with user feedback,” Constrained Clustering: Advances in Algorithms, Theory, and Applications 4.1 (2003): 17-32.
Countly Mobile Analytics, <http://count.ly/> Printed Jul. 18, 2013 in 9 pages.
Distimo-App Analytics, <http://www.distimo.com/app-analytics> Printed Jul. 18, 2013 in 5 pages.
Flurry Analytics, <http://www.flurry.com/> Printed Jul. 18, 2013 in 14 pages.
Gill et al., “Computerised Linking of Medical Records: Methodological Guidelines,”.
Google Analytics Official Website-Web Analytics & Reporting, <http://www.google.com/analytics.index.html> Printed Jul. 18, 2013 in 22 pages.
Gorr et al., “Crime Hot Spot Forecasting: Modeling and Comparative Evaluation”, Grant 98-IJ-CX-K005, May 6, 2002, 37 pages.
Gu et al., “Record Linkage: Current Practice and Future Directions,” Jan. 15, 2004, pp. 32.
Hansen et al., “Analyzing Social Media Networks with NodeXL: Insights from a Connected World”, Chapter 4, pp. 53-67 and Chapter 10, pp. 143-164, published Sep. 2010.
Hua et al., “A Multi-attribute Data Structure with Parallel Bloom Filters for Network Services”, HiPC 2006, LNCS 4297, pp. 277-288, 2006.
Janssen, Jan-Keno, “Wo bist′n du?—Googles Geodienst Latitude,” Jan. 17, 2011, pp. 86-88, retrieved from the internet on Jul. 30, 2015 http://www.heise.de/artikel-archiv/ct/2011/03/086/@00250@/ct.11.03.086-08-8.pdf.
Keylines.com, “An Introduction to KeyLines and Network Visualization,” Mar. 2014, <http://keylines.com/wp-content/uploads/2014/03/KeyLines-White-Paper.p- df> downloaded May 12, 2014 in 8 pages.
Keylines.com, “KeyLines Datasheet,” Mar. 2014, <http://keylines.com/wp-content/uploads/2014/03/KeyLines-datasheet.pd-- -> downloaded May 12, 2014 in 2 pages.
Keylines.com, “KeyLines Datasheet,” Mar. 2014, <http://keylines.com/wp-content/uploads/2014/03/KeyLines-datasheet.pdf- > downloaded May 12, 2014 in 2 pages.
Keylines.com, “Visualizing Threats: Improved Cyber Security Through Network Visualization,” Apr. 2014, <http://keylines.com/wp-content/uploads/2014/04/Visualizing-Threats1.p- df> downloaded May 12, 2014 in 10 pages.
Kontagent Mobile Analytics, <http://www.kontagent.com/> Printed Jul. 18, 2013 in 9 pages.
Localytics—Mobile App Marketing & Analytics, <http://www.localytics.com/> Printed Jul. 18, 2013 in 12 pages.
Manno et al., “Introducing Collaboration in Single-user Applications through the Centralized Control Architecture,” 2010, pp. 10.
Mixpanel—Mobile Analytics, <https://mixpanel.com/> Printed Jul. 18, 2013 in 13 pages.
Notice of Allowance for U.S. Appl. No. 14/225,084 dated May 4, 2015.
Notice of Allowance for U.S. Appl. No. 14/319,161 dated May 4, 2015.
Notice of Allowance for U.S. Appl. No. 14/323,935 dated Oct. 1, 2015.
Notice of Allowance for U.S. Appl. No. 14/479,863 dated Mar. 31, 2015.
Notice of Allowance for U.S. Appl. No. 14/483,527 dated Apr. 29, 2016.
Notice of Allowance for U.S. Appl. No. 14/552,336 dated Nov. 3, 2015.
Notice of Allowance for U.S. Appl. No. 14/746,671 dated Jan. 21, 2016.
Notice of Allowance for U.S. Appl. No. 14/858,647 dated Mar. 4, 2016.
Official Communication for European Patent Application No. 14187996.5 dated Feb. 12, 2015.
Official Communication for European Patent Application No. 14187996.5 dated Feb. 19, 2016.
Official Communication for European Patent Application No. 14191540.5 dated May 27, 2015.
Official Communication for European Patent Application No. 14200246.8 dated May 29, 2015.
Official Communication for European Patent Application No. 14200298.9 dated May 13, 2015.
Official Communication for European Patent Application No. 15181419.1 dated Sep. 29, 2015.
Official Communication for European Patent Application No. 15184764.7 dated Dec. 14, 2015.
Official Communication for European Patent Application No. 15200073.3 dated Mar. 30, 2016.
Official Communication for European Patent Application No. 15201924.6 dated Apr. 25, 2016.
Official Communication for European Patent Application No. 16152984.7 dated Mar. 24, 2016.
Official Communication for Great Britain Patent Application No. 1404486.1 dated Aug. 27, 2014.
Official Communication for Great Britain Patent Application No. 1404486.1 dated May 21, 2015.
Official Communication for Great Britain Patent Application No. 1404489.5 dated Aug. 27, 2014.
Official Communication for Great Britain Patent Application No. 1404489.5 dated May 21, 2015.
Official Communication for Great Britain Patent Application No. 1404489.5 dated Oct. 6, 2014.
Official Communication for Great Britain Patent Application No. 1404499.4 dated Aug. 20, 2014.
Official Communication for Great Britain Patent Application No. 1404499.4 dated Jun. 11, 2015.
Official Communication for Great Britain Patent Application No. 1404499.4 dated Sep. 29, 2014.
Official Communication for Netherlands Patent Application No. 2012417 dated Sep. 18, 2015.
Official Communication for Netherlands Patent Application No. 2012421 dated Sep. 18, 2015.
Official Communication for Netherlands Patent Application No. 2012438 dated Sep. 21, 2015.
Official Communication for New Zealand Patent Application No. 622473 dated Jun. 19, 2014.
Official Communication for New Zealand Patent Application No. 622473 dated Mar. 27, 2014.
Official Communication for New Zealand Patent Application No. 622513 dated Apr. 3, 2014.
Official Communication for New Zealand Patent Application No. 628161 dated Aug. 25, 2014.
Official Communication for U.S. Appl. No. 13/827,491 dated Dec. 1, 2014.
Official Communication for U.S. Appl. No. 13/827,491 dated Jun. 22, 2015.
Official Communication for U.S. Appl. No. 13/827,491 dated Oct. 9, 2015.
Official Communication for U.S. Appl. No. 14/141,252 dated Apr. 14, 2016.
Official Communication for U.S. Appl. No. 14/141,252 dated Oct. 8, 2015.
Official Communication for U.S. Appl. No. 14/225,006 dated Dec. 21, 2015.
Official Communication for U.S. Appl. No. 14/225,006 dated Feb. 27, 2015.
Official Communication for U.S. Appl. No. 14/225,006 dated Sep. 10, 2014.
Official Communication for U.S. Appl. No. 14/225,006 dated Sep. 2, 2015.
Official Communication for U.S. Appl. No. 14/225,084 dated Feb. 20, 2015.
Official Communication for U.S. Appl. No. 14/225,084 dated Feb. 26, 2016.
Official Communication for U.S. Appl. No. 14/225,084 dated Jan. 4, 2016.
Official Communication for U.S. Appl. No. 14/225,084 dated Sep. 11, 2015.
Official Communication for U.S. Appl. No. 14/225,084 dated Sep. 2, 2014.
Official Communication for U.S. Appl. No. 14/225,160 dated Apr. 22, 2016.
Official Communication for U.S. Appl. No. 14/225,160 dated Aug. 12, 2015.
Official Communication for U.S. Appl. No. 14/225,160 dated Feb. 11, 2015.
Official Communication for U.S. Appl. No. 14/225,160 dated Jan. 25, 2016.
Official Communication for U.S. Appl. No. 14/225,160 dated Jul. 29, 2014.
Official Communication for U.S. Appl. No. 14/225,160 dated Jun. 16, 2016.
Official Communication for U.S. Appl. No. 14/225,160 dated May 20, 2015.
Official Communication for U.S. Appl. No. 14/225,160 dated Oct. 22, 2014.
Official Communication for U.S. Appl. No. 14/306,138 dated Dec. 24, 2015.
Official Communication for U.S. Appl. No. 14/306,138 dated Dec. 3, 2015.
Official Communication for U.S. Appl. No. 14/306,147 dated Dec. 24, 2015.
Official Communication for U.S. Appl. No. 14/319,161 dated Jan. 23, 2015.
Official Communication for U.S. Appl. No. 14/319,765 dated Feb. 1, 2016.
Official Communication for U.S. Appl. No. 14/451,221 dated Oct. 21, 2014.
Official Communication for U.S. Appl. No. 14/463,615 dated Dec. 9, 2015.
Official Communication for U.S. Appl. No. 14/463,615 dated Jan. 28, 2015.
Official Communication for U.S. Appl. No. 14/463,615 dated May 21, 2015.
Official Communication for U.S. Appl. No. 14/463,615 dated Sep. 10, 2015.
Official Communication for U.S. Appl. No. 14/479,863 dated Dec. 26, 2014.
Official Communication for U.S. Appl. No. 14/483,527 dated Jan. 28, 2015.
Official Communication for U.S. Appl. No. 14/483,527 dated Jun. 22, 2015.
Official Communication for U.S. Appl. No. 14/483,527 dated Oct. 28, 2015.
Official Communication for U.S. Appl. No. 14/552,336 dated Jul. 20, 2015.
Official Communication for U.S. Appl. No. 14/562,524 dated Nov. 10, 2015.
Related Publications (1)
Number Date Country
20230377062 A1 Nov 2023 US
Provisional Applications (1)
Number Date Country
62421013 Nov 2016 US
Continuations (3)
Number Date Country
Parent 17578224 Jan 2022 US
Child 18228492 US
Parent 16930252 Jul 2020 US
Child 17578224 US
Parent 15459811 Mar 2017 US
Child 16930252 US