Patentable/Patents/US-12724624-B2
US-12724624-B2

Generating executable tasks from non-executable text files

PublishedSeptember 1, 2026
Assigneenot available in USPTO data we have
Technical Abstract

A multi-site data storage monitoring system communicates executable actions to remote element managers in non-executable text files. Each non-executable text file includes a human-readable textual description of the action, a top-level Java class of a known task type, and essential properties. The element managers generate executable jobs from the non-executable text files by instantiating an empty task object based on the top-level Java class, partially populating the empty task object based on the essential properties, adding the partially populated task object to a job structure, and using a token to provide authorization at job run-time. The token is created using user authentication information provided in response to presentation of the human-readable textual description of the action.

Patent Claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

transmitting, from a first computer to an element manager computer, a non-executable textual representation of a recommended action to reconfigure a first data storage node of a plurality of data storage nodes by deleting an identified storage group on the first data storage node; the element manager computer using the non-executable textual representation of the recommended action to generate a computer-executable job to implement the recommended action; and the non-executable textual representation of the recommended action is a Javascript Object Notation (JSON) file including an intention and essential properties of the recommended action, and the element manager computer retrieves stored authorization credentials for a user of the first computer via a token when the user is not logged in to the first computer at execution time of the executing the computer-executable job by the element manager computer. executing, by the element manager computer, the computer-executable job to delete the identified storage group on the first data storage node, wherein: . A method comprising:

2

claim 1 . The method offurther comprising the first computer transmitting a human-readable textual description of the recommended action as part of the non-executable textual representation.

3

claim 2 . The method offurther comprising the first computer transmitting a top-level Java class associated with the recommended action as part of the non-executable textual representation.

4

claim 3 . The method offurther comprising the first computer transmitting the essential properties of the recommended action as part of the non-executable textual representation.

5

claim 4 . The method offurther comprising the element manager computer instantiating an empty task object based on the top-level Java class and partially populating the empty task object based on the essential properties to create a partially populated task object.

6

claim 5 . The method offurther comprising the element manager computer presenting the human-readable textual description of the recommended action.

7

claim 6 . The method offurther comprising the element manager computer generating the executable job by adding the partially populated task object to a job structure and using the token to provide authorization to implement the recommended action.

8

a multi-site data storage monitoring system comprising a first computer configured to transmit a non-executable textual representation of a recommended action to reconfigure a first data storage node of a plurality of data storage nodes by deleting an identified storage group on the first data storage node; and receive the non-executable textual representation of the recommended action from the first computer; use the non-executable textual representation to generate a computer-executable job to implement the recommended action; and the non-executable textual representation of the recommended action is a JavaScript Object Notation (JSON) file including an intention and essential properties of the recommended action, and the element manager computer is further configured to retrieve stored authorization credentials for a user of the first computer via a token when the user is not logged in to the first computer at execution time of the executing the computer-executable job by the element manager computer. execute the computer-executable job to delete the identified storage group on the first data storage node, wherein: an element manager computer configured to: . An apparatus comprising:

9

claim 8 . The apparatus offurther comprising the monitoring system computer configured to transmit a human-readable textual description of the recommended action as part of the non-executable textual representation.

10

claim 9 . The apparatus offurther comprising the monitoring system computer configured to transmit a top-level Java class associated with the recommended action as part of the non-executable textual representation.

11

claim 10 . The apparatus offurther comprising the monitoring system computer configured to transmit the essential properties of the recommended action as part of the non-executable textual representation.

12

claim 11 . The apparatus offurther comprising the element manager computer configured to instantiate an empty task object based on the top-level Java class and partially populate the empty task object based on the essential properties to create a partially populated task object.

13

claim 12 . The apparatus offurther comprising the element manager computer configured to present the human-readable textual description of the recommended action.

14

claim 13 . The apparatus offurther comprising the element manager computer configured to generate the executable job by adding the partially populated task object to a job structure and using the token to provide authorization to implement the recommended action.

15

transmitting, from a first computer to an element manager computer, a non-executable textual representation of a recommended action to reconfigure a first data storage node of a plurality of data storage nodes by deleting an identified storage group on the first data storage node; the element manager computer using the non-executable textual representation of the recommended action to generate a computer-executable job to implement the recommended action; and the non-executable textual representation of the recommended action is a Javascript Object Notation (JSON) file including an intention and essential properties of the recommended action, and the element manager computer retrieves stored authorization credentials for a user of the first computer via a token when the user is not logged in to the first computer at execution time of the executing the computer-executable job by the element manager computer. executing, by the element manager computer, the computer-executable job to delete the identified storage group on the first data storage node, wherein: . A non-transitory computer-readable storage medium storing instructions that when executed by one or more computers cause the computers to perform a method comprising:

16

claim 15 . The non-transitory computer-readable storage medium ofin which the method further comprises transmitting a human-readable textual description of the recommended action as part of the non-executable textual representation.

17

claim 16 . The non-transitory computer-readable storage medium ofin which the method further comprises transmitting a top-level Java class associated with the recommended action as part of the non-executable textual representation.

18

claim 17 . The non-transitory computer-readable storage medium ofin which the method further comprises transmitting the essential properties of the recommended action as part of the non-executable textual representation.

19

claim 18 . The non-transitory computer-readable storage medium ofin which the method further comprises the element manager computer instantiating an empty task object based on the top-level Java class and partially populating the empty task object based on the essential properties to create a partially populated task object.

20

claim 19 . The non-transitory computer-readable storage medium ofin which the method further comprises generating the executable job by adding the partially populated task object to a job structure and using a token to provide authorization to implement the recommended action.

Detailed Description

Complete technical specification and implementation details from the patent document.

The subject matter of this disclosure is generally related to remote management of data storage systems.

A cloud-based, multi-site data storage monitoring system can be configured to monitor remote Storage Area Networks (SANs), Network-Attached Storage (NAS) and a variety of other data storage nodes deployed in multiple data centers associated with different organizations. Performance, configuration, workload, and other information may be monitored, analyzed, and used to calculate recommended actions to maintain expected levels of performance, data protection, data availability, and security. The recommended actions are sent to storage administrators or other personnel as human-readable, non-executable descriptions. The administrative user manually implements recommended actions by generating and running various computer-executable tasks. For example, in response to a human-readable, non-executable recommendation to delete a temporary storage group a storage administrator might identify the storage objects associated with the temporary storage group, identify the storage nodes on which the storage objects and replicas thereof are maintained, and generate computer-executable commands to prompt deletion of the temporary storage group and associated storage objects.

In accordance with some embodiments, a method comprises: monitoring operation of a plurality of data storage nodes and computing a recommended action for at least one of the data storage nodes; computing a non-executable textual representation of the recommended action; transmitting the non-executable textual recommendation to an element manager; the element manager using the non-executable textual recommendation to generate an executable job; and running the executable job to implement the recommended action.

In accordance with some embodiments, an apparatus comprises: a multi-site data storage monitoring system configured to monitor operation of data storage nodes, compute a recommended action for at least one of the data storage nodes, compute a non-executable textual representation of the recommended action, and transmit the non-executable textual recommendation; and an element manager configured to receive and use the non-executable textual recommendation to generate an executable job and prompt running of the executable job to implement the recommended action

In accordance with some embodiments, a non-transitory computer-readable storage medium stores instructions that when executed by one or more computers cause the computers to perform a method comprising: monitoring operation of a plurality of data storage nodes and computing a recommended action for at least one of the data storage nodes; computing a non-executable textual representation of the recommended action; transmitting the non-executable textual recommendation to an element manager; the element manager using the non-executable textual recommendation to generate an executable job; and running the executable job to implement the recommended action.

The summary does not limit the scope of the claims or the disclosure. All examples, embodiments, aspects, implementations, and features can be combined in any technically possible way and the method and process steps may be performed in any order.

Various features and advantages will become more apparent from the following detailed description of exemplary embodiments in conjunction with the drawings.

Some aspects, features, and implementations described herein may include computer devices, components, and computer-implemented steps or processes. It will be apparent to those of ordinary skill in the art that the computer-implemented steps or processes may be stored as computer-executable instructions on a non-transitory computer-readable medium. Furthermore, it will be understood by those of ordinary skill in the art that the computer-executable instructions may be executed on a variety of tangible processor devices. For ease of exposition, not every step, process, or element is necessarily described herein as part of a computer system. Those of ordinary skill in the art will recognize steps, processes, and elements that may have a corresponding computer system or software component. Such computer systems and software components are therefore enabled by describing their corresponding steps, processes, or elements, and are within the scope of the disclosure.

The terminology used in this disclosure is intended to be interpreted broadly within the limits of subject matter eligibility. The terms “logical” and “virtual” are used to refer to features that are abstractions of other features, e.g., and without limitation abstractions of tangible features. The term “physical” is used to refer to tangible features that possibly include, but are not limited to, electronic hardware. For example, multiple virtual computers could operate simultaneously on one physical computer. The term “logic” is used to refer to special purpose physical circuit elements, firmware, software, computer instructions that are stored on a non-transitory computer-readable medium and implemented by multi-purpose tangible processors, and any combinations thereof.

1 FIG. 10 10 12 14 16 18 20 12 22 24 26 28 30 32 34 22 36 40 42 38 10 illustrates a cloud-based, multi-site data storage monitoring systemthat generates non-executable text files describing recommended actions in a manner that enables element managers to automate generation of associated computer-executable jobs at least partially. Monitoring systemcollects performance, configuration, workload, and other information from data centers,,,,. More specifically, the monitoring system collects information about performance, configuration, and workload of each storage node in each data center. In the illustrated example, data centerincludes storage arrays,,and clusters of host servers-,-. The host serversare tangible server computers with volatile memory, persistent storage, and multi-core processors. Each host server may support virtual machines or containers for simultaneously running multiple instances of host applications that support organizational processes, e.g., accounting, inventory control, sales, email, etc. The storage arrays maintain the data used by those applications. Each data center includes at least one element manager. Element managerincludes a computing device or terminal for accepting input commands from an administrative user and presenting information about operation of the storage arrays and host servers to the administrative user. Further, the element manager is adapted to generate executable jobs,to implement recommended actions described in non-executable text fileprovided by the monitoring system. Implementation of the recommended actions may be contingent upon authorization from the administrator but otherwise be automated, so time-consuming and error prone manual management processes are mitigated.

2 FIG. 100 106 1 106 2 160 162 112 114 152 101 116 118 116 118 118 130 illustrates a storage arrayin greater detail. The storage array is shown with two engines-,-, but might include any number of engines. Each engine includes disk array enclosures (DAEs),and a pair of peripheral component interconnect express (PCI-e) interconnected compute nodes,(aka storage directors) in a failover relationship. Within each engine, the compute nodes and DAEs are interconnected via redundant PCI-E switches. Each DAE includes managed drivesthat are non-volatile storage media that may be of any type, e.g., solid-state drives (SSDs) based on nonvolatile memory express (NVMe) and EEPROM technology such as NAND and NOR flash memory. Each compute node is implemented as a separate printed circuit board and includes resources such as at least one multi-core processorand local memory. The processormay include central processing units (CPUs), graphics processing units (GPUs), or both. The local memorymay include volatile media such as dynamic random-access memory (DRAM), non-volatile memory (NVM) such as storage class memory (SCM), or both. Each compute node allocates a portion of its local memoryto a shared memory that can be accessed by all compute nodes of the storage array. Each compute node includes one or more adapters and ports for communicating with SaaS system servers for servicing IOs. Each compute node also includes one or more adapters for communicating with other compute nodes via redundant inter-nodal channel-based InfiniBand fabrics.

101 150 152 101 152 Data that is created and used by instances of the applications running on the host servers is maintained on the managed drives. The managed drives are not discoverable by the host servers, so the storage array creates logical production storage objects,that can be discovered and accessed by those servers. Without limitation, a production storage object may be referred to as a source device, production device, production volume, or production LUN, where the logical unit number (LUN) is a number used to identify logical storage volumes in accordance with the small computer system interface (SCSI) protocol. From the perspective of the host servers, each production storage object is a single disk drive having a set of contiguous fixed-size logical block addresses (LBAs) on which data used by the instances of one of the host applications resides. However, the host application data is stored at non-contiguous addresses on various managed drives. Replicated storage objectis replicated by a remote storage array, either synchronously or asynchronously.

3 FIG. 300 302 302 1 302 illustrates a not-yet-executable taskcreated from information in a JSON file, which is an example of a non-executable text file. The JSON filerepresents a recommended action, “remediation”, which is generated by the monitoring system and sent to an element manager. Included in the JSON file is a human-readable textual description (“Delete Temporary Storage Group A”) that is generated by the monitoring system to convey the intention and essential properties of the recommended action to the administrative user. A metadata hint (“qualifiedClassName”) identifies a top-level Java class of a known task type associated with the recommended action. Only the top-level class name is required to instantiate a corresponding task. The types of other objects in the task object graph are automatically computed by the element manager. Essential properties (“definition”) are also included in the JSON file.

302 304 304 In response to receipt of the JSON file, the element manager constructs an initially empty Java task objectof the supported type associated with the metadata hint and partially populates that task object using the essential properties from the JSON file. Unspecified internal properties are placed or remain in a default state. In contrast, existing metadata solutions usually insert metadata for the entire object graph in a recursive fashion. To reduce coupling between the element manager and monitoring system, only the metadata for the top node of the object graph is required. To avoid problems with partially or badly generated descriptions, default descriptions are overridden with values provided in the JSON file. Authorization credentials of the administrative user, “UserDetails,” are not yet added to the task object. The java task objectis not yet executable but includes sufficient content to be presented to the administrative user for approval.

4 FIG. 36 400 400 306 36 308 304 310 308 illustrates creation of an executable job from the not-yet executable task. Using element manager, the administrative user reviews the human-readable textual description and chooses to implement the recommended action by providing an approval. The approvalincludes user datawith the authorization credentials (UserDetails) of the administrative user. For security purposes, element manageris configured to only execute tasks that have been approved by an authorized administrative user as indicated by the presence of valid authorization credentials. The administrative user may specify immediate execution of the task or execution at a future date and/or time. The administrative user's authorization credentials are stored via token. Task objectis placed in a “Job” structurewhich is used to for task execution/scheduling. The element manager populates the Job structure with UserDetails at execution time. This is achieved by retrieving the correct user via the stored token. Such late insertion of the UserDetails for the purposes of authorization is advantageous. Previously, user information was populated when the logged-in user created a task via the GUI, so the user had to be logged-in for the recommendation to be implemented. Late insertion of user information enables tasks to be performed at dates and times when the administrative user is not logged-in.

5 FIG. 500 502 504 506 508 510 514 516 518 520 522 524 526 528 530 532 534 illustrates a process for partial automation of task and job generation based on a recommended action described in a non-executable JSON file. The cloud-based, multi-site data storage monitoring system collects information about performance, configuration, and workload of each storage node in each data center as indicated in step. Stepis analyzing the collected information and generating a non-executable text file that contains a recommended action. The text file, which may be a JSON file, includes a human-readable textual description of the recommended action and identifies a top-level Java class of a known task type associated with the recommended action. The text file may also include essential properties. Stepis transmitting the non-executable text file from the monitoring system to the element manager. Stepis using the non-executable text file to generate a not-yet-executable task. This includes generating a partially populated task object in stepand computing types of other objects needed in step. The top-level java class from the non-executable text file is used to generate the partially populated task object and compute the types of other objects. The task object is added to a Job structure. Stepis presenting the recommendation to an administrative user using the human-readable textual description. Stepis receiving approval from the administrative user. Stepis generating a token with the authentication credentials of the administrative user. Stepis triggering job execution at the time and date specified by the administrative user, which may be immediate, i.e., the current date and time. In stepthe Job is populated with authentication credentials from the token. In stepthe Job is passed to the executor. The Job is authorized using the authentication credentials in step. In stepthe Job is executed, and feedback is generated. The feedback indicates whether the Job was successfully run. The feedback is published in stepand captured in a text file such as a JSON file in step. In stepthe feedback text file is sent to the monitoring system. This feedback can confirm operation success, return results, e.g., the names of storage objects created, or give details of errors, warnings, or failure. The feedback can be used to refine the recommendation-generation logic.

At least some embodiments include advantages such as delayed execution, which may occur at a specified time when the administrative user is not logged-in. Further, the administrative user is not required to identify various storage objects associated with a recommendation and then issue commands to implement the recommendation. Rather, an executable task object and Job may be automatically generated such that the administrative user need only input authorization credentials. Further, the process can be implemented without the need for a new API and shared model because existing text-based communications can be used. Consequently, client applications running on the element managers do not necessarily need to all be of the same version.

A number of features, aspects, embodiments, and implementations have been described. Nevertheless, it will be understood that a wide variety of modifications and combinations may be made without departing from the scope of the inventive concepts described herein. Accordingly, those modifications and combinations are within the scope of the following claims.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

September 6, 2023

Publication Date

September 1, 2026

Inventors

Kartike Bhagat
Manish Dwivedi
Aaron Twohig
Lisa O'Mahony
Francisco Jaen

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Generating executable tasks from non-executable text files” (US-12724624-B2). https://patentable.app/patents/US-12724624-B2

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.