Managing a set of software modules in a software runtime environment

US9223566B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9223566-B2
Application numberUS-201314029032-A
CountryUS
Kind codeB2
Filing dateSep 17, 2013
Priority dateOct 2, 2012
Publication dateDec 29, 2015
Grant dateDec 29, 2015

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, system, and/or computer program product manages a set of software modules in a software runtime environment, where the set of software modules has one or more dynamic dependencies and one or more static dependencies. Each software module having a static dependency on another software module in a set of software modules is identified. Each subset of the set of software modules that is interdependent with another subset due to static dependencies between subsets is identified. In response to a change in state of a module in an identified subset, the change in state is applied to all modules in the identified subset.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for managing a set of software modules in a software runtime environment, the set of software modules comprising one or more dynamic dependencies and one or more static dependencies, the method comprising: identifying, by one or more processors, a set of software modules; identifying, by one or more processors, each software module that has a static dependency on another of the software modules; identifying, by one or more processors, each subset of the set of software modules that is interdependent with another subset of the set of software modules, wherein each subset of software modules is composed of software modules that are interdependent due to static dependencies between the software modules in the subset, wherein the software modules comprising static dependencies are contained in a wrapper for operation within the software runtime environment, and wherein identified subsets of the set of software modules are interdependent due to a dynamic dependency between the identified subsets of the set of software modules; in response to a change in state of a module in an identified subset, applying, by one or more processors, the change in state to all software modules in the identified subset, wherein the change in state is changing a state of the software module from a first state from a group of states consisting of upgraded, replaced and removed to a second state from the group of states consisting of upgraded, replaced and removed, wherein a user initiating a change in state for a software module in an identified subset is restricted to applying the change in state to all the software modules in the identified subset, and wherein the change in state is applied only to the software modules in the identified subset; and in response to a change in state of a software module comprising only dynamic dependencies on other software modules, applying, by one or more processors, the change in state only to that software module. 2. The method of claim 1 , wherein the software modules are arranged together to provide an application program. 3. The method of claim 1 , wherein one or more of the static dependencies are identified prior to runtime. 4. The method of claim 1 , wherein each subset of software modules is identified prior to runtime. 5. A computer program product for managing a set of software modules in a software runtime environment, the set of software modules comprising one or more dynamic dependencies and one or more static dependencies, the computer program product comprising: a non-transitory computer readable storage medium; first program instructions to identify a set of software modules; second program instructions to identify each software module having a static dependency on another of the software modules; third program instructions to identify each subset of the set of software modules that is interdependent with another subset of the set of software modules, wherein each subset of software modules is composed of software modules that are interdependent due to static dependencies between the software modules in the subset, wherein the software modules comprising static dependencies are contained in a wrapper for operation within the software runtime environment, and wherein identified subsets of the set of software modules are interdependent due to a dynamic dependency between the identified subsets of the set of software modules; fourth program instructions to, in response to a change in state of a module in an identified subset, apply the change in state to all software modules in the identified subset, wherein the change in state is changing a state of the software module from a first state from a group of states consisting of started, stopped, upgraded, replaced and removed to a second state from the group of states consisting of started, stopped, upgraded, replaced and removed, wherein a user initiating a change in state for a software module in an identified subset is restricted to applying the change in state to all the software modules in the identified subset, wherein the change in state is applied only to the software modules in the identified subset; and fifth program instructions to, in response to a change in state of a software module comprising only dynamic dependencies on other software modules, applying, by one or more processors, the change in state only to that software module; and wherein said first, second, third, fourth, and fifth program instructions are stored on said computer readable storage medium. 6. The computer program product of claim 5 , wherein the software modules are arranged together to provide an application program. 7. The computer program product of claim 5 , wherein one or more of the static dependencies are identified prior to runtime. 8. The computer program product of claim 5 , wherein each subset of software modules is identified prior to runtime. 9. A computer system for managing a set of software modules in a software runtime environment, the set of software modules comprising one or more dynamic dependencies and one or more static dependencies, the computer system comprising: a processor, a computer readable memory, and a computer readable storage medium; first program instructions to identify a set of software modules; second program instructions to identify each software module having a static dependency on another of the software modules; third program instructions to identify each subset of the set of software modules that is interdependent with another subset of the set of software modules, wherein each subset of software modules is composed of software modules that are interdependent due to static dependencies between the software modules in the subset, wherein the software modules comprising static dependencies are contained in a wrapper for operation within the software runtime environment, and wherein identified subsets of the set of software modules are interdependent due to a dynamic dependency between the identified subsets of the set of software modules; fourth program instructions to, in response to a change in state of a module in an identified subset, apply the change in state to all software modules in the identified subset, wherein the change in state is changing a state of the software module from a first state from a group of states consisting of started, stopped, upgraded, replaced and removed to a second state from the group of states consisting of started, stopped, upgraded, replaced and removed, wherein a user initiating a change in state for a software module in an identified subset is restricted to applying the change in state to all the software modules in the identified subset, wherein the change in state is applied only to the software modules in the identified subset; and fifth program instructions to, in response to a change in state of a software module comprising only dynamic dependencies on other software modules, applying, by one or more processors, the change in state only to that software module; and wherein said first, second, third, fourth, and fifth program instructions are stored on said computer readable storage medium for execution by said processor via said computer readable memory. 10. The computer system of claim 9 , wherein the software modules are arranged together to provide an application program. 11. The computer system of claim 9 , wherein one or more of the static dependencies are identified prior to runtime. 12. The computer system of claim 9 , wherein each subset of software modules is identified prior to runtime.

Assignees

Inventors

Classifications

  • G06F8/70Primary

    Software maintenance or management · CPC title

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • Software reuse · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9223566B2 cover?
A method, system, and/or computer program product manages a set of software modules in a software runtime environment, where the set of software modules has one or more dynamic dependencies and one or more static dependencies. Each software module having a static dependency on another software module in a set of software modules is identified. Each subset of the set of software modules that is …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/70. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 29 2015 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).