Computer-based techniques to support operating and maintaining complex entities
Computer-based techniques using relational data structures and AI automate the generation of maintenance procedures for complex entities like yachts and aircraft, addressing inefficiencies in existing systems by providing scalable and accurate operational support.
Patent Information
- Application Number
- PCT/US2025/013063
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-25
- Filing Date
- 2025-01-25
- Publication Date
- 2025-07-31
AI Technical Summary
Existing systems fail to facilitate the efficient creation of relational data structures that quickly identify relationships and dependencies between components of complex entities, requiring excessive manual inputs and expertise for maintenance procedures, and each entity must be created from scratch, leading to inefficient systems.
Computer-based techniques utilizing relational data structures, digital representations, and artificial intelligence to automate the generation of step-by-step operating and maintenance procedures for complex entities, including yachts and aircraft, by creating a data structure with digital representations and relationships that can be scaled to any complexity level.
Automated generation of accurate and timely operating and maintenance procedures, reducing manual intervention and enhancing the usability and applicability of systems for complex entities.
Smart Images

Figure US2025013063_31072025_PF_FP_ABST
Abstract
Description
COMPUTER-BASED TECHNIQUES TO SUPPORT OPERATING AND MAINTAININGCOMPLEX ENTITIESCROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 625,060 filed on January 25, 2024, and entitled “AUTOMATIC GENERATION OF OPERATING AND MAINTENANCE PROCEDURES FOR PRODUCTS COMPOSED OF DIVERSE INDEPENDENTLY OPERATED EQUIPMENT”, which is hereby incorporated by reference herein, and to U.S. Provisional Patent Application No. 63 / 638,700 filed on April 25, 2024, and entitled “COMPUTER-BASED TECHNIQUES TO SUPPORT OPERATING AND MAINTAINING COMPLEX ENTITIES”, the entire content of which is also being incorporated by reference herein.FIELD OF DISCLOSURE
[0002] This disclosure relates generally to complex entities composed of diverse and independently operated functional components and more particularly to computer-based techniques for operating and maintaining complex entities and the functional components included therein.BRIEF DESCRIPTION OF THE DRAWINGS
[0003] The present disclosure is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements.
[0004] FIGS. 1 A and IB illustrate various aspects of an operating environment for a complex entity manager according to some embodiments of the current disclosure.
[0005] FIG. 2 illustrates various aspects of a complex entity manager according to some embodiments of the current disclosure.
[0006] FIG. 3 illustrates various aspects of an entity data structure according to some embodiments of the current disclosure.
[0007] FIGS. 4A-4G illustrate exemplary GUI views of a user flow for new entity creation according to some embodiments of the current disclosure.
[0008] FIGS. 5 A and 5B illustrate exemplary GUI views of a user flow for querying a procedure according to some embodiments of the current disclosure.
[0009] FIG. 6 illustrates an exemplary GUI view for trouble shooting queries according to some embodiments of the current disclosure.
[0010] FIGS. 7A and 7B illustrate various aspects of entity relationships in an exemplary according to some embodiments of the current disclosure.
[0011] FIG. 8 illustrates exemplary equipment categories according to some embodiments of the current disclosure.
[0012] FIG. 9 illustrates an exemplary process flow for new entity creation according to some embodiments of the current disclosure.
[0013] FIG. 10 illustrates an exemplary process flow for initial procedure set generation according to some embodiments of the current disclosure.
[0014] FIG. 11 illustrates an exemplary process flow for generation of a single procedure according to some embodiments of the current disclosure.
[0015] FIG. 12 illustrates an exemplary process flow for generation of an Al prompt according to some embodiments of the current disclosure.
[0016] FIG. 13 illustrates an exemplary process flow for sending an Al cloud service request according to some embodiments of the current disclosure.
[0017] FIG. 14 illustrates an exemplary process flow for converting an XML response into a checklist according to some embodiments of the current disclosure.
[0018] FIG. 15 illustrates an exemplary code snippets corresponding to relationships for a primary equipment category according to some embodiments of the current disclosure.
[0019] FIG. 16 illustrates an exemplary schema definition according to some embodiments of the current disclosure.
[0020] FIG. 17 illustrates an exemplary Al prompt according to some embodiments of the current disclosure.
[0021] FIG. 18 illustrates an exemplary Al response according to some embodiments of the current disclosure.
[0022] FIGS. 19A-19E illustrate exemplary code snippets corresponding to initial procedure set generation according to some embodiments of the current disclosure.
[0023] FIGS. 20A and 20B illustrate exemplary code snippets corresponding to generation of a single procedure according to some embodiments of the current disclosure.
[0024] FIG. 21 illustrates exemplary aspects of a computing system according to one or more embodiments described hereby.
[0025] FIG. 22 illustrates exemplary aspects of a communications architecture according to one or more embodiments described hereby.DETAILED DESCRIPTION
[0026] Various embodiments are generally directed to computer-based techniques to support operating and maintaining complex entities with a plurality of diverse and independently operated functional components, such as a boat or an airplane. In various embodiments, the computer-based techniques may be implemented in a platform, such as a user device.
[0027] Many challenges face support for operating and maintaining complex entities. For example, existing systems fail to facilitate, either manually or automatically, the creation relational data structures that can be quickly and efficiently traversed to readily identify relationships and dependencies between various components of a complex entity. In another example, existing systems may require excessive manual inputs, research and expertise, such as to determine when and how to perform maintenance procedures. In another example, each entity and functional components of the entity may have to be created from scratch. These and other limitations described hereby can drastically reduce the usability and applicability of systems for operating and maintaining complex entities, contributing to inefficient systems, devices, and techniques with limited capabilities.
[0028] Various embodiments described hereby include computer-based tools and techniques to support operating and maintaining complex entities (also referred to as “entities”) composed of diverse and independently operated functional components (e.g., equipment / devices). For example, the computer-based tools and techniques may be utilized to support operating and maintaining a yacht as well as functional components included in a yacht, such as propulsion systems, steering systems, electrical systems, power generation systems, power storage systems, a power inverters, navigation equipment, communications equipment, desalination systems, stabilization systems, fire suppression systems, heating, ventilation, and air conditioning systems, and water handling systems. As used herein, operating and maintaining an entity may include, or refer to, a multitude of aspects associated with an entity and / or the functional components of the entity, such as configuring, monitoring, controlling, tracking, repairing, operating, maintaining, modifying, servicing, and the like.
[0029] Many of the computer-based tools and techniques disclosed hereby leverage one or more of relational data structures, digital representations, artificial intelligence, and prompt engineering to improve aspects of operating and maintaining complex entities. For example, a data structure with a plurality of digital representations corresponding to one or more entities, functional components, procedures, checklists, settings, preferences, users, logs, and categories may be created with a variety of relationships between the digital representations to assist in operating and maintaining complex entities. In a further example, one or more of the digital representations, attributes of the digital representations, and relationships between the digital representations may be utilized in conjunction with prompt engineering and artificial intelligence (Al) to automate generation of step-by-step procedures for operating or maintaining entities and / or equipment included therein. In another example, the digital representations, attributes of the digital representations, and relationships between the digital representations may be utilized to simplify and / or automate maintenance schedule and / or log generation. In yet another example, the data structure as well as the digital representations and relationships therein are readily scalable and able to support any number of entities of any complexity level.
[0030] In these and other ways, components / techniques described hereby may be utilized to generate a relational data structure, automatically determine accurate, reliable, and relevant information, and populate the relational data structure with the information to support operating and maintaining entities with diverse and independently operated functional components, resulting in several technical effects and advantages over conventional computer technology, including increased capabilities and improved performance. For example, step-by-step operating and maintenance procedures may be automatically generated and stored in a relational data structure in a manner that facilitates ready and timely retrieval. In some examples, the data structure and / or digital representations may include one or more self- referential tables. In one such example, all entity types may be stored in a single table and the table rows may include information defining the table columns. Additional examples will be apparent from the detailed description below.
[0031] In various embodiments, one or more of the aspects, techniques, and / or components described hereby may be implemented in a practical application via one or more computing devices, and thereby provide additional and useful functionality to the one or more computing devices, resulting in more capable, better functioning, and improved computing devices. Forexample, a practical application may include (or improve) the technical process of generating step-by-step operating and maintenance procedures for an entity as well as functional components of the entity. Additional examples will be apparent from the detailed description below. Further, one or more of the aspects, techniques, and / or components described hereby may be utilized to improve the technical fields of and / or technological processes involved in databases, relational datastores, artificial intelligence, prompt engineering, equipment maintenance, and technical procedure generation.
[0032] In several embodiments, components described hereby may provide specific and particular manners to enable automated generation of operating and maintenance procedures. In many embodiments, one or more of the components described hereby may be implemented as a set of rules that improve computer-related technology by allowing a function not previously performable by a computer that enables an improved technological result to be achieved. For example, the function allowed may include one or more of the specific and particular techniques disclosed hereby such as generation of step-by-step operating and maintenance procedures. Additional examples will be apparent from the detailed description below.
[0033] Reference is now made to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. However, the novel embodiments can be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to facilitate a description thereof. The intention is to cover all modifications, equivalents, and alternatives consistent with the claimed subject matter. Aspects of the disclosed embodiments may be described with reference to one or more of the following figures. Some of the figures may include a logic flow and / or a process flow. Although such figures presented herein may include a particular logic or process flow, it can be appreciated that the logic or process flow merely provides an example of how the general functionality as described herein can be implemented. Further, a given logic or process flow does not necessarily have to be executed in the order presented unless otherwise indicated. Moreover, not all acts illustrated in a logic or process flow may be required in some embodiments. In addition, a given logic or process flow may be implemented by a hardware element, a software element executed by a processor, or any combination thereof.
[0034] FIGS. 1 A and IB illustrate various aspects of operating environments for a complex entity manager 106 according to some embodiments. More specifically, FIG. 1A includes an operating environment 100a with a platform 102 communicatively coupled with one or more remote resources 104 and FIG. IB includes an operating environment 100b with a set of platforms 114 including one or more user devices 120a, 120b, 120c (collectively referred to as user devices 122) communicatively coupled via a network 116 to a hosting service 118 that is communicatively coupled to the remote resources 104 via the network 116. In various embodiments, the platform 102 may be an exemplary one of the set of platforms 114 (e.g., user device 120a). The platform 102 implements a complex entity manager 106 configured to leverage one or more of relational data structures, digital representations, artificial intelligence, and prompt engineering to improve aspects of operating and maintaining complex entities. It will be appreciated that one or more components of FIGS. 1A and / or IB may be the same or similar to one or more other components disclosed herein. For example, platform 102 may be the same or similar to complex entity manager 106. Further, aspects discussed with respect to various components in FIGS. 1A and / or IB may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. Embodiments are not limited in this context.
[0035] Referring to FIG. 1A, the platform 102 may include the complex entity manager 106, one or more interfaces 108, a processing device 110, and a memory 112. In various embodiments, the platform 102 may include a user device, such as a subscriber to the complex entity manager 106. The interfaces 108 may include a network interface utilized to communicatively couple the platform 102 with the one or more remote resources 104. In various embodiments, the remote resources 104 may include one or more artificial intelligence (Al) models utilized by the complex entity manager 106 to perform various operations described hereby. For example, the remote resources 104 may host one or more generative Al model execution services. In many embodiments, multiple platforms may utilize the remote resources 104 to generate operating and maintenance procedures simultaneously. In some embodiments, the one or more Al models utilized by the complex entity manager 106 may simply be referred to as Al. The complex entity manager 106 may generate prompts, such as based on entity data structures, contextual data, and / or configuration data, that are passed to the remote resources. In response, the remote resources may generate responses based on the prompts that are returned to the complex entity manager 106. For example, a prompt may begenerated to cause an Al model in the remote resources 104 to generate a procedure for a maintenance task corresponding to a complex entity.
[0036] Some advantageous features facilitated by the complex entity manager 106 may include one or more of the following. These features are described in more detail below, such as with respect to subsequent Figures.
[0037] User-initiated, automated, context-sensitive procedure creation leveraging generative Al large language models, including prompt science that directs A. I. cloud services to output may result in a form suitable for automatic translation into an entity data structure (e.g., object model), which may be used to store the procedures in a relational database and subsequently serve up for repeated offline execution, tracking, and journaling. The entity data structure is described in more detail below, such as with respect to FIG. 3 and FIGS. 7A-7B.
[0038] Techniques of this disclosure may implement a high degree of automation, leveraging Al cloud services, to keep operating and maintenance procedures up to date with minimal manual intervention.
[0039] Automated initial generation of procedures, leveraging the metadata (e.g., contextual data) and the mechanisms described hereby, which creates a starter set of procedures based on an entity’s specific complement of equipment.
[0040] User-initiated, context-sensitive troubleshooting assistance leveraging generative A. I. large language models may be supported. An entity cloning feature, which enables brokers and manufacturers to easily define complete sets of entity-specific operating and maintenance procedures for an entire product line may be supported. Multiple entities, such as of a given class, may be supported simultaneously in a single embodiment, and separate metadata, procedure sets, logs, and data management may be maintained for each. A complete configuration, including entities, equipment, and procedures, may be exported to cloud storage or other external storage, and shared with other authorized personnel.
[0041] It should be noted that various components may be described and illustrated as separate for simplicity or clarity of description, however, one or more of these components may be combined or shared without departing from the scope of this disclosure. For example, although a single processing device 110 and a single memory 112 are depicted in platform 102 for simplicity, other embodiments may include multiple processing devices, storage devices, or devices. Further, the processing device 110 and / or memory 112 may be utilized to implement components of platform 102, such as complex entity manager 106. For example, instructions toimplement complex entity manager 106 may be stored in memory 112 and executed by processing device 110. The processing device 110 and / or other processing devices may include a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, a controller, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. In many embodiments, the processing device 110 and / or other processing devices may also include one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, a system on chip (SOC), a micro controller, or the like.
[0042] Referring to FIG. IB, the set of platforms 114 include user devices 120. In various embodiments, each of the user devices 120 may include a platform that is the same or similar to platform 102. More generally, each of the user devices 120 may implement an instance of the complex entity manager 106. Further, as shown in FIG. IB, in various embodiments, each of the platforms 114 may be communicatively coupled to the remote resources 104 via a hosting service 118. The hosting service 118 may include a load balancer 122 and a web service 124. The load balancer 122 may be utilized to instantiate instances of the web service 124 or components thereof based on the data traffic generated by the platforms 1 14. As described in more detail below, the hosting service 118 may be utilized for embodiments in which the complex entity manager 106 cannot redistribute Al model keys. In some embodiments, the hosting service 118 may include a cloud hosting service. The platforms 1 14 may be communicatively coupled to the hosting service 118 via network 116 and the hosting service 118 may be communicatively coupled to the remote resources 104 via the network 116. The remote resources 104 may include a generative Al model 130, such as a large language model.
[0043] The web service 124 may be utilized for embodiments in which the complex entity manager 106 cannot redistribute Al model keys. In such embodiments, the web service 124 provides an intermediate web service that facilitates use of a single model key that can be used for all Al based procedure generation calls. To facilitate this one or more of the Al model key, Al model key name, Al model Id, and the Al and service URL may be stored at the web service 124.
[0044] The web service 124, which is scalable and load-balanced (e.g., via load balancer 122), may run in a data center of the hosting service 118. In some embodiments, the web service 124may include a restful web service. In various embodiments, the web service 124 may include an authenticator 126 and a prompt manager 128. The authenticator 126 may operate to authenticate users, verify user subscription for Al services. The prompt manager 128 may be utilized to add credentials and model identifiers to generated prompts received from the platforms 114. The prompt manager 128 may provide prompts to the generative Al model 130 by calling an API web service endpoint. Further, the prompt manager 128 may relay responses from the generative Al model 130 to the corresponding platform. In various embodiments, the generative Al model 130 may include a large language model and / or a pretrained-transformer model.
[0045] Accordingly, in various embodiments, the web service 124 may first validate the user’s credentials and then validate if the user is authorized to access Al services. If the user is authorized, the web service 124 completes the Al prompt that was passed to it by filling in the target model identifier. The web service 124 may then call the API web service endpoint of the generative Al model 130 and wait for a response. The raw response is relayed back to the calling platform, which further processes the response and persists the results. In many embodiments, the responses, or data derived from the responses may be locally stored by the platforms 114 so that the data (e.g., procedures) remain accessible when no network connection is available. In many such embodiments, this may occur so that a network connection may only be required during initial configuration or configuration updates. For embodiments in which Al model keys can be redistributed one or more operations of the web service 124 may be performed by each platform 102. In such embodiments, the Al model key, Al model key name, Al model Id, and the Al and service URL may be stored locally on the platform.
[0046] FIG. 2 illustrates various aspects of a complex entity manager 202 according to some embodiments. The complex entity manager 202 may include a configuration manager 204, a data controller 206, a prompt generator 208, a procedure handler 210, a query manager 212, a logger 214, and a datastore 216. The datastore 216 may include entity data structure 218, configuration data 220, procedure data 222, and log data 224. In various embodiments, the components of complex entity manager 202 may interoperate to provide new and useful functionality to support operating and maintaining complex entities in a customized, accurate, reliable, and efficient manner. For example, complex entity manager 202 may automate the generation of operating and maintenance procedures for each entity added to the system as well as equipment included in or added to each entity. In another example, complex entitymanager 202 may automatically generate a procedure, when requested by a user, for performing a specified task. In yet another example, complex entity manager 202 add equipment-specific context to user-initiated A. I. queries for troubleshooting or information. It will be appreciated that one or more components of FIG. 2 may be the same or similar to one or more other components disclosed herein. For example, complex entity manager 202 may be the same or similar to complex entity manager 106. Further, aspects discussed with respect to various components in FIG. 2 may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. For example, datastore 216 may be located in memory 112 without departing from the scope of this disclosure. Embodiments are not limited in this context.
[0047] The components of complex entity manager 202 may interoperate to create and / or utilize relational data structures, digital representations, artificial intelligence, and prompt engineering to improve aspects of operating and maintaining complex entities and facilitate the techniques disclosed hereby. For example, a data structure (e g., entity data structure 218) with a plurality of digital representations corresponding to one or more entities, functional components (e.g., equipment), procedures, checklists, settings, preferences, users, logs, and categories may be created with a variety of relationships between the digital representations to assist in operating and maintaining complex entities. In a further example, one or more of the digital representations, attributes of the digital representations, and relationships between the digital representations may be utilized in conjunction with prompt engineering and Al to automate generation of step-by-step procedures for operating or maintaining entities and / or equipment included therein. In another example, the digital representations, attributes of the digital representations, and relationships between the digital representations may be utilized to simplify and / or automate maintenance schedule and / or log generation. In yet another example, the data structure as well as the digital representations and relationships therein are readily scalable and able to support any number of entities of any complexity level. Each of the illustrated components of complex entity manager 202 will now be described in more detail below. However, it will be appreciated that these components are exemplary and utilized to facilitate description of the techniques disclosed hereby. Accordingly, other components and / or divisions of functionalities may be utilized without departing from the scope of the disclosure.
[0048] The configuration manager 204 may generally operate to configure and coordinate operation of the complex entity manager 202. In various embodiments, the configurationmanager 204 may implement user interfaces for various techniques described hereby, such as user flows to create entities and configure the entities. For example, the configuration manager 204 may cause a user device to display a GUI (see e.g., FIGS. 4A-6) utilized to determine data regarding entities, present procedures, facilitate trouble shooting, and the like. In various embodiments, the configuration manager 204 may coordinate and / or direct operations of other components of the complex entity manager 202. For example, in response to receiving data regarding an entity and / or equipment included in the entity (e.g., based on user input), the configuration manager 204 may pass the data to data controller 206 for generation of the entity data structure 218. In another example, the configuration manager 204 may cause prompt generator 208 to generate an Al prompt based on user input, entity data structure 218, and / or configuration data 220. Further, the configuration manager 204 may cause the prompt to be communicated to a remote resource. Still further, the configuration manager 204 may cause procedure handler 210 to generate procedure data 222 based on the response to the prompt generated by the remote resources. In another example, the configuration manager 204 may cause query manager to collect contextual data, such as from entity data structure 218, regarding a query provided via user input. In some embodiments, the configuration manager 204 may process user input before providing it to other components, such as by reformatting, translating, or parsing data.
[0049] The data controller 206 may be responsible for maintaining, storing, indexing, updating, and / or configuring datastore 216. For example, data controller 206 may update entity data structure 218 based on input data received from configuration manager 204, such as in response to equipment being added to or replaced on the entity. The prompt generator 208 may be responsible for generating one or more Al prompts described hereby (see e.g., FIG. 17) . In various embodiments, the prompt generator 208 may utilize entity data structure 218 and / or configuration data 220 to create prompts. The procedure handler 210 may be responsible for translating response data (see e.g., FIG. 18) returned to the complex entity manager 202 based on a prompt into procedure data 222. The query manager 212 may identify relevant contextual data, such as from entity data structure 218, to provide to prompt generator 208 for generation of a prompt, such as based on a query received via configuration manager 204 as user input. The logger 214 may generate logs based on operations performed by the complex entity manager 202. In various embodiments, the logs may be stored in datastore 216 as log data 224.
[0050] The datastore 216 may include one or more entity data structure 218, configuration data 220, procedure data 222, and log data 224. The entity data structure 218 will be described in more detail with respect to FIG. 3 and FIGS. 7A and 7B. The configuration data 220 may include various information utilized to facilitate operation of the complex entity manager 202. For example, configuration data 220 may include a listing of equipment categories (see e.g., FIG. 8) and / or a schema definition (see e.g., FIG. 16). In another example, configuration data 220 may include one or more of an Al model key, Al model key name, Al model ID, and the Al and service URL. In yet another example, configuration data 220 may include user credentials and / or settings of the complex entity manager 202. In various embodiments, the procedure data 222 may include checklists and / or step-by-step instructions for operating or maintaining complex entities. In various such embodiments, the entity data structure 218 may include pointers to relevant portion of the procedure data 222. Additional functionalities of the various components of complex entity manager 202 are provided below.
[0051] In various embodiments, the complex entity manager 202 may determine data comprising a device associated with an entity (e.g., equipment included in the entity) and metadata comprising a model of the device and an equipment category of the device (see e.g., FIG. 4D). In some embodiments, this operation may be performed by configuration manager 204. In various embodiments, the metadata may include or refer to one or more attributes of the device.
[0052] An equipment digital representation associated with the device may be generated in a data structure corresponding to the entity (e.g., entity data structure) based on the data and the metadata. Further, the equipment digital representation may include a first attribute indicating the model and a second attribute indicating the equipment category (see e.g., FIG. 7A). Further, a relationship between the equipment digital representation and an entity digital representation associated with the entity may be created (see e.g., FIG. 7A). Furthermore, the entity digital representation may include a first attribute indicating a brand of the entity and a second attribute indicating a year the entity was created. In some embodiments, these operations may be performed by data controller 206.
[0053] In various embodiments, a procedure title of a procedure associated with the device may be identified based on the equipment category. In one embodiment, this may be performed by data controller 206. In several embodiments, an input prompt for an artificial intelligence model may be generated based on the entity digital representation and the equipment digitalrepresentation. In several such embodiments, the input prompt may include the brand of the entity, the year the entity was created, the model of the device, the procedure title, template text requesting a set of instructions to perform the procedure, and an output schema corresponding to the data structure (see e.g., FIG. 17). In some embodiments, these operations may be performed by prompt generator 208.
[0054] In many embodiments, the input prompt to the artificial intelligence model to determine the set of instructions to perform the procedure on the device (see e.g., FIG. 18). In many such embodiments, output generated by the artificial intelligence model may be identified in response to providing the input prompt. In one embodiment, these operations may be performed by configuration manager 204.
[0055] In some embodiments, a checklist digital representation may be generated in the data structure corresponding to the entity. In some such embodiments, the checklist digital representation may include a first attribute indicating the procedure title. In various embodiments, these operations may be performed by data controller 206.
[0056] In several embodiments, each step in the set of instructions to perform the procedure from the output may be automatically extracted based on the output schema corresponding to the data structure. In one embodiment, this operation may be performed by procedure handler 210.
[0057] In many embodiments, a checklist item digital representation for each step in the set of instructions may be created in the data structure corresponding to the entity. In many such embodiments, each checklist item digital representation may be related to the checklist digital representation and include a first attribute indicating a position in the set of instructions to perform the procedure. In some embodiments, these operations may be performed by data controller 206.
[0058] In various embodiments, a relationship between the checklist digital representation, the equipment digital representation, and the entity digital representation may be created, in the data structure corresponding to the entity. In various such embodiments, this operation may be performed by data controller 206. In many embodiments, a graphical user interface on a user device comprising the set of instructions to perform the procedure may be generated. In many such embodiments, this operation may be performed by configuration manager 204.
[0059] In some embodiments, the checklist object may include a second attribute indicating a secondary device associated with performance of the procedure, the input prompt may includethe secondary device, and the set of instructions to perform the procedure may utilize the secondary device. In some such embodiments, the device may include an engine, the procedure may include an oil change, and the secondary device may include an oil change system.
[0060] In several embodiments, the entity may include at least one of a recreational vehicle, an aircraft, and a boat. In various embodiments, the device may include at least one of a propulsion system, an electrical power generation system, a power storage system, a power inverter, navigation equipment, communications equipment, a desalination system, a stabilization system, a fire suppression system, a heating, ventilation, and air conditioning system, or a water handling system.
[0061] In many embodiments, the data structure may be persisted into computer memory for offline access. In many such embodiments, the data structure corresponding to the entity may be persisted into a relational database. In one embodiment these operations may be performed by data controller 206. In some embodiments, the data structure corresponding to the entity may be exported into cloud storage, such as by configuration manager 204. In various embodiments, the output schema corresponding to the data structure may include an extensible markup language schema definition (XSD).
[0062] In several embodiments, providing the input prompt to the artificial intelligence model to determine the set of instructions to perform the procedure may include creating a request data instance comprising a model field, a role field, and a content field, generating a web service request based on the request data instance, and posting the web service request. In several such embodiments, the model field is populated with a model identifier associated with the artificial intelligence model, the role field is populated with user, and the content field is populated with the input prompt. In some embodiments, generating the web service request comprises creating an HTTP client, serializing the request data instance and creating an authentication header and populating a bearer name / value pair of the authentication header with the model identifier. In some embodiments, these operations may be performed by configuration manager 204.
[0063] In various embodiments, procedure execution history is automatically created and maintained. In various such embodiments, this operation is performed by the logger 214. In some embodiments, the procedure execution history can be viewed in a graphical user interface. In some such embodiments, this operation is performed by configuration manager 204. In many embodiments, the procedure execution history is managed and can be backed upto local secondary storage, remote secondary storage, or cloud storage. In some embodiments, the procedure execution history is organized in log books. In some such embodiments, the log book entries may be made via the graphical user interface independent of procedure execution. In various embodiments, the log books may include a general log book, a maintenance log book, and user-created voyage log books (different log books for operations and for maintenance). In some embodiments, you can enter numerical numbers (e.g., equipment operational parameters, threshold values), diagnose / identify issues, and / or generate alerts, such as in checklist or procedure steps. In various embodiments, the log books can be translated to PDF format and printed.
[0064] In some embodiments, procedure execution history including numeric values are analyzed for trends, and in which the trends are viewable in via the graphical user interface. In many embodiments, procedure execution history including numeric values are optionally assigned threshold values, and in which threshold violations generate alerts, and which alerts can be viewed via the graphical user interface. In various embodiments, emails or text messages to interested parties (e.g., the user) in response to or in conjunction with the alerts.
[0065] In some embodiments, the log books that have been archived to remote storage may be viewed remotely via the graphical user interface. In various embodiments, user-written notes may be associated with each procedure step and be viewable via the GUI. In several embodiments, the procedure execution history can be searched and filtered, and results displayed and printed. In some embodiments, telemetry data such as a current position course and speed may be automatically recorded with procedure execution and log book entries. Some embodiments may scrape web sockets (broadcast system that communicates telemetry data periodically - includes AIS data (data on other ships)) to grab navigational data from chart plotter (maybe wireless), can also add to history. Various embodiments may be coupled to a GPS or receive GPS data.
[0066] In many embodiments, configured entities, including all associated artifacts (e.g., data), may be backed up with a single operation, or restored with a single operation. In some embodiments, an entity may be cloned for the purposes of more easily creating a new entity that is similar, but not identical, to the original entity. In several embodiments, entities may be customized by users with user-selected images and text, and which customizations are displayed in the graphical user interface. In one or more embodiments, contact information of personnel and / or companies associated with the entity (e.g., vendors or dealers) can beassociated with the entity and searched and displayed in the graphical user interface. In some embodiments, multiple entities may be managed simultaneously.
[0067] In various embodiments, Al may be utilized for information or troubleshooting purposes, such as by allowing the user to enter questions via the graphical user interface. In several embodiments, the system may add context, related to the currently active entity, to the query and forwards it to the Al model. In several such embodiments, the response from the Al model may be displayed in the graphical user interface for viewing by the user. In one embodiment, user input may be provided to cut and paste the Al query result into another application, such as email and a word processor.
[0068] FIG. 3 illustrates various aspects of an entity data structure 302 according to some embodiments. The entity data structure 302 may include one or more digital representations 304a, 304b, 304c and one or more relationships 308 therebetween. Additionally, each of the digital representations include one or more attributes 306a, 306b, 306c, respectively. The components of FIG. 3 may be utilized to implement one or more techniques to support operating and maintaining complex entities described hereby. It will be appreciated that one or more components of FIG. 3 may be the same or similar to one or more other components disclosed herein. For example, entity data structure 302 may be the same or similar to entity data structure 218 and / or entity data structure 702. Further, aspects discussed with respect to various components in FIG. 3 may be implemented by one or more other components from one or more other embodiments without departing from the scope of this disclosure. Embodiments are not limited in this context.
[0069] The entity data structure 302 may support, facilitate, or utilize various metadata taxonomies, including one or more of the following.
[0070] In some embodiments, categorization of the equipment domain of an embodiment’s supported class of entity may be utilized. The entity-specific equipment category set may be predefined. However, it may be extended, such as via configuration manager 204 as the state of the art of an entity class evolves. In some embodiments, an entity’s equipment category set is static and the set is installed with an embodiment and does not require user configuration. An example list of equipment categories for the yacht entity class is provided in FIG. 8.
[0071] In various embodiments, pre-defined sets of task descriptors, hereafter referred to as procedure titles, may be utilized. Procedure titles may describe the initial set of operating andmaintenance tasks associated with each equipment category. Note that these include titles rather than the detailed step-by-step procedures that guide the completion of a task. Like entityspecific equipment categories, in many embodiments, procedure titles are known in advance and are included in an embodiment without the need for user configuration.
[0072] In several embodiments, for each procedure title, a list of zero or more secondary equipment categories may be utilized. Secondary equipment categories may specify additional equipment which, if present, participate in an Al-generated step-by-step procedure. For example, if a procedure title is “Main Engine Oil and Filter Service,” and its secondary equipment category list includes “Oil Change system,” and if this secondary category has been configured with actual equipment such as “Reverse GP-3010 oil change pump and manifold,” then the generated procedure will include step by step instructions for how to change the main engine oil using the Reverso GP-3010 oil change system. If an oil change system has not been configured for the yacht in this example, the equipment categories, procedure titles, and secondary equipment lists would not change, but the generated step by step procedure would describe how to change the main engine oil without the use of an oil change system. An example procedure title and its relationship to primary and secondary equipment categories is included in FIG. 15.
[0073] In many embodiments, an XML schema definition may be utilized. A schema definition is utilized for prompt science / engineering of the techniques described hereby. The schema definition may direct the generative Al model to format the step-by-step procedures output by the model in a machine-readable format which directly translates into the data structure or object model disclosed hereby. This may enable utilization of the procedures in the data services, persistence, business logic, and user interface layers with minimal transformation. Once generated, procedures may be available to use without the need for an internet connection. An example schema definition is provided in FIG. 16.
[0074] In various embodiments, an Al cloud service may execute generative large language models utilized by the techniques disclosed hereby. In various embodiments, the techniques of this disclosure utilize the metadata taxonomy and prompt science described above to automate its interactions with a generative Al cloud service, which in turn generates context-specific procedures. The specific Al service APIs utilized may vary from embodiment to embodiment.
[0075] In some embodiments, automation described hereby may be facilitated by the metadata taxonomy and the inclusion of the schema definition within the Al request prompt. In manyembodiments, the end user may only need to enter the make and model of each piece of equipment (one time only) and the procedure set is generated (see e.g., FIG. 10 - FIG. 19E. Aspects of the metadata taxonomies and the entity data structure 302 are described in more detail with respect to FIGS. 7A and 7B.
[0076] In various embodiments, components of this disclosure are designed to be part of a larger software system. For clarity, the containing system is described only to the degree necessary to provide context for the disclosure.
[0077] In the remaining description, for the purposes of explanation, yachts are used to illustrate a class of entity whose operators would benefit from this disclosure. However, operators of other entities, such as recreational vehicles, aircraft, or any entity composed of multiple mechanical and electrical components requiring individual operation and maintenance, would benefit as will be apparent from this disclosure.
[0078] The description provides example embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, it will provide those skilled in the art with an enabling description for implementing the techniques disclosed hereby.
[0079] Yachts belong to a class of products that are composed of multiple mechanical and electrical systems which require individual operation and maintenance. Adherence to specific procedures may be necessary for the safe and efficient operation and maintenance of these systems. Yachts are relatively long-lived assets, partially due to the considerable investment involved, and most remain in service for multiple decades. However, the lifetimes of most onboard equipment span only a few years at best. For this reason, the set of procedures used to operate and maintain a vessel may continually change over time, and any comprehensive set of procedures provided by the yacht manufacturer at delivery time quickly becomes obsolete. This obsolescence is compounded by the pace of innovation within the marine industry. Given that yacht owners generally fall into upper income categories, and that many wish to maintain their vessels to an “as-new” standard, owners typically replace equipment before their lifetimes have expired. This frequent turnover of equipment over time particularly affects brokerage (preowned) yachts, which make up a substantial portion of yacht sales.
[0080] The diversity of equipment requiring operation and maintenance is extensive and can be illustrated by considering the equipment typically found aboard a cruising motor yacht in the 20-meter overall length range. Such a yacht’s complement of equipment is collectively designed to enable independent onboard living in remote areas of the world where resources arescarce. Although a 20-meter yacht is used for illustrative purposes, the techniques disclosed hereby may be applied to all watercraft, regardless of age. For example, the equipment aboard a 20-meter vessel may include: a propulsion system, often consisting of two inboard marine diesel engines; electrical power generation systems consisting of one or two marine diesel generators that produce high voltage AC power, solar panels with solar charge controller, power storage battery banks, DC to AC power inverters, and DC power systems that power navigation equipment, communications equipment, and DC lighting; reverse osmosis desalination system that makes fresh water from seawater, along with low and high pressure pumps, filters, plumbing, and electronic controls; potable water storage and delivery systems including pressure water pumps and filters, storage tanks, water heater, plumbing and controls; marine air conditioning systems with seawater cooling pumps, compressors, and air handlers; power steering system with hydraulic power pack, electronic controls, and feedback systems; stabilization system, consisting of hydraulically operated fins or gyro stabilizers; ground tackle, including anchors and AC or DC powered anchor windlasses; navigation electronics, consisting of multi-function displays, radar, GPS units, AIS collision avoidance system, high definition sonar, VHF and SSB radios, and autopilot with electronic heading sensors and rudder feedback; automatic fire suppression system; safety equipment consisting of SOLAS approved life raft with automatic deployment system, marine flotation devices with personal locator beacons, EPIRB’s (emergency position indicating radio beacons), ditch bag with emergency provisions and equipment, first aid kits, and handheld fire extinguishers; sanitation system, consisting of marine sanitary devices (toilets), black water treatment and storage systems (various types), and grey water handling system; galley appliances (various); and entertainment systems, to name a few. FIG. 8 illustrates a more comprehensive example list of equipment categories for yachts. For these and other reasons, yachts are a complex entity with unique and challenging operational and maintenance requirements.
[0081] Accordingly, the techniques disclosed hereby may include a complex entity manager configured to provide new and useful functionalities for maintaining complex entities, such as yachts. For example, the complex entity manager may provide one or more of the following.
[0082] In various embodiments, the complex entity manager may automate the generation of an initial set of step-by-step operating and maintenance procedures for each entity (e.g., individual yacht) added to the system. In various such embodiments, different versions of the complex entity manager may be utilized for different classes of entities (e.g., yachts, recreationvehicles, etc.). Further, a version may operate on a specific class of entity yet can manage multiple instances of that entity type (e.g., in an embodiment that supports yachts, multiple individual yachts may be managed by the embodiment).
[0083] In several embodiments, the complex entity manager may automate the generation of an initial set of operating and maintenance procedures for each new piece of equipment added to an existing entity (yacht), thus keeping the complete set of procedures up to date. In some embodiments, the complex entity manager may automatically generates a new procedure, such as when requested by a user, for performing a specified task. In several embodiments, one or more of these features may result in step-by-step procedures that are persisted and managed. Once created, procedures may be used repeatedly, without the need for an internet connection, and their usage is recorded and tracked by the system. The ability to execute procedures offline is an important requirement of many implementations, as is the ability to track and report the results of multiple executions of a single procedure.
[0084] Many embodiments may add equipment-specific context to user-initiated Al queries for troubleshooting or obtaining information. This context improves the accuracy of the responses given by the Al. In various embodiments, troubleshooting represents an additional useful way to leverage the equipment-context metadata maintained by the disclosure. Further, the techniques of this disclosure can remove the need for users to know in advance which operating procedures and maintenance procedures must be generated, which can be a lengthy list. For example, techniques of this disclosure can maintain this information and automatically generate the appropriate procedures when a new boat and its equipment are added by the user.
[0085] Yacht owners and operators may benefit from the disclosure by having the complete set of operating and DIY maintenance procedures readily available and kept up to date, and by enabling easy adherence to the procedures through assisted execution, tracking, and reporting.
[0086] In addition to effective maintenance of the yacht by its primary owners and operators, the techniques of this disclosure may assist any temporary captain or crew, such as charter crews or crews used to deliver a yacht to cruising destinations, to understand the current state of maintenance of the yacht’s various systems, and to continue the proper operation and maintenance of her equipment, which may be unfamiliar to the temporary crew. Further, family members and friends wishing to stay aboard the yacht or to operate it without the owner present would similarly benefit from this disclosure.
[0087] Yachts often travel to off-grid locations where reliance on internet or telephone communications are impossible or impractical. The disclosure addresses this fact by managing the execution of operating and maintenance procedures without requiring an internet connection. In some embodiments, the techniques of this disclosure may only require an internet connection during the one-time configuration of a new piece of equipment.
[0088] Existing systems do not address may benefits of this disclosure, such as automating the creation and maintenance of the procedures governing the safe and efficient operation of the vessel in an accurate, reliable, and cost effective manner. For example, real-time yacht monitoring and management systems are complex and costly and are focused almost exclusively on the superyacht segment. They require professional installation of specialized equipment, including networked displays, processing hardware, and sensors, to provide realtime monitoring and control of tanks levels, bilge pumps, engines, generators, and other equipment. Some also require custom software development, and the maintenance of these systems requires professional services engagements. Many include software modules that assist with topics such as crew sourcing and logistics or refit project management. The software and infrastructure required by such systems make it impractical or impossible to utilize them on many complex entities. For example, the electrical system of a yacht may be incapable of supporting such systems. In contrast, the embodiments of the disclosure may be deployed and operate on a mobile device.
[0089] Further, many aspects of the disclosure focus on maintenance tasks within the capabilities of the onboard crew or owner-operator. In contrast, superyacht management systems include comprehensive maintenance schedules that include tasks requiring professional technicians and facilities with special tooling. For example, replacing and upgrading of equipment over time, requires the system to be specially modified. Other existing systems require manual resources and expertise for the creation and maintenance of the procedures is a manual process. Unlike the techniques of this disclosure, these apps require each procedure and procedure step to be authored by the end user and entered by hand, making the process of configuration impractical for all but the simplest of watercraft.
[0090] In the figures included herein, text strings may be shown as US English literals for readability. Embodiments employing standard internationalization and localization techniques will support multiple cultures and languages. In internationalized embodiments, text strings should be read from localized resource files rather than hard coded.
[0091] In various embodiments, operation of one or more techniques in this disclosure may be initiated by the actions described and illustrated below with respect to FIGS. 4A-6, which include adding a new entity, adding new equipment, user defined Al procedures, and support for trouble shooting and / or querying for answers.
[0092] Note FIGS. 4A-6 correspond to the specific user interactions of only one of many possible embodiments. Other embodiments may pertain to any entity composed of multiple mechanical and electrical components requiring individual operation and maintenance. Such entities may include, but are not limited to, high end recreational vehicles, commercial vessels, and woodworking shops to name a few. Although yachts are used as an example for illustrative purposes, their use is not intended to limit the scope, applicability, or configuration of the disclosure.
[0093] FIGS. 4A-4G illustrate exemplary GUI views 402, 404, 406, 408, 410, 412 of a user flow for new entity creation according to some embodiments. Embodiments are not limited in this context. When a new boat (entity) is added to the system and its equipment configured, generative A. I. large language models are used to automatically create the operating and maintenance procedures for the equipment installed in the vessel. The initial procedure set may be automatically created without the user needing to know which procedures to generate. Embodiments are not limited in this context.
[0094] In the example embodiment of GUI view 402, the user goes to a configuration page, selects New Boat. Then GUI view 404 is generated to solicit user input to fill in the basic details about the entity. The user may then tap next.
[0095] After tapping Next, the equipment categories page may be displayed and the user may select the equipment categories included by the entity, as shown in GUI view 406. The equipment categories page may include a variety of predefined equipment categories (see e.g., FIG. 8) In the illustrated embodiment, the main engine and built-in oil change system equipment categories are selected. Once the equipment categories are selected, the user may tap Next to configure equipment belonging to each selected category.
[0096] Referring to FIG. 4D, GUI view 408 illustrates a configuration page for the built-in oil change system equipment category. Once all selected categories have had equipment configured, techniques of this disclosure may generate the initial set of procedures for the equipment, which involves the automated building of context-specific A. I. request prompts by combining and transforming user-entered and specified contextual data, as will be described inmore detail below. In various embodiments, the prompts also include an output format specification in the form of an XML schema definition (see e.g., FIG. 16).
[0097] After configuring the last piece of equipment, the user taps Next, to complete configuration of the boat, as shown in GUI view 410. The complex entity may then automatically generate the procedures. An exemplary procedure is shown in GUI view 412. A quick check of the list of procedures verifies that procedure generation was successful. In various embodiments, the process flow 902, process flow 1002, process flow 1102, process flow 1202, process flow 1302, and process flow 1402 of FIGS. 9-12 illustrate operations and processes that occur as part of advancing through the GUI views of FIGS. 4A-4F.
[0098] FIG. 4G illustrates an exemplary GUI view 414 for adding equipment, such as after initial configuration. Embodiments are not limited in this context. Again the complex entity manager may leverage generative Al large language models to create operating and / or maintenance procedures for new pieces of equipment as they are added to an entity. This is a degenerative case of adding an entire new entity. Instead of generating procedures for a list of equipment, the techniques of this disclosure may generate procedures for a single piece of equipment. In one example embodiment, the user has only to select Add Equipment and fill in the equipment details. In response, operating and maintenance procedures for that piece of equipment will be automatically generated.
[0099] FIGS. 5A and 5B illustrate exemplary GUI views 502, 504 of a user flow for querying a procedure according to some embodiments. Embodiments are not limited in this context. As shown in GUI view 502, a user may request Al generation of a procedure that they specify. For example, the user may wish to have procedures that deal with unique combinations of equipment, custom fabricated equipment, or to cover other circumstances beyond the scope of the predefined procedure title sets.
[0100] The metadata taxonomy may allow the complex entity manager to provide context about the equipment used by those procedures, improving the ability of the large language model to produce accurate results. In various embodiments, the complex entity manager supports this capability by allowing a user to select equipment categories and enter a procedure title by hand. Additional details are provided in the code snippets of FIGS. 20A and 20B.
[0101] FIG. 6 illustrates an exemplary GUI view for trouble shooting queries according to some embodiments. Embodiments are not limited in this context. In various embodiments, utilization of persisted equipment metadata may enable users to consult Al in real-time fortroubleshooting and general Q & A. It provides detailed context about the equipment involved (e.g., from an instance of entity data structure 302), which assists generative Al large language models to answer user-initiated troubleshooting and general knowledge queries more accurately. In various embodiments, entity data structure and the relationships between various components and information therein in leveraged to quickly and efficient identify and incorporate the relevant metadata.
[0102] In one example embodiment, as shown in GUI view 602 the user may select the equipment, if any, involved in the query, enter their question for Al, and tap Send. Although the user provides the core question to ask A. I. in this case, the complex entity manager automatically adds the appropriate equipment context to the A. I. request prompt. Results may be displayed in an output window, and can be copied and pasted into messages, email, or other applications as needed.
[0103] FIGS. 7A and 7B illustrate various aspects of entity relationships in an entity data structure 702 according to some embodiments. In various embodiments, the entity data structure 702 may be the same or similar to entity data structure 302. Embodiments are not limited in this context.
[0104] As previously mentioned, pieces of equipment may be added to an entity when an entity is initially added to the system and / or when a new piece of equipment is added to an entity. Each piece of equipment may belong to one equipment category. Each equipment category may have zero or more procedure titles associated with it. Procedure titles may include descriptions of tasks minus the detailed steps for performing those tasks. The tasks needed to operate and maintain a class of equipment may be predefined, however the step-by- step procedures for performing each task may be equipment make and model-specific, and therefore may not be known in advance for a given entity. The categories of equipment that require independent operation or maintenance may have procedure titles associated with them, and categories of equipment that do not require independent operation or maintenance do not. However, the latter categories, hereafter referred to as “secondary” or “helper” categories, may affect specific procedure steps. Therefore, an embodiment may fully define the relationships between primary equipment categories, procedure titles, and secondary equipment categories. The code example shown in FIG. 15 illustrates these relationships for a single primary equipment category.
[0105] Referring to entity data structure 702 of FIG. 7A and 7B, a diagram of the entity relationships relevant to some techniques of this disclosure are illustrated.
[0106] An embodiment may include a set of equipment categories. The set of categories may be pre-defined by an embodiment but may optionally be extended by an end user. The set of pre-defined categories included in a specific embodiment may depend on the subject entity type (e.g., yachts, recreational vehicles, etc.). Each equipment category may have zero or more actual pieces of equipment associated with it. A category metadata record may include one or more of a primary key, an equipment category ordinal, a display name, a Boolean indicator of whether the category has been selected during new boat or new equipment configuration, and a list of zero or more procedure titles.
[0107] A procedure title metadata record may include one or more of procedure title text, a checklist group number and mode, and a list of secondary equipment categories.
[0108] Some embodiments may include a set of entities. For the yacht entity class, the entity metadata (e.g. attributes) may include one or more of: primary key, sort position, name, brand, model name, year built, hailing port, power or sail indicator, description, LOA (length overall), beam, draft, air draft, displacement, gross tonnage, image file path, Boolean indicating if the entity is currently active, general log book id, maintenance log book id, and current log book id (may include cruising log books).
[0109] Each entity may include a list of equipment. As previously mentioned, equipment may be entered when a new entity (yacht, for example) is added and / or when a new piece of equipment is added to an existing entity. In the latter case, equipment metadata (e.g., attributes and relationships) may need to be entered because a piece of equipment has been replaced by a newer model or a different make, or it may be needed because a new capability has been added to the entity, such as the addition of a FLIR (night vision) system to a yacht.
[0110] Equipment metadata (e.g., attributes) may include details about the equipment such as make, model, year, serial number, identifier of the entity to which the equipment belongs, description, equipment category, and the number of pieces of such equipment that exist within the entity. For example, a yacht might have two 1990 Caterpillar 3208TA375 marine diesel engines, which fall within the “main engine” equipment category, and these details populate their equipment metadata record. Each piece of equipment defined to an entity may belong to a specific equipment category. Each entity may include a list of procedures, named “Checklist” in the data model. The checklist metadata record may include one or more of primary key,entity Id, log entry Id (used in log databases), sorting position, name, description, mode (operational or maintenance), group number (for organizational purposes), Boolean indicating if the checklist allows for entering numeric values into the checklist items it owns, and logging date-time (used in log databases).
[0111] Each checklist may include one or more checklist items. These are the “steps” of a step-by-step procedure. The checklist item metadata record may include one or more of primary key, entity Id, checklist Id, log entry Id (used in log database), sorting position, name, is-checked indicator, has-notes indicator, description, notes, numeric value, and has-numeric- value indicator. Checklist group metadata may be used to visually organize checklists. The checklist group metadata record may include a group number primary key, sorting position, group name, and a Boolean indicating if the group is user-defined.
[0112] When a procedure is executed, the details of that execution may be recorded in a logbook. Each logbook may be stored in a separate database to enable fine grained storage management, which is especially useful in mobile deployments. The logbook metadata record may include one or more of primary key, entity Id, sorting position, log type (general, maintenance, or cruise), log name, display name, description, starting location, destination, creation date, DBMS file name, and active indicator.
[0113] Entries to a logbook may be stored as log entry records. The log entry metadata record may include one or more of primary key, logbook Id, user Id, date-time, location, notes, latitude, longitude, issues, speed, course, depth, wind speed, wind direction, wave height, wave period, wave direction, visibility, conditions, air temperature, water temperature, and image capture.
[0114] Another metadata class may be the Settings class, which may include one or more of global, user-configurable settings that affect the operation of the embodiment. The settings metadata record may include one or more of the active entity Id (all user actions apply to the active entity unless otherwise specified), active user, display theme (day or night), units (nautical, imperial, etc.), speech locale, speech pitch, speech volume, culture name, and major, minor, and micro software versions.
[0115] FIG. 8 illustrates exemplary equipment categories according to some embodiments of the current disclosure. Embodiments are not limited in this context.
[0116] FIG. 9 illustrates an exemplary process flow 902 for new entity creation according to some embodiments. Embodiments are not limited in this context.
[0117] FIG. 10 illustrates an exemplary process flow 1002 for initial procedure set generation according to some embodiments. Embodiments are not limited in this context.
[0118] FIG. 11 illustrates an exemplary process flow 1102 for generation of a single procedure according to some embodiments. Additional details are provided in FIGS. 20A and 20B. Embodiments are not limited in this context.
[0119] FIG. 12 illustrates an exemplary process flow 1202 for generation of an Al prompt according to some embodiments. Embodiments are not limited in this context.
[0120] FIG. 13 illustrates an exemplary process flow 1302 for sending an Al cloud service request according to some embodiments. Embodiments are not limited in this context.
[0121] FIG. 14 illustrates an exemplary process flow 1402 for converting an XML response into a checklist according to some embodiments. Embodiments are not limited in this context.
[0122] FIG. 15 illustrates exemplary code snippets 1502a, 1502b corresponding to relationships for a primary equipment category according to some embodiments. The code example shown in FIG. 15 illustrates relationships for a single primary equipment category. Additional details were provided above with respect to FIGS. 7A and 7B. Embodiments are not limited in this context.
[0123] In the code snippets 1502a, 1502b, note that the procedure title “Main Engine Startup” is a member of the “Main” [engine] primary category, and it does not reference any secondary categories. That is, the step-by-step procedure for starting the main engine does not utilize any pieces of equipment other than the main engine itself. On the other hand, the procedure title “Main engine oil and filter service” belongs to the same primary equipment category “Main,” but in this case it references two secondary equipment categories. One of the secondary categories refers to an oil change system and the other refers to a clean oil tank. If one or both secondary categories are configured (e.g., have been associated with actual equipment), then the associated equipment will be included in the generative Al prompt, providing context for the large language model to use when generating the main engine oil and filter service step-by- step procedure.
[0124] FIG. 16 illustrates an exemplary schema definition 1602 according to some embodiments. Embodiments are not limited in this context.
[0125] FIG. 17 illustrates an exemplary Al prompt 1702 according to some embodiments.Embodiments are not limited in this context.
[0126] FIG. 18 illustrates an exemplary Al response 1802 according to some embodiments.Embodiments are not limited in this context.
[0127] FIGS. 19A-19E illustrate exemplary code snippets 1902 corresponding to initial procedure set generation according to some embodiments. The C# listings in code snippets 1902 depict one implementation of some of the advantages of the techniques disclosed. The listings are given to further describe aspects of this disclosure in a more precise way than is possible with flowcharts alone. Note that the techniques described can participate in a much larger software system. Embodiments are not limited in this context.
[0128] FIGS. 20A and 20B illustrate exemplary code snippets 2002 corresponding to generation of a single procedure according to some embodiments. In various embodiments, a user may request Al generation of a procedure at any time. The user may wish to have procedures that deal with unique combinations of equipment, or to cover other circumstances that are beyond the scope of predefined procedure title sets. The techniques of this disclosure can accommodate this requirement by allowing a user to select equipment categories and enter a procedure title by hand. The techniques of this disclosure may then use the selected equipment, if any (selection is not strictly required), to provide context for the query, by constructing an Al query prompt using the user’s procedure title, the selected equipment details, and the XSD described previously (see e.g., FIG. 16). An example implementation of the driving logic for user-defined procedure generation is illustrated in code snippets 2002. Note that the code below references methods illustrated in code snippets 1902 of FIGS. 19A-19E. Embodiments are not limited in this context.
[0129] FIG. 21 illustrates an embodiment of a system 2100 that may be suitable for implementing various embodiments described hereby. System 2100 is a computing system with multiple processor cores such as a distributed computing system, supercomputer, high- performance computing system, computing cluster, mainframe computer, mini-computer, client-server system, personal computer (PC), workstation, server, portable computer, laptop computer, tablet computer, handheld device such as a personal digital assistant (PDA), or other device for processing, displaying, or transmitting information. Similar embodiments may comprise, e.g., entertainment devices such as a portable music player or a portable video player, a smart phone or other cellular phone, a telephone, a digital video camera, a digital still camera, an external storage device, or the like. Further embodiments implement larger scale server configurations. In other embodiments, the system 2100 may have a single processorwith one core or more than one processor. Note that the term “processor” refers to a processor with a single core or a processor package with multiple processor cores. In at least one embodiment, the computing system 2100, or one or more components thereof, is representative of one or more components described hereby. More generally, the computing system 2100 may be configured to implement embodiments including logic, systems, logic flows, methods, apparatuses, and functionality described hereby. The embodiments, however, are not limited to implementation by the system 2100.
[0130] As used in this application, the terms “system” and “component” and “module” are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution, examples of which are provided by the exemplary system 2100. For example, a component can be, but is not limited to being, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical, solid-state, and / or magnetic storage medium), an object, an executable, a thread of execution, a program, and / or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and / or thread of execution, and a component can be localized on one computer and / or distributed between two or more computers. Further, components may be communicatively coupled to each other by various types of communications media to coordinate operations. The coordination may involve the uni-directional or bi-directional exchange of information. For instance, the components may communicate information in the form of signals communicated over the communications media. The information can be implemented as signals allocated to various signal lines. In such allocations, each message is a signal. Further embodiments, however, may alternatively employ data messages. Such data messages may be sent across various connections. Exemplary connections include parallel interfaces, serial interfaces, and bus interfaces.
[0131] Although not necessarily illustrated, the computing system 2100 includes various common computing elements, such as one or more processors, multi-core processors, coprocessors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia input / output (I / O) components, power supplies, and so forth. Further, the computing system 2100 may include or implement various articles of manufacture. An article of manufacture may include a non-transitory computer-readable storage medium to store logic. Examples of a computer-readable storage medium may includeany tangible media capable of storing electronic data, including volatile memory or nonvolatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of logic may include executable computer program instructions implemented using any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, object- oriented code, visual code, encrypted code, and the like, implemented using any suitable high- level, low-level, object-oriented, visual, compiled, and / or interpreted programming language. Embodiments may also be at least partly implemented as instructions contained in or on a non- transitory computer-readable medium, which may be read and executed by one or more processors to enable performance of the operations described herein.
[0132] As illustrated in FIG. 21, the system 2100 comprises a motherboard or system-on-chip (SoC) 2102 for mounting platform components. Motherboard or system-on-chip (SoC) 2102 is a point-to-point (P2P) interconnect platform that includes a first processor 2104 and a second processor 2106 coupled via a point-to-point interconnect 2170 such as an Ultra Path Interconnect (UPI). In other embodiments, the system 2100 may be of another bus architecture, such as a multi-drop bus. Furthermore, each of processor 2104 and processor 2106 may be processor packages with multiple processor cores including core(s) 2108 and core(s) 2110, respectively. While the system 2100 is an example of a two-socket (2S) platform, other embodiments may include more than two sockets or one socket. For example, some embodiments may include a four-socket (4S) platform or an eight-socket (8 S) platform. Each socket is a mount for a processor and may have a socket identifier. Note that the term platform refers to the motherboard with certain components mounted such as the processor 2104 and chipset 2132. Some platforms may include additional components and some platforms may only include sockets to mount the processors and / or the chipset. Furthermore, some platforms may not have sockets (e.g. SoC, or the like).
[0133] The processor 2104 and processor 2106 can be any of various commercially available processors. Dual microprocessors, multi-core processors, and other multi-processor architectures may also be employed as the processor 2104 and / or processor 2106. Additionally, the processor 2104 need not be identical to processor 2106.
[0134] Processor 2104 includes an integrated memory controller (IMC) 2120 and point-to- point (P2P) interface 2124 and P2P interface 2128. Similarly, the processor 2106 includes an IMC 2122 as well as P2P interface 2126 and P2P interface 2130. IMC 2120 and IMC 2122couple the processors processor 2104 and processor 2106, respectively, to respective memories (e.g., memory 2116 and memory 2118). Memories 2116, 2118 can store instructions executable by circuitry of system 2100 (e.g., processor 2104, processor 2106, graphics processing unit (GPU) 2148, ML accelerator 2154, vision processing unit (VPU) 2156, or the like). For example, memories 2116, 2118 can store instructions for one or more tools or components described hereby. In another example, memories 2116, 2118 can store data, such as data structures, digital representations, relationships, procedures, templates, or similar. Memory 2116 and memory 2118 may be portions of the main memory (e.g., a dynamic random-access memory (DRAM)) for the platform such as double data rate type 3 (DDR3) or type 4 (DDR4) synchronous DRAM (SDRAM). In the present embodiment, the memory 2116 and memory 2118 locally attach to the respective processors (i.e., processor 2104 and processor 2106). In other embodiments, the main memory may couple with the processors via a bus and / or shared memory hub.
[0135] System 2100 includes chipset 2132 coupled to processor 2104 and processor 2106. Furthermore, chipset 2132 can be coupled to storage device 2150, for example, via an interface (I / F) 2138. The I / F 2138 may be, for example, a Peripheral Component Interconnect-enhanced (PCI-e). In many embodiments, storage device 2150 comprises a non-transitory computer- readable medium. Storage device 2150 can store instructions executable by circuitry of system 2100 (e.g., processor 2104, processor 2106, GPU 2148, ML accelerator 2154, vision processing unit 2156, or the like). For example, storage device 2150 can store instructions for one or more tools or components described hereby. In another example, storage device 2150 can store data, such as data structures, digital representations, relationships, procedures, templates, or similar. In some embodiments, instructions may be copied or moved from storage device 2150 to memory 2116 and / or memory 2118 for execution, such as by processor 2104 and / or processor 2106.
[0136] Processor 2104 couples to a chipset 2132 via P2P interface 2128 and P2P interface 2134 while processor 2106 couples to a chipset 2132 via P2P interface 2130 and P2P interface 2136. Direct media interface (DM1) 2176 and DMI 2178 may couple the P2P interface 2128 and the P2P interface 2134 and the P2P interface 2130 and P2P interface 2136, respectively. DMI 2176 and DMI 2178 may be a high-speed interconnect that facilitates, e.g., eight Giga Transfers per second (GT / s) such as DMI 3.0. In other embodiments, the components may interconnect via a bus.
[0137] The chipset 2132 may comprise a controller hub such as a platform controller hub (PCH). The chipset 2132 may include a system clock to perform clocking functions and include interfaces for an I / O bus such as a universal serial bus (USB), peripheral component interconnects (PCIs), serial peripheral interconnects (SPIs), integrated interconnects (I2Cs), and the like, to facilitate connection of peripheral devices on the platform. In other embodiments, the chipset 2132 may comprise more than one controller hub such as a chipset with a memory controller hub, a graphics controller hub, and an input / output (I / O) controller hub.
[0138] In the depicted example, chipset 2132 couples with a trusted platform module (TPM) 2144 and UEFI, BIOS, FLASH circuitry 2146 via I / F 2142. The TPM 2144 is a dedicated microcontroller designed to secure hardware by integrating cryptographic keys into devices. The UEFI, BIOS, FLASH circuitry 2146 may provide pre-boot code.
[0139] Furthermore, chipset 2132 includes the I / F 2138 to couple chipset 2132 with a high- performance graphics engine, such as, graphics processing circuitry or a graphics processing unit (GPU) 2148. In other embodiments, the system 2100 may include a flexible display interface (FDI) (not shown) between the processor 2104 and / or the processor 2106 and the chipset 2132. The FDI interconnects a graphics processor core in one or more of processor 2104 and / or processor 2106 with the chipset 2132.
[0140] Additionally, ML accelerator 2154 and / or vision processing unit 2156 can be coupled to chipset 2132 via I / F 2138. ML accelerator 2154 can be circuitry arranged to execute ML related operations (e.g., training, inference, etc.) for ML models. Likewise, vision processing unit 2156 can be circuitry arranged to execute vision processing specific or related operations. In particular, ML accelerator 2154 and / or vision processing unit 2156 can be arranged to execute mathematical operations and / or operands useful for machine learning, neural network processing, artificial intelligence, vision processing, etc.
[0141] Various I / O devices 2160 and display 2152 couple to the bus 2172, along with a bus bridge 2158 which couples the bus 2172 to a second bus 2174 and an I / F 2140 that connects the bus 2172 with the chipset 2132. In one embodiment, the second bus 2174 may be a low pin count (LPC) bus. Various I / O devices may couple to the second bus 2174 including, for example, a keyboard 2162, a mouse 2164, and communication devices 2166.
[0142] Furthermore, an audio I / O 2168 may couple to second bus 2174. Many of the I / O devices 2160 and communication devices 2166 may reside on the motherboard or system-on- chip(SoC) 2102 while the keyboard 2162 and the mouse 2164 may be add-on peripherals. Inother embodiments, some or all the I / O devices 2160 and communication devices 2166 are addon peripherals and do not reside on the motherboard or system-on-chip(SoC) 2102. More generally, the I / O devices of system 2100 may include one or more of microphones, speakers, infra-red (IR) remote controls, radio-frequency (RF) remote controls, game pads, stylus pens, card readers, dongles, finger print readers, gloves, graphics tablets, joysticks, keyboards, retina readers, touch screens (e.g., capacitive, resistive, etc.), trackballs, track pads, sensors, styluses, displays, augmented / virtual reality devices, printers, actuators, motors, transducers, and the like.
[0143] The system 2100 and / or one or more components thereof may be utilized in a variety of different system environments, such as one or more of standalone, networked, remote-access (e.g., remote desktop), virtualized, and cloud-based environments.
[0144] FIG. 22 is a block diagram depicting an exemplary communications architecture 2200 suitable for implementing various embodiments as previously described, such as communications between user devices, cloud components, and / or web services. The communications architecture 2200 includes various common communications elements, such as a transmitter, receiver, transceiver, radio, network interface, baseband processor, antenna, amplifiers, filters, power supplies, and so forth. The embodiments, however, are not limited to implementation by the communications architecture 2200.
[0145] As shown in FIG. 22, the communications architecture 2200 includes one or more client(s) 2202 and server(s) 2204. In some embodiments, each client 2202 and / or server 2204 may include a computing system (e.g., system 2100) The server(s) 2204 may implement one or more devices of cloud components and / or web services. The client(s) 2202 and the server(s) 2204 are operatively connected to one or more respective client data store(s) 2206 and server data store(s) 2208 that can be employed to store information local to the respective client(s) 2202 and server(s) 2204, such as cookies and / or associated contextual information. In various embodiments, any one of server(s) 2204 may implement one or more logic flows or operations described hereby, such as in conjunction with storage of data received from any one of client(s) 2202 on any of server data store(s) 2208. In one or more embodiments, one or more of client data store(s) 2206 or server data store(s) 2208 may include memory accessible to one or more portions of components, applications, and / or techniques described hereby.
[0146] The client(s) 2202 and the server(s) 2204 may communicate information between each other using a communication framework 2210. The communication framework 2210 mayimplement any well-known communications techniques and protocols. The communication framework 2210 may be implemented as a packet-switched network (e.g., public networks such as the Internet, private networks such as an enterprise intranet, and so forth), a circuit-switched network (e g., the public switched telephone network), or a combination of a packet-switched network and a circuit-switched network (with suitable gateways and translators).
[0147] The communication framework 2210 may implement various network interfaces arranged to accept, communicate, and connect to a communications network. A network interface may be regarded as a specialized form of an input / output (I / O) interface. Network interfaces may employ connection protocols including without limitation direct connect, Ethernet (e.g., thick, thin, twisted pair 10 / 100 / 1000 Base T, and the like), token ring, wireless network interfaces, cellular network interfaces, IEEE 802.7a-x network interfaces, IEEE 802.16 network interfaces, IEEE 802.20 network interfaces, and the like. Further, multiple network interfaces may be used to engage with various communications network types. For example, multiple network interfaces may be employed to allow for the communication over broadcast, multicast, and unicast networks. Should processing requirements dictate a greater amount of speed and capacity, distributed network controller architectures may similarly be employed to pool, load balance, and otherwise increase the communicative bandwidth required by client(s) 2202 and the server(s) 2204. A communications network may be any one and the combination of wired and / or wireless networks including without limitation a direct interconnection, a secured custom connection, a private network (e.g., an enterprise intranet), a public network (e.g., the Internet), a Personal Area Network (PAN), a Local Area Network (LAN), a Metropolitan Area Network (MAN), an Operating Missions as Nodes on the Internet (OMNI), a Wide Area Network (WAN), a wireless network, a cellular network, and other communications networks.
[0148] The components and features of the devices described above may be implemented using any combination of discrete circuitry, application specific integrated circuits (ASICs), logic gates and / or single chip architectures. Further, the features of the devices may be implemented using microcontrollers, programmable logic arrays and / or microprocessors or any combination of the foregoing where suitably appropriate.
[0149] The various devices, components, modules, features, and functionalities described hereby may include, or be implemented via, various hardware elements, software elements, or a combination of both. Examples of hardware elements may include devices, logic devices,hardware components, processors, microprocessors, circuits, circuitry, processors, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), memory units, logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, algorithms, or any combination thereof. However, determining whether an embodiment is implemented using hardware elements and / or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds, and other design or performance constraints, as desired for a given implementation. It is noted that hardware, firmware, and / or software elements may be collectively or individually referred to herein as “logic”, “circuit”, or “circuitry”.
[0150] One or more aspects of at least one embodiment may be implemented by representative instructions stored on a machine-readable medium which represents various logic within the processor, which when read by a machine causes the machine to fabricate logic to perform the techniques described hereby. Such representations, known as “IP cores” may be stored on a tangible, machine readable medium and supplied to various customers or manufacturing facilities to load into the fabrication machines that actually make the logic or processor. Some embodiments may be implemented, for example, using a machine-readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method and / or operations in accordance with the embodiments. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and / or software. The machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and / or storage unit, forexample, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled and / or interpreted programming language.
[0151] It will be appreciated that the exemplary devices shown in the block diagrams described above may represent one functionally descriptive example of many potential implementations. Accordingly, division, omission or inclusion of block functions depicted in the accompanying figures does not infer that the hardware components, circuits, software and / or elements for implementing these functions would necessarily be divided, omitted, or included in embodiments.
[0152] Some embodiments may be described using the expression “one embodiment” or “an embodiment” along with their derivatives. These terms mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment. Moreover, unless otherwise noted the features described above are recognized to be usable together in any combination. Thus, any features discussed separately may be employed in combination with each other unless it is noted that the features are incompatible with each other.
[0153] With general reference to notations and nomenclature used herein, the detailed descriptions herein may be presented in terms of program procedures executed on a computer or network of computers. These procedural descriptions and representations are used by those skilled in the art to most effectively convey the substance of their work to others skilled in the art.
[0154] A procedure is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. These operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic or optical signals capable of being stored, transferred, combined,compared, and otherwise manipulated. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be noted, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to those quantities.
[0155] Further, the manipulations performed are often referred to in terms, such as adding or comparing, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein, which form part of one or more embodiments. Rather, the operations are machine operations. Useful machines for performing operations of various embodiments include digital computers or similar devices.
[0156] Some embodiments may be described using the expression "coupled" and "connected" along with their derivatives. These terms are not necessarily intended as synonyms for each other. For example, some embodiments may be described using the terms “connected” and / or “coupled” to indicate that two or more elements are in direct physical or electrical contact with each other. The term "coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
[0157] Various embodiments also relate to apparatus or systems for performing these operations. This apparatus may be specially constructed for the required purpose or it may comprise a general purpose computer as selectively activated or reconfigured by a computer program stored in the computer. The procedures presented herein are not inherently related to a particular computer or other apparatus. Various general purpose machines may be used with programs written in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description given.
[0158] It is emphasized that the Abstract of the Disclosure is provided to allow a reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect,inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment. In the appended claims, the terms "including" and "in which" are used as the plain-English equivalents of the respective terms "comprising" and "wherein," respectively. Moreover, the terms "first," "second," "third," and so forth, are used merely as labels, and are not intended to impose numerical requirements on their objects.
[0159] What has been described above includes examples of the disclosed architecture. It is, of course, not possible to describe every conceivable combination of components and / or methodologies, but one of ordinary skill in the art may recognize that many further combinations and permutations are possible. Accordingly, the novel architecture is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims.
Claims
CLAIMSWhat is claimed is:
1. A computer-implemented method comprising: determining data comprising a device associated with an entity and metadata comprising a model of the device and an equipment category of the device; generating, in a data structure corresponding to the entity, an equipment digital representation associated with the device based on the data and the metadata, wherein the equipment digital representation includes a first attribute indicating the model and a second attribute indicating the equipment category; creating, in the data structure corresponding to the entity, a relationship between the equipment digital representation and an entity digital representation associated with the entity, wherein the entity digital representation includes a first attribute indicating a brand of the entity and a second attribute indicating a year the entity was created; identifying a procedure title of a procedure associated with the device based on the equipment category; generating an input prompt for an artificial intelligence model based on the entity digital representation and the equipment digital representation, wherein the input prompt includes the brand of the entity, the year the entity was created, the model of the device, the procedure title, template text requesting a set of instructions to perform the procedure, and an output schema corresponding to the data structure; providing the input prompt to the artificial intelligence model to determine the set of instructions to perform the procedure on the device; identifying output generated by the artificial intelligence model in response to providing the input; generating, in the data structure corresponding to the entity, a checklist digital representation, wherein the checklist digital representation comprises a first attribute indicating the procedure title; extracting, automatically, each step in the set of instructions to perform the procedure from the output based on the output schema corresponding to the data structure; creating, in the data structure corresponding to the entity, a checklist item digital representation for each step in the set of instructions, wherein each checklist item digitalrepresentation is related to the checklist digital representation and includes a first attribute indicating a position in the set of instructions to perform the procedure; creating, in the data structure corresponding to the entity, a relationship between the checklist digital representation, the equipment digital representation, and the entity digital representation; and generating a graphical user interface on a user device comprising the set of instructions to perform the procedure.
2. The computer-implemented method of claim 1, wherein the checklist object comprises a second attribute indicating a secondary device associated with performance of the procedure, the input prompt includes the secondary device, and the set of instructions to perform the procedure utilize the secondary device.
3. The computer-implemented method of claim 2, wherein the device comprises an engine, the procedure comprises an oil change, and the secondary device comprises an oil change system.
4. The computer-implemented method of claim 1, wherein the entity comprises at least one of a recreational vehicle, an aircraft, and a boat.
5. The computer-implemented method of claim 1, wherein the device comprises at least one of a propulsion system, an electrical power generation system, a power storage system, a power inverter, navigation equipment, communications equipment, a desalination system, a stabilization system, a fire suppression system, a heating, ventilation, and air conditioning system, or a water handling system.
6. The computer-implemented method of claim 1, further comprising persisting the data structure into computer memory for offline access.
7. The computer-implemented method of claim 1, further comprising persisting the data structure corresponding to the entity into a relational database.
8. The computer-implemented method of claim 1, further comprising exporting the data structure corresponding to the entity into cloud storage.
9. The computer-implemented method of claim 1, wherein the output schema corresponding to the data structure comprises an extensible markup language schema definition (XSD).
10. The computer-implemented method of claim 1, wherein providing the input prompt to the artificial intelligence model to determine the set of instructions to perform the procedure comprises: creating a request data instance comprising a model field, a role field, and a content field, wherein the model field is populated with a model identifier associated with the artificial intelligence model, the role field is populated with user, and the content field is populated with the input prompt; generating a web service request based on the request data instance; and posting the web service request.
11. The computer-implemented method of claim 10, wherein generating the web service request comprises: creating an HTTP client; serializing the request data instance; and creating an authentication header, wherein a bearer name / value pair of the authentication header is populated with the model identifier.
12. An apparatus comprising: a processor; and memory storing instructions that, when executed by the processor, cause the processor to: determine data comprising a device associated with an entity and metadata comprising a model of the device and an equipment category of the device; generate, in a data structure corresponding to the entity, an equipment digital representation associated with the device based on the data and the metadata, wherein the equipment digital representation includes a first attribute indicating the model and a second attribute indicating the equipment category; create, in the data structure corresponding to the entity, a relationship between the equipment digital representation and an entity digital representation associated with the entity, wherein theentity digital representation includes a first attribute indicating a brand of the entity and a second attribute indicating a year the entity was created; identify a procedure title of a procedure associated with the device based on the equipment category; generate an input prompt for an artificial intelligence model based on the entity digital representation and the equipment digital representation, wherein the input prompt includes the brand of the entity, the year the entity was created, the model of the device, the procedure title, template text requesting a set of instructions to perform the procedure, and an output schema corresponding to the data structure; provide the input prompt to the artificial intelligence model to determine the set of instructions to perform the procedure on the device; identify output generated by the artificial intelligence model in response to providing the input; generate, in the data structure corresponding to the entity, a checklist digital representation, wherein the checklist digital representation comprises a first attribute indicating the procedure title; extract, automatically, each step in the set of instructions to perform the procedure from the output based on the output schema corresponding to the data structure; create, in the data structure corresponding to the entity, a checklist item digital representation for each step in the set of instructions, wherein each checklist item digital representation is related to the checklist digital representation and includes a first attribute indicating a position in the set of instructions to perform the procedure; create, in the data structure corresponding to the entity, a relationship between the checklist digital representation, the equipment digital representation, and the entity digital representation; and generate a graphical user interface on a user device comprising the set of instructions to perform the procedure.
13. The apparatus of claim 12, wherein the checklist object comprises a second attribute indicating a secondary device associated with performance of the procedure, the input prompt includes the secondary device, and the set of instructions to perform the procedure utilize the secondary device.
14. The apparatus of claim 12, wherein to provide the input prompt to the artificial intelligence model to determine the set of instructions to perform the procedure the memory further stores instructions that, when executed by the processor, cause the processor to: create a request data instance comprising a model field, a role field, and a content field, wherein the model field is populated with a model identifier associated with the artificial intelligence model, the role field is populated with user, and the content field is populated with the input prompt; generate a web service request based on the request data instance; and post the web service request.
15. The apparatus of claim 14, wherein to generate the web service request the memory further stores instructions that, when executed by the processor, cause the processor to: create an HTTP client; serialize the request data instance; and create an authentication header, wherein a bearer name / value pair of the authentication header is populated with the model identifier.
16. The apparatus of claim 12, wherein the device comprises at least one of a propulsion system, an electrical power generation system, a power storage system, a power inverter, navigation equipment, communications equipment, a desalination system, a stabilization system, a fire suppression system, a heating, ventilation, and air conditioning system, or a water handling system.
17. At least one non-transitory computer-readable storage medium storing computer-executable program code instructions that, when executed by a computing apparatus, cause the computing apparatus to: determine data comprising a device associated with an entity and metadata comprising a model of the device and an equipment category of the device; generate, in a data structure corresponding to the entity, an equipment digital representation associated with the device based on the data and the metadata, wherein the equipment digital representation includes a first attribute indicating the model and a second attribute indicating the equipment category;create, in the data structure corresponding to the entity, a relationship between the equipment digital representation and an entity digital representation associated with the entity, wherein the entity digital representation includes a first attribute indicating a brand of the entity and a second attribute indicating a year the entity was created; identify a procedure title of a procedure associated with the device based on the equipment category; generate an input prompt for an artificial intelligence model based on the entity digital representation and the equipment digital representation, wherein the input prompt includes the brand of the entity, the year the entity was created, the model of the device, the procedure title, template text requesting a set of instructions to perform the procedure, and an output schema corresponding to the data structure; provide the input prompt to the artificial intelligence model to determine the set of instructions to perform the procedure on the device; identify output generated by the artificial intelligence model in response to providing the input; generate, in the data structure corresponding to the entity, a checklist digital representation, wherein the checklist digital representation comprises a first attribute indicating the procedure title; extract, automatically, each step in the set of instructions to perform the procedure from the output based on the output schema corresponding to the data structure; create, in the data structure corresponding to the entity, a checklist item digital representation for each step in the set of instructions, wherein each checklist item digital representation is related to the checklist digital representation and includes a first attribute indicating a position in the set of instructions to perform the procedure; create, in the data structure corresponding to the entity, a relationship between the checklist digital representation, the equipment digital representation, and the entity digital representation; and generate a graphical user interface on a user device comprising the set of instructions to perform the procedure.
18. The at least one non-transitory computer-readable storage medium of claim 17, wherein the checklist object comprises a second attribute indicating a secondary device associated withperformance of the procedure, the input prompt includes the secondary device, and the set of instructions to perform the procedure utilize the secondary device.
19. The at least one non-transitory computer-readable storage medium of claim 17, wherein to provide the input prompt to the artificial intelligence model to determine the set of instructions to perform the procedure the computer-executable program code instructions, when executed by the computing apparatus, further cause the computing apparatus to: create a request data instance comprising a model field, a role field, and a content field, wherein the model field is populated with a model identifier associated with the artificial intelligence model, the role field is populated with user, and the content field is populated with the input prompt; generate a web service request based on the request data instance; and post the web service request.
20. The at least one non-transitory computer-readable storage medium of claim 19, wherein to generate the web service request the computer-executable program code instructions, when executed by the computing apparatus, further cause the computing apparatus to: create an HTTP client; serialize the request data instance; and create an authentication header, wherein a bearer name / value pair of the authentication header is populated with the model identifier.
Citation Information
Patent Citations
Relational database for maintenance information for complex systems
US20040039499A1
Systems and techniques for ensuring the integrity of enterprise asset management data
US20160110677A1
Extracting data and metadata from identification labels using natural language processing
US20220318322A1