DE112011105294T5 - Abhängigkeiten-basierte Auswirkungsanalyse unter Verwendung eines mehrdimensionalen Modells eines Software-Angebots - Google Patents

Abhängigkeiten-basierte Auswirkungsanalyse unter Verwendung eines mehrdimensionalen Modells eines Software-Angebots Download PDF

Info

Publication number
DE112011105294T5
DE112011105294T5 DE112011105294.4T DE112011105294T DE112011105294T5 DE 112011105294 T5 DE112011105294 T5 DE 112011105294T5 DE 112011105294 T DE112011105294 T DE 112011105294T DE 112011105294 T5 DE112011105294 T5 DE 112011105294T5
Authority
DE
Germany
Prior art keywords
weights
dependency
software offering
centrality
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112011105294.4T
Other languages
English (en)
Inventor
Ramkumar Venkataraman
Jerome Labat
John Eugene Edward
Ramachandran Varadharajan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intuit Inc
Original Assignee
Intuit Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intuit Inc filed Critical Intuit Inc
Publication of DE112011105294T5 publication Critical patent/DE112011105294T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/282Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/20Administration of product repair or maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce

Abstract

Die offenbarten Ausführungsformen stellen ein System bereit, welches die Wartung und Ausführung eines Software-Angebots vereinfacht. Während des Betriebs bezieht das System mit einem mehrdimensionalen Modell des Software-Angebotes assoziierte Modelldaten. Daraufhin verwendet das System die Modelldaten zum Berechnen eines Satzes von Abhängigkeitsgewichten, welche Maße der Abhängigkeit unter einem Satz von Dienstleistungs-Komponenten und einem Satz von Ressourcen darstellen, welche von dem Software-Angebot verwendetet werden. Schließlich verwendet das System die Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebotes.

Description

  • HINTERGRUND
  • Stand der Technik
  • Die vorliegenden Ausführungsformen betreffen Techniken zum Verwalten von Software-Angeboten. Insbesondere betreffen die vorliegenden Ausführungsformen eine Abhängigkeiten-basierte Auswirkungsanalyse der Software-Angebote unter Verwendung eines mehrdimensionalen Modells der Software-Angebote.
  • Aktuelle Trends im Bereich des computergestützten Rechnens haben gezeigt, dass sich die Prozessierung und der Verbrauch von Daten und Dienstleistungen hin zu Cloud-Rechensystemen verschiebt. Solche Cloud-Rechensysteme ermöglichen es Software-Anbietern, Software-Angebote auf geteilten Infrastruktur-Ressourcen wie z. B. Servern, Netzwerkanlagen, Plattform-Virtualisierungs-Software und/oder Datenzentren zu verteilen, auszuführen und zu verwalten. Ferner können solche Ressourcen dynamisch zugeteilt und/oder dimensioniert werden, was es erlaubt, die Ressourcen als Dienstleistungen zu verbrauchen.
  • Zum Beispiel kann ein Cloud-Rechenanbieter virtuellen Speicher, Netzwerke und/oder Rechenressourcen mehreren Cloud-Rechenkunden zur Verfügung stellen. Die Cloud-Rechenkunden können Software-Angebote auf den virtuellen Ressourcen verteilen und bezahlen den Cloud-Rechenanbieter nur für die Ressourcen, die von den Software-Angeboten konsumiert werden. Daher können die Cloud-Rechenkunden Kapitalausgaben bezüglich Beschaffung, Aufstellen und/oder Verwalten der entsprechenden Hardware und Software vermeiden. Ferner können durch die Zentralisierung und gemeinsame Verwendung von Infrastruktur-Ressourcen die Auslastungsraten der Ressourcen und der Verwaltungsaufwand verbessert werden.
  • Damit kann die Verteilung, Ausführung und Verwaltung von Software-Angeboten durch Mechanismen zum dynamischen Allokieren, Konfigurieren und Überwachen von den im Software-Angebot verwendeten Infrastruktur-Ressourcen vereinfacht werden.
  • ZUSAMMENFASSUNG
  • Die offenbarten Ausführungsformen stellen ein System bereit, dass die Wartung und Ausführung eines Software-Angebotes vereinfacht. Im Betrieb bezieht das System Modelldaten, welche mit einem mehrdimensionalen Modell des Software-Angebots assoziiert sind. Als nächstes verwendet das System die Modelldaten zum Berechnen eines Satzes von Abhängigkeitsgewichten, welche Maße der Abhängigkeit unter einem Satz von Dienstleistungs-Komponenten und einem Satz von Ressourcen, welche von dem Software-Angebot verwendet werden, darstellen. Schließlich verwendet das System die Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebots.
  • In einigen Ausführungsformen bezieht das System auch eine Aktualisierung für das mehrdimensionale Modell und berechnet die Abhängigkeitsgewichte basierend auf der Aktualisierung erneut.
  • In einigen Ausführungsformen umfassen die Modelldaten zum Berechnen des Satzes von Abhängigkeitsgewichten ein Berechnen eines Satzes von Zentralitätsgewichten für einen Satz von Knoten in dem mehrdimensionalen Modell und ein Verwenden des Satzes von Zentralitätsgewichten als den Satz von Abhängigkeitsgewichten.
  • In einigen Ausführungsformen umfasst ein Berechnen des Satzes von Zentralitätsgewichten für den Satz von Knoten in dem mehrdimensionalen Modell:
    • I Bestimmen einer Umgebungsmatrix für den Satz von Knoten;
    • II Berechnen eines Eigenvektors, welcher mit einem größten Eigenwert der Umgebungsmatrix assoziiert ist; und
    • III Bestimmen der Zentralitätsgewichte aus einem Satz von Komponenten des Eigenvektors.
  • In einigen Ausführungsformen wird der Eigenvektor mit einer iterativen Methode und/oder einer algebraischen Methode berechnet.
  • In einigen Ausführungsformen umfasst das Verwenden der Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebots ein Verwenden der Abhängigkeitsgewichte zum Bestimmen eines Satzes von Wiederherstellungskosten, welche mit den Dienstleistungs-Komponenten und den Ressourcen assoziiert sind, und/oder ein Verwenden der Abhängigkeitsgewichte zum Bestimmen einer Wiederherstellungssequenz für das Software-Angebot.
  • In einigen Ausführungsformen entspricht die Wiederherstellungssequenz einer absteigenden Sequenz von Abhängigkeitsgewichten.
  • KURZBESCHREIBUNG DER FIGUREN
  • 1 zeigt ein Schema eines Systems in Übereinstimmung mit einer Ausführungsform.
  • 2 zeigt ein System zum Durchführen einer Abhängigkeiten-basierten Auswirkungsanalyse eines Software-Angebots in Übereinstimmung mit einer Ausführungsform.
  • 3 zeigt einen beispielhaften Satz von Knoten in einem mehrdimensionalen Modell eines Software-Angebots in Übereinstimmung mit einer Ausführungsform.
  • 4 zeigt ein Ablaufdiagramm, welches den Prozess des Vereinfachens der Wartung und Ausführung eines Software-Angebotes in Übereinstimmung mit einer Ausführungsform darstellt.
  • 5 zeigt ein Computersystem in Übereinstimmung mit einer Ausführungsform.
  • In den Figuren beziehen sich dieselben Bezugszeichen auf gleiche Figurenelemente
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung soll es einem Fachmann ermöglichen, die Ausführungsformen herzustellen und zu verwenden und ist im Kontext einer bestimmten Anwendung und deren Anforderungen dargestellt. Diverse Abwandlungen zu den offenbarten Ausführungsformen sind einem Fachmann unmittelbar ersichtlich, und die hierin festgelegten, allgemeinen Prinzipien können auf andere Ausführungsformen und Anwendungen angewendet werden, ohne von dem Geist und der Ausrichtung der vorliegenden Erfindung abzuweichen. Daher ist die vorliegende Erfindung nicht auf die gezeigten Ausführungsformen beschränkt, sondern ist mit der breitesten Ausrichtung zu verstehen, die mit den hierin offenbarten Prinzipien und Merkmalen konsistent ist.
  • Die Datenstrukturen und der Code, welche in dieser ausführlichen Beschreibung beschrieben sind, sind üblicherweise auf einem computer-lesbaren Speichermedium gespeichert, welches ein beliebiges Gerät oder Medium sein kann, das Code und/oder Daten zur Verwendung durch ein Computersystem speichern kann. Das computer-lesbare Speichermedium umfasst, ist jedoch darauf nicht beschränkt, flüchtigen Arbeitsspeicher, nicht-flüchtigen Arbeitsspeicher, magnetische und optische Speichergeräte, wie z. B. Diskettenlaufwerke, magnetische Bänder, CDs (compact disks), DVDs (digital versatile discs oder digital video discs) oder andere derzeit bekannte oder später entwickelte Medien, die in der Lage sind, Code und/oder Daten zu speichern.
  • Die in dieser ausführlichen Beschreibung beschriebenen Verfahren und Prozesse können als Code und/oder Daten ausgeführt sein, welcher bzw. welche auf einem, wie oben beschriebenen computer-lesbaren Speichermedium gespeichert werden können. Wenn ein Computersystem den Code und/oder die Daten, welche auf einem computer-lesbaren Speichermedium gespeichert sind, liest und ausführt, führt das Computersystem die Verfahren und Prozesse aus, welche als Datenstrukturen und Code ausgebildet und auf dem computer-lesbaren Speichermedium gespeichert sind.
  • Ferner können hierin beschriebene Verfahren und Prozesse in Hardwaremodulen oder Vorrichtungen enthalten sein. Diese Module oder Vorrichtungen können umfassen, sind darauf aber nicht beschränkt, ein anwendungsspezifischer integrierter Schaltungschip (ASIC), ein field-programmable gate array (FPGA), ein dedicated oder shared processor, der ein bestimmtes Softwaremodul oder ein Codestück zu einer bestimmten Zeit ausführt und/oder andere Geräte programmierbarer Logik, die bekannt sind oder noch entwickelt werden. Wenn die Hardwaremodule oder Vorrichtungen aktiviert sind, führen diese die Verfahren und Prozesse aus, die in ihnen enthalten sind.
  • Die offenbarten Ausführungsformen stellen ein Verfahren und System zum Vereinfachen der Wartung und Ausführung eines Software-Angebots bereit. Das Software-Angebot kann einer Anwendung entsprechen, die auf einem oder mehreren Servern verteilt ist und auf die über eine Netzwerkverbindung zugegriffen wird. Z. B. kann das Software-Angebot eine Web-Anwendung, eine verteilte Anwendung und/oder eine Web-Dienstleistung für Nutzer des Software-Angebots bereitstellen.
  • Insbesondere stellen die offenbarten Ausführungsformen ein Verfahren und System zur Abhängigkeiten-basierten Auswirkungsanalyse des Software-Angebots unter Verwendung eines mehrdimensionalen Modells des Software-Angebots bereit. Das mehrdimensionale Modell kann einen Satz von Dienstleistungs-Komponenten in dem Software-Angebot, einen Satz von dem im Software-Angebot verwendeten Ressourcen und einen Satz von Abhängigkeiten unter den Dienstleistungs-Komponenten und/oder Ressourcen umfassen. Das mehrdimensionale Modell kann daher die Verteilung, Ausführung und Wartung des Software-Angebots vereinfachen.
  • Um die Abhängigkeiten-basierte Auswirkungsanalyse durchzuführen, können mit dem mehrdimensionalen Modell assoziierte Modelldaten bezogen werden und dazu verwendet werden, einen Satz von Abhängigkeitsgewichten zu berechnen, welche Maße der Abhängigkeit unter einem Satz von Dienstleistungs-Komponenten und einem Satz von darstellen, welche von dem Software-Angebot verwendet werden. Die Abhängigkeitsgewichte können als ein Satz von Zentralitätsgewichten für einen Satz von Knoten in dem mehrdimensionalen Modell berechnet werden. Beispielsweise können die Zentralitätsgewichte durch Bestimmen einer Umgebungsmatrix für den Satz von Knoten, Berechnen eines Eigenvektors, welcher mit einem größten Eigenwert der Umgebungsmatrix assoziiert ist, und Bestimmen der Zentralitätsgewichte aus einem Satz von Komponenten des Eigenvektors berechnet werden. Die Abhängigkeitsgewichte können daher die Gewichtigkeit der Knoten bezüglich der Verbindungen zwischen den Knoten in dem mehrdimensionalen Modell darstellen.
  • Die Abhängigkeitsgewichte können dann zum Vereinfachen einer Verwaltung des Software-Angebots verwendet werden. Zuerst können die Abhängigkeitsgewichte zum Bestimmen eines Satzes von mit den Dienstleistungs-Komponenten und den Ressourcen assoziierten Wiederherstellungskosten verwendet werden. Beispielsweise können die Wiederherstellungskosten einer Dienstleistungs-Komponente und/oder Ressource proportional zu dem Abhängigkeitsgewicht sein, welches mit der Dienstleistungs-Komponente und/oder Ressource assoziiert ist. Die Abhängigkeitsgewichte können ebenfalls zum Bestimmen einer Wiederherstellungssequenz für das Software-Angebot verwendet werden. Beispielsweise kann die Wiederherstellungssequenz einer absteigenden Sequenz der Abhängigkeitsgewichte entsprechen, um die Wiederherstellung von Dienstleistungs-Komponenten und/oder Ressourcen zu priorisieren, welche mit höheren Maßen der Abhängigkeit assoziiert sind.
  • 1 zeigt ein Schema eines Systems in Übereinstimmung mit einer Ausführungsform. Wie in 1 gezeigt, umfasst das System eine Verwaltungsvorrichtung 102, eine Modellierungsvorrichtung 104 und eine Zuteilungsvorrichtung 116. Jede dieser Komponenten wird nachfolgend im Detail beschrieben.
  • In einer oder mehreren Ausführungsformen wird das System der 1 zum Verwalten der Verteilung und Ausführung eines Software-Angebots auf einem Satz von Ressourcen (z. B. Ressource 1 122, Ressource M 124, Ressource 1 126, Ressource N 128) verwendet. Das Software-Angebot kann einem Softwareprogramm entsprechen, welches Aufgaben für einen Satz von Nutzern durchführt. Z. B. kann das Software-Angebot den Nutzern ermöglichen, bei Projekten zu kollaborieren, Einkommenssteuern einzureichen, Personal oder Finanzen eines Kleinunternehmens zu verwalten und/oder Datenverarbeitung auf einem Zieldatensatz durchzuführen.
  • Ferner kann das Software-Angebot in einer Client-Server-Architektur implementiert sein. Komponenten des Software-Angebots können auf einem oder mehreren Servern (z. B. in einem Datenzentrum) verteilt und ausgeführt werden und auf die Komponenten kann durch andere Maschinen mit einer lokal installierten, ausführbaren Datei, mit einer Kommandozeile und/oder mit einem Web-Browser und einer Netzwerkverbindung zugegriffen werden. Mit anderen Worten kann das Software-Angebot durch ein Cloud-Rechensystem implementiert sein, auf das über das Internet zugegriffen wird.
  • Um die Ausführung des Software-Angebots zu ermöglichen, können mit der Erzeugung, Verteilung und/oder Ausführung des Software-Angebots assoziierte Nutzer einen Satz von mit dem Software-Angebot assoziierten Anforderungen bestimmen. Die Nutzer können dann Ressourcen (z. B. Ressource 1 122, Ressource M 124, Ressource 1 126, Ressource N 128) in dem Cloud-Rechensystem für Komponenten in dem Software-Angebot allokieren und die allokierten Ressourcen in einer Weise konfigurieren, welche die Ausführung des Software-Angebots derart erlaubt, dass die Anforderungen erfüllt sind. Beispielsweise kann ein Entwicklerteam des Software-Angebots eine Richtlinie bereitstellen, die ein Maß der Verfügbarkeit, Verlässlichkeit, Skalierbarkeit, Sicherheit und/oder Antwortdauer in dem Software-Angebot spezifiziert. Administratoren des Cloud-Rechensystems können die Einhaltung der Richtlinien durch Allokation ausreichender Infrastrukturressourcen für das Software-Angebot und/oder derartiger Konfigurierung der Ressourcen sicherstellen, dass notwendige Maße von Redundanz, Sicherheit und/oder Lastausgleich in dem Software-Angebot bereitgestellt werden.
  • Der Fachmann schätzt es, dass das Cloud-Rechensystem Virtualisierung verwendet, um das Software-Angebot auf einem Satz von geteilten Ressourcen zu verteilen und auszuführen. Insbesondere kann eine Anzahl von Organisationswerkzeugen (z. B. Organisationswerkzeug 1 118, Organisationswerkzeug Z 120) zur Virtualisierung und/oder Zuteilung unterschiedlicher Typen von Ressourcen in dem Cloud-Rechensystem verwendet werden. Beispielsweise kann ein Hypervisor Rechenressourcen durch Erzeugen und Ausführen von virtuellen Maschinen als Abstraktion physischer Server allokieren und/oder verwalten. In ähnlicher Weise kann ein virtueller Filer Speicherressourcen aus einer Vielzahl von Speichergeräten in einem Ressourcenpool kombinieren und logische Speichervolumen aus dem Ressourcenpool allokieren. Schließlich können Netzwerkrouter und/oder Switche Netzwerkressourcen in virtuelle lokale Netzwerke (VLANs) aufteilen, welche physische und/oder virtuelle Rechen- und/oder Speicherressourcen in dem Cloud-Rechensystem miteinander verbinden.
  • Darüber hinaus kann jedes Organisationswerkzeug eine Funktionalität aufweisen, um Ressourcen in Abhängigkeit von Veränderung in dem Software-Angebot und/oder bei Bedarf der Ressourcen erneut zuzuteilen. Beispielsweise kann ein Hypervisor eine neue virtuelle Maschine instanziieren, um das Hinzufügen eines neuen Web-Servers zu dem Software-Angebot zu ermöglichen. Der Hypervisor kann zudem einen Satz von physischen Rechenressourcen (z. B. Prozessor, Arbeitsspeicher, etc.) für die virtuelle Maschine allokieren, um die Ausführung des Web-Servers auf den Ressourcen zu ermöglichen. Schließlich kann der Hypervisor die virtuelle Maschine zu einem anderen Satz physischer Ressourcen verschieben, wenn sich die Ressourcenanforderungen des Web-Servers verändern und/oder die physischen Ressourcen (z. B. Server), welche zum Ausführen des Web-Servers verwendet werden, überlastet sind.
  • Mit anderen Worten kann die Verwendung von Ressourcen durch das Software-Angebot durch eine Anzahl von unterschiedlichen, unabhängigen Organisationswerkzeugen verwaltet werden. Daher kann dem Cloud-Rechensystem eine verständliche Ansicht der Abhängigkeiten zwischen Software-Komponenten in dem Software-Angebot und den Hardware-Ressourcen, welche zum Ausführen der Software-Komponenten verwendet werden, fehlen. Beispielsweise kann das Cloud-Rechensystem den Überblick über für das Software-Angebot allokierte Ressourcen verlieren, wenn die Organisationswerkzeuge damit beginnen, Ressourcen neu zu allokieren und/oder neu zuzuteilen.
  • Ein solches Fehlen von Abhängigkeitsinformation kann Probleme mit dem Verfolgen und Verwalten von Ereignissen und/oder Fehlern in dem Cloud-Rechensystem verursachen. Beispielsweise kann ein Serverausfall in dem Cloud-Rechensystem ein manuelles Eingreifen durch Administratoren erfordern, um den von dem Ausfall betroffenen Satz von Hardware- und Software-Komponenten zu bestimmen und/oder korrigierende Maßnahmen durchzuführen, die eine Erholung von dem Serverausfall ermöglichen.
  • In einer oder mehreren Ausführungsformen reduziert das System aus 1 eine Komplexität, welche mit dem Verwalten von Anforderungen und Abhängigkeiten in dem Software-Angebot assoziiert sind, indem ein mehrdimensionales Modell 108 des Software-Angebots erzeugt und das mehrdimensionale Modell 108 zum Verwalten der Verteilung und Ausführung des Software-Angebots verwendet wird. Wie in 1 gezeigt, kann das mehrdimensionale Modell 108 aus einer Dienstleistungs-Definition 110 des Software-Angebots und einer Ressourcen-Definition 130 von in dem Software-Angebot zur Verwendung verfügbaren Ressourcen erzeugt werden.
  • Die Dienstleistung-Definition 110 kann von einem Nutzer (z. B. Entwickler, Architekt, etc.) bestimmt werden, welcher mit der Erzeugung und/oder Entwicklung des Software-Angebot assoziiert ist. Insbesondere kann die Dienstleistungs-Definition 110 einer logischen Darstellung des Software-Angebots in Form einer Konfiguration, einer Topologie, von Richtlinien und/oder von QoS-Attributen des Software-Angebots entsprechen. Daher können Elemente (z. B. Element 1 112, Element X 114) der Dienstleistungs-Definition eine oder mehrere Stufen, einen Satz von Dienstleistungs-Komponenten und/oder einen Satz von Verbindungen aufweisen. Beispielsweise kann ein Architekt des Software-Angebots die Dienstleistungs-Definition 110 durch Eingabe der Anzahl von Stufen, eines Maßes von Sicherheit, einer Softwareentwicklungs-Lebenszyklusphase und/oder eines Software-Stapels, welche mit dem Software-Angebot assoziiert sind, in eine von der Verwaltungsvorrichtung 102 bereitgestellten Nutzerschnittstelle bereitstellen.
  • Andererseits kann die Ressourcen-Definition 130 von Administratoren und/oder Organisationswerkzeugen des Cloud-Rechensystems bezogen werden und einer logischen Darstellung und/oder Aufteilung verfügbarer Infrastrukturressourcen in dem Cloud-Rechensystem in Form von Positionen, Zuständen und/oder einer Verwendung der Ressourcen entsprechen. Elemente (z. B. Element 1 132, Element Y 134) der Ressourcen-Definition 130 können daher physische und/oder virtuelle Ressourcen, Ressourcen-Cluster, Sicherheitsbereiche, Hosting-Segmente und/oder Positionen in dem Cloud-Rechensystem darstellen. Beispielsweise kann ein Administrator die Ressourcen-Definition 130 mit einem Inventar physischer und/oder virtueller Ressourcen in dem Cloud-Rechensystem manuell populieren, oder die Zuteilungsvorrichtung 116 kann Benachrichtigungen über Änderungen der Ressourcen (z. B. Hinzufügung neuer Ressourcen, Entfernung bestehender Ressourcen) in dem Cloud-Rechensystem von den Organisationswerkzeugen (z. B. Hypervisor, virtuelle Filer) erhalten und die Ressourcen-Definition 130 entsprechend aktualisieren.
  • Um das mehrdimensionale Modell 108 zu erzeugen, kann die Modellierungsvorrichtung 104 einem ersten Satz von Elementen der Dienstleistungs-Definition 110 (z. B. Element 1 112, Element X 114), einen zweiten Satz von Elementen der Ressourcen-Definition 130 (z. B. Element 1 132, Element Y 134) zuordnen. Die Zuordnungen können Abhängigkeiten des ersten Satzes von Elementen von dem zweiten Satz von Elementen darstellen. Beispielsweise kann eine Zuordnung einer Dienstleistungs-Komponente der Dienstleistungs-Definition 110 zu einer Ressource der Ressourcen-Definition 130 die Allokation der Ressource zu der Dienstleistungs-Komponente durch ein Organisationswerkzeug darstellen. Die Erzeugung mehrdimensionaler Modelle für Software-Angebote wird in einer anhängigen Patentanmeldung der Autoren Jerome Labat, Ramachandran Veradharajan, Wilson Lau und Thomas Bishop mit dem Titel „Multidimensional Modeling of Software Offerings”, der NOCH ZUZUORDNENDEN Anmeldenummer und dem NOCH ZUZUORDNENDEN Anmeldetag (Anwaltsaktenzeichennummer INTU-115591) behandelt, welche hierin durch Referenz einbezogen ist.
  • In einer oder mehreren Ausführungsformen umfasst die Erzeugung eines mehrdimensionalen Modells 108 die Identifikation eines Satzes von Anforderungen, welche mit dem Software-Angebot assoziiert sind, aus der Dienstleistungs-Definition 110, sowie die anschließende Allokation einer Untermenge der Ressourcen aus der Ressourcen-Definition 130 für Dienstleistung-Komponenten der Dienstleistungs-Definition 110 basierend auf den Anforderungen. Insbesondere kann die Verwaltungsvorrichtung 102 die Anforderung des Software-Angebots aus einem Satz von Richtlinien der Dienstleistungs-Definition 110 bestimmen und die Anforderungen in einem Strukturplan 106 speichern. Die Richtlinien können eine Softwareentwicklungs-Lebenszyklus-Richtlinie, eine Sicherheits-Richtlinie, eine Software-Vorlage-Richtlinie, eine QoS-Richtlinie und/oder eine strukturelle Richtlinie umfassen. Die Anforderungen können daher die Menge und/oder Konfiguration von Ressourcen spezifizieren, welche zum Erfüllen der Richtlinien benötigt werden.
  • Daraufhin kann die Zuteilungsvorrichtung 116 den Strukturplan 106 verwenden, um einen Satz von Ressourcen zur Verwendung durch das Software-Angebot automatisch zuzuteilen, ohne eine manuelle Konfiguration der Ressourcen durch einen Nutzer (z. B. einen Administrator) zu erfordern. Beispielsweise kann die Zuteilungsvorrichtung 116 den Strukturplan 106 verwenden, um einen Satz von Dienstleistungs-Containern zum Hosten des Software-Angebots zu erzeugen. Die Zuteilungsvorrichtung 116 kann Ressourcen für die Dienstleistungs-Container allokieren, indem die benötigten Mengen und/oder Konfigurationen von Ressourcen aus den entsprechenden Organisationswerkzeugen angefordert werden. Die automatische Zuteilung von Ressourcen an Software-Angebote wird in einer anhängigen Patentanmeldung der Autoren Jerome Labat, Ramachandran Veradharajan, Wilson Lau und Thomas Bishop mit dem Titel „Automatic Provisioning of Resources to Software Offering”, der NOCH ZUZUORDNENDEN Anmeldenummer und dem NOCH ZUZUORDNENDEN Anmeldetag (Anwaltsaktenzeichennummer INTU-115592) behandelt, welche hierin durch Referenz einbezogen ist.
  • Wie zuvor erwähnt, kann das mehrdimensionale Modell 108 Abhängigkeiten zwischen Dienstleistungs-Komponenten der Dienstleistungs-Definition 110 und Ressourcen der Ressourcen-Definition 130 umfassen. Daher kann die Modellierungsvorrichtung 104 das mehrdimensionale Modell 108. erzeugen, in dem von der Zuteilungsvorrichtung 116 allokierte Ressourcen den Dienstleistungs-Komponenten, für die die Ressourcen allokiert wurden, zugeordnet werden.
  • Die Modellierungsvorrichtung 104 kann zudem die Zuordnungen, basierend auf Veränderungen der zugeteilten Ressourcen, aktualisieren. Beispielsweise können sich Dienstleistungs-Komponenten zugeteilte Ressourcen ändern, wenn die Organisationswerkzeuge neue Ressourcen allokieren, gegenwärtig allokierte Ressourcen freigeben und/oder andere Sätze physischer Ressourcen zum Ausführen virtueller Ressourcen (z. B. virtuelle Maschinen, logische Volumen, VLANs, etc.) verwenden. Solche Änderungen können von der Zuteilungsvorrichtung 116 durch Abfragen und/oder Beobachten der Organisationswerkzeuge bezogen werden. Die Änderungen können von der Zuteilungsvorrichtung 116 ebenfalls zur Aktualisierung der Ressourcen-Definition 130 verwendet werden. Die Aktualisierungen können dann durch die Modellierungsvorrichtung 104 auf das mehrdimensionale Modell 108 übertragen werden.
  • Da das mehrdimensionale Modell 108 eine aktuelle Darstellung der Dienstleistungs-Komponenten, Ressourcen und Abhängigkeiten in dem Software-Angebot enthält, kann das System aus 1 die Verwaltung des Software-Angebot innerhalb des Cloud-Rechensystems vereinfachen. Beispielsweise kann das mehrdimensionale Modell 108 die automatische Verteilung des Software-Angebot auf die allokierten Ressourcen, die Identifikation von für das Software-Angebot allokierten Ressourcen, die Identifikation von Fehlern während der Ausführung des Software-Angebots und/oder die Verwaltung von Veränderungen, welche mit dem Software-Angebot oder den Ressourcen assoziiert sind, vereinfachen. Mit anderen Worten kann die Erzeugung und Aktualisierung des mehrdimensionalen Modells 108 eine Komplexität und/oder einen mit einer Konfigurationsverwaltung assoziierten Overhead, Fehlerdiagnosen und -beseitigung, einer Verteilung und/oder Ressourcenzuteilung in dem Software-Angebot reduzieren.
  • In einer oder mehreren Ausführungsformen umfasst das System aus 1 eine Funktionalität zum Durchführen einer Abhängigkeiten-basierten Auswirkungsanalyse des Software-Angebots unter Verwendung eines mehrdimensionalen Modells 108. Während der Abhängigkeiten-basierten Auswirkungsanalyse werden mit dem mehrdimensionalen Modell 108 assoziierte Modelldaten bezogen und zum Berechnen eines Satzes von Abhängigkeitsgewichten verwendet, welche Maße der Abhängigkeit unter den Dienstleistungs-Komponenten und/oder Ressourcen darstellen, welche von dem Software-Angebot verwendet werden. Wie nachfolgend mit Bezug auf die 2 und 3 beschrieben, können die Abhängigkeitsgewichte Zentralitätsgewichten für einen Satz von Knoten in dem mehrdimensionalen Modell 108 entsprechen. Beispielsweise können die Zentralitätsgewichte durch Bestimmen einer Umgebungsmatrix für den Satz von Knoten, Berechnen eines mit einem größten Eigenwert der Umgebungsmatrix assoziierten Eigenvektor und Bestimmen der Zentralitätsgewichte aus einem Satz von Komponenten des Eigenvektors berechnet werden.
  • Zusätzlich können Aktualisierungen für das mehrdimensionale Modell 108 zum erneuten Berechnen der Abhängigkeitsgewichte verwendet werden, so dass die Abhängigkeitsgewichte die aktuellen Maße der Abhängigkeit unter den Dienstleistungs-Komponenten und/oder Ressourcen darstellen. Insbesondere kann die Zuteilungsvorrichtung 116 Ausführungsdaten für das Software-Angebot aus einem oder mehreren Organisationswerkzeugen beziehen und das mehrdimensionale Modell 108 basierend auf den Ausführungsdaten (z. B. unter Verwendung der Modellierungsvorrichtung 104) aktualisieren. Beispielsweise kann die Zuteilungsvorrichtung 116 die Ausführungsdaten verwenden, welche mit einer Änderung in einer Anzahl von für das Software-Angebot allokierten Dienstleistungs-Containern, einer Redimensionierung eines für das Software-Angebot allokierten Dienstleistungs-Containers und/oder einer Repositionierung der Dienstleistungs-Container assoziiert sind, um die Ressourcen-Definition 130 zu aktualisieren. Die Aktualisierungen können von der Modellierungsvorrichtung 104 zum Ändern der Zuordnungen zwischen Elementen des mehrdimensionalen Modells 108 verwendet werden. Die Änderungen können dann aus dem mehrdimensionalen Modell 108 bezogen zum erneuten Berechnen der Abhängigkeitsgewichte verwendet werden.
  • Die Abhängigkeitsgewichte können ebenfalls zum Vereinfachen einer Verwaltung des Software-Angebots verwendet werden. Insbesondere können die Abhängigkeitsgewichte zum Bestimmen eines Satzes von Wiederherstellungskosten und/oder einer Wiederherstellungssequenz für das Software-Angebot verwendet werden. Beispielsweise kann die Wiederherstellungssequenz einer absteigenden Sequenz der Abhängigkeitsgewichte entsprechen, um die Wiederherstellung von Dienstleistungs-Komponenten und/oder Ressourcen zu priorisieren, welche mit hohen Maßen der Abhängigkeit assoziiert sind. Daher können die offenbarten Ausführungsformen den Nutzen aus dem mehrdimensionalen Modell 108 zum Verwalten des Software-Angebots während des Softwareentwicklungs-Lebenszyklus des Software-Angebots erhöhen.
  • 2 zeigt ein System zum Durchführen einer Abhängigkeiten-basierten Auswirkungsanalyse eines Software-Angebots in Übereinstimmung mit einer Ausführungsform. Wie in 2 gezeigt, werden mit einem mehrdimensionalen Modell (z. B. mehrdimensionales Modell 108 aus 1) assoziierte Modelldaten 202 eines Software-Angebots durch eine Modellierungsvorrichtung 104 bereitgestellt. Die Modelldaten 202 können ebenfalls durch einen Datenverwaltungs-Mechanismus für das mehrdimensionale Modell (wie beispielsweise eine relationale Datenbank) bereitgestellt werden.
  • Die Modelldaten 202 können dann von einem Abhängigkeitenanalyse-Mechanismus 204 zum Berechnen eines Satzes von Abhängigkeitsgewichten 206208 verwendet werden, welche die Maße der Abhängigkeiten unter einem Satz von Dienstleistungs-Komponenten und/oder Ressourcen darstellen, welche von dem Software-Angebot verwendetet werden. Der Abhängigkeitenanalyse-Mechanismus 204 kann von der Modellierungsvorrichtung 104, der Verwaltungsvorrichtung 102 und/oder einer anderen Komponente, welche Zugriff auf die Modelldaten 202 hat, bereitgestellt werden.
  • In einer oder mehreren Ausführungsformen werden Abhängigkeitsgewichte 206208 als ein Satz von Zentralitätsgewichten für einen Satz von Knoten in dem mehrdimensionalen Modell berechnet. Jedes Zentralitätsgewicht kann proportional zu der Anzahl von Verbindungen sein, welche mit dem entsprechenden Knoten in dem mehrdimensionalen Modell assoziiert sind. Da jede eingehende Verbindung zu einem Knoten eine Abhängigkeit von der Dienstleistungs-Komponente und/oder Ressource darstellt, welche durch den Knoten dargestellt ist, kann ein hohes Zentralitätsgewicht für den Knoten ein hohes Maß der Abhängigkeit von der Dienstleistungs-Komponenten und/oder Ressource von anderen Dienstleistungs-Komponenten und/oder Ressourcen darstellen. Beispielsweise können Knoten mit einer hohen Anzahl von eingehenden Verbindungen mit höheren Zentralitätsgewichten assoziiert werden, als Knoten mit einer kleinen Anzahl von eingehenden Verbindungen. Zudem können Knoten mit einem hohen Zentralitätsgewicht stärker zu dem Zentralitätsgewicht eines Knotens mit eingehenden Verbindungen von diesem Knoten beitragen, als Knoten mit niedrigen Zentralitätsgewichten.
  • In einer oder mehreren Ausführungsformen werden die Zentralitätsgewichte durch Bestimmen einer Umgebungsmatrix für den Satz von Knoten, Berechnen eines mit einem größten Eigenwert der Umgebungsmatrix assoziierten Eigenvektor und Bestimmen der Zentralitätsgewichte aus einem Satz von Komponenten des Eigenvektors berechnet. Mit anderen Worten kann jedes Zentralitätsgewicht einer Eigenvektor-Zentralität des entsprechenden Knotens entsprechen, wie dies nachfolgend unter Bezug auf 3 detailliert beschrieben wird. Alternativ können die Zentralitätsgewichte unter Verwendung anderer Arten von Zentralitätsmaßen, wie beispielsweise einem Zentralitätsgrad und/oder Zwischenlage-Zentralität berechnet werden.
  • Wenn die Abhängigkeitsgewichte 206208 berechnet sind (z. B. als Zentralitätsgewichte), können die Abhängigkeitsgewichte 206208 von der Verwaltungsvorrichtung 102 zum Vereinfachen einer Verwaltung des Software-Angebots verwendet werden. Insbesondere kann ein Wiederherstellungsverwaltungs-Mechanismus 210 der Verwaltungsvorrichtung 102 die Abhängigkeitsgewichte 206208 zum Bestimmen eines Satzes von Wiederherstellungskosten verwenden, welche mit den Dienstleistungs-Komponenten und/oder Ressourcen assoziiert sind. Jede der Wiederherstellungskosten kann die Zeit und/oder den mit der Wiederherstellung der entsprechenden Dienstleistungs-Komponente und/oder Ressource assoziierten Overhead darstellen. Da die Wiederherstellungszeit und/oder der Overhead mit der Anzahl von Abhängigkeiten steigen, können die Wiederherstellungskosten proportional zu Abhängigkeitsgewichten 206208 sein. Z. B. Kann der Wiederherstellungsverwaltungs-Mechanismus 210 Wiederherstellungskosten einer Dienstleistungs-Komponente und/oder Ressourcen in dem Software-Angebot berechnen, wobei das Abhängigkeitsgewicht (z. B. Abhängigkeitsgewichte 206208) der Dienstleistungs-Komponente und/oder Ressource als Eingabe an eine Exponential-Funktion verwendet wird. Daher können die berechneten Wiederherstellungskosten (z. B. Wiederherstellungszeit und/oder Overhead) für eine Software-Komponente und/oder Ressource exponentiell mit dem Maß der Abhängigkeit anwachsen, welches mit der Software-Komponente und/oder Ressource assoziiert ist.
  • Der Wiederherstellungsverwaltungs-Mechanismus 210 kann ebenfalls die Abhängigkeitsgewichte 206208 zum Bestimmen einer Wiederherstellungssequenz für das Software-Angebot verwenden. Die Wiederherstellungssequenz kann die Reihenfolge der Wiederherstellung der Dienstleistungs-Komponenten und/oder Ressourcen in dem Fall eines Ausfalls und/oder Desasters spezifizieren. Zudem kann die Wiederherstellungssequenz einer absteigenden Sequenz der Wiederherstellungskosten und/oder Abhängigkeitsgewichten 206208 entsprechen, um die Wiederherstellung von Dienstleistungs-Komponenten und/oder Ressourcen mit hohem Maß der Abhängigkeit zu priorisieren. Die Wiederherstellungssequenz kann daher die mit weitläufig verwendeten Dienstleistungs-Komponenten und/oder ressourcen-assoziierte Ausfallzeit reduzieren und damit die Anzahl von fehlerhaften Transaktionen reduzieren, welche aus einem Ausfall und/oder Desaster, welche das Software-Angebot betreffen, resultieren.
  • 3 zeigt einen exemplarischen Satz von Knoten 302342 in einem mehrdimensionalen Modell eines Software-Angebots in Übereinstimmung mit einer Ausführungsform. Die Knoten 302342 können Dienstleistungs-Komponenten und/oder von dem Software-Angebot verwendete Ressourcen darstellen. Z. B. kann der Knoten 302 einen Ressourcen-Cluster darstellen, die Knoten 304322 können physische Hosts in dem Ressourcen-Cluster darstellen, der Knoten 324 kann eine virtuelle Maschine darstellen, welche auf einem der physischen Hosts ausgeführt wird, und der Knoten 326 kann ein hostendes Segment darstellen, welches den Ressourcen-Cluster enthält. Zudem kann Knoten 328 einen durch die virtuelle Maschine verwendeten Netzwerk-Speicherplatz darstellen, die Knoten 330334 können Dienstleistungs-Komponenten (z. B. Web-Server, Anwendungs-Server, Datenbanken) in einem Software-Stapel darstellen und der Knoten 336 kann eine Stufe in dem Software-Angebot darstellen. Schließlich kann Knoten 338 eine Ausführungsumgebung für das Software-Angebot darstellen, Knoten 340 kann ein Projekt darstellen, zu dem das Software-Angebot gehört, und Knoten 342 kann eine mit dem Projekt assoziierte Businesseinheit darstellen.
  • Ferner können Verbindungen zwischen den Knoten 302342 Abhängigkeiten unter den Dienstleistungs-Komponenten und/oder Ressourcen darstellen, welche durch die Knoten 302342 dargestellt werden. Z. B. kann eine Verbindung zwischen dem Knoten 324 und dem Knoten 320 eine Abhängigkeit der durch den Knoten 324 dargestellten, virtuellen Maschine von dem durch den Knoten 320 dargestellten, physischen Host darstellen. In ähnlicher Weise können die Verbindungen zwischen den Knoten 304322 und dem Knoten 302 Abhängigkeiten zwischen den durch die Knoten 304322 dargestellten, physischen Hosts und dem durch den Knoten 302 dargestellten Ressourcen-Cluster darstellen.
  • Somit können die Verbindungen zum Berechnen eines Satzes von Zentralitätsgewichten für die Knoten 302342 verwendet werden. Wie zuvor erwähnt, können die Zentralitätsgewichte Eigenvektor-Zentralitäten entsprechen, welche die relative Gewichtigkeit der Knoten 302342 in Relation zueinander darstellen. Insbesondere können die Eigenvektor-Zentralitäten, die „Weite” der Knoten 302342 bemessen, wobei Verbindungen zu mit hohen Zentralitätsgewichten assoziierten Knoten stärker zu dem Zentralitätsgewicht eines bestimmten Knotens beitragen, als diejenigen Verbindungen zu mit niedrigen Zentralitätsgewichten assoziierte Knoten.
  • Um die Zentralitätsgewichte zu berechnen, kann eine Umgebungsmatrix für die Knoten 302342 bestimmt werden. Z. B. kann die Umgebungsmatrix eine 21×21 Matrix entsprechen, in welcher ein Element Aij der Matrix auf 1 gesetzt ist, wenn eine Verbindung von dem i-ten Knoten zu dem j-ten Knoten in dem mehrdimensionalen Modell existiert. Andererseits kann die Umgebungsmatrix einer stochastischen Matrix entsprechen, in der die Summe der Werte der Elemente in jeder Spalte der Umgebungsmatrix gleich 1 ist. Darüber hinaus kann die Größe der Umgebungsmatrix angepasst werden, wenn Knoten hinzugefügt und/oder aus dem mehrdimensionalen Modell entfernt werden.
  • Als nächstes kann ein Eigenvektor berechnet werden, welcher mit dem größten Eigenwert der Umgebungsmatrix assoziiert ist. Der Eigenvektor und/oder Eigenwert kann unter Verwendung einer iterativen Methode, wie beispielsweise einer Potenzmethode oder unter Verwendung einer algebraischen Methode berechnet werden.
  • Schließlich können die Zentralitätsgewichte aus einem Satz von Komponenten des Eigenvektors bestimmt werden. Insbesondere kann der mit dem größten Eigenwert assoziierte Eigenvektor positive, reale Zahlen und die gleiche Anzahl von Komponenten wie die Anzahl der Knoten 302342 in dem mehrdimensionalen Modell enthalten. Die i-te Komponente des Eigenvektors kann daher dem Zentralitätsgewicht für den i-ten Knoten in dem mehrdimensionalen Modell entsprechen.
  • Wie in 3 gezeigt, ist jeder Knoten 302342 mit einem Zentralitätsgewicht assoziiert, welches die relative Gewichtigkeit des Knotens in dem mehrdimensionalen Modell darstellt. Z. B. kann der Knoten 302 ein hohes Zentralitätsgewicht von „150” aufweisen, da eine große Anzahl von durch die Knoten 304322 dargestellten, physischen Hosts Abhängigkeiten von (z. B. gehören zu) dem durch den Knoten 302 dargestellten Ressourcen-Cluster aufweisen. Die Verbindung des Knotens 302 und/oder anderer Knoten mit hohen Zentralitätsgewichten zu den Knoten 326 kann dann verursachen, dass der Knoten 326 das höchste Zentralitätsgewicht (z. B. „6000”) in dem mehrdimensionalen Modell aufweist. Andererseits können andere Knoten (z. B. Knoten 304324, Knoten 328, Knoten 336340) , verglichen mit dem Knoten 302 oder dem Knoten 326, relativ niedrige Zentralitätsgewichte aufweisen, da die anderen Knoten mit relativ wenigen Verbindungen und/oder Verbindungen geringer Gewichtigkeit zu anderen Knoten assoziiert sind.
  • Nachdem die Zentralitätsgewichte berechnet sind, können die Zentralitätsgewichte als ein Satz von Abhängigkeitsgewichten verwendet werden, welche Maße der Abhängigkeit unter den Dienstleistungs-Komponenten und/oder Ressourcen, welche durch die Knoten 302342 dargestellt sind, darstellen. Die Abhängigkeitsgewichte können dann zum Vereinfachen einer Verwaltung des Software-Angebots verwendet werden.
  • Zuerst können die Zentralitäts- und/oder Abhängigkeitsgewichte zum Bestimmen eines Satzes von Wiederherstellungskosten verwendet werden, welche mit den Dienstleistungs-Komponenten und/oder Ressourcen assoziiert sind. Jede der Wiederherstellungskosten kann die Menge der Zeit und/oder des Overheads darstellen, welche mit einer Wiederherstellung der entsprechenden Dienstleistungs-Komponente und/oder Ressource von einem Versagen assoziiert sind. Daher kann eine Dienstleistungs-Komponente und/oder Ressource mit einem hohen Abhängigkeitsgewicht ebenfalls mit hohen Wiederherstellungskosten assoziiert werden. Z. B. kann ein Versagen in einer ersten Ressource mit einem hohen Abhängigkeitsgewicht ein Versagen in mehreren Dienstleistungs-Komponenten und/oder Ressourcen verursachen, welche von der ersten Ressource abhängen. Daher kann eine Erholung von dem Versagen die Wiederherstellung der ersten Ressource sowie die Wiederherstellung der Dienstleistungs-Komponenten und/oder Ressourcen mit Abhängigkeiten von dieser Ressource erfordern. Im Gegensatz dazu kann ein Versagen in einer zweiten Ressource mit einem niedrigen Abhängigkeitsgewicht wenig bis kein Versagen anderer Dienstleistungs-Komponenten und/oder Ressourcen verursachen und damit weniger Wiederherstellungszeit und/oder Aufwand erfordern als das Versagen der ersten Ressource.
  • Als nächstes können die Zentralitäts- und/oder Abhängigkeitsgewichte zum Bestimmen einer Wiederherstellungssequenz für das Software-Angebot verwendet werden. Die Wiederherstellungssequenz kann einer absteigen Sequenz der Zentralitäts- und/oder Abhängigkeitsgewichte entsprechen. Z. B. kann die Wiederherstellungssequenz die Wiederherstellung des durch den Knoten 312 dargestellten, physischen Hosts vor der Wiederherstellung des durch den Knoten 310 dargestellten, physischen Hosts spezifizieren, da die Wiederherstellung des physischen Hosts 312 die Wiederherstellung von sieben virtuellen Maschinen ermöglicht, wohingegen die Wiederherstellung des physischen Hosts 310 die Wiederherstellung von lediglich 5 virtuellen Maschinen ermöglicht. Mit anderen Worten kann die Wiederherstellungssequenz die Anzahl der mit einem Ausfall und/oder Desaster assoziierten, fehlerhaften Transaktionen reduzieren, welche das Software-Angebot durch Reduktion der Ausfallzeit solcher Dienstleistungs-Komponenten und/oder Ressourcen betrifft, von denen eine große Anzahl von anderen Dienstleistungs-Komponenten, Ressourcen und/oder Software-Angeboten abhängen.
  • 4 zeigt ein Ablaufdiagramm, welches den Prozess des Vereinfachens der Wartung und Ausführung eines Software-Angebotes in Übereinstimmung mit einer Ausführungsform darstellt. In einer oder mehreren Ausführungsformen können ein oder mehrere der Schritte ausgelassen, wiederholt und/oder in einer anderen Reihenfolge durchgeführt werden. Entsprechend sollte die spezielle Anordnung der Schritte, wie sie in 4 gezeigt ist, nicht erachtet werden die Erfindung darauf zu beschränken.
  • Zuerst werden mit einem mehrdimensionalen Modell des Software-Angebots assoziierte Modelldaten bezogen (Schritt 402). Die Modelldaten können durch eine Modellierungsvorrichtung (z. B. Modellierungsvorrichtung 104 aus 1) und/oder durch einen Datenverwaltungs-Mechanismus, wie beispielsweise eine relationale Datenbank bereitgestellt werden. Als nächstes werden die Modelldaten zum Berechnen eines Satzes von Abhängigkeitsgewichten verwendet, welche Maße der Abhängigkeit unter einem Satz von Dienstleistungs-Komponenten und einem Satz von Ressourcen darstellen, welche von dem Software-Angebot verwendetet werden (Schritt 404).
  • Die Abhängigkeitsgewichte können durch Berechnen eines Satzes von Zentralitätsgewichten für einen Satz von Knoten in dem mehrdimensionalen Modell und unter Verwendung des Satzes von Zentralitätsgewichten als den Satz von Abhängigkeitsgewichten berechnet werden. Z. B. können die Abhängigkeitsgewichte einer Eigenvektor-Zentralität entsprechen, welche durch Bestimmen einer Umgebungsmatrix für den Satz von Knoten, Berechnen eines mit dem größten Eigenwert der Umgebungsmatrix assoziierten Eigenvektor und Bestimmen der Eigenwertzentralität von Komponenten des Eigenvektors berechnet werden. Zudem kann der Eigenvektor unter Verwendung einer iterativen Methode und/oder einer algebraischen Methode berechnet werden.
  • Die Abhängigkeitsgewichte können dann zum Vereinfachen einer Verwaltung des Software-Angebots verwendet werden (Schritt 406). Z. B. können die Abhängigkeitsgewichte zum Bestimmen eines Satzes von Wiederherstellungskosten verwendet werden, welche mit den Dienstleistungs-Komponenten und/oder Ressourcen assoziiert sind. Die Abhängigkeitsgewichte können ebenfalls zum Bestimmen einer Wiederherstellungssequenz für das Software-Angebot verwendet werden.
  • Änderungen an dem Software-Angebot können ebenfalls während einer Verwendung der Abhängigkeitsgewichte zu einer Verwaltung des Software-Angebots vorgenommen werden (Schritt 408). Z. B. können Dienstleistungs-Container in dem Software-Angebot in ihrer Anzahl, Größe und/oder Position in Abhängigkeit von Änderungen in den Richtlinien des Software-Angebots und/oder der Verfügbarkeit der Ressourcen vorgenommen werden. Wenn Änderungen an dem Software-Angebot vorgenommen wurden, wird eine Aktualisierung für das mehrdimensionale Modell bezogen (Schritt 410) und die Abhängigkeitsgewichte werden basierend auf der Aktualisierung erneut berechnet (Schritt 412). Wenn keine Änderungen an dem Software-Angebot vorgenommen wurden, werden die Abhängigkeitsgewichte nicht erneut berechnet.
  • Die Abhängigkeitsgewichte können weiterhin verwendet werden (Schritt 414). Z. B. können die Abhängigkeitsgewichte weiterhin zum Vereinfachen einer Verwaltung des Software-Angebots während des Softwareentwicklungs-Lebenszyklus des Software-Angebotes verwendet werden. Wenn die Abhängigkeitsgewichte verwendet werden sollen, werden die Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebotes verwendet (Schritt 406), und Änderungen an dem Software-Angebot (Schritt 408) werden durch die Abhängigkeitsgewichte ausgedrückt (Schritte 410412). Die Abhängigkeitsgewichte können daher eine Verwaltung des Software-Angebotes unter Verwendung einer aktuellen Darstellung der Maße der Abhängigkeit unter Dienstleistungs-Komponenten und/oder Ressourcen in dem Software-Angebot ermöglichen.
  • 5 zeigt ein Computersystem 500 in Übereinstimmung mit einer Ausführungsform. Computersystem 500 kann einer Vorrichtung entsprechen, welche einen Prozessor 502, einen Arbeitsspeicher 504, einen Speicher 506 und/oder andere in einem elektronischen Rechengerät befindliche Komponenten umfasst. Prozessor 502 kann eine parallele Prozessierung und/oder eine multi-threaded Operation mit anderen Prozessoren in dem Computersystem 500 unterstützen. Computersystem 500 kann ebenfalls Eingabe/Ausgabe (I/O) Geräte, wie beispielsweise eine Tastatur 508, eine Maus 510 und eine Anzeige 512 aufweisen.
  • Computersystem 500 kann eine Funktionalität zum Ausführen unterschiedlicher Komponenten der vorliegenden Ausführungsformen aufweisen. Insbesondere kann Computersystem 500 ein Betriebssystem (nicht gezeigt) aufweisen, welches die Verwendung von Hardware- und Software-Ressourcen in dem Computersystem 500 sowie eine oder mehrere Anwendungen koordiniert, die spezielle Aufgaben für den Nutzer durchführen. Um Aufgaben für den Nutzer durchzuführen, können Anwendungen die Verwendung von Hardware-Ressourcen im Computersystem 500 von dem Betriebssystem erlangen sowie mit dem Nutzer über ein Hardware- und/oder Software-Framework interagieren, welches von dem Betriebssystem bereitgestellt wird.
  • In einer oder mehreren Ausführungsformen stellt das Computersystem 500 ein System zur Vereinfachung der Wartung und Ausführung eines Software-Angebots bereit. Das System kann einen Abhängigkeitenanalyse-Mechanismus umfassen, welcher mit einem mehrdimensionalen Modell des Software-Angebots assoziierte Modelldaten bezieht und die Modelldaten zum Berechnen eines Satzes von Abhängigkeitsgewichten verwendet, welche Maße von Abhängigkeiten unter einem Satz von Dienstleistungs-Komponenten und einem Satz von Ressourcen darstellen, welche von dem Software-Angebot verwendetet werden. Das System kann zudem eine Verwaltungsvorrichtung umfassen, welche die Abhängigkeitsgewichte verwendet, um eine Verwaltung des Software-Angebots zu vereinfachen.
  • Zusätzlich kann eine oder können mehrere Komponenten des Computersystems 500 voneinander entfernt positioniert und mit anderen Komponenten über ein Netzwerk verbunden sein. Teile der vorliegenden Ausführungsformen (z. B. Abhängigkeitenanalyse-Mechanismus, Verwaltungsvorrichtung, etc.) können ebenso an unterschiedlichen Knoten eines verteilten Systems, welches die Ausführungsformen implementiert, positioniert sein. Beispielsweise können die vorliegenden Ausführungsformen mittels eines Cloud-Rechensystems implementiert sein, welches die Verteilung, Ausführung und Wartung eines Software-Angebots verwaltet.
  • Die vorangegangenen Beschreibungen der unterschiedlichen Ausführungsformen wurden lediglich zum Zwecke der Illustration und Beschreibung dargestellt. Diese erheben nicht den Anspruch, erschöpfend zu sein oder die vorliegende Erfindung auf die offenbarten Formen zu begrenzen. Dementsprechend sind dem Fachmann Modifikationen und Varianten offensichtlich. Zudem ist die obige Offenbarung nicht dazu gedacht, die vorliegende Erfindung einzuschränken.

Claims (21)

  1. Computer-implementiertes Verfahren zum Vereinfachen der Wartung und Ausführung eines Software-Angebots, umfassend: Beziehen von Modelldaten, welche mit einem mehrdimensionalen Modell des Software-Angebots assoziiert sind; Verwenden der Modelldaten zum Berechnen eines Satzes von Abhängigkeitsgewichten, welche Maße der Abhängigkeit unter einem Satz von Dienstleistungs-Komponenten und einem Satz von Ressourcen darstellen, welche von dem Software-Angebot verwendetet werden; und Verwenden der Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebots.
  2. Computer-implementiertes Verfahren gemäß Anspruch 1, ferner umfassend: Beziehen einer Aktualisierung für das mehrdimensionale Modell; und erneutes Berechnen der Abhängigkeitsgewichte basierend auf der Aktualisierung.
  3. Computer-implementiertes Verfahren gemäß Anspruch 1, wobei das Verwenden der Modelldaten zum Berechnen des Satzes von Abhängigkeitsgewichten umfasst: Berechnen eines Satzes von Zentralitätsgewichten für einen Satz von Knoten in dem mehrdimensionalen Modell; und Verwenden des Satzes von Zentralitätsgewichten als den Satz von Abhängigkeitsgewichten.
  4. Computer-implementiertes Verfahren gemäß Anspruch 3, wobei das Berechnen des Satzes von Zentralitätsgewichten für den Satz von Knoten in dem mehrdimensionalen Modell umfasst: Bestimmen einer Umgebungsmatrix für den Satz von Knoten; Berechnen eines Eigenvektors, welcher mit einem größten Eigenwert der Umgebungsmatrix assoziiert ist; und Bestimmen der Zentralitätsgewichte aus einem Satz von Komponenten des Eigenvektors.
  5. Computer-implementiertes Verfahren gemäß Anspruch 4, wobei der Eigenvektor mit einer iterativen Methode und/oder einer algebraischen Methode berechnet wird.
  6. Computer-implementiertes Verfahren gemäß Anspruch 1, wobei das Verwenden der Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebots umfasst: Verwenden der Abhängigkeitsgewichte zum Bestimmen eines Satzes von Wiederherstellungskosten, welche mit den Dienstleistungs-Komponenten und den Ressourcen assoziiert sind, und/oder Verwenden der Abhängigkeitsgewichte zum Bestimmen einer Wiederherstellungssequenz für das Software-Angebot.
  7. Computer-implementiertes Verfahren gemäß Anspruch 6, wobei die Wiederherstellungssequenz einer absteigenden Sequenz von Abhängigkeitsgewichten entspricht.
  8. Ein System zum Vereinfachen der Verwaltung und Ausführung eines Software-Angebots, umfassend: einen Abhängigkeitenanalyse-Mechanismus, welcher konfiguriert ist zum Beziehen von Modelldaten, welche mit einem mehrdimensionalen Modell des Software-Angebots assoziiert sind; und zum Verwenden der Modelldaten zum Berechnen eines Satzes von Abhängigkeitsgewichten, welche Maße der Abhängigkeit unter einem Satz von Dienstleistungs-Komponenten und einem Satz von Ressourcen darstellen, welche von dem Software-Angebot verwendetet werden; und eine Verwaltungsvorrichtung, welche zum Verwenden der Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebots konfiguriert und ausgebildet ist.
  9. System gemäß Anspruch 8, wobei der Abhängigkeitenanalyse-Mechanismus ferner konfiguriert ist zum Beziehen einer Aktualisierung für das mehrdimensionale Modell; und zum erneuten Berechnen der Abhängigkeitsgewichte basierend auf der Aktualisierung.
  10. System gemäß Anspruch 8, wobei das Verwenden der Modelldaten zum Berechnen des Satzes von Abhängigkeitsgewichten umfasst: Berechnen eines Satzes von Zentralitätsgewichten für einen Satz von Knoten in dem mehrdimensionalen Modell; und Verwenden des Satzes von Zentralitätsgewichten als den Satz von Abhängigkeitsgewichten.
  11. System gemäß Anspruch 10, wobei das Berechnen des Satzes von Zentralitätsgewichten für den Satz von Knoten in dem mehrdimensionalen Modell umfasst: Bestimmen einer Umgebungsmatrix für den Satz von Knoten; Berechnen eines Eigenvektors, welcher mit einem größten Eigenwert der Umgebungsmatrix assoziiert ist; und Bestimmen der Zentralitätsgewichte aus einem Satz von Komponenten des Eigenvektors.
  12. System gemäß Anspruch 11, wobei der Eigenvektor mit einer iterativen Methode und/oder einer algebraischen Methode berechnet wird.
  13. System gemäß Anspruch 8, wobei das Verwenden der Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebots umfasst: Verwenden der Abhängigkeitsgewichte zum Bestimmen eines Satzes von Wiederherstellungskosten, welche mit den Dienstleistungs-Komponenten und den Ressourcen assoziiert sind, und/oder Verwenden der Abhängigkeitsgewichte zum Bestimmen einer Wiederherstellungssequenz für das Software-Angebot.
  14. System gemäß Anspruch 13, wobei die Wiederherstellungssequenz einer absteigenden Sequenz von Abhängigkeitsgewichten entspricht.
  15. Computer-lesbares Aufzeichnungsmedium, welches Anweisungen speichert, wobei die Anweisungen, wenn von einem Computer ausgeführt, den Computer veranlassen, ein Verfahren zum Vereinfachen der Wartung und Ausführung eines Software-Angebots durchzuführen, wobei das Verfahren umfasst: Beziehen von Modelldaten, welche mit einem mehrdimensionalen Modell des Software-Angebots assoziiert sind; Verwenden der Modelldaten zum Berechnen eines Satzes von Abhängigkeitsgewichten, welche Maße der Abhängigkeit unter einem Satz von Dienstleistungs-Komponenten und einem von Ressourcen darstellen, welche von dem Software-Angebot verwendetet werden; und Verwenden der Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebots.
  16. Computer-lesbares Aufzeichnungsmedium gemäß Anspruch 15, wobei das Verfahren ferner umfasst: Beziehen einer Aktualisierung für das mehrdimensionale Modell; und erneutes Berechnen der Abhängigkeitsgewichte basierend auf der Aktualisierung.
  17. Computer-lesbares Aufzeichnungsmedium gemäß Anspruch 15, wobei das Verwenden der Modelldaten zum Berechnen des Satzes von Abhängigkeitsgewichten umfasst: Berechnen eines Satzes von Zentralitätsgewichten für einen Satz von Knoten in dem mehrdimensionalen Modell; und Verwenden des Satzes von Zentralitätsgewichten als den Satz von Abhängigkeitsgewichten.
  18. Computer-lesbares Aufzeichnungsmedium gemäß Anspruch 17, wobei das Berechnen des Satzes von Zentralitätsgewichten für den Satz von Knoten in dem mehrdimensionalen Modell umfasst: Bestimmen einer Umgebungsmatrix für den Satz von Knoten; Berechnen eines Eigenvektors, welcher mit einem größten Eigenwert der Umgebungsmatrix assoziiert ist; und Bestimmen der Zentralitätsgewichte aus einem Satz von Komponenten des Eigenvektors.
  19. Computer-lesbares Aufzeichnungsmedium gemäß Anspruch 18, wobei der Eigenvektor mit einer iterativen Methode und/oder einer algebraischen Methode berechnet wird.
  20. Computer-lesbares Aufzeichnungsmedium gemäß Anspruch 15, wobei das Verwenden der Abhängigkeitsgewichte zum Vereinfachen einer Verwaltung des Software-Angebots umfasst: Verwenden der Abhängigkeitsgewichte zum Bestimmen eines Satzes von Wiederherstellungskosten, welche mit den Dienstleistungs-Komponenten und den Ressourcen assoziiert sind, und/oder Verwenden der Abhängigkeitsgewichte zum Bestimmen einer Wiederherstellungssequenz für das Software-Angebot.
  21. Computer-lesbares Aufzeichnungsmedium gemäß Anspruch 20, wobei die Wiederherstellungssequenz einer absteigenden Sequenz von Abhängigkeitsgewichten entspricht.
DE112011105294.4T 2011-05-31 2011-08-26 Abhängigkeiten-basierte Auswirkungsanalyse unter Verwendung eines mehrdimensionalen Modells eines Software-Angebots Pending DE112011105294T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
USUS-13/118,962 2011-05-31
US13/118,962 US8732654B2 (en) 2011-05-31 2011-05-31 Dependency-based impact analysis using multidimensional models of software offerings
PCT/US2011/049319 WO2012166166A1 (en) 2011-05-31 2011-08-26 Dependency-based impact analysis using multidimensional models of software offerings

Publications (1)

Publication Number Publication Date
DE112011105294T5 true DE112011105294T5 (de) 2014-05-22

Family

ID=47259696

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011105294.4T Pending DE112011105294T5 (de) 2011-05-31 2011-08-26 Abhängigkeiten-basierte Auswirkungsanalyse unter Verwendung eines mehrdimensionalen Modells eines Software-Angebots

Country Status (4)

Country Link
US (1) US8732654B2 (de)
DE (1) DE112011105294T5 (de)
GB (1) GB2504224B (de)
WO (1) WO2012166166A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5284403B2 (ja) * 2011-03-28 2013-09-11 株式会社東芝 オントロジ更新装置、方法、およびシステム
US20150358215A1 (en) * 2012-06-29 2015-12-10 Nec Corporation Shared risk influence evaluation system, shared risk influence evaluation method, and program
US9250884B2 (en) * 2012-07-17 2016-02-02 Oracle International Corporation Automatic deployment of software applications to meet regulatory compliance requirements
US8997088B2 (en) * 2012-11-02 2015-03-31 Wipro Limited Methods and systems for automated deployment of software applications on heterogeneous cloud environments
US10402194B2 (en) * 2013-09-20 2019-09-03 Infosys Limited Systems and methods for extracting cross language dependencies and estimating code change impact in software
US9880918B2 (en) * 2014-06-16 2018-01-30 Amazon Technologies, Inc. Mobile and remote runtime integration
US9122562B1 (en) * 2014-06-19 2015-09-01 Amazon Technologies, Inc. Software container recommendation service
US9858331B2 (en) * 2015-02-05 2018-01-02 International Business Machines Corporation Efficient structured data exploration with a combination of bivariate metric and centrality measures
US10135913B2 (en) 2015-06-17 2018-11-20 Tata Consultancy Services Limited Impact analysis system and method
US10135680B2 (en) * 2015-06-29 2018-11-20 International Business Machines Corporation Assessing computing environment changes using specification documents
US10432471B2 (en) 2015-12-31 2019-10-01 Microsoft Technology Licensing, Llc Distributed computing dependency management system
US10819821B2 (en) * 2017-04-07 2020-10-27 Futurewei Technologies, Inc. Method and system for allocating content using a content-based centrality metric
US10949393B2 (en) * 2018-06-05 2021-03-16 International Business Machines Corporation Object deletion in distributed computing environments
JP2022527266A (ja) 2019-03-25 2022-06-01 オーロラ ラブズ リミテッド コード行挙動および関係モデルの発生ならびに署名
US11271826B2 (en) * 2019-06-26 2022-03-08 International Business Machines Corporation Prioritization of service restoration in microservices architecture
US11250358B2 (en) * 2020-04-16 2022-02-15 International Business Machines Corporation Asset management expert peer identification
US11422795B2 (en) * 2020-11-23 2022-08-23 Cerner Innovation, Inc. System and method for predicting the impact of source code modification based on historical source code modifications
US11281460B1 (en) 2020-11-23 2022-03-22 Cerner Innovation, Inc. System and method for identifying source code defect introduction during source code modification
US20230040635A1 (en) * 2021-08-09 2023-02-09 Palo Alto Networks, Inc. Graph-based impact analysis of misconfigured or compromised cloud resources

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040024919A (ko) 2002-09-17 2004-03-24 바산네트워크(주) 소프트웨어 기능성 측정 방법 및 시스템
WO2005045673A2 (en) 2003-11-04 2005-05-19 Kimberly-Clark Worldwide, Inc. Testing tool for complex component based software systems
US7933762B2 (en) 2004-04-16 2011-04-26 Fortelligent, Inc. Predictive model generation

Also Published As

Publication number Publication date
US20120311523A1 (en) 2012-12-06
WO2012166166A1 (en) 2012-12-06
US8732654B2 (en) 2014-05-20
GB2504224B (en) 2020-04-15
GB201317094D0 (en) 2013-11-06
GB2504224A (en) 2014-01-22

Similar Documents

Publication Publication Date Title
DE112011105294T5 (de) Abhängigkeiten-basierte Auswirkungsanalyse unter Verwendung eines mehrdimensionalen Modells eines Software-Angebots
DE112011105186T5 (de) Graphdatenbanken zum Speichern mehrdimensionaler Modelle von Software-Angeboten
DE112012004336B4 (de) System, Verfahren und Programmprodukt für kostenbewusste Auswahl von Vorlagen zum Bereitstellen von gemeinsam genutzten Ressourcen
DE112011103522T5 (de) Erstellung eines Multidimensionalen Modells von Software-Angeboten
DE102013205572B4 (de) Verwenden von softwarekomponenten-metadaten zum bereitstellen von virtuellen maschinen in einer vernetzten datenverarbeitungsumgebung
DE112013001889B4 (de) Dynamische Zuweisung einer Arbeitslast über eine Vielzahl von Clouds hinweg
DE112012004238T5 (de) Auf Erkennung beruhende Identifizierung und Migration von leicht in eine Cloud verlagerbaren Anwendungen
US9104706B2 (en) Meta-directory control and evaluation of events
DE112013001308T5 (de) Verwalten von mandantenspezifischen Datensätzen in einer mandantenfähigen Umgebung
DE112011103875T5 (de) Netzwerkschnittstelle zum Bereitstellen/erneuten Bereitstellen elner Partition in einer Cloud-Umgebung
DE102013204186A1 (de) Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite
DE112019000421B4 (de) Arbeitslastverwaltung mit datenzugriffserkennung in einem datenverarbeitungscluster
DE112021005636T5 (de) Migrieren von komplexen legacy-anwendungen
DE112021004290T5 (de) Gemeinsames nutzen von zwischengespeicherten klassendaten in einer containerisierten umgebung
DE112019001433T5 (de) Datenanonymisierung
DE112021000390T5 (de) Anpassen der leistung eines datenverarbeitungssystems
DE112019003255T5 (de) Auslagern von spuren mit lücken in einem speichersystem
DE112021004119T5 (de) Speicherabstufung innerhalb einer vereinheitlichten speicherumgebung
DE112021000338T5 (de) Auslagern der statistikerfassung
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE112018002178T5 (de) Dateiübertragung in gemeinsam genutztem arbeitsspeicher
DE112021005848T5 (de) Koordinieren von in einer skalierbaren anwendung umgesetzten anfragen
DE102021129637A1 (de) Verteiltes stream-computing mit mehreren umgebungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: D YOUNG & CO LLP, DE