×

Reducing downtime when patching multiple inter-dependent software components

  • US 9,195,455 B2
  • Filed: 04/01/2009
  • Issued: 11/24/2015
  • Est. Priority Date: 04/01/2009
  • Status: Active Grant
First Claim
Patent Images

1. A computing system comprising:

  • a set of systems to store a plurality of software components implementing an enterprise application containing a plurality of layers, wherein software components in each layer are designed to provide services to software components in higher layers while using services provided by software components in lower layers, wherein said plurality of software components are inter-dependent on each other according to a dependency order, wherein a first software component is dependent on a second software component, which in turn is dependent on a third software component according to said dependency order, a fourth software component is also dependent on said third software component without being dependent on said second software component, wherein said first software component and said fourth software component are present in a third layer, said second software component is present in a second layer and said third software component is present in a first layer, wherein said third layer is higher than said second layer, which in turn is higher than said first layer in said plurality of layers, wherein each software component in the same layer provides same services to components in higher layers such that both of said first software component and said fourth software component in said third layer provide same services to software components in a fourth layer which is higher than said third layer in said plurality of layers, wherein said first software component, said second software component, said fourth software component and said third software component are contained in said plurality of software components;

    a developer system to send a plurality of patches sought to be applied to said plurality of software components, wherein said plurality of patches includes respective patches for said first software component, said second software component and said third software component;

    and a patch tool to apply said plurality of patches on respective software components after all of said plurality of software components, including said first software component, said second software component, said third software component and said fourth software component are in a shutdown state, said patch tool to start up said plurality of software components in said dependency order starting first with an independent component, wherein said independent component is contained in said plurality of software components, wherein said patch tool starts up each component after completion of patching of the component and after starting up of a set of components on which the component is dependent upon, without waiting for patching of all of said plurality of software components, wherein each software component continues to be in executing state after being started up until all of said plurality of software components are also started up, wherein services provided by the software component in the executing state are available to corresponding components in higher layers, wherein said third software component is started up at a third time instance after completion of patching of said third software component, but without waiting for completion of patching of said second software component and said first software component in view of said second layer being higher than said first layer, wherein said second software component is started up at a second time instance after completion of patching of said second software component, but without waiting for completion of patching of said first software component in view of said third layer being higher than said second layer, wherein said first software component is started up at a first time instance after completion of patching of said first software component and said starting up of said second software component, wherein said fourth software component in said third layer is started up at a fourth time instance after completion of patching of said fourth software component and said starting up of said third software component in said first layer, but without waiting for said starting up of said second component in said second layer in view of said fourth software component not being dependent on said second software component, wherein said first time instance is after said second time instance, which in turn is after said third time instance, and wherein said fourth time instance is after said third time instance but before said second time instance, wherein at least one of said set of systems, said developer system and said patch tool comprising a processor executing instructions retrieved from a memory.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×