Accessing log files of a distributed computing system using a simulated file system
First Claim
1. A method comprising:
- orchestrating, by a first computing device in a distributed computing system, deployment of a plurality of roles in a bundled application in a plurality of second computing devices of the distributed computing system by processing a plurality of jobs, each job of the plurality of jobs being at least one of started by another job of the plurality of jobs and invoking starting of another job of the plurality of jobs, each role of the plurality of roles being an executable program;
defining, by the first computing device, a job hierarchy such that each node of the job hierarchy represents a job and any descendants of the each node are one or more jobs started by the job represented by the each node, each node of the job hierarchy referencing a second computing device of the distributed computing system on which the job represented by the each node is executing;
generating, by the plurality of second computing devices, log files during processing of at least a portion of the plurality of jobs;
receiving file system navigation commands with respect to the log files; and
processing the file system navigation commands in order to present a view of the job hierarchy without generating any queries or read requests to the second computing devices;
wherein the method further comprises;
moving a first job of the plurality of jobs from an initial second computing device to a subsequent second computing device;
recording, by the first computing device, identifiers of the initial and subsequent second computing devices in a node of the job hierarchy representing the first job;
receiving, a file system read command for a log file for the first job;
identifying the node in the job hierarchy representing the first job by traversing the job hierarchy; and
transmitting the file system read command to both of the initial second computing device and the subsequent second computing device for processing.
1 Assignment
0 Petitions
Accused Products
Abstract
A new snapshot of a storage volume is created by instructing computing nodes to suppress write requests. A snapshot of the application may be created and used to rollback or clone the application. Clones snapshots of storage volumes may be gradually populated with data from prior snapshots to reduce loading on a primary snapshot. Components of cloned applications may communicate with one another using addresses of these components in the parent application. Changes to application state may be written to a remote storage volume that may be mounted to a new instance or clone of the application to recreate its state. Jobs to create and execute a bundled application may be referenced with a simulated file system that generates reads to hosts only when the job log file is actually read. Storage nodes may implement interfaces to a SAN or cloud storage system.
159 Citations
18 Claims
-
1. A method comprising:
-
orchestrating, by a first computing device in a distributed computing system, deployment of a plurality of roles in a bundled application in a plurality of second computing devices of the distributed computing system by processing a plurality of jobs, each job of the plurality of jobs being at least one of started by another job of the plurality of jobs and invoking starting of another job of the plurality of jobs, each role of the plurality of roles being an executable program; defining, by the first computing device, a job hierarchy such that each node of the job hierarchy represents a job and any descendants of the each node are one or more jobs started by the job represented by the each node, each node of the job hierarchy referencing a second computing device of the distributed computing system on which the job represented by the each node is executing; generating, by the plurality of second computing devices, log files during processing of at least a portion of the plurality of jobs; receiving file system navigation commands with respect to the log files; and processing the file system navigation commands in order to present a view of the job hierarchy without generating any queries or read requests to the second computing devices; wherein the method further comprises; moving a first job of the plurality of jobs from an initial second computing device to a subsequent second computing device; recording, by the first computing device, identifiers of the initial and subsequent second computing devices in a node of the job hierarchy representing the first job; receiving, a file system read command for a log file for the first job; identifying the node in the job hierarchy representing the first job by traversing the job hierarchy; and transmitting the file system read command to both of the initial second computing device and the subsequent second computing device for processing. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
orchestrating, by a first computing device in a distributed computing system, deployment of a plurality of roles in a bundled application in a plurality of second computing devices of the distributed computing system by processing a plurality of jobs, each job of the plurality of jobs being at least one of started by another job of the plurality of jobs and invoking starting of another job of the plurality of jobs, each role of the plurality of roles being an executable program; defining, by the first computing device, a job hierarchy such that each node of the job hierarchy represents a job and any descendants of the each node are one or more jobs started by the job represented by the each node, each node of the job hierarchy referencing a second computing device of the distributed computing system on which the job represented by the each node is executing; generating, by the plurality of second computing devices, log files during processing of at least a portion of the plurality of jobs; receiving file system navigation commands with respect to the log files; and processing the file system navigation commands in order to present a view of the job hierarchy without generating any queries or read requests to the second computing devices; wherein the method further comprises, on each second computing device of the plurality of second computing devices; providing a pool of threads; providing a thread map; (a) assigning a selected thread from the pool of threads to a selected job of a plurality of jobs assigned to the each second computing device; (b) updating the thread map to include a mapping of the selected thread to a job identifier of the selected job; (c) executing the selected job by the selected thread; stopping execution of the selected job; releasing the selected thread; and removing the mapping of the selected thread to the selected job in the thread map. - View Dependent Claims (8, 9)
-
-
10. A system comprising:
-
a distributed computing system comprising a first computing device and a plurality of second computing devices; wherein the first computing device programmed to; orchestrate deployment of a plurality of roles in a bundled application in the plurality of second computing devices of the distributed computing system by processing a plurality of jobs, each job of the plurality of jobs being at least one of started by another job of the plurality of jobs and invoking starting of another job of the plurality of jobs, each role of the plurality of roles being an executable program; define a job hierarchy such that each node of the job hierarchy represents a job and any descendants of the each node are one or more jobs started by the job represented by the each node, each node of the job hierarchy referencing a second computing device of the distributed computing system on which the job represented by the each node is executing; wherein each second computing device of the plurality of computing devices programmed to generate log files during processing of at least a portion of the plurality of jobs; and wherein the first computing device is further programmed to; receive file system navigation commands with respect to the log files; and process the file system navigation commands in order to present a view of the job hierarchy without generating any queries or read requests to the second computing devices; wherein the first computing device is further programmed to; invoke moving of a first job of the plurality of jobs from an initial second computing device to a subsequent second computing device; record identifiers of the initial and subsequent second computing devices in a node of the job hierarchy representing the first job; receive a file system read command for a log file for the first job; identify the node in the job hierarchy representing the first job by traversing the job hierarchy; and transmit the file system read command to both of the initial second computing device and the subsequent second computing device for processing. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a distributed computing system comprising a first computing device and a plurality of second computing devices; wherein the first computing device programmed to; orchestrate deployment of a plurality of roles in a bundled application in the plurality of second computing devices of the distributed computing system by processing a plurality of jobs, each job of the plurality of jobs being at least one of started by another job of the plurality of jobs and invoking starting of another job of the plurality of jobs, each role of the plurality of roles being an executable program; define a job hierarchy such that each node of the job hierarchy represents a job and any descendants of the each node are one or more jobs started by the job represented by the each node, each node of the job hierarchy referencing a second computing device of the distributed computing system on which the job represented by the each node is executing; wherein each second computing device of the plurality of second computing devices programmed to generate log files during processing of at least a portion of the plurality of jobs; and wherein the first computing device is further programmed to; receive file system navigation commands with respect to the log files; and process the file system navigation commands in order to present a view of the job hierarchy without generating any queries or read requests to the second computing devices; wherein each second computing device of the plurality of second computing devices is programmed to; provide a pool of threads; provide a thread map; (a) assign a selected thread from the pool of threads to a selected job of a plurality of jobs assigned to the each second computing device; (b) update the thread map to include a mapping of the selected thread to a job identifier of the selected job; (c) execute the selected job by the selected thread; stop execution of the selected job; release the selected thread; and remove the mapping of the selected thread to the selected job in the thread map. - View Dependent Claims (17, 18)
-
Specification