Patent ID: 8543800

Claim:
A method for managing services within a data storage subsystem using a processor in communication with a memory device during a startup sequence, comprising: defining a first service facilitated by a provider, wherein the provider is operational by the processor; linking at least one requirement to the first service; incorporating the first service and the at least one requirement into a specification file; constructing a directed acyclic graph interrelating the first service and a second service based on the at least one requirement; and traversing the directed acyclic graph using an initialization process to generate a determination which of an available plurality of services to provide; wherein: the determination further includes an analysis of the which of the available plurality of services to provide in view of at least one hardware resource in the data storage subsystem, and constructing the directed acyclic graph comprises interrelating the first service and the second service based on one of a weak requirement dependency and a strong requirement dependency of the first service and the second service, the weak requirement dependency comprising starting the second service after starting the first service and the strong requirement dependency comprising starting the second service prior to starting the first service.