Environment mapping and patching synthesis
AssigneeBank of America Corporation
InventorSasidhar Purushothaman
Life of this patent
Estimating the term…
Abstract
Method and apparatus for a system to efficiently and with limited disruption of overall activities, install software patches into a target application. The system maps out segments comprising the various system units that interact with the target application and that may be impacted by the patch. A model simulates various possible alternatives for deactivating none, one, some or all of the various units of the segment in identification of an optimal patching strategy. Implementation of the optimal strategy results in efficient patching with minimal disruption of system activities.
Claims22
1-16. (canceled)
A method for executing a computing application within a distributed data environment, the distributed data environment comprising a plurality of clusters, a plurality of client-devices, and a master-node, each of the master-node, a plurality of name-nodes, each of the plurality of name-nodes further including a processor, and a plurality of data-nodes including executable code embodied in non-transitory computer readable medium, the code, when executed, configured to drive executions of a plurality of software applications within a plurality of hierarchical layers;
- wherein:
- each cluster comprises one of the plurality of name-nodes, at least a subset of the plurality of data-nodes, and a dataset including information distributed among a plurality of blocs, each bloc including memory residing on at least one of the data-nodes, the method comprising:
- using each of the processors included each of the name-nodes to:
- receive, and reply to, requests for reading access and writing access to the dataset,
- monitor its own operability and operability of each data-node with which it is associated,
- monitor a used capacity and an overall capacity of the plurality of blocs, and
- instruct the at least one of the plurality of data-nodes of the cluster to create, delete, or replicate blocs in correspondence with a ratio of the used capacity to the overall capacity, wherein each client-device includes executable code embodied in a non-transitory computer readable medium, the code, when executed, configured to communicate with a name-node of a cluster and make requests for reading access, and optionally for writing access, to the dataset of a cluster;
- and
- performing, using the master-node, a dynamic software patch installation, the performing that includes:
- identifying a single target application selected from the software applications, the target application comprising execution code;
- creating a segment, the segment including when, and which of, each of the software applications is directly called, or is called as a result of a direct call to another software application, by the target application over a pre-defined period of time;
- identifying an optimal time including at least one time interval during which no portion of the segment, other than the target application, will be altered by disabling the target application;
- disabling the target application during the optimal time;
- and
- replacing execution code within the target application with different execution code during the optimal time.
A system for executing a computing application within a distributed data environment, the system comprising:
- a plurality of clusters, a plurality of client-devices, and a master-node, each of the master-node, a plurality of name-nodes, and a plurality of data-nodes including executable code embodied in non-transitory computer readable medium, the code, when executed, configured to drive executions of a plurality of software applications within a plurality of hierarchical layers;
- wherein:
- each cluster comprises one of the plurality of name-nodes, at least a subset of the plurality of data-nodes, and a dataset including information distributed among a plurality of blocs, each bloc including memory residing on at least one of the data-nodes;
- each of the plurality of name-nodes includes a processor configured to:
- receive, and reply to, requests for reading access and writing access to the dataset,
- monitor its own operability and operability of each data-node,
- monitor a used capacity and an overall capacity of the plurality of blocs, and
- instruct the at least one of the plurality of data-nodes of the cluster to create, delete, or replicate blocs in correspondence with a ratio of the used capacity to the overall capacity;
- each client-device includes executable code embodied in a non-transitory computer readable medium, the code, when executed, configured to communicate with a name-node of a cluster and make requests for reading access, and optionally for writing access, to the dataset of a cluster;
- the master-node is configured to perform a dynamic software patch installation that:
- identifies a single target application selected from the software applications, the target application comprising execution code;
- creates a segment, the segment including when, and which of, each of the software applications is directly called, or is called as a result of a direct call to another software application, by the target application over the course of a pre-defined period of time,
- identifies an optimal time including at least one time interval during which no portion of the segment, other than the target application, will be altered by disabling the target application;
- wherein the master-node is further configured to:
- catalog when, over the pre-defined period of time, one or more client-devices interact with the target application;
- predict a time slot having a low probability of a client interacting with the target application;
- and
- conform the optimal time with the time slot.
A system for executing a computing application within a distributed data environment, the system comprising:
- a plurality of clusters, a plurality of client-devices, and a master-node, each of the master-node, a plurality of name-nodes, and a plurality of data-nodes including executable code embodied in non-transitory computer readable medium, the code, when executed, configured to drive executions of a plurality of software applications within a plurality of hierarchical layers;
- wherein:
- each cluster comprises one of the plurality of name-nodes, at least a subset of the plurality of data-nodes, and a dataset including information distributed among a plurality of blocs, each bloc including memory residing on at least one of the data-nodes;
- each of the plurality of name-nodes includes a processor configured to:
- receive, and reply to, requests for reading access and writing access to the dataset,
- monitor its own operability and operability of each data-node,
- monitor a used capacity and an overall capacity of the plurality of blocs, and
- instruct the at least one of the plurality of data-nodes of the cluster to create, delete, or replicate blocs in correspondence with a ratio of the used capacity to the overall capacity;
- each client-device includes executable code embodied in a non-transitory computer readable medium, the code, when executed, configured to communicate with a name-node of a cluster and make requests for reading access, and optionally for writing access, to the dataset of a cluster;
- the master-node is configured to perform a dynamic software patch installation that:
- identifies a single target application selected from the software applications, the target application comprising execution code;
- creates a segment, the segment including when, and which of, each of the software applications is directly called, or is called as a result of a direct call to another software application, by the target application over the course of a pre-defined period of time,
- identifies an optimal time including at least one time interval during which no portion of the segment, other than the target application, will be altered by disabling the target application;
- wherein the master-node is further configured to:
- to perform a simulation of effects of a replacement of the execution code in all units of the segment, wherein the replacement of the execution code occurs when the simulation indicates that all of the units of the segment will remain in conformance with pre-determined parameters;
- to generate an impact analysis reflecting a magnitude of deviation from the pre-determined parameters the replacement will cause;
- to issue the impact analysis;
- and,
- after receiving an instruction to proceed subsequent to issuing the impact analysis, to execute the replacement.
Dependencies are inferred from the claim text.