DE112012005559T5 - Software-Installation - Google Patents

Software-Installation Download PDF

Info

Publication number
DE112012005559T5
DE112012005559T5 DE112012005559.4T DE112012005559T DE112012005559T5 DE 112012005559 T5 DE112012005559 T5 DE 112012005559T5 DE 112012005559 T DE112012005559 T DE 112012005559T DE 112012005559 T5 DE112012005559 T5 DE 112012005559T5
Authority
DE
Germany
Prior art keywords
installation
test
timing
timing parameter
parameter
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
DE112012005559.4T
Other languages
English (en)
Inventor
c/o IBM Corporation Spring Eduardo
c/o IBM Corporation Li Yong
c/o IBM Corporation Barthel Rand
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112012005559T5 publication Critical patent/DE112012005559T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • 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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Es werden Zeitmessparameter identifiziert, die ein Installationszeitintervall für ein Installieren eines Produkts auf Datenverarbeitungsmaschinen in einer Testumgebung gemäß einer Installationskonfigurationsoption beeinflussen. Ein Testwert des Zeitmessparameters und ein Testwert der Installationszeit werden für jede der Datenverarbeitungsmaschinen bestimmt. Die Testwerte des Zeitmessparameters und der Installationszeit, die für die Beispiel-Datenverarbeitungsmaschinen bestimmt wurden, werden analysiert, um einen Installationszeit-Berechnungsausdruck für die Installationskonfigurationsoption zu bestimmen. Zur Installation gemäß der Installationskonfigurationsoption in einer normalen Betriebsumgebung, ein aktueller Wert für jeden der Zeitmessparameter des vorgegebenen Installationszeit-Berechnungsausdrucks für die Installationskonfigurationsoption. Das Installationszeitintervall in der normalen Betriebsumgebung wird auf der Grundlage des aktuellen Werts der Zeitmessparameter und des Installationszeit-Berechnungsausdrucks geschätzt.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft allgemein das Gebiet von Computern und insbesondere ein genaues Schätzen von Installationszeit eines Softwareprodukts in einer Betriebsumgebung.
  • HINTERGRUND
  • Eine Unternehmensumgebung weist eine gegenseitige Verbindung/Integration von mehreren Computersystemen, Speichereinheiten, lokalen und/oder entfernt angeordneten Datenbanken und möglicherweise mehreren Datenübertragungsnetzwerken mit unterschiedlichen Latenzen/Verzögerungen auf. Die Unternehmensumgebung kann eine gegenseitige Verbindung zwischen Altsystemen und Nicht-Altsystemen aufweisen, die unterschiedliche Datenübertragungsprotokolle unterstützen. Die Unternehmensumgebung kann mehrere Maschinen von verschiedenen Herstellern mit unterschiedlichen Konfigurationen, unterschiedlicher Hardware, unterschiedlichen Plattformen, Betriebssystemen. Arbeitsspeicherkonfigurationen, Partitionen und Leistungseigenschaften aufweisen. Als Ergebnis dieser Veränderlichkeit kann eine Produktinstallation in einer Unternehmensumgebung eine variable und nicht vorhersagbare Menge Zeit in Anspruch nehmen.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Es werden verschiedene Ausführungsformen zum Schätzen der Installationszeit offenbart. In einer Ausführungsform wird ein Zeitmessparameter, der ein Installationszeitintervall für ein Installieren eines Produkts auf einer Vielzahl von Beispiel-Datenverarbeitungsmaschinen in einer Testumgebung beeinflusst, gemäß einer Installationskonfigurationsoption identifiziert. Ein Satz von Zeitmessparameter-Testoperationen wird identifiziert, um Testwerte des Zeitmessparameters der Vielzahl von Beispiel-Datenverarbeitungsmaschinen zu bestimmen. Für jede der Vielzahl von Beispiel-Datenverarbeitungsmaschinen in der Testumgebung wird der Testwert des Zeitmessparameters für die Beispiel-Datenverarbeitungsmaschine bestimmt, der zumindest teilweise auf der Grundlage des Satzes von Zeitmessparameter-Testoperationen beruht. Für jede der Vielzahl von Beispiel-Datenverarbeitungsmaschinen in der Testumgebung wird ein Testwert der Installationszeit für die Beispiel-Datenverarbeitungsmaschine bestimmt, der zumindest teilweise auf der Grundlage von Installationsoperationen beruht, die gemäß der Installationskonfigurationsoption ausgeführt werden. Ein Zeitmesskoeffizient für den Zeitmessparameter wird auf der Grundlage eines Analysierens der Testwerte des Zeitmessparameters und der Testwerte der Installationszeit bestimmt, die beide jeweils für die Vielzahl von Beispiel-Datenverarbeitungsmaschinen bestimmt wurden. Der Zeitmesskoeffizient und die Installationskonfigurationsoption werden aufgezeichnet. Das Installationszeitintervall für das Installieren des Produkts gemäß der Installationskonfigurationsoption in einer Nicht-Test-Betriebsumgebung wird auf der Grundlage des Zeitmesskoeffizienten und der Installationskonfigurationsoption geschätzt.
  • In einer Ausführungsform werden für eine ausgewählte Installationskonfigurationsoption eine oder mehrere Installationsoptionen für das Installieren eines Produkts in einer Nicht-Test-Betriebsumgebung gemäß der Installationskonfigurationsoption bestimmt. Ein erster von einer Vielzahl von vorgegebenen Installationszeit-Berechnungsausdrücken, der mindestens eine Kombination aus einem Zeitmessparameter und einem Zeitmesskoeffizienten aufweist, der dem Zeitmessparameter zugehörig ist, wird zumindest teilweise auf der Grundlage der einen oder der mehreren Installationsoperationen ausgewählt. Ein Satz von Zeitmessparameter-Testoperationen wird identifiziert, um einen aktuellen Wert des Zeitmessparameters in der Nicht-Test-Betriebsumgebung zu bestimmen. Der aktuelle Wert des Zeitmessparameters wird zumindest teilweise auf der Grundlage des identifizierten Satzes von Zeitmessparameter-Testoperationen bestimmt. Das Installationszeitintervall, das dem Installieren des Produkts gemäß der Installationskonfigurationsoption in der Nicht-Test-Betriebsumgebung zugehörig ist, wird zumindest teilweise auf der Grundlage des aktuellen Werts des Zeitmessparameters, der dem Zeitmesskoeffizienten entspricht, und dem ersten der Vielzahl von Installationszeit-Berechnungsausdrücken geschätzt.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Im Folgenden werden eine bzw. mehrere Ausführungsformen der Erfindung allein zu Beispielzwecken unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, wobei:
  • 1 ein Blockschaubild einer Konzeptdarstellung ist, die Beispieloperationen für das Bestimmen von Zeitmesskoeffizienten zum Schätzen der Installationszeit veranschaulicht.
  • 2 ein Blockschaubild ist, das Beispieloperationen für das Schätzen der Installationszeit in einer normalen Betriebsumgebung auf der Grundlage von vorher berechneten Zeitmesskoeffizienten veranschaulicht.
  • 3 ein Ablaufplan ist, der Beispieloperationen für das Bestimmen von Zeitmesskoeffizienten zum anschließenden Schätzen der Installationszeit veranschaulicht.
  • 4 eine Fortsetzung von 3 ist und ebenfalls Beispieloperationen für das Bestimmen von Zeitmesskoeffizienten zum anschließenden Schätzen der Installationszeit veranschaulicht.
  • 5 ein Ablaufplan ist, der Beispieloperationen für das Schätzen der Installationszeit unter Verwendung von vorher berechneten Zeitmesskoeffizienten veranschaulicht.
  • 6 ein Blockschaubild von einer Ausführungsform eines elektronischen Systems mit einem Mechanismus für das Schätzen der Installationszeit ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung enthält beispielhafte Systeme, Verfahren, Techniken, Anweisungsfolgen und Computerprogrammprodukte, die Techniken des vorliegenden Erfindungsgegenstands verkörpern. Es ist jedoch klar, dass die beschriebenen Ausführungsformen ohne diese spezifischen Details ausgeübt werden können. Obwohl Beispiele auf ein Schätzen der Installationszeit für ein Installieren eines Produkts auf einer Maschine in einer Unternehmensumgebung verweisen, sind Ausführungsformen zum Beispiel nicht darauf beschränkt. In weiteren Ausführungsformen können die hierin beschriebenen Operationen auf ein Bestimmen der Installationszeit für ein verteiltes Installieren des Produkts auf mehreren Maschinen erweitert werden. In weiteren Beispielen wurden bekannte Anweisungsbeispiele, Protokolle, Strukturen und Techniken nicht im Detail gezeigt, um die Beschreibung nicht zu verschleiern.
  • Ein Installieren eines Produkts in einer Unternehmensumgebung weist typischerweise ein Installieren mehrerer Komponenten/Pakete zur Verwendung als eine integrierte Lösung auf. Die Unternehmensumgebung kann Maschinen mit verschiedener Hardware, Software und Firmware aufweisen. Obwohl das Zeitintervall, das für das Installieren des Produktes erforderlich ist („Installationszeit”), in einer Testumgebung vorab bestimmt werden kann, kann die Testumgebungs-Installationszeit sehr verschieden sein von der Installationszeit in einer normalen Betriebsumgebung (die auch als eine tatsächliche Betriebsumgebung oder eine Nicht-Test-Betriebsumgebung bezeichnet wird). Dies kann der Fall sein wegen der Unterschiede in der Konfiguration der Maschinen in der normalen Betriebsumgebung und der Testumgebung, der Benutzer-Interaktion im Installationsprozess, der Auswirkung von anderen Prozessen, die in der normalen Betriebsumgebung ausgeführt werden und weiteren derartigen Faktoren (z. B. Netzwerk-Topologie, E/A-Leistung, Prozessorgeschwindigkeiten, verfügbarer physischer Arbeitsspeicher, verfügbarer Speicherplatz, aktuelle Arbeitslast der Maschinen, Netzwerkgeschwindigkeit, Datenbanktyp usw.). Wegen des Ausmaßes (und der potenziellen Komplexität) der Unternehmensumgebung kann die Produktinstallation in der Unternehmensumgebung eine variable und nicht vorhersagbare Menge Zeit in Anspruch nehmen. Mangelndes Wissen in Bezug darauf, wie lange für die Installation und Inbetriebnahme des Produkts in der Unternehmensumgebung gebraucht wird, kann sich negativ auf Support/Dienste auswirken, die von der Unternehmensumgebung bereitgestellt werden.
  • Es wäre von Nutzen (z. B. für Administratoren der Unternehmensumgebung), wenn die Installationszeit in der normalen Betriebsumgebung (d. h. der Unternehmensumgebung eines Kunden) auf der Grundlage von Informationen geschätzt werden könnte, die in der normalen Betriebsumgebung gesammelt werden. Eine Installationszeit-Schätzungseinheit kann in einer Testumgebung einen oder mehrere Zeitmessparameter bestimmen, die die Installationszeit beeinflussen, die zumindest teilweise auf der Grundlage einer Installationskonfigurationsoption beruht, gemäß der das Produkt installiert wird. Testumgebungs-Zeitmessparameterwerte können für jeden der Zeitmessparameter bestimmt werden. Zusätzlich können Installationsoperationen, die gemäß der Installationskonfigurationsoption ausgeführt werden, in der Testumgebung ausgeführt werden, um Testumgebungs-Installationszeitwerte zu bestimmen. Die Testumgebungs-Zeitmessparameterwerte und die Testumgebungs-Installationszeitwerte können analysiert werden, und ein Zeitmesskoeffizient wird für jeden der Zeitmessparameter bestimmt. Vor einem Ausführen der Installationsoperationen in der normalen Betriebsumgebung können aktuelle Zeitmessparameterwerte für jeden der Zeitmessparameter in der normalen Betriebsumgebung bestimmt werden. Die aktuellen Zeitmessparameterwerte können mit den vorher bestimmten Zeitmesskoeffizienten kombiniert werden, um die Installationszeit in der normalen Betriebsumgebung zu schätzen. Ein derartiger Mechanismus zum Schätzen der Installationszeit auf der Grundlage von Informationen, die in der normalen Betriebsumgebung gesammelt werden, kann die Genauigkeit der geschätzten Installationszeit verbessern. Das Bestimmen einer genaueren Schätzung der Installationszeit kann es Administratoren der Unternehmensumgebung ermöglichen, die Installation während geeigneter Zeitintervalle zu planen (z. B. während geplanter Wartungszeitintervalle, während Zeitintervallen, in denen die Anzahl eingehender Serviceanforderungen gering ist usw.), um weitere Operationen und Aufgaben rund um den Installationsprozess zu planen usw.
  • 1 ist ein Blockschaubild, das Beispieloperationen für das Bestimmen von Zeitmesskoeffizienten zum Schätzen der Installationszeit veranschaulicht. 1 stellt eine Testumgebung 102 dar, die Beispielmaschinen 104, 106, 108 und 110 aufweist. Abhängig von der Netzwerkkonfiguration der Testumgebung 102 können die Beispielmaschinen 104, 106, 108 und 110 miteinander verbunden sein. 1 stellt auch eine Installationseinheit 112 und eine Installationszeit-Schätzungseinheit 114 dar. Die Installationszeit-Schätzungseinheit 114 weist eine Zeitmessstatistik-Bestimmungseinheit 116 auf, die mit einer Zeitmesskoeffizienten-Berechnungseinheit 118 verbunden ist. Die Installationseinheit 112 kann eine Funktion zum Ausführen von einer oder mehreren Installationsoperationen zum Installieren eines Produkts/Diensts auf der Vielzahl von Maschinen 104, 106, 108 und 110 in der Testumgebung 102 aufweisen. In einigen Umsetzungen kann die Installationszeit-Schätzungseinheit 114 als Teil der Installationseinheit 112 umgesetzt sein. Mit anderen Worten, die Installationseinheit 112 kann so instrumentiert sein, dass die Installationseinheit 112 selbst die Zeitmessstatistik aufzeichnen und sammeln kann (so dass z. B. die Installationseinheit 112 die Funktion der Installationszeit-Schätzungseinheit 114 ausführt). In weiteren Umsetzungen kann die Installationszeit-Schätzungseinheit 114 getrennt von der Installationseinheit 112 umgesetzt sein. Die Installationszeit-Schätzungseinheit 114 kann in Verbindung mit der Installationseinheit 112 Operationen ausführen, die im Folgenden in Phasen A bis E beschrieben werden, um Zeitmesskoeffizienten in der Testumgebung zu bestimmen, die anschließend zum Schätzen der Installationszeit in einer normalen Betriebsumgebung verwendet werden können.
  • In der Phase A bestimmt die Installationseinheit 112 eine Installationskonfigurationsoption, die für das Installieren eines Produkts in der Testumgebung 102 ausgewählt wird. Das Installieren des Produkts weist typischerweise die Installation von einer oder mehreren Komponenten (z. B. Dienste, Anwendungen, Dateien usw.) des Produkts auf. Ein Benutzer kann alle/einige dieser Komponenten des Produkts auswählen (z. B. zum Installieren auswählen). Die Installationskonfigurationsoption gibt an, welche der Komponenten des Produkts von dem Benutzer für die Installation ausgewählt wurden. Wie im Folgenden ferner beschrieben wird, führt die Installationseinheit 112 abhängig von der ausgewählten Installationskonfigurationsoption einen unterschiedlichen Satz von Operationen für das Installieren des Produkts aus.
  • In der Phase B bestimmt die Installationseinheit 112 einen Installationsplan, der eine oder mehrere Operationen aufweist, die der Installationskonfigurationsoption zugehörig sind. Der Installationsplan identifiziert die Installationsoperationen, die ausgeführt werden sollen, um das Produkt gemäß der Installationskonfigurationsoption zu installieren. Wie oben beschrieben, weist das Installieren des Produkts gemäß der ausgewählten Installationskonfigurationsoption typischerweise die Installation von einer oder mehreren Komponenten auf, die von dem Benutzer ausgewählt werden. Der Installationsplan weist eine Liste von Operationen auf (z. B. Datenkopieroperationen, Operationen für Datenbankerstellung und -zugriff usw.), die ausgeführt werden, um die von dem Benutzer ausgewählten Komponenten zu installieren. Die Installationseinheit 112 erzeugt einen unterschiedlichen Installationsplan für das Ausführen eines verschiedenen Satzes von Installationsoperationen, die von der ausgewählten Installationskonfigurationsoption abhängen. Zum Beispiel führt ein Auswählen einer ersten Installationskonfigurationsoption zu einem Installationsplan, der eine große Anzahl von Datenbank-Zugriffsoperationen aufweist, wogegen ein Auswählen einer zweiten Installationskonfigurationsoption zu einem Installationsplan führt, der nur Datenkopieroperationen und Operationen zum Starten/Beenden eines Prozesses (und wenige bis gar keine Datenbank-Zugriffsoperationen) aufweist.
  • In der Phase C bestimmt die Zeitmessstatistik-Bestimmungseinheit 116 eine Testumgebungs-Zeitmessstatistik für jede einer Vielzahl von Beispielmaschinen 104, 106, 108, 110 in der Testumgebung 102, die zumindest teilweise auf der Grundlage des Installationsplans beruht, der der Installationskonfigurationsoption zugehörig ist. Die Zeitmessstatistik-Bestimmungseinheit 116 identifiziert Zeitmessparameter, die die Installationszeit beeinflussen, die dem Installieren des Produkts gemäß der Installationskonfigurationsoption zugehörig ist. Wenn der Installationsplan zum Beispiel angibt, dass zum Installieren des Produkts gemäß der ausgewählten Installationskonfigurationsoption nur Datenkopieroperationen und Prozessbeendigungsoperationen ausgeführt werden, identifiziert die Zeitmessstatistik-Bestimmungseinheit 116 einen Datenkopierparameter und einen Prozessbeendigungsparameter als die Zeitmessparameter für die Installationskonfigurationsoption. In diesem Beispiel bestimmt die Zeitmessstatistik-Bestimmungseinheit 116 Zeitmessparameter-Testoperationen für den Datenkopierparameter und den Prozessbeendigungsparameter, um die Zeit zu bestimmen, die für ein Ausführen von Datenkopieroperationen und der Prozessbeendigungsoperationen in der Testumgebung in Anspruch genommen wird. Es wird angemerkt, dass die Installationszeit abhängig von der ausgewählten Installationskonfigurationsoption und dem entsprechenden Installationsplan durch weitere geeignete Zeitmessparameter beeinflusst werden kann (z. B. Netzwerk-Zugriffoperationen, Datenbank-Zugriffoperationen usw.).
  • In dem oben genannten Beispiel bestimmt die Zeitmessstatistik-Bestimmungseinheit 116, eine vorgegebene Anzahl von Wiederholungen der Zeitmessparameter-Testoperationen für den Datenkopierparameter und den Prozessbeendigungsparameter auszuführen. Wie im Folgenden ferner in den 3 bis 4 beschrieben wird, bestimmt die Zeitmessstatistik-Bestimmungseinheit 116 für jede Wiederholung einen entsprechenden Testumgebungs-Zeitmessparameterwert. Zum Beispiel führt die Zeitmessstatistik-Bestimmungseinheit 116 für den Datenkopierparameter 200 Wiederholungen der Zeitmessparameter-Testoperationen aus und führt 200 Wiederholungen der Zeitmessparameter-Testoperationen für den Prozessbeendigungsparameter aus. In diesem Beispiel bestimmt die Zeitmessstatistik-Bestimmungseinheit 116 entsprechende 200 Datenkopierzeitwerte und 200 Prozessbeendigungszeitwerte. Die Zeitmessstatistik-Bestimmungseinheit 116 berechnet einen Durchschnitt der 200 Datenkopierzeitwerte, um einen Test-Datenkopierzeitwert für die Beispielmaschine zu bestimmen. Desgleichen berechnet die Zeitmessstatistik-Bestimmungseinheit 116 einen Durchschnitt der 200 Prozessbeendigungszeitwerte, um einen Test-Prozessbeendigungszeitwert für die Beispielmaschine zu bestimmen. Zusätzlich führt die Zeitmessstatistik-Bestimmungseinheit 116 auch die vorgegebene Anzahl von Wiederholungen der Installationsoperationen aus, die durch den Installationsplan identifiziert werden (bestimmt in der Phase B). Unter Bezugnahme auf das vorgenannte Beispiel, in dem die Zeitmessparameter-Testoperationen 200-mal ausgeführt wurden, führt die Zeitmessstatistik-Bestimmungseinheit 116 die Installationsoperationen (z. B. Installieren des Produkts auf den Beispielmaschinen gemäß der Installationskonfigurationsoption) 200-mal aus. Die Zeitmessstatistik-Bestimmungseinheit 116 bestimmt entsprechende 200 Installationszeitwerte und berechnet einen Durchschnitt der 200 Installationszeitwerte, um einen Test-Installationszeitwert für die Beispielmaschine zu bestimmen.
  • In der Phase D identifiziert die Zeitmesskoeffizienten-Berechnungseinheit 118 einen oder mehrere Zeitmesskoeffizienten, die der Installationskonfigurationsoption zugehörig sind, auf der Grundlage eines Verarbeitens der Testumgebungs-Zeitmessstatistik für jede der Vielzahl von Testmaschinen. Unter Bezugnahme auf das vorgenannte Beispiel wurden die Datenkopieroperationen und die Prozessbeendigungsoperationen als die Zeitmessparameter für die ausgewählte Installationskonfigurationsoption bestimmt. Dementsprechend bestimmte die Zeitmessstatistik-Bestimmungseinheit 116 in der Phase C die Testumgebungs-Zeitmessstatistik, die die Testwerte der Zeitmessparameter („Test-Zeitmessparameterwerte”) (z. B. den Test-Datenkopierzeitwert und den Test-Prozessbeendigungszeitwert) und den Testwert der Installationszeit („Test-Installationszeitwert”) für jede der Beispielmaschinen 104, 106, 108 und 110 aufweist. Anschließend führt die Zeitmesskoeffizienten-Berechnungseinheit 118 in der Phase D lineare Regressionsoperationen aus (oder andere geeignete statistische Analysetechniken oder Datenextrapolationsoperationen) unter Verwendung der Testumgebungs-Zeitmessstatistik, um einen Zeitmesskoeffizienten für jeden der Zeitmessparameter zu bestimmen, die der in Phase A gewählten Installationskonfigurationsoption zugehörig sind, wie ferner in den 3 bis 4 beschrieben wird. Zum Beispiel bestimmt die Zeitmesskoeffizienten-Berechnungseinheit 118 die Zeitmesskoeffizienten so, dass die Installationszeit als mindestens eine Kombination der Zeitmesskoeffizienten und der entsprechenden Zeitmessparameter ausgedrückt werden kann.
  • In der Phase E speichert die Zeitmesskoeffizienten-Berechnungseinheit 118 den einen oder die mehreren Zeitmesskoeffizienten, um anschließend die Installationszeit in einer normalen Betriebsumgebung zu schätzen, wenn die Installationskonfigurationsoption ausgewählt ist. In einigen Umsetzungen können die Zeitmesskoeffizienten als Teil der Installationseinheit 112 gespeichert werden. Eine Angabe der entsprechenden Zeitmessparameter und die Installationskonfigurationsoption können ebenfalls gespeichert werden. In einigen Umsetzungen können auch Informationen über die Testumgebung 102 gespeichert werden (z. B. Netzwerkkonfiguration und Maschinenkonfigurationen der Beispielmaschinen 104, 106, 108, 110 usw.), auf deren Grundlage die Zeitmesskoeffizienten bestimmt wurden. Die Installationseinheit 112 kann auch so instrumentiert werden, dass sie einen Prozess zum Sammeln einer Zeitmessstatistik in der normalen Betriebsumgebung enthält (die hierin als „aktuelle Zeitmessstatistik” bezeichnet wird), um das Schätzen der Installationszeit in der normalen Betriebsumgebung zu unterstützen. Wie ferner unter Bezugnahme auf 2 und 5 beschrieben wird, kann die Installationszeit für das Installieren des Produkts in der normalen Betriebsumgebung auf der Grundlage der ausgewählten Installationskonfigurationsoption, der entsprechenden Zeitmesskoeffizienten und der aktuellen Zeitmessstatistik geschätzt werden.
  • Es wird angemerkt, wie oben beschrieben, dass die Zeitmessparameter-Testoperationen und die Installationsoperationen an der Vielzahl von Beispielmaschinen 104, 106, 108 und 110 in der Testumgebung 102 ausgeführt werden. Die Vielzahl der Beispielmaschinen kann eine gemeinsame Betriebsplattform umsetzen, aber jede der Vielzahl von Beispielmaschinen kann eine andere Maschinenkonfiguration aufweisen (z. B. verschiedene Hardware, verschiedene Betriebssystemversionen usw.). Zum Beispiel kann die Vielzahl der Beispielmaschinen 104, 106, 108 und 110 auf einer IBM AIX®-Plattform betrieben werden, kann aber verschiedene Versionen der AIX-Plattform umsetzen. Die Maschinenkonfiguration von jeder der Beispielmaschinen 104, 106, 108 und 110 und die Anzahl der Beispielmaschinen, die dieselbe Maschinenkonfiguration umsetzen, können variieren. Wenn die Verteilung, Netzwerkkonfiguration und Maschinenkonfiguration von Maschinen in der normalen Betriebsumgebung (z. B. einer Kundenumgebung, in der das Produkt schließlich installiert wird) von vornherein bekannt ist, können die Testumgebung 102 und die Beispielmaschinen 104, 106, 108 und 110 in einigen Umsetzungen auf der Grundlage der Kenntnis der normalen Betriebsumgebung ausgewählt werden. In dieser Umsetzung kann die Testumgebungs-Zeitmessstatistik auf die normale Betriebsumgebung zugeschnitten werden, wodurch eine genauere Installationszeitschätzung in der normalen Betriebsumgebung sichergestellt wird. In weiteren Umsetzungen kann die Testumgebungs-Zeitmessstatistik jedoch für verschiedene Kombinationen der Verteilung, Netzwerkkonfiguration und Maschinenkonfiguration in der normalen Betriebsumgebung bestimmt werden.
  • 2 ist ein Blockschaubild, das Beispieloperationen für das Schätzen der Installationszeit in einer normalen Betriebsumgebung auf der Grundlage von vorher berechneten Zeitmesskoeffizienten veranschaulicht. 2 stellt eine normale Betriebsumgebung 202 dar, die eine Datenverarbeitungsmaschine 204 aufweist. 2 stellt auch eine instrumentierte Installationseinheit 212 dar, die ausgeführt wird, um ein Produkt auf der Datenverarbeitungsmaschine 204 zu installieren. Die instrumentierte Installationseinheit 212 weist die Installationseinheit 112, eine Schätzungseinheit der aktuellen Installationszeit 216 und eine Zeitmesskoeffizienten-Datenstruktur 218 auf. Die Installationseinheit 112 führt Operationen aus, um das Produkt in der normalen Betriebsumgebung zu installieren. Die Schätzungseinheit der aktuellen Installationszeit 216 bestimmt eine Zeitmessstatistik in der normalen Betriebsumgebung 202 (die hierin als „aktuelle Zeitmessstatistik” bezeichnet wird) für das Schätzen der Installationszeit in der normalen Betriebsumgebung unter Verwendung der in 1 bestimmten Zeitmesskoeffizienten 218. Es wird angemerkt, dass die normale Betriebsumgebung 202 aus Gründen der Einfachheit so dargestellt wird, dass sie eine Datenverarbeitungsmaschine 204 aufweist, und die Operationen von 2 werden dementsprechend beschrieben. In weiteren Umsetzungen kann die normale Betriebsumgebung 202 jedoch jede geeignete Anzahl von Datenverarbeitungsmaschinen aufweisen, und die Datenverarbeitungsmaschinen können datenübertragungsfähig in jeder geeigneten Konfiguration miteinander verbunden werden. Des Weiteren können die im Folgenden in den Phasen A bis D beschriebenen Operationen für das Schätzen der Installationszeit für eine Produktinstallation in einer verteilten Umgebung umgesetzt werden (z. B. wenn verschiedene Komponenten/Merkmale des Produkts auf verschiedenen Datenverarbeitungsmaschinen in der normalen Betriebsumgebung installiert werden).
  • In der Phase A bestimmt die Installationseinheit 112 der instrumentierten Installationseinheit 212 eine Installationskonfigurationsoption, die für das Installieren eines Produkts in der normalen Betriebsumgebung 202 ausgewählt wird. Der Benutzer wählt eine oder mehrere Komponenten (z. B. Dienste, Anwendungen, Dateien usw.) aus, die in der normalen Betriebsumgebung 202 als Teil des Installierens des Produkts installiert werden sollen. Die Installationskonfigurationsoption weist eine Angabe der Komponenten des Produkts auf, die von dem Benutzer zur Installation ausgewählt wurden. Nach dem Auswählen der Installationskonfigurationsoption bestimmt die Installationseinheit 112 einen der Installationskonfigurationsoption zugehörigen Installationsplan. Wie im Folgenden in 5 beschrieben wird, stellt der Installationsplan eine schrittweise Auflistung aller Installationsoperationen bereit, die für das Installieren des Produkts gemäß der Installationskonfigurationsoption ausgeführt werden.
  • In der Phase B identifiziert die Schätzungseinheit der aktuellen Installationszeit 216 einen oder mehrere Zeitmessparameter und entsprechende Zeitmesskoeffizienten, die der Installationskonfigurationsoption zugehörig sind. Wie ferner unter Bezugnahme auf 5 beschrieben wird, identifiziert die Schätzungseinheit der aktuellen Installationszeit 216 einen oder mehrere Zeitmessparameter auf der Grundlage der Installationskonfigurationsoption und des Installationsplans. Die Schätzungseinheit der aktuellen Installationszeit 216 greift von der Zeitmesskoeffizienten-Datenstruktur 218 aus auf die entsprechenden Zeitmesskoeffizienten, die den identifizierten Zeitmessparametern zugehörig sind, und die Installationskonfigurationsoption zu. Die Schätzungseinheit der aktuellen Installationszeit 216 bestimmt auch die Zeitmessparameter-Testoperationen, die ausgeführt werden sollen, um die Zeitmessstatistik in der normalen Betriebsumgebung zu berechnen („aktuelle Zeitmessstatistik”). In einigen Umsetzungen können die Zeitmessparameter-Testoperationen, die in der normalen Betriebsumgebung 202 ausgeführt werden, dieselben wie diejenigen sein, die in der Testumgebung 102 ausgeführt wurden, um die Testumgebungs-Zeitmessstatistik zu bestimmen.
  • In der Phase C bestimmt die Schätzungseinheit der aktuellen Installation 216 die aktuelle Zeitmessstatistik auf der Grundlage der Zeitmessparameter und der Installationskonfigurationsoption. Wie ferner im Folgenden unter Bezugnahme auf 5 beschrieben wird, führt die Schätzungseinheit der aktuellen Installationszeit 216 eine vorgegebene Anzahl von Wiederholungen der Zeitmessparameter-Testoperationen auf der Maschine bzw. den Maschinen in der normalen Betriebsumgebung aus, auf der bzw. denen das Produkt installiert wird, um eine entsprechende vorgegebene Anzahl von ersten Zeitmessparameterwerten zu bestimmen. Die Schätzungseinheit der aktuellen Installationszeit 216 bestimmt dann den Durchschnitt der vorgegebenen Anzahl von ersten Zeitmessparameterwerten, um die aktuelle Zeitmessstatistik festzulegen. Zum Beispiel bestimmt die Schätzungseinheit der aktuellen Installationszeit 216 in Reaktion auf ein Identifizieren eines Datenkopierparameters als den Zeitmessparameter, der der ausgewählten Installationskonfigurationsoption zugehörig ist, Testoperationen für den Datenkopierparameter und führt eine vorgegebene Anzahl von Wiederholungen (beispielsweise 20 Wiederholungen) der Testoperationen für den Datenkopierparameter aus. In diesem Beispiel bestimmt die Schätzungseinheit der aktuellen Installationszeit 216 entsprechende 20 Datenkopierzeitwerte und berechnet den Durchschnitt der 20 Datenkopierzeitwerte, um einen aktuellen Datenkopierzeitwert zu bestimmen (der in diesem Beispiel die aktuelle Zeitmessstatistik ist).
  • In der Phase D schätzt die Schätzungseinheit der aktuellen Installationszeit 216 die Installationszeit, die dem Installieren des Produkts gemäß der Installationskonfigurationsoption zugehörig ist, die zumindest teilweise auf der Grundlage der aktuellen Zeitmessstatistik und der Zeitmesskoeffizienten beruht, die der Installationskonfigurationsoption zugehörig sind. Wie unter Bezugnahme auf 5 beschrieben wird, berechnet die Schätzungseinheit der aktuellen Installationszeit 216 für jeden der Zeitmessparameter ein Produkt des Zeitmesskoeffizienten, der dem Zeitmessparameter zugehörig ist, und der für den Zeitmessparameter bestimmten aktuellen Zeitmessstatistik. Die Schätzungseinheit der aktuellen Installationszeit 216 addiert dann die jedem der Zeitmessparameter zugehörigen berechneten Produkte, um die Installationszeit zu schätzen. Ausdrücke für das Schätzen der Installationszeit können auch andere Faktoren berücksichtigen (z. B. Fehlerspannen und andere Faktoren als die Zeitmessparameter), die sich auf die Installationszeit auswirken können.
  • Es wird angemerkt, dass beim Schätzen der Installationszeit in der normalen Betriebsumgebung auf der Grundlage von Zeitmesskoeffizienten, die in der Testumgebung 102 bestimmt wurden, der Betrieb der Beispielmaschinen in der Testumgebung 102 als linear in Bezug auf die Maschinen in der normalen Betriebsumgebung 202 angenommen werden darf. Zum Beispiel kann bestimmt werden, dass die Datenübertragungsgeschwindigkeit, die durch ein Eingabe/Ausgabe-(E/A)System in der Testumgebung unterstützt wird, 10 MByte/s beträgt, und dass die Datenübertragungsgeschwindigkeit, die durch ein E/A-System in der normalen Betriebsumgebung unterstützt wird, 5 Mbit/s beträgt. Aufgrund der Linearität zwischen der Testumgebung und der normalen Betriebsumgebung kann angenommen werden, dass die Zeit zum Ausführen eines Satzes von Operationen in der normalen Betriebsumgebung doppelt so lang ist wie die Zeit zum Ausführen desselben Satzes von Operationen in der Testumgebung. Wenn nur die E/A-Operationen beim Schätzen der Installationszeit berücksichtigt werden, kann die Installationszeit in der normalen Betriebsumgebung doppelt so lang wie die Installationszeit in der Testumgebung sein. Als weiteres Beispiel kann ein Ausführen eines Satzes von Datenbankoperationen (z. B. Verbinden mit einer Datenbank, Ausführen von Datenbankabfragen wie beispielsweise SQL-Abfragen, Trennen der Verbindung von der Datenbank usw.) in einer Testumgebung ein erstes Datenbank-Zugriffzeitintervall (z. B. 5 Sekunden) in Anspruch nehmen. Das Ausführen desselben Satzes von Datenbankoperationen in der normalen Betriebsumgebung kann ein zweites Datenbank-Zugriffzeitintervall (z. B. 15 Sekunden) in Anspruch nehmen. Aufgrund der Linearität zwischen der Testumgebung und der normalen Betriebsumgebung kann angenommen werden, dass die Datenbank in der normalen Betriebsumgebung dreimal langsamer als die Datenbank in der Testumgebung ist. Dementsprechend kann festgelegt werden, dass datenbankbezogene Operationen in der normalen Betriebsumgebung die dreifache Menge Zeit im Vergleich zur Testumgebung in Anspruch nehmen.
  • 3 und 4 stellen einen Ablaufplan dar, der Beispieloperationen für das Bestimmen von Zeitmesskoeffizienten zum anschließenden Schätzen der Installationszeit veranschaulicht. Der Ablauf 300 beginnt am Block 302 in 3.
  • Eine Installationskonfigurationsoption, gemäß der ein Produkt in einer Testumgebung installiert werden soll, wird bestimmt (Block 302). Wie oben unter Bezugnahme auf 1 beschrieben, gibt die Installationskonfigurationsoption an, welche Komponenten (z. B. Dienste, Anwendungen, Dateien usw. des zu installierenden Produkts) installiert werden sollen. Einem Benutzer (z. B. einem Netzwerkadministrator) kann ein Installationskonfigurations-Auswahlbildschirm angezeigt werden. In einigen Implementierungen kann der Installationskonfigurations-Auswahlbildschirm eine Liste von Komponenten des Produkts anzeigen und kann den Benutzer auffordern, eine oder mehrere Komponenten auszuwählen, die als Teil des Installierens des Produkts installiert werden sollen. Die Installationskonfigurationsoption gibt an, welche der Komponenten des Produkts von dem Benutzer für die Installation ausgewählt wurden. Der Ablauf setzt sich am Block 304 fort.
  • Ein Installationsplan mit einer oder mehreren Installationsoperationen, die für das Installieren des Produkts gemäß der Installationskonfigurationsoption ausgeführt werden müssen, wird bestimmt (Block 304). Der Installationsplan stellt eine schrittweise Auflistung aller Installationsoperationen bereit, die zum Installieren des Produkts gemäß der im Block 302 bestimmten Installationskonfigurationsoption ausgeführt werden. Zum Beispiel kann der Installationsplan angeben, dass ein erster Satz von Daten von einer Installationsdiskette auf eine lokale Speichereinheit kopiert werden soll, dass eine neue Datenbank, die eine oder mehrere Tabellen aufweist, erstellt werden soll, dass ein zweiter Satz von Daten in der Datenbank gespeichert werden soll usw. Der Installationsplan gibt eine chronologische Auflistung von Daten-/Dateikopieroperationen, Datenbankoperationen. Netzwerkzugriffoperationen, Prozessbeginn- oder -beendigungsoperationen und andere geeignete Operationen an, die für das installieren des Produkts gemäß der Installationskonfigurationsoption ausgeführt werden. Zum installieren verschiedener Komponenten des Produkts gehört typischerweise ein Ausführen verschiedener Installationsoperationen. Daher kann der Installationsplan variieren (d. h. einen verschiedenen Satz von Installationsoperationen aufweisen), was von der ausgewählten Installationskonfigurationsoption abhängt. Zum Beispiel kann der einer ersten Installationskonfigurationsoption zugehörige Installationsplan eine große Anzahl von Datenbankzugriffoperationen aufweisen, der einer zweiten Installationskonfigurationsoption zugehörige Installationsplan kann überhaupt keine Datenbankzugriffoperationen aufweisen, während der einer dritten Installationskonfigurationsoption zugehörige Installationsplan nur Datenkopieroperationen aufweisen kann. Der Ablauf setzt sich am Block 306 fort.
  • Eine oder mehrere Zeitmessparameter, die die Zeit für das Installieren des Produkts gemäß der Installationskonfigurationsoption beeinflussen, werden zumindest teilweise auf der Grundlage des Installationsplans identifiziert, der der Installationskonfigurationsoption zugehörig ist (Block 306). Der Installationsplan kann Datenkopieroperationen (z. B. Dateiverschiebeoperationen), E/A-Operationen, Datenbankoperationen (z. B. Datenbankzugriff, Datenbankmodifizierung, Datenbankerstellung usw.), Prozessbeendigungsoperationen usw. aufweisen. Dementsprechend können die Zeitmessparameter einen Datenkopierparameter, datenbankbezogene Zeitmessparameter (z. B. einen Datenbankzugriffparameter, einen Datenbankmodifizierungsparameter, einen Datenbankerstellungsparameter usw.), einen Prozessbeendigungsparameter und weitere geeignete Zeitmessparameter enthalten. Eine gute Schätzung der Zeit, die für das Installieren eines Produkts in der normalen Betriebsumgebung erforderlich ist, kann durch Identifizieren der Zeitmessparameter (oder zumindest einer Untergruppe der wichtigen Zeitmessparameter) bestimmt werden, die die Installationszeit beeinflussen. Dies kann eine Vorhersage der Installationszeit ohne Berücksichtigung der Komplexität des Installationsprozesses ermöglichen.
  • Der Installationsplan, der der Installationskonfigurationsoption zugehörig ist, weist typischerweise eine Vielfalt von Installationsoperationen auf. Einige der Installationsoperationen nehmen eine minimale Menge Zeit in Anspruch (z. B. ein UNIX®/s-Befehl, der den Inhalt eines Verzeichnisses auflistet), wogegen andere Installationsoperationen (z. B. zu IBM WebSphere®-Anwendungen zugehörige Operationen) mehr Zeit in Anspruch nehmen. Abhängig von der gewünschten Genauigkeit der Installationszeitschätzung können einige oder alle der Installationsoperationen des Installationsplans zum Identifizieren der Zeitmessparameter und zum Bestimmen der Zeitmessparameter für eine anschließende Schätzung der Installationszeit in der normalen Betriebsumgebung verwendet werden. In einer Umsetzung werden alle Installationsoperationen des Installationsplans beim Bestimmen der Zeitmessparameter berücksichtigt, die der ausgewählten Installationskonfigurationsoption zugehörig sind. Wenn der Installationsplan zum Beispiel einen Satz von Datenkopieroperationen und Prozessbeendigungsoperationen enthält, werden ein Datenkopierparameter und ein Prozessbeendigungsparameter als die Zeitmessparameter ausgewählt, die der ausgewählten Installationskonfigurationsoption zugehörig sind. In einer weiteren Umsetzung werden die Installationsoperationen berücksichtigt, die die längsten Dauern (z. B. das Set von Operationen, die einen vorgegebenen Prozentsatz (z. B. 80%) der gesamten Zeit in Anspruch nehmen) während des Bestimmens der Zeitmessparameter in Anspruch nehmen, die der ausgewählten Installationskonfigurationsoption zugehörig sind. In einem Beispiel weist der Installationsplan einen Satz von Datenkopieroperationen, datenbankbezogenen Operationen und Prozessbeendigungsoperationen auf. Wenn bestimmt wird, dass die datenbankbezogenen Operationen die größte Menge Zeit in Anspruch nehmen, wird nur ein Datenbankbearbeitungsparameter als der Zeitmessparameter ausgewählt, der der ausgewählten Installationskonfigurationsoption zugehörig ist. In einigen Umsetzungen kann jeder der Sätze von Operationen entsprechende bestandteilbildende untergeordnete Operationen aufweisen. Zum Beispiel können datenbankbezogene Operationen ein Erstellen einer Datenbank, ein Herstellen einer Verbindung zu der Datenbank, ein Speichern von Dateneinträgen in der Datenbank, ein Ausführen von Datenbankabfragen und ein Beenden der Verbindung mit der Datenbank aufweisen. In einigen Umsetzungen werden alle der untergeordneten Operationen berücksichtigt (z. B. als Teil der im Folgenden beschriebenen Zeitmessparameter-Testoperationen), um die im Folgenden beschriebenen Test-Zeitmessparameterwerte zu bestimmen. Alternativ kann der Datenbankbearbeitungsparameter in einen untergeordneten Datenbankverbindungsparameter, einen untergeordneten Datenbankabfrageparameter, einen untergeordneten Datenbankbeendigungsparameter usw. aufgeteilt werden. Einige der untergeordneten Operationen können jedoch für die Ausführung länger brauchen als andere. In diesem Beispiel kann bestimmt werden, dass die Operationen für das Erstellen der Datenbank einen Großteil (in einem Beispiel 80%) der Zeit in Anspruch nehmen. Dementsprechend können nur die untergeordneten Datenbankerstellungsoperationen berücksichtigt werden (z. B. als Teil der im Folgenden beschriebenen Zeitmessparameter-Testoperationen), um die im Folgenden beschriebenen Testumgebungs-Zeitmessparameterwerte zu bestimmen. Mit anderen Worten, der Datenbankzugriffparameter kann nur einen untergeordneten Datenbankverbindungsparameter aufweisen. Der Ablauf setzt sich am Block 308 fort.
  • Für jeden der Zeitmessparameter werden Zeitmessparameter-Testoperationen identifiziert, die zum Bestimmen von Test-Zeitmessparameterwerten ausgeführt werden sollen (Block 308). Die Zeitmessparameter-Testoperationen weisen einen Satz von einer oder mehreren Operationen auf, die ausgeführt werden sollen, um zu bestimmen, wie lange es dauert, um Testoperationen für den Zeitmessparameter auf einer Beispielmaschine in der Testumgebung auszuführen (im Folgenden beschrieben). In einem Beispiel werden der Datenkopierparameter und der Prozessbeendigungsparameter als die Zeitmessparameter ausgewählt, die der Installationskonfigurationsoption zugehörig sind. Dementsprechend werden die Zeitmessparameter-Testoperationen für den Datenkopierparameter und den Prozessbeendigungsparameter bestimmt (z. B. auf der Grundlage eines Zugreifens auf eine Datenstruktur oder einen geeigneten Arbeitsspeicherplatz auf der Grundlage von Informationen, die in einer Installationszeit-Schätzungseinheit usw. fest codiert sind). Zum Beispiel weisen die Zeitmessparameter-Testoperationen für den Datenkopierparameter ein Kopieren einer Datei (z. B. eines Abschnitts eines Arbeitsspeichers) von einem Speicherplatz in einen anderen Speicherplatz auf. In einem weiteren Beispiel weisen die Zeitmessparameter-Testoperationen für den Datenkopierparameter ein Kopieren einer Datei von einer Speichereinheit in eine andere Speichereinheit auf. In einem weiteren Beispiel weisen die Zeitmessparameter-Testoperationen für den Prozessbeendigungsparameter ein Starten und Beenden von einem oder mehreren vorgegebenen Prozessen auf. In einem weiteren Beispiel weisen die Zeitmessparameter-Testoperationen für einen Datenbankbearbeitungsparameter ein Herstellen einer Verbindung mit der Datenbank, ein Erstellen einer Datenbanktabelle, ein Ausführen von einer oder mehreren Datenbankabfragen und ein Beenden der Verbindung mit der Datenbank auf. Es wird angemerkt, dass in weiteren Umsetzungen andere geeignete Zeitmessparameter-Testoperationen ausgeführt werden können. Der Ablauf setzt sich am Block 310 fort.
  • Eine Schleife beginnt für jede einer Vielzahl von Beispielmaschinen in der Testumgebung (Block 310). Wenn in einigen Umsetzungen eine Kenntnis der normalen Betriebsumgebung (z. B. einer Kundenumgebung, in der das Produkt schließlich installiert wird) von vornherein verfügbar ist, werden die Beispielmaschinen in der Testumgebung so ausgewählt, dass sie annähernd mit der Konfiguration von Maschinen in der normalen Betriebsumgebung übereinstimmen. In weiteren Umsetzungen werden die Beispielmaschinen in der Testumgebung jedoch gemäß jeder geeigneten Beispielmaschinenkonfiguration ausgewählt. In einigen Umsetzungen kann eine vorgegebene Anzahl von Beispielmaschinen (z. B. 50 Maschinen) pro Datenverarbeitungsplattform (oder Betriebssystem) ausgewählt werden. Untergruppen der Beispielmaschinen können jedoch so konfiguriert werden, dass sie verschiedene Versionen der Datenverarbeitungsplattform umsetzen. Zum Beispiel kann für ein Microsoft® Windows®-Betriebssystem eine erste Untergruppe von Beispielmaschinen so konfiguriert werden, dass ein Windows 2000-Betriebssytem umgesetzt wird, eine zweite Untergruppe von Beispielmaschinen kann so konfiguriert werden, dass ein Windows 7-Betriebssystem umgesetzt wird usw. In einigen Umsetzungen beruht die Anzahl von Beispielmaschinen, die jede der Untergruppen bilden, auf der Kenntnis der Konfiguration von Maschinen in der normalen Betriebsumgebung. In weiteren Umsetzungen kann jede der Untergruppen jede geeignete Anzahl von Beispielmaschinen aufweisen. Die im Folgenden in den Blöcken 312 bis 314 beschriebenen Operationen werden dann an jeder der Beispielmaschinen ausgeführt, um die Testumgebungs-Zeitmessstatistik zu bestimmen. Der Ablauf setzt sich am Block 312 fort.
  • Für jeden der Zeitmessparameter werden die dem Zeitmessparameter zugehörigen Zeitmessparameter-Testoperationen ausgeführt, um einen Test-Zeitmessparameterwert zu bestimmen, der dem Zeitmessparameter zugehörig ist (Block 312). Eine vorgegebene Anzahl von Wiederholungen der Zeitmessparameter-Testoperationen wird an der Beispielmaschine ausgeführt, um eine entsprechende vorgegebene Anzahl von ersten Zeitmessparameterwerten zu bestimmen. Ein Durchschnitt der vorgegebenen Anzahl von ersten Zeitmessparameterwerten wird berechnet, um den Test-Zeitmessparameterwert zu bestimmen, der dem Zeitmessparameter und der Beispielmaschine zugehörig ist. In einem Beispiel, wie oben unter Bezugnahme auf den Block 308 beschrieben, weisen die Zeitmessparameter-Testoperationen, die dem Datenkopierparameter zugehörig sind, das Kopieren einer Datei von einem Speicherort in einen anderen Speicherort auf. Die Zeitmessparameter-Testoperationen werden so oft wie vorgegeben ausgeführt (z. B. 100-mal), um eine entsprechende vorgegebene Anzahl von Datenkopierzeitwerten zu bestimmen. In diesem Beispiel wird die Datei 100-mal von einem Speicherort in einen anderen Speicherort kopiert, um entsprechende 100 Datenkopierzeitwerte zu bestimmen. Ein Durchschnitt von 100 Datenkopierzeitwerten wird berechnet, um einen Test-Datenkopierzeitwert (Tcopy) für die Beispielmaschine zu bestimmen. Desgleichen können dem Prozessbeendigungsparameter zugehörige Zeitmessparameter-Testoperationen ein Starten und Beenden eines vorgegebenen Prozesses aufweisen. Die Zeitmessparameter-Testoperationen werden so oft wie vorgegeben ausgeführt (z. B. wird der vorgegebene Prozess 100-mal gestartet und beendet), um entsprechende 100 Prozessbeendigungszeitwerte zu bestimmen. Ein Durchschnitt von 100 Prozessbeendigungszeitwerten wird berechnet, um einen Test-Prozessbeendigungszeitwert (Tshutdown) für die Beispielmaschine zu bestimmen. Es wird angemerkt, dass in weiteren Umsetzungen Testoperationen für weitere geeignete Zeitmessparameter ausgeführt werden können, um den entsprechenden Test-Zeitmessparameterwert zu bestimmen. Wie oben beschrieben, können die dem Datenbankbearbeitungsparameter zugehörigen Zeitmessparameter-Testoperationen zum Beispiel das Herstellen einer Verbindung mit der Datenbank, das Ausführen von einer oder mehreren Datenbankabfragen und das Schließen der Verbindung mit der Datenbank aufweisen. Dieser Satz von Zeitmessparameter-Testoperationen für den Datenbankbearbeitungsparameter kann 100-mal ausgeführt werden, um entsprechende 100 Datenbankbearbeitungszeitwerte zu bestimmen. Ein Durchschnitt von 100 Datenbankbearbeitungszeitwerten kann zum Bestimmen eines Test-Datenbankbearbeitungszeitwerts für die Beispielmaschine berechnet werden.
  • Es wird angemerkt, dass das Datenbankbearbeitungs-Zeitintervall davon abhängen kann, ob die Datenbank entfernt angeordnet oder lokal ist, von der Topologie des Datenübertragungsnetzwerks, dem Verkehr auf dem Datenübertragungsnetzwerk usw. Der Ablauf setzt sich im Block 314 in 4 fort.
  • Die eine oder die mehreren Installationsoperationen, die der Installationskonfigurationsoption zugehörig sind, werden zum Bestimmen eines Test-Installationszeitwerts ausgeführt (Block 314). Die vorgegebene Anzahl von Wiederholungen der Installationsoperationen wird an der Beispielmaschine ausgeführt, um eine entsprechende vorgegebene Anzahl von ersten Installationszeitwerten zu bestimmen. Ein Durchschnitt der vorgegebenen Anzahl von ersten Installationszeitwerten wird berechnet, um den der Beispielmaschine zugehörigen Test-Installationszeitwert zu bestimmen. Wie oben unter Bezugnahme auf das Beispiel von Block 312 beschrieben, wurden die dem Datenkopierparameter und dem Prozessbeendigungsparameter zugehörigen Zeitmessparameter-Testoperationen jeweils 100-mal ausgeführt, um jeweils 100 Datenkopierzeitwerte und 100 Prozessbeendigungszeitwerte zu bestimmen. Desgleichen werden im Block 314 die Installationsoperationen (bestimmt am Block 304), die der Installationskonfigurationsoption zugehörig sind, 100-mal an der Beispielmaschine ausgeführt, um entsprechende 100 Installationszeitwerte für die Beispielmaschine zu bestimmen. Ein Durchschnitt von 100 Installationszeitwerten wird berechnet, um einen Test-Installationszeitwert (Tinstall) für die Beispielmaschine zu bestimmen. Der Ablauf setzt sich am Block 316 fort.
  • Es wird bestimmt, ob zusätzliche Beispielmaschinen in der Testumgebung analysiert werden müssen (Block 316). Wenn bestimmt wird, dass zusätzliche Beispielmaschinen in der Testumgebung analysiert werden müssen, wird der Ablauf im Block 310 in 3 fortgesetzt, wo die nächste Beispielmaschine identifiziert wird und Operationen, die oben in den Blöcken 312 und 314 beschrieben wurden, für die nächste Beispielmaschine ausgeführt werden. Andernfalls setzt sich der Ablauf am Block 318 fort.
  • Die Test-Zeitmessparameterwerte und die Test-Installationszeitwerte für jede der Beispielmaschinen werden verarbeitet, um Zeitmesskoeffizienten für jeden der Zeitmessparameter zu identifizieren (Block 318). Der Einfachheit halber werden die Test-Zeitmessparameterwerte für jede der Beispielmaschinen und die Test-Installationszeitwerte für jede der Beispielmaschinen zusammen als die Testumgebungs-Zeitmessstatistik bezeichnet. Geeignete Datenextrapolationsoperationen (oder statistische Analyse) werden an der Testumgebungs-Zeitmessstatistik ausgeführt, um die Zeitmesskoeffizienten zu identifizieren, die den Zeitmessparametern zugehörig sind, wie im Ausdruck 1 dargestellt. Zum Beispiel wird die statistische Analyse unter Verwendung der Test-Installationszeitwerte und der Test-Zeitmessparameterwerte ausgeführt, um die Beziehung zwischen der Installationszeit und den Zeitmessparametern zu bestimmen. Wenn lineare Regressionstechniken eingesetzt werden, wird die Beziehung zwischen der Installationszeit und den Zeitmessparametern durch die Gleichung einer Geraden ausgedrückt. In einem Beispiel können lineare Regressionsoperationen auf der Grundlage der Test-Installationszeitwerte (Tinstall) für jede der Beispielmaschinen, die Test-Datenkopierzeitwerte (Tcopy) für jede der Beispielmaschinen und die Prozessbeendigungszeitwerte (Tshutdown) für jede der Beispielmaschinen ausgeführt werden, wie in Ausdruck 1 dargestellt, um die Beziehung zwischen der Installationszeit, der Datenkopierzeit und der Prozessbeendigungszeit zu bestimmen. Tinstall = Konstante + (Kcopy·Tcopy) + (Kshutdown· Tshutdown) Ausdruck 1
  • In Ausdruck 1 sind Kcopy und Kshutdown die Zeitmesskoeffizienten (oder Regressionskoeffizienten, die jeweils dem Datenkopierparameter und dem Prozessbeendigungsparameter für die ausgewählte Installationskonfigurationsoption zugehörig sind. Die Konstante wird auch als ein Fehlerterm bezeichnet und kann die weiteren Faktoren erfassen (z. B. andere als den Datenkopierparameter und den Prozessbeendigungsparameter), die die Installationszeit beeinflussen. In einigen Umsetzungen kann die Konstante auch für Messfehler stehen. Die Zeitmesskoeffizienten und die Konstante werden berechnet, indem die Test-Installationszeitwerte und die Test-Zeitmessparameterwerte kombiniert werden, die beide für jede der Vielzahl von Beispielmaschinen bestimmt wurden. Zum Beispiel kann die Konstante gemäß linearen Regressionsoperationen berechnet werden durch Summieren der Test-Zeitmessparameterwerte, die für die Beispielmaschinen bestimmt wurden, durch Multiplizieren dieser Summe mit den Zeitmesskoeffizienten, die dem Zeitmessparameter zugehörig sind, durch Subtrahieren des Ergebnisses von der Summe der Test-Installationszeitwerte und durch Dividieren des Ergebnisses durch die Anzahl von Beispielmaschinen in der Testumgebung. Die Zeitmessparameter, die entsprechenden Zeitmesskoeffizienten und die Konstante bilden zusammen einen „Installationszeit-Schätzungsausdruck”, der zum Schätzen der Installationszeit in einer normalen Betriebsumgebung verwendet wird. Es wird angemerkt, dass in weiteren Umsetzungen andere geeignete Datenextrapolationstechniken, Linienapproximationstechniken, Kurvenapproximationstechniken oder Datenanalysetechniken verwendet werden können, um Zeitmesskoeffizienten und den Installationszeit-Schätzungsausdruck zu bestimmen. Es wird ebenfalls angemerkt, dass, obwohl der Ausdruck 1 einen Installationszeit-Schätzungsausdruck mit dem Datenkopierparameter und dem Prozessbeendigungsparameter darstellt, die Ausführungsformen nicht darauf beschränkt sind. In weiteren Ausführungsformen kann der Installationszeit-Schätzungsausdruck jede geeignete Anzahl und jeden geeigneten Typ von Zeitmessparametern aufweisen. Der Ablauf setzt sich am Block 320 fort.
  • Die Zeitmesskoeffizienten, die entsprechenden Zeitmessparameter und die Installationskonfigurationsoption werden für die anschließende Verwendung für das Schätzen der Installationszeit in einer normalen Betriebsumgebung gespeichert (Block 320). In einigen Umsetzungen können die Zeitmesskoeffizienten, die entsprechenden Zeitmessparameter und die Installationskonfigurationsoption als Teil einer Installationseinheit gespeichert werden, die ausgeführt wird, um das Produkt in der normalen Betriebsumgebung zu installieren. Außerdem kann auch die Plattform (z. B. gleichgültig, ob AIX, Windows usw.), für die der Installationszeit-Schätzungsausdruck bestimmt wurde, als Teil der Installationseinheit gespeichert werden. Wie ferner in 5 beschrieben wird, kann ein geeigneter Installationszeit-Schätzungsausdruck ausgewählt werden, wenn die Installationskonfigurationsoption ausgewählt wird, und die aktuelle Zeitmessstatistik kann in der normalen Betriebsumgebung bestimmt werden. Die aktuelle Zeitmessstatistik kann in dem ausgewählten Installationszeit-Schätzungsausdruck zum Schätzen der Installationszeit in der normalen Betriebsumgebung verwendet werden. Ab Block 320 endet der Ablauf.
  • 5 ist ein Ablaufplan, der Beispieloperationen für das Schätzen der Installationszeit in einer normalen Betriebsumgebung unter Verwendung von Zeitmesskoeffizienten veranschaulicht. Der Ablauf 500 beginnt am Block 502.
  • Eine Installationskonfigurationsoption, gemäß der ein Produkt in einer normalen Betriebsumgebung installiert werden soll, wird bestimmt (Block 502). Wie oben unter Bezugnahme auf 3 beschrieben, wird einem Benutzer (z. B. einem Unternehmens-Netzwerkadministrator) ein Installationskonfigurations-Auswahlbildschirm für die normale Betriebsumgebung (z. B. eine Unternehmensumgebung) angezeigt. Der Benutzer wählt eine oder mehrere Komponenten (z. B. Dienste, Anwendungen, Dateien usw.), die in der normalen Betriebsumgebung als Teil des Installierens des Produkts installiert werden sollen. Die Installationskonfigurationsoption weist eine Angabe der Komponenten des Produkts auf, die von dem Benutzer zur Installation ausgewählt wurden. Der Ablauf setzt sich am Block 504 fort.
  • Ein Installationsplan mit einer oder mehreren Installationsoperationen, die für das Installieren des Produkts gemäß der Installationskonfigurationsoption ausgeführt werden müssen, wird bestimmt (Block 504). Wie oben unter Bezugnahme auf 3 beschrieben, stellt der Installationsplan eine schrittweise Auflistung aller Installationsoperationen bereit, die ausgeführt werden, um das Produkt gemäß der Installationskonfigurationsoption zu installieren. Zum Installieren verschiedener Komponenten des Produkts gehört typischerweise ein Ausführen verschiedener Installationsoperationen. Daher variiert der Installationsplan (d. h. weist einen verschiedenen Satz von Installationsoperationen auf), was von der ausgewählten Installationskonfigurationsoption abhängt. Der Ablauf setzt sich am Block 506 fort.
  • Ein vorgegebener Installationszeit-Schätzungsausdruck, der eine Kombination von einem oder mehreren Zeitmessparametern und entsprechende Zeitmesskoeffizienten aufweist, wird zumindest teilweise auf der Grundlage des Installationsplans ausgewählt, der der Installationskonfigurationsoption zugehörig ist (Block 506). Wie oben beschrieben, gibt der Installationsplan, der der ausgewählten Installationskonfigurationsoption zugehörig ist, die Installationsoperationen an, die für das Installieren des Produkts gemäß der Installationskonfigurationsoption ausgeführt werden. Der Installationsplan wird analysiert, um einen oder mehrere Zeitmessparameter zu bestimmen, die der Installationskonfigurationsoption zugehörig sind. Zum Beispiel kann der Installationsplan angeben, dass Datenkopieroperationen, Prozessbeendigungsoperationen und Datenbankbearbeitungsoperationen ausgeführt werden, um das Produkt gemäß der Installationskonfigurationsoption zu installieren. Dementsprechend können ein Datenkopierparameter, ein Prozessbeendigungsparameter und ein Datenbankbearbeitungsparameter als die der Installationskonfigurationsoption zugehörigen Zeitmessparameter ausgewählt werden. In einigen Umsetzungen kann der Benutzer die Genauigkeit angeben, mit der die Installationszeit geschätzt werden soll. Zum Beispiel können alle Zeitmessparameter berücksichtigt werden, die der Installationskonfigurationsoption zugehörig sind, um eine sehr genaue Schätzung der Installationszeit zu bestimmen, wenn die Installationszeit geschätzt wird. In einem weiteren Beispiel kann zum Bestimmen einer ungefähren Schätzung der Installationszeit nur eine Untergruppe der zur Installationskonfigurationsoption zugehörigen Zeitmessparameter berücksichtigt werden, wenn die Installationszeit geschätzt wird. In diesem Beispiel kann bestimmt werden, dass die Datenbankbearbeitungsoperationen einen großen Teil der Installationsoperationen bilden (oder einen großen Teil der Installationszeit in Anspruch nehmen). Dementsprechend kann nur der Datenbankbearbeitungsparameter zum Schätzen der Installationszeit verwendet werden.
  • Auf der Grundlage der Kenntnis der Installationskonfigurationsoption und der entsprechenden Zeitmessparameter wird ein geeigneter Installationszeit-Schätzungsausdruck ausgewählt. In einigen Implementierungen ist die ausgewählte Installationskonfigurationsoption mehreren Installationszeit-Schätzungsausdrücken zugehörig. Der geeignete Installationszeit-Schätzungsausdruck wird auf der Grundlage der Zeitmessparameter ausgewählt, die zum Schätzen der Installationszeit verwendet werden. Zum Beispiel kann die ausgewählte Installationskonfigurationsoption zwei Installationszeit-Schätzungsausdrücken zugehörig sein – einem ersten Ausdruck, der den Datenkopierparameter, den Prozessbeendigungsparameter und den Datenbankbearbeitungsparameter verwendet, und einem zweiten Ausdruck, der nur den Datenbankbearbeitungsparameter verwendet. Wenn bestimmt wird, dass eine ungefähre Schätzung der Installationszeit bestimmt werden soll und nur der Datenbankbearbeitungsparameter verwendet werden soll, kann der zweite Installationszeit-Schätzungsausdruck ausgewählt werden. Der Ablauf setzt sich am Block 508 fort.
  • Für jeden des einen oder der mehreren Zeitmessparameter des ausgewählten Installationszeit-Berechnungsausdrucks werden Zeitmessparameter-Testoperationen identifiziert, die zum Bestimmen von aktuellen Zeitmessparameterwerten ausgeführt werden sollen (Block 508). Wie oben unter Bezugnahme auf Block 308 in 3 beschrieben, weisen die Zeitmessparameter-Testoperationen einen Satz von einer oder mehreren Operationen auf, die ausgeführt werden sollen, um zu bestimmen, wie lange es dauert, um Testoperationen für den Zeitmessparameter („aktuelle Zeitmessparameterwerte”) in der normalen Betriebsumgebung auszuführen. In einigen Umsetzungen können die Zeitmessparameter-Testoperationen, die in der normalen Betriebsumgebung ausgeführt werden, dieselben wie diejenigen sein, die in der Testumgebung zum Bestimmen der Installationszeit-Schätzungsausdrücke ausgeführt wurden. In einigen Umsetzungen können die Zeitmessparameter-Testoperationen als Teil der Installationseinheit bereitgestellt werden (z. B. fest codiert oder in einem vorgegebenen Arbeitsspeicherort gespeichert). Wie oben beschrieben, weisen die Zeitmessparameter-Testoperationen für den Datenkopierparameter in einem Beispiel ein Kopieren einer vorgegebenen Datenmenge (z. B. eine 5-GB-Datei) von einem Speicherort in einen anderen Speicherort oder von einer Speichereinheit in eine andere Speichereinheit auf. In einem weiteren Beispiel weisen die Zeitmessparameter-Testoperationen für den Datenbankbearbeitungsparameter das Erstellen einer Datenbank, das Verbinden der Datenbank, das Ausführen von einer oder mehreren Datenspeicheroperationen und Datenzugriffoperationen und das Trennen der Verbindung der Datenbank auf. In einem weiteren Beispiel weisen die Zeitmessparameter-Testoperationen für den Prozessbeendigungsparameter ein Starten und Beenden von einem oder mehreren vorgegebenen Prozessen auf. In einigen Umsetzungen können die Prozesse, die als Teil der Zeitmessparameter-Testoperationen für den Prozessbeendigungsparameter gestartet und beendet werden, Prozesse sein, von denen bekannt ist, dass sie auf Maschinen in der normalen Betriebsumgebung vorhanden sind. In einigen Umsetzungen weist die Installationseinheit (z. B. fest codiert als Teil der Installationseinheit oder in einem vorgegebenen Arbeitsspeicherort gespeichert) einen oder mehrere Prozesse auf, die wahrscheinlich auf Maschinen in der normalen Betriebsumgebung vorhanden sind. Zum Beispiel können diese Prozesse für ein Windows-Betriebssystem einen Windows Telnet-Prozess, einen Windows-Anmeldeprozess, einen Internet-Anmeldedienst usw. aufweisen. Zum Ausführen der Zeitmessparameter-Testoperationen für den Prozessbeendigungsparameter können einer oder mehrere der Prozesse ausgewählt werden (z. B. zufällig, auf der Grundlage der Priorität der aufgelisteten Prozesse, auf der Grundlage der Verfügbarkeit der aufgelisteten Prozesse auf den Maschinen in der normalen Betriebsumgebung und/oder auf der Grundlage anderer geeigneter Kriterien). Die ausgewählten Prozesse werden dann gemäß den Zeitmessparameter-Testoperationen gestartet und beendet, um die Prozessbeendigungszeit in der normalen Betriebsumgebung zu bestimmen („aktueller Prozessbeendigungszeitwert”). Der Ablauf setzt sich am Block 510 fort.
  • Für jeden der Zeitmessparameter werden die dem Zeitmessparameter zugehörigen Zeitmessparameter-Testoperationen ausgeführt, um einen aktuellen Zeitmessparameterwert zu bestimmen, der dem Zeitmessparameter zugehörig ist (Block 510). Wie oben unter Bezugnahme auf den Block 312 von 3 beschrieben, wird eine vorgegebene Anzahl von Wiederholungen der Zeitmessparameter-Testoperationen auf der Maschine bzw. den Maschinen in der normalen Betriebsumgebung ausgeführt, auf der bzw. denen das Produkt installiert wird, um eine entsprechende vorgegebene Anzahl von ersten Zeitmessparameterwerten zu bestimmen. Ein Durchschnitt der vorgegebenen Anzahl von ersten Zeitmessparameterwerten wird berechnet, um die Menge Zeit zu bestimmen, die beim Ausführen derselben Prozesse (d. h. den Zeitmessparameter-Testoperationen) in der normalen Betriebsumgebung in Anspruch genommen wird. Typischerweise kann die Installationseinheit einen Hintergrundprozess (oder Thread) aufweisen, der die aktuellen Zeitmessparameterwerte bestimmt. Er wird angemerkt, dass die Zeitmessparameter-Testoperationen im Vergleich zur Testumgebung in der normalen Betriebsumgebung etwas weniger oft ausgeführt werden können. Wenn die Zeitmessparameter-Testoperationen zum Beispiel 100-mal in der Testumgebung ausgeführt wurden, um die Test-Zeitmessparameterwerte zu bestimmen, können die Zeitmessparameter-Testoperationen in der normalen Betriebsumgebung 20-mal ausgeführt werden, um die aktuellen Zeitmessparameterwerte zu bestimmen. Wie oben unter Bezugnahme auf den Block 312 in 3 beschrieben, werden die Zeitmessparameter-Testoperationen für den Datenkopierparameter mit einer vorgegebenen Häufigkeit (z. B. 20-mal) ausgeführt, um eine entsprechende vorgegebene Anzahl von Datenkopierzeitwerten zu bestimmen (z. B. 20 Datenkopierzeitwerte). Ein Durchschnitt von 20 Datenkopierzeitwerten wird berechnet, um einen aktuellen Datenkopierzeitwert (Tcurrent_copy) in der normalen Betriebsumgebung zu bestimmen. Desgleichen werden auch ein aktueller Prozessbeendigungszeitwert (Tcurrent_shutdoown) und andere geeignete aktuelle Zeitmessparameterwerte (z. B. ein aktueller Datenbankbearbeitungszeitwert) in der normalen Betriebsumgebung bestimmt. Der Ablauf setzt sich am Block 512 fort.
  • Die Installationszeit in der normalen Betriebsumgebung wird zumindest teilweise auf der Grundlage der aktuellen Zeitmessstatistik und des ausgewählten Installationszeit-Berechnungsausdrucks geschätzt (Block 512) Zum Beispiel soll angenommen werden, dass der Installationszeit-Schätzungsausdruck, der im Block 506 ausgewählt wurde, der Ausdruck ist, der durch Ausdruck 1 dargestellt wird. Wie oben beschrieben, sind die Zeitmesskoeffizienten Kcopy und Kshutdown und die Konstante bekannte Mengen in dem Installationszeit-Schätzungsausdruck. In diesem Beispiel sind die geeigneten aktuellen Zeitmessparameterwerte (bestimmt am Block 510) der aktuelle Datenkopierzeitwert Tcurrent_copy und der aktuelle Prozessbeendigungszeitwert Tcurrent_shutdoown. Diese aktuellen Zeitmessparameterwerte werden in den Installationszeit-Schätzungsausdruck eingefügt, der durch Ausdruck 2 dargestellt wird. Die rechte Seite des Ausdrucks 2 wird aufgelöst, um die Installationszeit für das Installieren des Produkts gemäß der Installationskonfigurationsoption in der normalen Betriebsumgebung zu schätzen. Ab Block 512 endet der Ablauf. Tcurrent_install = Konstante + (Kcopy·Tcurrent_copy) + (Kshutdown·Tcurrent_shutdoown) Ausdruck 2
  • Es sollte klar sein, dass die 1 bis 5 Beispiele sind, die zum Unterstützen des Verständnisses von Ausführungsformen gedacht sind und nicht dazu verwendet werden sollen, Ausführungsformen einzuschränken oder den Schutzumfang der Ansprüche einzuschränken. Ausführungsformen können zusätzliche Operationen, weniger Operationen, Operationen in einer anderen Reihenfolge, parallele Operationen und einige Operationen auf andere Weise ausführen. In einigen Umsetzungen kann der Netzwerkadministrator nach dem Anzeigen der Installationszeitschätzung in der normalen Betriebsumgebung (z. B. auf einer Anzeigeeinheit für einen Netzwerkadministrator) entscheiden, ob die Ausführung von einem oder mehreren Prozessen in der normalen Betriebsumgebung beendet (oder gestartet) werden soll. Wenn zum Beispiel die Schätzung der Installationszeit hoch ist, kann der Netzwerkadministrator einen oder mehrere Prozesse identifizieren, die beendet werden können, und kann die identifizierten Prozesse beenden, um die Installationszeit möglicherweise zu verkürzen. Der Netzwerkadministrator kann dann eine Eingabe bereitstellen (z. B. durch Anklicken einer Verknüpfung „Installation starten”), um die Installation des Produkts in der normalen Betriebsumgebung gemäß der Installationskonfigurationsoption zu starten.
  • Obwohl Beispiele Datenkopieroperationen und Prozessbeendigungsoperationen beschreiben, die berücksichtigt werden, um den Installationszeit-Schätzungsausdruck zu bestimmen (siehe Ausdruck 1), und um die Installationszeit in der normalen Betriebsumgebung zu schätzen (siehe Ausdruck 2), sind Ausführungsformen nicht darauf beschränkt. In weiteren Ausführungsformen werden andere geeignete Operationen des Installationsplans berücksichtigt, der der Installationskonfigurationsoption zugehörig ist, um den Installationszeit-Schätzungsausdruck zu bestimmen und die Installationszeit in der normalen Betriebsumgebung zu schätzen. Zum Beispiel können auch Netzwerkumläufe, Datenbankumläufe, WebSphere-Umläufe, ob die Installation in einer verteilten Umgebung ausgeführt wird, Sicherheits- und Firewall-Probleme und andere derartige Faktoren berücksichtigt werden.
  • In einigen Umsetzungen können die Funktion zum Erzeugen der Installationszeit-Schätzungsausdrücke (beschrieben in den 3 und 4) und die Funktion zum Verwenden der Installationszeit-Schätzungsausdrücke zum Schätzen der Installationszeit (beschrieben in der 5) in einem eigenständigen Installationszeit-Schätzungsdienstprogramm kombiniert werden. Das eigenständige Installationszeit-Schätzungsdienstprogramm kann in der normalen Betriebsumgebung ausgeführt werden, um die Genauigkeit der Installationszeitschätzung zu verbessern. Mit anderen Worten, statt die Operationen der 3 bis 4 in der Testumgebung auszuführen und die Installationszeit-Schätzungsausdrücke auf der Grundlage der in der Testumgebung gesammelten Zeitmessstatistik zu bestimmen, können die Operationen der 3 bis 4 in der normalen Betriebsumgebung ausgeführt werden (z. B. in der Unternehmensumgebung eines Kunden), und die Installationszeit-Schätzungsausdrücke können auf der Grundlage einer Zeitmessstatistik bestimmt werden, die in der normalen Betriebsumgebung erhalten wird. Die Installationszeit-Schätzungsausdrücke, die auf die normale Betriebsumgebung zugeschnitten sind, können für verschiedene Installationskonfigurationen festgelegt werden und können dann gespeichert werden. In Reaktion auf das Bestimmen, das Produkt in der normalen Betriebsumgebung zu installieren, können die Operationen von 5 ausgeführt werden, um den geeigneten Installationszeit-Schätzungsausdruck auszuwählen und die Installationszeit zu schätzen.
  • Wie einem Fachmann klar sein wird, können Aspekte des vorliegenden Erfindungsgegenstands als ein System, Verfahren oder Computerprogrammprodukt verkörpert werden. Dementsprechend können Aspekte des vorliegenden Erfindungsgegenstands in der Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (einschließlich Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte kombiniert, auf die alle hierin allgemein als „Schaltung”, „Modul” oder „System” Bezug genommen werden kann. Des Weiteren können Aspekte des vorliegenden Erfindungsgegenstands die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien mit einem darin ausgeführten computerlesbaren Programmcode verkörpert ist.
  • Jede Kombination von einem oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann zum Beispiel ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu spezielleren Beispielen (eine nicht erschöpfende Liste) für das computerlesbare Speichermedium würde Folgendes zählen: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer CD-ROM, eine optische Speichereinheit, eine Magnetspeichereinheit oder jede geeignete Kombination des Vorgenannten. In dem Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes konkrete Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein verbreitetes Datensignal mit einem darin verkörperten computerlesbaren Programmcode enthalten, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Ein derartiges verbreitetes Signal kann jede einer Vielfalt von Formen annehmen, einschließlich elektromagnetisch, optisch oder jede geeignete Kombination davon, es ist aber nicht darauf beschränkt. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung übertragen, verbreiten oder transportieren kann.
  • In einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes geeigneten Mediums übertragen werden, einschließlich drahtlos, drahtgebunden, über ein Lichtwellenleiterkabel, HF usw. oder eine geeignete Kombination des Vorgenannten, er ist aber nicht darauf beschränkt.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte des vorliegenden Erfindungsgegenstands kann in jeder Kombination von einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und herkömmlichen prozeduralen Programmiersprachen wie der Programmiersprache „C” oder ähnlichen Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jeden Typ von Netzwerk verbunden sein, einschließlich ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Nutzung eines Internet-Dienstanbieters).
  • Aspekte des vorliegenden Erfindungsgegenstands werden unter Bezugnahme auf Veranschaulichungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen des Erfindungsgegenstands beschrieben. Es versteht sich, dass jeder Block in den Ablaufplanveranschaulichungen und/oder den Blockschaubildern und Kombinationen von Blöcken in den Ablaufplanveranschaulichungen und/oder den Blockschaubildern durch Computerprogrammanweisungen umgesetzt werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder andere Vorrichtungen, die programmierbare Daten verarbeiten, bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder andere Vorrichtungen, die programmierbare Daten verarbeiten, ausgeführt werden, Mittel zum Umsetzen der Funktionen/Handlungen erstellen, die in dem Ablaufplan und/oder dem Block oder den Blöcken des Blockschaubilds angegeben sind.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere Vorrichtung, die programmierbare Daten verarbeitet, oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Weise funktionieren, sodass die in dem computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsgegenstand erzeugen, einschließlich Anweisungen, die die in dem Ablaufplan und/oder dem Block oder den Blöcken des Blockschaubilds angegebene Funktion/Handlung umsetzen.
  • Die Computerprogrammanweisungen können auch auf einen Computer, eine andere Vorrichtung, die programmierbare Daten verarbeitet, oder andere Einheiten geladen werden, um die Ausführung einer Serie von Arbeitsschritten auf dem Computer, einer anderen Vorrichtung, die programmierbare Daten ausführt, oder anderen Einheiten zu veranlassen, um einen über den Computer umgesetzten Prozess zu erzeugen, sodass die Anweisungen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Umsetzen der Funktionen/Handlungen bereitstellen, die in dem Ablaufplan und/oder dem Block oder den Blöcken des Blockschaubilds angegeben sind.
  • 6 ist ein Blockschaubild von einer Ausführungsform eines elektronischen Systems mit einem Mechanismus für das Schätzen der Installationszeit. Das elektronische System 600 enthält eine Prozessoreinheit 602 (möglicherweise mit mehreren Prozessoren, mehreren Kernen, mehreren Knoten und/oder Multi-Threading-Umsetzung usw.). Das elektronische System 600 enthält eine Arbeitsspeichereinheit 606. Die Arbeitsspeichereinheit 606 kann ein Systemarbeitsspeicher (z. B. ein oder mehrere Cachespeicher, SRAM, DRAM, ZRAM (Zero Capacitor RAM), TTRAM (Twin Transistor RAM), eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM usw.) oder eine beliebige oder mehrere der oben bereits beschriebenen Ausführungen von maschinenlesbaren Datenträgern sein. Das elektronische System 600 enthält auch einen Bus 610 (z. B. PCI, ISA, PCI-Express, HyperTransport®, InfiniBand®, NuBus, AHB, AXI usw.) und eine Netzwerkschnittstelle 604, die mindestens eine von einer drahtlosen Netzwerkschnittstelle enthält (z. B. eine WLAN-Schnittstelle, eine Bluetooth®-Schnittstelle, eine WiMAX-Schnittstelle, eine ZigBee®-Schnittstelle, eine Wireless USB-Schnittstelle usw.) und eine drahtgebundene Netzwerkschnittstelle (z. B. eine Ethernet-Schnittstelle, eine ATM-Schnittstelle, eine Frame Relay-Schnittstelle, SONET-Schnittstelle usw.). Die Prozessoreinheit 602, die Arbeitsspeichereinheit 606 und die Netzwerkschnittstelle 604 sind mit dem Bus 610 verbunden.
  • Das elektronische System 600 enthält auch eine Installationszeit-Schätzungseinheit 808. Die Installationszeit-Schätzungseinheit 808 kann eine Funktion zum Bestimmen von einem oder mehreren Zeitmessparametern umsetzen, die die Installationszeit beeinflussen, die dem Installieren eines Produkts gemäß einer ausgewählten Installationskonfigurationsoption zugehörig ist. Die Installationszeit-Schätzungseinheit 808 kann eine Test-Zeitmessstatistik bestimmen und kann die Test-Zeitmessstatistik zum Bestimmen eines Installationszeit-Schätzungsausdrucks verwenden, der der Installationskonfigurationsoption zugehörig ist, wie oben in den 1, 3 und 4 beschrieben. In einer normalen Betriebsumgebung kann die Installationszeit-Schätzungseinheit 808 bestimmen (z. B. in Reaktion auf eine Benutzereingabe), das Produkt gemäß der Installationskonfigurationsoption zu installieren. Dementsprechend kann die Installationszeit-Schätzungseinheit 808 einen geeigneten Installationszeit-Schätzungsausdruck identifizieren und kann eine aktuelle Zeitmessstatistik in der normalen Betriebsumgebung bestimmen. Die Installationszeit-Schätzungseinheit 808 kann den Installationszeit-Schätzungsausdruck und die aktuelle Zeitmessstatistik verwenden, um die Installationszeit in der normalen Betriebsumgebung zu schätzen, wie oben in den 2 und 5 beschrieben.
  • Obwohl die 6 die Installationszeit-Schätzungseinheit 608 als umgesetzten Teil des elektronischen Systems 600 darstellt, wird angemerkt, dass die Installationszeit-Schätzungseinheit 608 in weiteren Umsetzungen auf einer getrennten Schaltkarte (oder integrierten Schaltung) verkörpert werden kann und extern mit der Prozessoreinheit 602 und/oder dem elektronischen System 600 verbunden werden kann. Zum Beispiel kann die Installationszeit-Schätzungseinheit 608 als Teil einer Installationseinheit umgesetzt werden, die Operationen für das Installieren des Produkts aufweist und ausführt. In einigen Umsetzungen kann das elektronische System 600 eine Schaltkarte, ein System auf einem Chip, eine gegenseitige Verbindung von einer oder mehreren integrierten Schaltungen oder andere geeignete elektronische Systeme sein. Jede dieser Funktionen kann teilweise (oder vollständig) in Hardware und/oder auf der Prozessoreinheit 602 umgesetzt werden. Zum Beispiel kann die Funktion mit einer anwendungsspezifischen integrierten Schaltung, in einer in der Prozessoreinheit 802 umgesetzten Logik, in einem Co-Prozessor auf einer Peripherie-Einheit oder -Karte usw. umgesetzt werden. Ferner können Ausführungen weniger oder zusätzliche Komponenten enthalten, die in 8 nicht veranschaulicht sind (z. B. Videokarten, Audiokarten, zusätzliche Netzwerkschnittstellen, Peripherie-Einheiten usw.). Obwohl die Arbeitsspeicher 606 als mit dem Bus 610 verbunden veranschaulicht ist, kann sie mit der Prozessoreinheit 602 verbunden werden.
  • Die Ausführungsformen wurden zwar unter Bezugnahme auf verschiedene Umsetzungen und Nutzungen beschrieben, doch ist klar, dass diese Ausführungsformen veranschaulichend sind, und dass der Schutzumfang des Erfindungsgegenstands nicht auf sie beschränkt ist. Im Allgemeinen können Techniken für das Schätzen von Installationszeit, wie hierin beschrieben, mit Einrichtungen umgesetzt werden, die mit jedem Hardwaresystem oder jeden Hardwaresystemen vereinbar sind. Viele Variationen. Modifizierungen, Hinzufügungen und Verbesserungen sind möglich.
  • Pluralangaben können für hierin beschriebene Komponenten, Operationen oder Strukturen als Singularangaben bereitgestellt werden. Letztendlich sind Grenzen zwischen verschiedenen Komponenten, Operationen und Datenspeichern etwas willkürlich, und bestimmte Operationen sind im Kontext von spezifischen veranschaulichenden Konfigurationen veranschaulicht. Weitere Funktionsbelegungen sind vorgesehen und können unter den Schutzumfang des Erfindungsgegenstands fallen. Im Allgemeinen können Strukturen und Funktionen, die als getrennte Komponenten in den beispielhaften Konfigurationen dargestellt sind, als eine kombinierte Struktur oder Komponente umgesetzt werden. Desgleichen können Strukturen und Funktionen, die als einzelne Komponente dargestellt sind, als getrennte Komponenten umgesetzt werden. Diese und weitere Variationen, Modifizierungen, Hinzufügungen und Verbesserungen können unter den Schutzumfang des Erfindungsgegenstands fallen.

Claims (19)

  1. Verfahren für ein Schätzen von Installationszeit für ein Softwareprodukt in einer Betriebsumgebung, wobei das Verfahren aufweist: Identifizieren eines Zeitmessparameters, der ein Installationszeitintervall für ein installieren eines Softwareprodukts gemäß einer Installationskonfigurationsoption auf einer Vielzahl von Beispiel-Datenverarbeitungsmaschinen in einer Testumgebung beeinflusst; Identifizieren eines Satzes von Zeitmessparameter-Testoperationen, um Testwerte des Zeitmessparameters der Vielzahl von Beispiel-Datenverarbeitungsmaschinen zu bestimmen; für jede der Vielzahl von Beispiel-Datenverarbeitungsmaschinen in der Testumgebung Bestimmen des Testwerts des Zeitmessparameters für die Beispiel-Datenverarbeitungsmaschine, der zumindest teilweise auf der Grundlage des Satzes von Zeitmessparameter-Testoperationen beruht; Bestimmen eines Testwerts der Installationszeit für die Beispiel-Datenverarbeitungsmaschine, der zumindest teilweise auf der Grundlage von Installationsoperationen beruht, die gemäß der Installationskonfigurationsoption ausgeführt werden; Bestimmen eines Zeitmesskoeffizienten für den Zeitmessparameter auf der Grundlage der Testwerte des Zeitmessparameters und der Testwerte der Installationszeit, die beide für jede die Vielzahl von Beispiel-Datenverarbeitungsmaschinen bestimmt wurden; Aufzeichnen des Zeitmesskoeffizienten und der Installationskonfigurationsoption, wobei das Installationszeitintervall für das Installieren des Softwareprodukts gemäß der Installationskonfigurationsoption in einer Nicht-Test-Betriebsumgebung auf der Grundlage des Zeitmesskoeffizienten und der Installationskonfigurationsoption geschätzt wird.
  2. Verfahren nach Anspruch 1, wobei das Bestimmen der Testwerte des Zeitmessparameters für die Beispiel-Datenverarbeitungsmaschine aufweist: für jede der Vielzahl von Beispiel-Datenverarbeitungsmaschinen in der Testumgebung für eine vorgegebene Anzahl von Wiederholungen Ausführen des Satzes von Zeitmessparameter-Testoperationen auf der Beispiel-Datenverarbeitungsmaschine; Bestimmen eines ersten Testwerts des Zeitmessparameters auf der Grundlage des von einem Computer verwendbaren Programmcodes, der den Satz von Zeitmessparameter-Testoperationen auf der Beispiel-Datenverarbeitungsmaschine ausführt, und Berechnen eines Durchschnitts der ersten Testumgebungs-Zeitmessparameterwerte, um den Testwert des Zeitmessparameters für die Beispiel-Datenverarbeitungsmaschine und den Zeitmessparameter zu bestimmen.
  3. Verfahren nach Anspruch 2, wobei das Bestimmen des Testwerts der Installationszeit für die Beispiel-Datenverarbeitungsmaschine aufweist: für jede der Vielzahl von Beispiel-Datenverarbeitungsmaschinen in der Testumgebung für eine vorgegebene Anzahl von Wiederholungen Ausführen der Installationsoperationen, die gemäß der Installationskonfigurationsoption auf der Beispiel-Datenverarbeitungsmaschine ausgeführt werden; Bestimmen eines ersten Testumgebungs-Installationszeitwerts auf der Grundlage des von einem Computer verwendbaren Programmcodes, der die Installationsoperationen ausführt, die gemäß der Installationskonfigurationsoption auf der Beispiel-Datenverarbeitungsmaschine ausgeführt werden; und Berechnen eines Durchschnitts der ersten Testumgebungs-Installationszeitwerte, um den Testwert der Installationszeit für die Beispiel-Datenverarbeitungsmaschine zu bestimmen.
  4. Verfahren nach Anspruch 1, das des Weiteren aufweist: in der Testumgebung Bestimmen der Installationskonfigurationsoption, gemäß der das Produkt auf jeder der Vielzahl von Beispiel-Datenverarbeitungsmaschinen installiert werden soll; für die Installationskonfigurationsoption Bestimmen eines Installationsplans, der die eine oder die mehreren Installationsoperationen für das Installieren des Produkts gemäß der Installationskonfigurationsoption aufweist; und Identifizieren des Zeitmessparameters, der das Installationszeitintervall für das Installieren des Produkts gemäß der Installationskonfigurationsoption, die zumindest teilweise auf dem Installationsplan für die Installationskonfigurationsoption beruht, auf der Vielzahl von Beispiel-Datenverarbeitungsmaschinen in der Testumgebung beeinflusst.
  5. Verfahren nach einem beliebigen vorhergehenden Anspruch, wobei ein Aufzeichnen des Zeitmesskoeffizienten und der Installationskonfigurationsoption aufweist: Speichern des Zeitmesskoeffizienten für den Zeitmessparameter und der Installationskonfigurationsoption als Teil einer Installationseinheit, wobei die Installationseinheit für das Installieren des Produkts in der Nicht-Test-Betriebseinheit ausgeführt wird.
  6. Verfahren nach Anspruch 1, wobei das Aufzeichnen des Zeitmesskoeffizienten und der Installationskonfigurationsoption aufweist: Erzeugen eines Installationszeit-Berechnungsausdrucks für ein Schätzen des Installationszeitintervalls, das dem Installieren des Produkts gemäß der Installationskonfigurationsoption zugehörig ist, wobei der Installationszeit-Berechnungsausdruck mindestens eine Kombination des Zeitmessparameters und des dem Zeitmessparameter zugehörigen Zeitmesskoeffizienten aufweist; und Speichern des Installationszeit-Berechnungsausdrucks als Teil einer Installationseinheit, wobei die Installationseinheit für das Installieren des Produkts in der Nicht-Test-Betriebsumgebung ausgeführt wird.
  7. Verfahren nach Anspruch 1, wobei die Zeitmessparameter mindestens einen von einem Datenkopierparameter, einem Prozessbeendigungsparameter, einem Datenbankparameter, einem Netzwerkumlaufparameter und einem Festplattenzugriffparameter aufweisen; und wobei die Testwerte der Zeitmessparameter mindestens eines von einem Datenkopierzeitintervall, einem Prozessbeendigungszeitintervall, einem Datenbankzeitintervall, einem Netzwerkumlaufzeitintervall und einem Festplattenzugriffzeitintervall aufweisen.
  8. Verfahren nach einem beliebigen vorhergehenden Anspruch, wobei das Installieren des Produkts ein Installieren einer Vielzahl von Komponenten des Produkts aufweist, wobei die Installationskonfigurationsoption mindestens eine Untergruppe der Komponenten des Produkts angibt, das für die Installation ausgewählt wurde.
  9. Verfahren für das Schätzen von Installationszeit eines Softwareprodukts in einer Betriebsumgebung, wobei das Verfahren aufweist: für eine ausgewählte Installationskonfigurationsoption Bestimmen von einer oder mehreren Installationsoptionen für das Installieren eines Produkts in einer Nicht-Test-Betriebsumgebung gemäß der Installationskonfigurationsoption; Auswählen eines ersten von einer Vielzahl von vorgegebenen Installationszeit-Berechnungsausdrücken, der mindestens eine Kombination aus einem Zeitmessparameter und einem Zeitmesskoeffizienten aufweist, der dem Zeitmessparameter zugehörig ist, der zumindest teilweise auf der Grundlage der einen oder der mehreren Installationsoperationen beruht; Identifizieren eines Satzes von Zeitmessparameter-Testoperationen, um einen aktuellen Wert des Zeitmessparameters in der Nicht-Test-Betriebsumgebung zu bestimmen; Bestimmen des aktuellen Werts des Zeitmessparameters, der zumindest teilweise auf der Grundlage des identifizierten Satzes von Zeitmessparameter-Testoperationen beruht; und Schätzen des Installationszeitintervalls, das dem Installieren des Produkts gemäß der Installationskonfigurationsoption in der Nicht-Test-Betriebsumgebung zugehörig ist, die zumindest teilweise auf der Grundlage des aktuellen Werts des Zeitmessparameters, des entsprechenden Zeitmesskoeffizienten und des ersten der Vielzahl von Installationszeit-Berechnungsausdrücken beruht.
  10. Verfahren nach Anspruch 9, wobei das Bestimmen des aktuellen Werts des Zeitmessparameters aufweist: für eine vorgegebene Anzahl von Wiederholungen Ausführen des Satzes von Zeitmessparameter-Testoperationen in der Nicht-Test-Betriebsumgebung; Bestimmen eines ersten Zeitmessparameterwertes auf der Grundlage des von einem Computer verwendbaren Programmcodes, der den Satz von Zeitmessparameter-Testoperationen in der Nicht-Test-Betriebsumgebung ausführt; und Berechnen eines Durchschnitts der ersten Zeitmessparameterwerte, um den aktuellen Wert des Zeitmessparameters zu bestimmen.
  11. Verfahren nach Anspruch 9, wobei der erste der Vielzahl von Installationszeit-Berechnungsausdrücken, der Zeitmessparameter des ersten der Vielzahl von Installationszeit-Berechnungsausdrücken und der dem Zeitmessparameter zugehörige Zeitmesskoeffizient in einer Testumgebung bestimmt werden.
  12. Verfahren nach Anspruch 9, das des Weiteren aufweist: Bestimmen des ersten der Vielzahl von Installationszeit-Berechnungsausdrücken, des Zeitmessparameters des ersten der Vielzahl von Installationszeit-Berechnungsausdrücken und des dem Zeitmessparameter in der Nicht-Test-Betriebsumgebung zugehörigen Zeitmesskoeffizienten, wobei das Bestimmen des ersten der Vielzahl von Installationszeit-Berechnungsausdrücken, des Zeitmessparameters des ersten der Vielzahl von Installationszeit-Berechnungsausdrücken und des dem Zeitmessparameter in der Testumgebung zugehörigen Zeitmesskoeffizienten aufweist: Identifizieren des Zeitmessparameters, der das Installationszeitintervall für das Installieren des Produkts in der Testumgebung gemäß der Installationskonfigurationsoption beeinflusst: für eine vorgegebene Anzahl von Wiederholungen Ausführen des Satzes von Zeitmessparameter-Testoperationen, die dem Zeitmessparameter zugehörig sind, in der Nicht-Test-Betriebsumgebung; Bestimmen eines ersten Zeitmessparameterwertes auf der Grundlage des von einem Computer verwendbaren Programmcodes, der den Satz von Zeitmessparameter-Testoperationen ausführt, die dem Zeitmessparameter in der Nicht-Test-Betriebsumgebung zugehörig sind; und Ausführen der Installationsoperationen, die gemäß der Installationskonfigurationsoption in der Nicht-Test-Betriebsumgebung ausgeführt werden; Bestimmen eines ersten Installationszeitwerts auf der Grundlage des von einem Computer verwendbaren Programmcodes, der die Installationsoperationen ausführt, die gemäß der Installationskonfigurationsoption in der Nicht-Test-Betriebsumgebung ausgeführt werden; und Berechnen eines Durchschnitts der ersten Zeitmessparameterwerte, um den Testwert des Zeitmessparameters in der Nicht-Test-Betriebsumgebung zu bestimmen; Berechnen eines Durchschnitts der ersten Installationszeitwerte, um den Testwert der Installationszeit in der Nicht-Test-Betriebsumgebung zu bestimmen; Bestimmen des Zeitmesskoeffizienten für den Zeitmessparameter auf der Grundlage eines Analysierens der Testwerte des Zeitmessparameters und der Testwerte der Installationszeit.
  13. Verfahren nach Anspruch 9, das des Weiteren aufweist: in Reaktion auf eine Benutzerauswahl Bestimmen der Installationskonfigurationsoption, gemäß der das Produkt in der Nicht-Test-Betriebsumgebung installiert werden soll, wobei das Installieren des Produkts ein Installieren einer Vielzahl von Komponenten des Produkts aufweist, wobei die Installationskonfigurationsoption mindestens eine Untergruppe der Komponenten des Produkts angibt, das zur Installation ausgewählt wurde.
  14. System, aufweisend: einen Prozessor; und eine Installationszeit-Schätzungseinheit, die mit dem Prozessor verbunden ist, wobei die Installationszeit-Schätzungseinheit betriebsfähig ist zum: Identifizieren eines Zeitmessparameters, der ein Installationszeitintervall für das Installieren eines Produkts gemäß einer Installationskonfigurationsoption auf einer Vielzahl von Beispiel-Datenverarbeitungsmaschinen in einer Testumgebung beeinflusst; Identifizieren eines Satzes von Zeitmessparameter-Testoperationen, um Testwerte des Zeitmessparameters der Vielzahl von Beispiel-Datenverarbeitungsmaschinen zu bestimmen; für jede der Vielzahl von Beispiel-Datenverarbeitungsmaschinen in der Testumgebung Bestimmen des Testwerts des Zeitmessparameters für die Beispiel-Datenverarbeitungsmaschine, der zumindest teilweise auf der Grundlage des Satzes von Zeitmessparameter-Testoperationen beruht; Bestimmen eines Testwerts der Installationszeit für die Beispiel-Datenverarbeitungsmaschine, der zumindest teilweise auf der Grundlage von Installationsoperationen beruht, die gemäß der Installationskonfigurationsoption ausgeführt werden; Bestimmen eines Zeitmesskoeffizienten für den Zeitmessparameter auf der Grundlage der Testwerte des Zeitmessparameters und der Testwerte der Installationszeit, die beide für jede der Vielzahl von Beispiel-Datenverarbeitungsmaschinen bestimmt wurden; Aufzeichnen des Zeitmesskoeffizienten und der Installationskonfigurationsoption, wobei das Installationszeitintervall für das installieren des Produkts gemäß der Installationskonfigurationsoption in einer Nicht-Test-Betriebsumgebung auf der Grundlage des Zeitmesskoeffizienten und der Installationskonfigurationsoption geschätzt wird.
  15. System nach Anspruch 14, wobei für jede der Vielzahl von Datenverarbeitungsmaschinen in der Testumgebung die Installationszeit-Schätzungseinheit, die betriebsfähig ist, um den Testwert des Zeitmessparameters für die Datenverarbeitungsmaschinen zu bestimmen, die Installationszeit-Schätzungseinheit aufweist, die betriebsfähig ist zum: für jede der Vielzahl von Datenverarbeitungsmaschinen in der Testumgebung für eine vorgegebene Anzahl von Wiederholungen Ausführen des Satzes von Zeitmessparameter-Testoperationen auf der Datenverarbeitungsmaschine; Bestimmen eines ersten Testumgebungs-Zeitmessparameterwertes auf der Grundlage der Installationszeit-Schätzungseinheit, die den Satz von Zeitmessparameter-Testoperationen auf der Datenverarbeitungsmaschine ausführt; und Berechnen eines Durchschnitts der ersten Testumgebungs-Zeitmessparameterwerte, um den Testwert des Zeitmessparameters für die Datenverarbeitungsmaschine und den Zeitmessparameter zu bestimmen.
  16. System nach Anspruch 15, wobei für jede der Vielzahl von Datenverarbeitungsmaschinen in der Testumgebung die Installationszeit-Schätzungseinheit, die betriebsfähig ist, um den Testwert der Installationszeit für die Datenverarbeitungsmaschine zu bestimmen, die Installationszeit-Schätzungseinheit aufweist, die betriebsfähig ist zum: für jede der Vielzahl von Datenverarbeitungsmaschinen in der Testumgebung für eine vorgegebene Anzahl von Wiederholungen Ausführen der Installationsoperationen, die gemäß der Installationskonfigurationsoption auf der Datenverarbeitungsmaschine ausgeführt werden; Bestimmen eines ersten Testumgebungs-Installationszeitwerts auf der Grundlage der Installationszeit-Schätzungseinheit, die die Installationsoperationen ausführt, die gemäß der Installationskonfigurationsoption auf der Datenverarbeitungsmaschine ausgeführt werden; und Berechnen eines Durchschnitts der ersten Testumgebungs-Installationszeitwerte, um den Testwert der Installationszeit für die Datenverarbeitungsmaschine zu bestimmen.
  17. System nach Anspruch 14, wobei die Installationszeit-Schätzungseinheit, die betriebsfähig ist, um den Zeitmesskoeffizienten und die Installationskonfigurationsoption aufzuzeichnen, die Installationszeit-Schätzungseinheit aufweist, die betriebsfähig ist zum: Erzeugen eines Installationszeit-Berechnungsausdrucks für das Schätzen des Installationszeitintervalls, das dem Installieren des Produkts gemäß der Installationskonfigurationsoption zugehörig ist, wobei der Installationszeit-Berechnungsausdruck mindestens eine Kombination des Zeitmessparameters und des dem Zeitmessparameter zugehörigen Zeitmesskoeffizienten aufweist.
  18. System nach Anspruch 14, wobei die Installationszeit-Schätzungseinheit ferner betriebsfähig ist zum: in Reaktion auf ein Bestimmen der Installationszeit-Schätzungseinheit, das Produkt in der Nicht-Test-Betriebsumgebung gemäß der Installationskonfigurationsoption zu installieren, Auswählen eines ersten von einer Vielzahl von vorgegebenen Installationszeit-Berechnungsausdrücken, der mindestens eine Kombination aus dem Zeitmessparameter und dem Zeitmesskoeffizienten aufweist, der dem Zeitmessparameter zugehörig ist, der zumindest teilweise auf der Grundlage der Installationsoperationen beruht; für eine vorgegebene Anzahl von Wiederholungen Ausführen des Satzes von Zeitmessparameter-Testoperationen in der Nicht-Test-Betriebsumgebung; Bestimmen eines ersten Zeitmessparameterwertes auf der Grundlage der Installationszeit-Schätzungseinheit, die den Satz von Zeitmessparameter-Testoperationen in der Nicht-Test-Betriebsumgebung ausführt; und Berechnen eines Durchschnitts der ersten Zeitmessparameterwerte, um einen aktuellen Wert des Zeitmessparameters zu bestimmen; und Schätzen des Installationszeitintervalls, das dem Installieren des Produkts gemäß der Installationskonfigurationsoption in der Nicht-Test-Betriebsumgebung zugehörig ist, das zumindest teilweise auf der Grundlage des aktuellen Werts des Zeitmessparameters, des Zeitmesskoeffizienten und des ersten der Vielzahl von Installationszeit-Berechnungsausdrücken beruht.
  19. Computerprogrammprodukt für das Schätzen von Installationszeit für ein Softwareprodukt in einer Betriebsumgebung, wobei das Computerprogrammprodukt einen von einem Computer verwendbaren Programmcode aufweist, der auf einem computerlesbaren Signalmedium verkörpert ist, um die Schritte eines beliebigen der Ansprüche 1 bis 13 auszuführen, wenn er auf einem Computer ausgeführt wird.
DE112012005559.4T 2012-01-03 2012-12-13 Software-Installation Pending DE112012005559T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
USUS-13/342,567 2012-01-03
US13/342,567 US8661431B2 (en) 2012-01-03 2012-01-03 Accurately estimating install time
PCT/IB2012/057289 WO2013102813A1 (en) 2012-01-03 2012-12-13 Software installation

Publications (1)

Publication Number Publication Date
DE112012005559T5 true DE112012005559T5 (de) 2014-09-18

Family

ID=48696036

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012005559.4T Pending DE112012005559T5 (de) 2012-01-03 2012-12-13 Software-Installation

Country Status (4)

Country Link
US (3) US8661431B2 (de)
CN (1) CN104025048B (de)
DE (1) DE112012005559T5 (de)
WO (1) WO2013102813A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008147974A1 (en) * 2007-05-23 2008-12-04 University Of South Florida Micro-rnas modulating immunity and inflammation
US8661431B2 (en) 2012-01-03 2014-02-25 International Business Machines Corporation Accurately estimating install time
US9430750B2 (en) * 2014-10-27 2016-08-30 International Business Machines Corporation Predictive approach to environment provisioning
US10042677B2 (en) * 2016-05-25 2018-08-07 Bank Of America Corporation Maintenance conflict tool
US11687501B2 (en) 2016-06-24 2023-06-27 Spectra Logic Corporation Informed data retrieval
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
CN106708728B (zh) * 2016-11-18 2019-06-04 武汉斗鱼网络科技有限公司 自动测试Android应用启动时间的方法及系统
CN107122205B (zh) * 2017-04-11 2021-01-29 深圳市客一客信息科技有限公司 安装程序的安装时间确定方法及装置
US10620930B2 (en) 2017-05-05 2020-04-14 Servicenow, Inc. Software asset management
US11853785B1 (en) * 2020-03-02 2023-12-26 Amazon Technologies, Inc. Virtual machine cloning and resource configuration
CN117236500A (zh) * 2023-09-15 2023-12-15 武汉工商学院 一种产品流水线工作完成时间的估计方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5628013A (en) * 1992-09-30 1997-05-06 Apple Computer, Inc. Apparatus and method for allocating processing time in a frame-based computer system
US5355305A (en) * 1992-10-29 1994-10-11 Johnson Service Company Pattern recognition adaptive controller
US5805898A (en) * 1995-02-24 1998-09-08 International Business Machines Corporation Method and apparatus for estimating installation time in a data processing system
JP2000276454A (ja) 1999-03-26 2000-10-06 Hitachi Ltd ソフトウェアの構成方法
US6738748B2 (en) * 2001-04-03 2004-05-18 Accenture Llp Performing predictive maintenance on equipment
JP2003044155A (ja) * 2001-07-30 2003-02-14 Hitachi-Lg Data Storage Inc ソフトウェアのインストール方法及びファームウェアのアップデート方法及びそれらに用いる記録再生装置及び記録媒体
US20030074379A1 (en) 2001-10-11 2003-04-17 International Business Machines Corporation Apparatus and method of predicting file download time based on historical data
US20030158803A1 (en) * 2001-12-20 2003-08-21 Darken Christian J. System and method for estimation of asset lifetimes
US7437704B2 (en) * 2003-08-28 2008-10-14 Ines Antje Dahne-Steuber Real-time generation of software translation
JP4363295B2 (ja) * 2004-10-01 2009-11-11 オムロン株式会社 ステレオ画像による平面推定方法
CN100361079C (zh) 2005-11-09 2008-01-09 浪潮电子信息产业股份有限公司 多台计算机整机系统的同步自动安装测试方法
WO2007072310A1 (en) * 2005-12-22 2007-06-28 Shapiro Alan J System and method for software delivery
US7770167B1 (en) * 2005-12-30 2010-08-03 United Services Automobile Association (Usaa) Method and system for installing software
JP2007213343A (ja) * 2006-02-09 2007-08-23 Canon Inc インストール装置及びインストール方法及びプログラム及び記憶媒体
DE102006050938A1 (de) * 2006-10-28 2008-04-30 Abb Technology Ag Verfahren zur vorausschauenden Ermittlung einer Prozessgröße
US20080108435A1 (en) 2006-11-03 2008-05-08 Igt Monitoring and controlling gaming-environments
US8495592B2 (en) * 2006-11-28 2013-07-23 International Business Machines Corporation Presenting completion progress status of an installer via join points
US7802083B2 (en) * 2006-12-20 2010-09-21 Intel Corporation Utilization based installation on a computing system
US8266260B2 (en) 2007-12-11 2012-09-11 Sharp Laboratories Of America, Inc. Method and system for updating the software of multiple network nodes
US20090187822A1 (en) * 2008-01-23 2009-07-23 Microsoft Corporation System auditing for setup applications
US8140552B2 (en) * 2008-09-19 2012-03-20 International Business Machines Corporation Method and apparatus for optimizing lead time for service provisioning
US8301395B2 (en) * 2008-09-22 2012-10-30 Abbott Diabetes Care Inc. Analyte testing systems
EP2239676A1 (de) * 2009-04-09 2010-10-13 Biotronik CRM Patent AG Verfahren und Anordnung zur Vorhersage mindestens eines Systemereignisses sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
JP4510128B1 (ja) * 2009-05-29 2010-07-21 株式会社エイツー 地震判定システム及び地震解析方法
US9196009B2 (en) * 2009-06-22 2015-11-24 Johnson Controls Technology Company Systems and methods for detecting changes in energy usage in a building
US8572566B2 (en) * 2010-05-11 2013-10-29 Smartshift Gmbh Systems and methods for analyzing changes in application code from a previous instance of the application code
US8706771B2 (en) * 2009-09-30 2014-04-22 Smartshift Gmbh Systems and methods for analyzing and transforming an application from a source installation to a target installation
JP5541666B2 (ja) * 2009-10-15 2014-07-09 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びプログラム
GB2477366B (en) * 2009-11-12 2013-06-19 Onzo Ltd Data storage and transfer
CN102640120B (zh) * 2010-01-28 2014-12-10 株式会社日立制作所 计算增设/减设的存储容量的管理系统
WO2011145116A2 (en) * 2010-05-18 2011-11-24 Tata Consultancy Services Limited System and method for sql performance assurance services
DE102012103654A1 (de) * 2011-05-17 2012-11-22 International Business Machines Corp. Installieren und Prüfen einer Anwendung auf einer stark genutzten Computerplattform
US20130167131A1 (en) * 2011-12-22 2013-06-27 Samuel L. Carson Computer operating system install time predictor
US8661431B2 (en) 2012-01-03 2014-02-25 International Business Machines Corporation Accurately estimating install time
US9390388B2 (en) * 2012-05-31 2016-07-12 Johnson Controls Technology Company Systems and methods for measuring and verifying energy usage in a building

Also Published As

Publication number Publication date
US8661431B2 (en) 2014-02-25
US20160011861A1 (en) 2016-01-14
US20130174140A1 (en) 2013-07-04
US9170799B2 (en) 2015-10-27
US20140123128A1 (en) 2014-05-01
US9996332B2 (en) 2018-06-12
CN104025048B (zh) 2017-01-11
WO2013102813A1 (en) 2013-07-11
CN104025048A (zh) 2014-09-03

Similar Documents

Publication Publication Date Title
DE112012005559T5 (de) Software-Installation
EP2442248B1 (de) Kopplungsmethodik für nicht-iterative Co-Simulation
DE112019002948T5 (de) Feststellen einer optimalen speicherumgebung für datensätze und für das migrieren von datensätzen
DE102005016572A1 (de) System zum Schätzen von Verarbeitungsanforderungen
DE112011100143T5 (de) Optimieren der elektrischen Leistungsaufnahme in einem Rechenzentrum
DE202011110124U1 (de) Hybridabfrageausführungsplan
DE112017007224T5 (de) Momentaufnahmen-Verwaltung in einer Blockchain
DE112011100739T5 (de) Programmatisches Ermitteln eines Ausführungsmodus für eine Anforderungszuteilungunter Verwendung von historischen Masszahlen
DE112021000338B4 (de) Auslagern der statistikerfassung
DE112020004651B4 (de) Multi-tenant-etl-ressourcenaufteilung
DE102012224270A1 (de) Verbinden einer synchronen domänenübergreifenden Transaktionsaktivität in einem einzelnen System
DE112021002883T5 (de) Automatisierte rückmeldung und kontinuierliches lernen zur abfrageoptimierung
DE112010004258T5 (de) Anwenden Relativer Gewichtungsschemata auf Daten zur Online-Nutzung
DE102013213047A1 (de) System, Verfahren und Computerprogrammprodukt zum Testen von Vorrichtungsparametern
DE102012204167A1 (de) Vorauslaufende genäherte Berechnungen
DE102016103713A1 (de) Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs
DE112021003294T5 (de) Systemverwaltung auf grundlage von leistung und leistungsfähigkeit
DE112012004169T5 (de) Überwachen der Ausführung von gespeicherten Prozeduren
DE112016003235T5 (de) Ausgangseffizienzoptimierung in Produktionssystemen
DE112013002591T5 (de) Verhindern von Kaskadenfehlern in Computersystemen
DE112013000751T5 (de) Datenverarbeitung, Datensammlung
DE112018006331B4 (de) Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm
DE112015004557B4 (de) Anforderungsüberwachen
DE112021001974T5 (de) Proaktives durchführen von aufgaben auf der grundlage eines schätzens vonhardwarerekonfigurationszeiten
DE102021126184A1 (de) Verfahren und einrichtung zum kontinuierlichen überwachen von telemetrie vor ort

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R084 Declaration of willingness to licence