DE102012212999A1 - Erkennen von Komponenten eines gebündelten Softwareproduktes - Google Patents

Erkennen von Komponenten eines gebündelten Softwareproduktes Download PDF

Info

Publication number
DE102012212999A1
DE102012212999A1 DE102012212999A DE102012212999A DE102012212999A1 DE 102012212999 A1 DE102012212999 A1 DE 102012212999A1 DE 102012212999 A DE102012212999 A DE 102012212999A DE 102012212999 A DE102012212999 A DE 102012212999A DE 102012212999 A1 DE102012212999 A1 DE 102012212999A1
Authority
DE
Germany
Prior art keywords
software
component
software component
product
confidence
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
DE102012212999A
Other languages
English (en)
Inventor
Pawel Gocek
Jakub Kania
Hari Haranath Madduri
Remigiusz Dudek
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 DE102012212999A1 publication Critical patent/DE102012212999A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren zum Erkennen von Softwarekomponenten eines Softwareprodukts, wobei das Verfahren Folgendes umfasst: Ermitteln von Daten mithilfe eines Computers, die für ein Attribut und/oder eine Aktion einer ersten Softwarekomponente in einem Computersystem und/oder einer zweiten Softwarekomponente in dem Computersystem repräsentativen sind, Ermitteln eines ersten Vertrauenswertes, der eine Wahrscheinlichkeit anzeigt, dass die erste Softwarekomponente zu dem Softwareprodukt gehört, auf der Grundlage der Daten Ermitteln eines zweiten Vertrauenswertes, der eine Wahrscheinlichkeit anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, und auf der Grundlage des ersten und zweiten Vertrauenswertes Ermitteln eines Dritten Vertrauenswertes, der eine Wahrscheinlichkeit anzeigt, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört.

Description

  • HINTERGRUND
  • In der vorliegenden Beschreibung wird eine Erfindung erläutert, die das Erkennen von Komponenten eines Softwareprodukts, z. B. eines gebündelten Softwareprodukts, und insbesondere ein Verfahren zum Erkennen von Softwarekomponenten eines Softwareprodukts, ein System zum Erkennen von Softwarekomponenten eines Softwareprodukts und ein entsprechendes Computerprogrammprodukt betrifft.
  • Ein Softwarebündel ist eine Sammlung von Softwarekomponenten, die zusammen lizenziert oder verkauft werden, manchmal sogar in einem gemeinsamen Paket, und einem bestimmten Geschäftszweck dienen. Beispielsweise kann ein Softwarebündel für Unternehmen einen Anwendungsserver, eine Datenbank, eine Konsolenkomponente zur Verwaltung und Berichtskomponenten umfassen.
  • Softwareeinheiten, die Komponenten eines Softwarebündels sein können, z. B. ein Anwendungsserver oder eine Datenbank, die zur Bereitstellung von Kundenanwendungen verwendet werden, können unter Umständen auch als eigenständige Softwareprodukte erworben werden. Ebenso können Softwareeinheiten unter Umständen als Teil eines Softwarebündels erworben werden, um in Verbindung mit anderen Komponenten eingeschränkt genutzt zu werden, die zum selben Bündel gehören. Beispielsweise können der Anwendungsserver oder die Datenbank, die als eigenständiges Softwareprodukt verkauft werden, auch als Softwarekomponente eines gebündelten Softwareprodukts verkauft werden, d. h. um eine komplexere Funktionalität mithilfe des Zusammenwirkens mit anderen Softwarekomponenten des gebündelten Softwareprodukts bereitzustellen.
  • Der Preis einer Softwareeinheit kann davon abhängen, ob die Softwareeinheit als eigenständiges Produkt oder als Komponente eines Bündels verkauft/lizenziert wird. In manchen Fällen kann eine Gebühr für die Nutzung einer Softwareeinheit als eigenständiges Produkt erhoben werden, während dieselbe Softwareeinheit als Komponente einer Softwareeinheit kostenlos sein kann.
  • Die vorliegende Beschreibung beruht auf diesem Hintergrund.
  • KURZER ÜBERBLICK
  • Grob gesagt werden in der vorliegenden Beschreibung Verfahren zum Erkennen von Softwarekomponenten eines Softwareprodukts erläutert. Auf der Grundlage einer Wahrscheinlichkeit, dass eine erste Softwareeinheit eine Komponente des Softwareprodukts bildet und aufgrund einer Wahrscheinlichkeit, dass eine zweite Softwareeinheit und die erste Softwareeinheit Komponenten eines gemeinsamen Softwareprodukts sind, wird eine (indirekte) Bewertung dahingehend vorgenommen, ob die zweite Softwareeinheit eine Komponente des Softwareprodukts bildet. Diese indirekte Bewertung kann durch eine direkte Bewertung dahingehend ergänzt werden, ob die zweite Softwareeinheit eine Komponente des Softwareprodukts bildet.
  • Bei einem Aspekt betrifft die vorliegende Beschreibung ein Verfahren zum Erkennen von Softwarekomponenten eines Softwareprodukts, z. B. das Erkennen einzelner Softwareeinheiten, die Softwarekomponenten eines gebündelten Softwareprodukts bilden.
  • Das Verfahren kann mithilfe eines Computers ein Ermitteln von Daten umfassen, die für ein Attribut und/oder eine Aktion einer ersten Softwarekomponente in einem Computersystem und/oder einer zweiten Softwarekomponente in dem Computersystem charakteristisch oder repräsentativ sind.
  • Im Kontext der vorliegenden Beschreibung kann ein Computersystem als eine Datenverarbeitungsumgebung aufgefasst werden, die so konfiguriert ist, dass nur ein einziger Benutzer Zugriff darauf hat. Beispielsweise kann eine derartige Datenverarbeitungsumgebung ein Notebook-Computer, ein Personalcomputer, ein Benutzerkonto auf einem Personalcomputer oder ein Benutzerkonto in einem Computernetzwerk sein. Im Kontext der vorliegenden Beschreibung kann ein Computersystem auch als eine Datenverarbeitungsumgebung aufgefasst werden, die von einer einzelnen juristischen Einheit betrieben wird, z. B. von einem Unternehmen, einem Institut, einer Regierungsbehörde usw. Zu einer derartigen Datenverarbeitungsumgebung kann eine Vielzahl vernetzter Computer, Server usw. gehören. Die Datenverarbeitungsumgebung kann ausschließlich für die Mitarbeiter bzw. Angehörigen der juristischen Einheit zugänglich sein. Die Datenverwaltungsumgebung kann darüber hinaus Dritten zugänglich sein, d. h. für Personen, die nicht Mitarbeiter bzw. Angehörige der juristischen Einheit sind. Die juristische Einheit als Betreiber der Datenverarbeitungsumgebung kann die juristische Verantwortung für den Erwerb bzw. die Lizenzierung eines Teils bzw. der gesamten Software tragen, die in der Datenverarbeitungsumgebung eingesetzt wird. Die Grenze der Datenverarbeitungsumgebung kann durch eine oder mehrere Grenzen definiert sein, an denen die juristische Verantwortung für den Erwerb bzw. die Lizenzierung eines Teils bzw. der gesamten Software, die in der Datenverarbeitungsumgebung eingesetzt wird, auf eine andere juristische Einheit übergehen wird. Die Grenze der Datenverarbeitungsumgebung kann an den Eigentumsgrenzen des Standortes bzw. der Standorte der juristischen Einheit verlaufen. Die Eigentumsgrenzen können als abgrenzende mobile Einheiten aufgefasst werden, die die Mitarbeiter bzw. Angehörigen der juristischen Einheit an einem Ort nutzen, der vom Sitz der juristischen Einheit entfernt liegt. Bei ausgelagerten Dienstleistungen kann beispielsweise ein Vertrag zwischen der juristischen Einheit und einem Dienstleister vorschreiben, dass die juristische Verantwortung für den Erwerb bzw. die Lizenzierung eines Teils der Software oder der gesamten Software, die in der Datenverarbeitungsumgebung eingesetzt wird, der juristischen Einheit obliegt, obwohl ein Teil oder die gesamte Datenverarbeitungsumgebung durch einen oder mehrere Dienstleister betrieben wird, die nicht notwendigerweise mit der juristischen Einheit verbunden sind.
  • Im Kontext der vorliegenden Beschreibung kann eine Softwarekomponente (die auch als Softwareeinheit bezeichnet wird) als Codemenge aufgefasst werden, die in sich selbst ausgeführt werden kann, d. h., sie kann ausgeführt werden, ohne dass hierzu anderer Code als der durch das Betriebssystem des Hostcomputers bzw. Servers bereitgestellte Code notwendig ist. Bei der Softwarekomponente kann es sich um eine Anwendung handeln.
  • Die oben genannten Daten können Daten umfassen, die mindestens einen Speicherort einer ersten Softwarekomponente in einem Computersystem und einen Speicherort einer zweiten Softwarekomponente in dem Computersystem bezeichnen, wobei der Speicherort einer Softwarekomponente ein Attribut der Komponente bildet. Dementsprechend kann das Verfahren das Ermitteln von Daten umfassen, die einen Speicherort einer ersten Softwarekomponente in einem Computersystem und/oder einen Speicherort einer zweiten Softwarekomponente in dem Computersystem bezeichnen.
  • Im Kontext der vorliegenden Beschreibung kann der Speicherort der ersten bzw. zweiten Softwarekomponente als Pfadname aufgefasst werden, der einen Pfad zu der betreffenden Softwarekomponente oder zu einem Ordner angibt, in dem die betreffende Software gespeichert ist. Der Pfadname kann beispielsweise in Bezug auf einen Urlade-Datenträger (Boot-Datenträger) des Computers, Servers oder Netzwerks angegeben sein, auf dem die betreffende Softwarekomponente gespeichert ist, oder der Pfadname kann in Bezug auf den eigenen Ordner eines Benutzers angegeben sein. Der Speicherort der ersten bzw. zweiten Softwarekomponente kann ebenso als Computer, Server oder Ordner aufgefasst werden, auf dem bzw. in dem die betreffende Softwarekomponente gespeichert ist. Der Computer bzw. Server z. B. innerhalb eines lokalen Netzwerks kann durch eine IP-Adresse, eine MAC-Adresse, eine zum Computer bzw. Server gehörige Seriennummer, eine zum Computer bzw. Server gehörige Netzwerkkennung, durch einen „Fingerabdruck”, der z. B. aus einem Konfigurationsprotokoll oder einer anderen maschinenspezifischen Information abgeleitet ist, eindeutig gekennzeichnet sein. Die Anordnung der ersten und zweiten Softwarekomponente bzw. Ähnlichkeiten bei den jeweiligen Speicherorten der ersten und zweiten Softwarekomponente, z. B. die Anordnung auf einem gemeinsamen Host (Computer bzw. Server) oder die Anordnung innerhalb eines gemeinsamen Ordners oder Speicherortes oder die Anordnung innerhalb verschachtelter Ordner, können anzeigen, dass die beiden Softwarekomponenten in einer Beziehung zueinander stehen, d. h. zu einem gemeinsamen Softwareprodukt gehören.
  • Die oben genannten Daten können Daten umfassen, die ein Datenaustauschereignis zwischen einer ersten und einer zweiten Softwarekomponente in einem Computersystem anzeigen, wobei der Datenaustausch durch eine Softwarekomponente eine Aktion der Komponente ist. Dementsprechend kann das Verfahren das Ermitteln von Daten umfassen, die ein Datenaustauschereignis zwischen einer ersten und einer zweiten Softwarekomponente in einem Computersystem anzeigen. Bei dem Datenaustausch kann es sich um einen direkten oder indirekten Datenaustausch handeln. Die erste Softwarekomponente kann Daten zur zweiten Softwarekomponente übertragen, die anschließend durch die zweite Softwarekomponente weiterverarbeitet werden oder umgekehrt. Die weiterverarbeiteten Daten können von der zweiten Softwarekomponente zur ersten Softwarekomponente übertragen werden, oder umgekehrt. Anders ausgedrückt, die erste und die zweite Softwarekomponente können Daten in einer oder zwei Richtungen übertragen, um Ergebnisse zu erhalten, die die erste bzw. zweite Softwarekomponente einzeln nicht erzielen könnte. Der Datenaustausch zwischen der ersten und zweiten Softwarekomponente kann ein Hinweis darauf sein, dass die beiden Softwarekomponenten in einer Beziehung zueinander stehen, d. h. zu einem gemeinsamen Softwareprodukt gehören.
  • Die oben genannten Daten können Daten umfassen, die einen Konfigurationsverweis in einem Computersystem zwischen einer ersten Softwarekomponente und einer zweiten Softwarekomponente bezeichnen, wobei ein Konfigurationsverweis in Bezug auf eine Softwarekomponente ein (Konfigurations-)Attribut der Komponente bildet. Dementsprechend kann das Verfahren das Ermitteln von Daten umfassen, die einen Konfigurationsverweis in einem Computersystem zwischen einer ersten Softwarekomponente und einer zweiten Softwarekomponente bezeichnen. Beispielsweise können zur ersten Softwarekomponente Konfigurationsdaten gehören, die nach der Installation der ersten Softwarekomponente oder der zweiten Softwarekomponente automatisch erzeugt worden sein können, wobei die Konfigurationsdaten einen Zeiger oder eine andere Kennung enthalten, der bzw. die das Vorhandensein bzw. den Speicherort der zweiten Softwarekomponente angibt. Ebenso können zur ersten Softwarekomponente Konfigurationsdaten gehören, die von einem Benutzer bereitgestellt wurden, wobei die Konfigurationsdaten ebenfalls einen Zeiger oder eine andere Kennung enthalten, die das Vorhandensein bzw. den Speicherort der zweiten Softwarekomponente angibt. Ebenso können zur zweiten Softwarekomponente Konfigurationsdaten gehören, die das Vorhandensein bzw. den Speicherort der ersten Softwarekomponente angeben. Das Vorhandensein der Konfigurationsverweise zwischen der ersten und zweiten Softwarekomponente kann ein Hinweis darauf sein, dass die beiden Softwarekomponenten in einer Beziehung zueinander stehen, d. h. zu einem gemeinsamen Softwareprodukt gehören.
  • Die oben genannten Daten können Daten umfassen, die eine Installationszeit einer ersten Softwarekomponente in einem Computersystem und eine Installationszeit einer zweiten Softwarekomponente in dem Computersystem bezeichnen, wobei die Installationszeit einer Softwarekomponente ein Attribut der Komponente bildet. Dementsprechend kann das Verfahren das Ermitteln von Daten umfassen, die eine Installationszeit einer ersten Softwarekomponente in einem Computersystem und eine Installationszeit einer zweiten Softwarekomponente in dem Computersystem bezeichnen. Die Installation der ersten und zweiten Softwarekomponente zum nahezu selben Zeitpunkt, z. B. innerhalb eines Zeitraums von einer Woche, einem Tag, einer Stunde oder 10 Minuten kann ein Hinweis darauf sein, dass die beiden Softwarekomponenten in einer Beziehung zueinander stehen, d. h. zu einem gemeinsamen Softwareprodukt gehören.
  • Das Verfahren kann das Ermitteln eines ersten Vertrauenswertes (confidence value) umfassen, der eine Wahrscheinlichkeit anzeigt, dass eine erste Softwarekomponente zu einem Softwareprodukt gehört. Der erste Vertrauenswert kann ein normalisierter Wert sein, z. B. ein Prozentwert zwischen 0% und 100%, wobei 0% anzeigen, dass die Wahrscheinlichkeit der Zugehörigkeit der ersten Softwarekomponente zum Softwareprodukt Null beträgt, und 100% anzeigen, dass die erste Softwarekomponente mit voller Gewissheit bzw. in vollem Vertrauen zu dem Softwareprodukt gehört. Prozentwerte zwischen 0% und 100% können ein Hinweis auf entsprechende lineare Verhältnisse bei dem Vertrauen sein. Beispielsweise kann ein Wert von 50% anzeigen, dass ein Vertrauen bzw. Gewissheit zur Hälfte besteht, d. h. dass eine 50:50-Chance (die auch als 1:2-Chance bezeichnet wird) besteht, dass die Softwarekomponente zu dem Softwareprodukt gehört.
  • Das Verfahren kann das Ermitteln von Daten umfassen, die anzeigen, ob in einem Katalog eine Beziehung zwischen der ersten Softwarekomponente und der zweiten Softwarekomponente definiert ist. Beispielsweise kann der Katalog eine Liste von Teilenummern und/oder Komponentennamen umfassen, wobei jede Teilenummer bzw. jeder Komponentenname eine entsprechende Softwarekomponente bezeichnet. Einzelne Softwareprodukte können mindestens einer derartigen Liste von Teilenummern und/oder Komponentennamen zugehörig sein. Die durch die mindestens eine Liste bezeichneten Softwarekomponenten können ein entsprechendes (gebündeltes) Softwareprodukt bilden. Daher kann das Auftreten eines Verweises auf die erste Softwarekomponente und auch die zweite Softwarekomponente in einer derartigen Liste anzeigen, dass die beiden Softwarekomponenten in einer Beziehung zueinander stehen, d. h. zu einem gemeinsamen Softwareprodukt gehören.
  • Das Verfahren kann das Ermitteln eines zweiten Vertrauenswertes umfassen, der auf beliebigen der oben erwähnten Daten beruht und eine Wahrscheinlichkeit anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind. Das gemeinsame Softwareprodukt muss nicht das in Bezug auf den ersten Vertrauenswert erwähnte Softwareprodukt sein. Eigentlich kann der zweite Vertrauenswert einfach eine Wahrscheinlichkeit anzeigen, dass die erste Softwarekomponenten und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts überhaupt sind. Der zweite Vertrauenswert kann wie der erste Vertrauenswert ein normalisierter Wert sein, z. B. ein Prozentwert wie oben erörtert.
  • Das Verfahren kann das Ermitteln eines dritten Vertrauenswertes umfassen, der auf dem ersten und zweiten Vertrauenswert beruht und eine Wahrscheinlichkeit anzeigt, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört. Eigentlich muss der dritte Vertrauenswert, d. h. eine Wahrscheinlichkeit, dass die zweite Softwarekomponente zu dem Softwarepaket gehört, nicht direkt auf der Grundlage der offensichtlichen Beziehung zwischen der zweiten Softwarekomponente und dem Softwareprodukt festgelegt werden. Stattdessen kann der dritte Vertrauenswert, d. h. eine Wahrscheinlichkeit, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört, indirekt ermittelt werden, d. h. auf der Grundlage einer Wahrscheinlichkeit, dass die erste Softwarekomponente zu einem Softwareprodukt gehört und einer Wahrscheinlichkeit, dass die erste und die zweite Softwarekomponente beide zu einem beliebigen Softwareprodukt gehören, d. h. auf der Grundlage einer offensichtlichen Beziehung zwischen der ersten Softwarekomponente und der zweiten Softwarekomponente. Der dritte Vertrauenswert kann wie der erste Vertrauenswert ein normalisierter Wert sein, z. B. ein Prozentwert wie oben erörtert.
  • Das Verfahren kann für die zweite Softwarekomponente das Ermitteln eines vierten Vertrauenswertes umfassen, der eine Wahrscheinlichkeit anzeigt, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört. Der vierte Vertrauenswert kann wie der erste Vertrauenswert ein normalisierter Wert sein, z. B. ein Prozentwert wie oben erörtert.
  • Jeder einzelne des ersten, zweiten, dritten oder vierten Vertrauenswertes kann zu Beginn auf einen Wert von 0% gesetzt werden.
  • Das Ermitteln eines dritten Vertrauenswertes kann auf der Grundlage des ersten, zweiten und vierten Vertrauenswertes vorgenommen werden. Daher kann der dritte Vertrauenswert, d. h. eine Wahrscheinlichkeit, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört, nicht nur indirekt ermittelt werden, d. h. auf der Grundlage einer Wahrscheinlichkeit, dass die erste Softwarekomponente zu dem Softwareprodukt gehört, und einer Wahrscheinlichkeit, dass die erste und die zweite Softwarekomponente beide zu einem gemeinsamen Softwareprodukt gehören, sondern auch direkt, d. h. auf der Grundlage einer Wahrscheinlichkeit, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört, d. h. zum selben Softwareprodukt wie die erste Softwarekomponente.
  • Das Ermitteln des vierten Vertrauenswertes kann das Ermitteln umfassen, ob die zweite Softwarekomponente zu einem vorgegebenen Katalogsatz von Softwarekomponenten gehört, die zum Softwareprodukt gehören. Der vorgegebene Katalogsatz kann eine Liste von Teilenummern und/oder Komponentennamen sein, wobei jede Teilenummer bzw. jeder Komponentenname eine entsprechende Softwarekomponente bezeichnet. Jedes einzelne einer Vielzahl von Softwareprodukten kann mindestens einer derartigen Liste von Teilenummern und/oder Komponentennamen zugehörig sein. Die durch die mindestens eine Liste bezeichneten Softwarekomponenten können das entsprechende (gebündelte) Softwareprodukt bilden. Eine bestimmte Softwareeinheit kann eine Komponente verschiedener Softwareprodukte bilden. Darüber hinaus kann eine bestimmte Softwareeinheit eine eigenständige Anwendung bilden. Daher muss eine Katalogbeziehung zwischen einer Softwareeinheit und einem Softwareprodukt nicht die volle Wahrscheinlichkeit anzeigen, dass die Softwareeinheit eine Komponente des Softwareprodukts ist. Der vierte Vertrauenswert kann um einen Prozentwert erhöht werden, der mithilfe der Division von einhundert Prozent durch die Anzahl unterschiedlicher Softwareprodukte berechnet wird, von denen bekannt ist, dass die zweite Softwarekomponente eine mögliche Komponente der Softwareprodukte bildet. Wenn beispielsweise von einer bestimmten Softwareeinheit bekannt ist, dass sie als Komponente von vier verschiedenen Softwareprodukten genutzt wird, würde der Vertrauenswert 25% betragen.
  • Das Ermitteln des vierten Vertrauenswertes kann das Ermitteln umfassen, ob eine zur zweiten Softwarekomponente gehörende Produktnummer einen Teilenummerbestandteil umfasst, der anzeigt, dass die erste Softwarekomponente in dem Softwareprodukt gebündelt ist. Die zweite Softwarekomponente kann Daten umfassen, die eine zur zweiten Softwarekomponente gehörende Produktnummer darstellen. Die zweite Softwarekomponente kann eine Kennung umfassen, mit deren Hilfe eine zur zweiten Softwarekomponente gehörende Produktnummer in einer Datenbank mit Produktnummern gefunden werden kann. Wenn eine zur zweiten Softwarekomponente gehörende Produktnummer einen Teilenummerbestandteil umfasst, der eine Bündelung der ersten Softwarekomponente in dem Softwareprodukt anzeigt, kann der vierte Vertrauenswert um einen Wert erhöht werden, der eine Teilvertrauen bzw. Teilwahrscheinlichkeit, z. B. eine mittlere Wahrscheinlichkeit, anzeigt, dass die erste Softwarekomponente eine Komponente des Softwareprodukts bildet, d. h., dass die erste Softwarekomponente in dem Softwareprodukt gebündelt ist.
  • Die im vorhergehenden Absatz erwähnte mittlere Wahrscheinlichkeit kann in den Vertrauensbereich von 30 bis 90 Prozent, 40 bis 80 Prozent oder 50 bis 70 Prozent fallen, dass die erste Softwarekomponente eine Komponente des Softwareprodukts bildet. Beispielsweise kann die mittlere Wahrscheinlichkeit 70 Prozent betragen, dass die erste Softwarekomponente eine Komponente des Softwareprodukts bildet.
  • Das Ermitteln des ersten Vertrauenswertes kann das Ermitteln umfassen, ob die erste Softwarekomponente zu einem vorgegebenen Katalogsatz von Softwarekomponenten gehört, die dem Softwareprodukt zugehörig sind. Das Ermitteln des ersten Vertrauenswertes kann das Ermitteln umfassen, ob eine zur ersten Softwarekomponente gehörende Produktnummer einen Teilenummerbestandteil umfasst, der anzeigt, dass die erste Softwarekomponente in dem Softwareprodukt gebündelt ist. Die Anmerkungen in den vorstehenden drei Absätzen gelten sinngemäß.
  • Das Ermitteln des zweiten Vertrauenswertes kann das Erhöhen des zweiten Vertrauenswertes um einen Wert umfassen, der eine hohe Wahrscheinlichkeit anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn beliebige der oben erwähnten Daten ein Datenaustauschereignis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente anzeigen. Bei der hohen Wahrscheinlichkeit kann es sich um die volle Wahrscheinlichkeit handeln, d. h. um eine Wahrscheinlichkeit von 100%, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, oder es kann sich um eine Wahrscheinlichkeit von über 90 Prozent oder über 95 Prozent handeln, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind.
  • Das Ermitteln des zweiten Vertrauenswertes kann das Erhöhen des zweiten Vertrauenswertes um einen Wert umfassen, der eine hohe Wahrscheinlichkeit anzeigt, z. B. wie oben definiert, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn beliebige der oben erwähnten Daten einen Konfigurationsverweis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente anzeigen.
  • Das Ermitteln des zweiten Vertrauenswertes kann das Erhöhen des zweiten Vertrauenswertes um einen Wert umfassen, der ein Teilvertrauen bzw. -wahrscheinlichkeit anzeigt, z. B. eine mittlere Wahrscheinlichkeit wie oben definiert, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukt sind, wenn sowohl die erste Softwarekomponente als auch die zweite Softwarekomponente zu einem vorgegebenen Katalogsatz von Softwarekomponenten gehören, die dem gemeinsamen Softwareprodukt zugehörig sind.
  • Die im vorhergehenden Absatz erwähnte mittlere Wahrscheinlichkeit kann in den Vertrauensbereich von 30 bis 90 Prozent, 40 bis 80 Prozent oder 50 bis 70 Prozent fallen, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind. Beispielsweise kann die mittlere Wahrscheinlichkeit 70 Prozent betragen, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind.
  • Der vorgegebene Katalogsatz kann eine Liste von Teilenummern und/oder Komponentennamen sein, wobei jede Teilenummer bzw. jeder Komponentenname eine entsprechende Softwarekomponente bezeichnet. Jedes einzelne einer Vielzahl von Softwareprodukten kann mindestens einer derartigen Liste von Teilenummern und/oder Komponentennamen zugehörig sein. Die durch die mindestens eine Liste bezeichneten Softwarekomponenten können das entsprechende (gebündelte) Softwareprodukt bilden. Eine bestimmte Softwareeinheit kann eine Komponente verschiedener Softwareprodukte bilden. Darüber hinaus kann eine bestimmte Softwareeinheit eine eigenständige Anwendung bilden. Daher muss eine Katalogbeziehung zwischen einer Softwareeinheit und einem Softwareprodukt nicht die volle Wahrscheinlichkeit anzeigen, dass die Softwareeinheit eine Komponente des Softwareprodukts ist.
  • Das Ermitteln des zweiten Vertrauenswertes kann das Erhöhen des zweiten Vertrauenswertes um einen Wert umfassen, der ein Teilvertrauen bzw. -wahrscheinlichkeit, z. B. ein niedriges Vertrauen, anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn beliebige der oben erwähnten Daten anzeigen, dass sich die erste und zweite Softwarekomponente auf einem gemeinsamen Hostcomputer befindet. Die oben erwähnte niedrige Wahrscheinlichkeit kann in den Vertrauensbereich von 0 bis 30 Prozent, 5 bis 25 Prozent oder 10 bis 20 Prozent fallen, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind. Beispielsweise kann die niedrige Wahrscheinlichkeit 10 Prozent betragen, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind.
  • Das Ermitteln des zweiten Vertrauenswertes kann das Erhöhen des zweiten Vertrauenswertes um einen Wert umfassen, der ein Teilvertrauen anzeigt, z. B. die oben definierte niedrige Wahrscheinlichkeit, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn beliebige der oben erwähnten Daten anzeigen, dass die Installationspfade der ersten und zweiten Softwarekomponente verschachtelt sind.
  • Das Ermitteln des zweiten Vertrauenswertes kann das Erhöhen des zweiten Vertrauenswertes um einen Wert umfassen, der eine Teilwahrscheinlichkeit anzeigt, z. B. die oben definierte niedrige Wahrscheinlichkeit, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die Daten der ersten und zweiten Softwarekomponente anzeigen, dass die Installationszeiten in einen vorgegebenen Zeitraum fallen, d. h., sich durch einen kleineren als einen vorgegebenen Zeitraum voneinander unterscheiden.
  • Der vorgegebene Zeitraum kann eine Woche, einen Tag, eine Stunde oder zehn Minuten betragen.
  • Das Ermitteln eines dritten Vertrauenswertes kann das Multiplizieren des ersten mit dem zweiten Vertrauenswert umfassen. Der dritte Vertrauenswert kann ein Produkt aus dem ersten und zweiten Vertrauenswert sein.
  • Wie in den oben erläuterten einzelnen Ausführungsformen dargestellt, kann das Ermitteln des ersten bzw. vierten Vertrauenswertes das Erhöhen des ersten bzw. vierten Vertrauenswertes anhand einer empirischen Produktbündelungsregel umfassen, wobei durch die empirische Produktbündelungsregel ein Vertrauenswert festgelegt wird, der eine Wahrscheinlichkeit wiedergibt, dass eine (bestimmte) Softwarekomponente unter bestimmten Umständen eine Softwarekomponente eines bestimmten Softwareprodukts ist. Das Erhöhen des ersten bzw. vierten Vertrauenswertes kann bei einer Vielzahl empirischer Produktbündelungsregeln wiederholt werden. Dementsprechend kann das Verfahren das Bereitstellen und/oder Erhalten einer Vielzahl empirischer Produktbündelungsregeln umfassen.
  • Wie in den oben erläuterten einzelnen Ausführungsformen dargestellt kann das Ermitteln des zweiten Vertrauenswertes das Erhöhen des zweiten Vertrauenswertes anhand einer empirischen Produktbündelungsregel umfassen, wobei durch die empirische Produktbündelungsregel ein Vertrauenswert festgelegt wird, der eine Wahrscheinlichkeit wiedergibt, dass eine erste Softwarekomponente und eine zweite Softwarekomponente unter bestimmten Umständen Softwarekomponenten eines bestimmten Softwareprodukts sind. Das Erhöhen des zweiten Vertrauenswertes kann bei einer Vielzahl empirischer Komponentenbündelungsregeln wiederholt werden. Dementsprechend kann das Verfahren das Bereitstellen und/oder Erhalten einer Vielzahl empirischer Komponentenbündelungsregeln umfassen.
  • Gegenstand der obigen Erörterung ist das Erhöhen eines betreffenden Vertrauenswertes anhand einer empirischen Komponenten- bzw. Produktbündelungsregel. Insbesondere befasst sich die obige Erörterung mit dem Erhöhen eines betreffenden Vertrauenswertes um einen Wert, der eine hohe, mittlere oder niedrige Wahrscheinlichkeit anzeigt. In der obigen Erörterung werden außerdem beispielhafte Prozentwerte genannt, die den Begriffen „hoch”, „mittel” und „niedrig” entsprechen. Im Kontext der vorliegenden Beschreibung kann der Begriff „Erhöhen eines ... Vertrauenswertes um einen Wert, der eine Wahrscheinlichkeit von [einem bestimmten Prozentsatz von] anzeigt” als Erhöhen des vorherigen Vertrauenswertes um den angegebenen Prozentwert der verbleibenden Unsicherheit aufgefasst werden. Wenn beispielsweise bereits eine 70-prozentige Wahrscheinlichkeit besteht, dass die betreffende Bedingung erfüllt ist und der Vertrauenswert um 50% erhöht werden sollte, würden 50% der verbleibenden 30% Unsicherheit zu der Wahrscheinlichkeit von 70% addiert werden. Die resultierende Wahrscheinlichkeit würde 85% betragen. Auf diese Weise kann eine Wahrscheinlichkeit von 100%, d. h. die absolute Sicherheit, erreicht, aber nicht überschritten werden, selbst wenn ein betreffender Vertrauenswert wiederholt anhand der einzelnen aus der Vielzahl empirischer Komponenten- bzw. Produktbündelungsregeln erhöht wird.
  • Das Verfahren kann das Ausgeben der Feststellung umfassen, dass die zweite Softwarekomponente im Softwareprodukt gebündelt ist, d. h. eine Softwarekomponente des Softwareprodukts ist, wenn der dritte Vertrauenswert einen vorgegebenen Schwellenwert überschreitet.
  • Das Verfahren kann umfassen, dass ein erster und dritter Vertrauenswert und wahlweise ein vierter Vertrauenswert auf eine beliebige Art und Weise ermittelt werden können, die in der vorliegenden Beschreibung in Bezug auf eine Vielzahl von Softwareprodukten erörtert wurde, und das Verfahren kann des Weiteren das Ausgeben einer Feststellung umfassen, dass die zweite Softwarekomponente in einem bestimmten Softwareprodukt gebündelt ist, wenn der dritte Vertrauenswert in Bezug auf das bestimmte Softwareprodukt größer als der dritte Vertrauenswert in Bezug auf ein beliebiges anderes Softwareprodukt ist. Das Verfahren kann das Unterdrücken der Ausgabe einer Feststellung umfassen, dass die zweite Softwarekomponente in dem bestimmten Softwareprodukt gebündelt ist, wenn der dritte Vertrauenswert in Bezug auf das bestimmte Softwareprodukt einen vorgegebenen Schwellenwert nicht überschreitet.
  • Das Verfahren kann das Ermitteln eines ersten, eines zweiten, eines dritten und wahlweise eines vierten Vertrauenswertes auf eine beliebige Art und Weise umfassen, die in der vorliegenden Beschreibung in Bezug auf eine beliebige der Vielzahl von Softwareeinheiten dargestellt wurde, die im Zusammenhang mit einer beliebigen der Vielzahl von Softwareprodukten stehen. Die Beschreibungen in den vorstehenden zwei Absätzen gelten sinngemäß.
  • Alle bisher erläuterten Ermittlungsvorgänge können automatisch durchgeführt werden, z. B. ohne oder mit eingeschränktem Benutzereingriff.
  • Obwohl die Erläuterungen in der vorliegenden Beschreibung in Form eines Verfahrens vorgenommen wurden, ist dem Fachmann klar, dass die Erläuterungen sinngemäß in Form eines Systems oder Computerprogrammprodukts verkörpert sein können.
  • Ein System zum Erkennen von Softwarekomponenten eines Softwareprodukts kann eine Datenermittlungseinheit umfassen, die wie oben erörtert Daten ermittelt. Die Datenermittlungseinheit kann in Form einer einzigen, Hardware und/oder Software umfassenden Einheit oder in Form eines Systems verkörpert sein, das mehrere Hardware- bzw. Softwareeinheiten umfasst.
  • Des Weiteren kann ein System zum Erkennen von Softwarekomponenten eines Softwareprodukts jedes des Folgenden umfassen: eine erste Vertrauenswert-Ermittlungseinheit, eine zweite Vertrauenswert-Ermittlungseinheit, eine dritte Vertrauenswert-Ermittlungseinheit oder vierte Vertrauenswert-Ermittlungseinheit, um jeweils, wie im vorliegenden Dokument oben erläutert, einen ersten, zweiten, dritten, oder vierten Vertrauenswert zu ermitteln. Die jeweilige erste, zweite, dritte oder vierte Vertrauenswert-Ermittlungseinheit oder eine beliebige Gruppe davon können in Form einer einzigen, Hardware und/oder Software umfassenden Einheit oder in Form eines Systems verkörpert sein, das mehrere Hardware- bzw. Softwareeinheiten umfasst.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN IN DEN ZEICHNUNGEN
  • 1 zeigt schematisch eine Ausführungsform eines Systems zum Erkennen von Softwarekomponenten eines Softwareprodukts gemäß der vorliegenden Beschreibung;
  • 2 zeigt einen Ablaufplan einer Ausführungsform eines Verfahrens zum Erkennen von Softwarekomponenten eines Softwareprodukts gemäß der vorliegenden Beschreibung.
  • DETAILLIERTE BESCHREIBUNG
  • 1 zeigt schematisch eine Ausführungsform eines Systems 100 zum Erkennen von Softwarekomponenten eines Softwareprodukts gemäß der vorliegenden Beschreibung, wie z. B. oben beschrieben.
  • Bei der dargestellten Ausführungsform umfasst das System 100 eine Datenermittlungseinheit 102, die Daten ermittelt, eine erste Vertrauenswert-Ermittlungseinheit 104, die einen ersten Vertrauenswert ermittelt, eine zweite Vertrauenswert-Ermittlungseinheit 106, die einen zweiten Vertrauenswert ermittelt, eine dritte Vertrauenswert-Ermittlungseinheit 108, die einen dritten Vertrauenswert ermittelt, und eine vierte Vertrauenswert-Ermittlungseinheit 110, die einen vierten Vertrauenswert ermittelt. Von der Datenermittlungseinheit 102 ermittelte Daten werden zur zweiten Vertrauenswert-Ermittlungseinheit 106 übertragen. Der erste, zweite und vierte Vertrauenswert, die von der ersten, zweiten und vierten Vertrauenswert-Ermittlungseinheit 104, 106 bzw. 110 ermittelt wurden, werden zur dritten Vertrauenswert-Ermittlungseinheit 108 übertragen.
  • 2 zeigt einen Ablaufplan 200 einer Ausführungsform eines Verfahrens zum Erkennen von Softwarekomponenten eines Softwareprodukts gemäß der vorliegenden Beschreibung.
  • Bei der dargestellten Ausführungsform umfasst der Ablaufplan 200 ein Datenermitteln 202, ein Ermitteln eines ersten Vertrauenswertes 204, ein Ermitteln eines zweiten Vertrauenswertes 206, ein Ermitteln eines dritten Vertrauenswertes 208 und ein Ermitteln eines vierten Vertrauenswertes 210.
  • Im Folgenden wird eine weitere beispielhafte Ausführungsform eines Verfahrens zum Erkennen von Softwarekomponenten eines Softwareprodukts gemäß der vorliegenden Beschreibung erläutert.
  • Das Verfahren kann das automatische Erkennen der Bündelung bereitstellen, wobei zum Erkennen ein Algorithmus mit drei Durchläufen verwendet und in jedem Durchlauf einer der folgenden Schritte ausgeführt wird:
    • 1. mögliche Zielprodukte für Komponenteninstanzen zuweisen
    • 2. Beziehungen zwischen Komponenteninstanzen erkennen
    • 3. Produktzuweisung an zugehörige Komponenteninstanzen übertragen (Bedingungsfortpflanzung)
  • In den Schritten 1 und 2 wird eine Gruppe von Regeln angewendet, um die Bündelungswahrscheinlichkeit zu berechnen. Jede Regel kann eine Punktzahl im Bereich (0, 100) haben. Eine Regel mit einer zugehörigen Punktzahl von 100 wäre eine determinante Regel. Die Punktzahlen aus allen angewendeten Regeln werden addiert und normalisiert, z. B. mithilfe der Formel: Cn+1 = Cn + (1 – Cn)·Sn/100, wobei
  • Cn
    die durch Anwendung der n-ten Regel berechnete Wahrscheinlichkeit ist, C0 einen Wert von 0 hat; und
    Sn
    die Punktzahl der n-ten Regel ist.
  • Die endgültige Wahrscheinlichkeit liegt stets zwischen 0 und 1. Dies ermöglicht einen eindeutigen Vergleich von Bündelungsergebnissen.
  • Nachfolgend werden die oben aufgeführten drei Schritte eingehender beschrieben.
  • In Schritt 1 werden die folgenden drei Produktbündelungsregelungen auf jede einzelne Instanz in einer Unternehmensinfrastruktur angewendet.
    • a. Alle Zielprodukte bündeln, die in einem Softwarekatalog mit einer Punktzahl von 100/Anzahl_möglicher_Produkte definiert sind (wobei der Softwarekatalog mögliche Produktbündel definiert, d. h. Produkte und Komponenten, die das betreffende Produkt bilden).
    • b. Alle Produkte für vom Kunden erworbene Teilenummern mit einer Punktzahl von 70 bündeln (wobei die Teilenummern Kundenrechte an bestimmten Produkten darstellen und definieren, welche Software vom Kunden erworben wurde. Diese Regel setzt voraus, dass das Produkt mit hoher Wahrscheinlichkeit installiert wird).
  • Nach dem Schritt 1 hat jede einzelne Instanz 1 – n mögliche Zielprodukte (Bündel). Mit weiteren Schritten werden diese Möglichkeiten eingeschränkt.
  • In Schritt 2 werden Instanzenbündelungsregeln (die Auskunft darüber geben, ob zwei Instanzen von Komponenten im selben Bündel vorhanden sind) auf jedes Paar von Komponenteninstanzen angewendet, die in der Infrastruktur installiert sind.
    • a. Wenn Datenaustausch zwischen Komponenteninstanzenprozessen festgestellt wird, mit einer Punktzahl von 100 bündeln.
    • b. Beim Erkennen eines Konfigurationsverweises (z. B. wenn die Konfiguration eines Anwendungsservers eine Datenquellendefinition enthält, die auf eine bestimmte Datenbankinstanz zeigt) mit einer Punktzahl von 100 bündeln.
    • c. Wenn in einem Softwarekatalog eine Beziehung zwischen Komponenteninstanzen definiert ist, mit einer Punktzahl von 70 bündeln.
    • d. Wenn sich Komponenteninstanzen auf demselben Hostcomputer befinden, mit einer Punktzahl von 10 bündeln.
    • e. Wenn Installationspfade der Softwarekomponenten verschachtelt sind, mit einer Punktzahl von 10 bündeln.
    • f. Wenn sich Installationszeiten ähneln, mit einer Punktzahl von 10 bündeln.
  • Nach Abschluss von Schritt 2 ist das Ergebnis ein Netz von Beziehungen zwischen Komponenteninstanzen, wobei jede einzelne Beziehung eine bestimmte Vertrauenspunktzahl hat.
  • In Schritt 3 werden die in den Schritten 1 und zwei gewonnenen Informationen zusammengeführt. Zu jeder einzelnen Komponenteninstanz wird die mögliche Produktbündelung mithilfe der folgenden Formel berechnet: CC2P1 = CC2C1·CC1P1, wobei
  • CC2P1
    die Wahrscheinlichkeit der Bündelung der Komponenteninstanz C2 mit dem Produkt P1 ist;
    CC2C1
    die Wahrscheinlichkeit der Bündelung der Komponenteninstanz C2 mit der Komponenteninstanz C1 ist;
    CC1P1
    die Wahrscheinlichkeit der Bündelung der Komponenteninstanz C1 mit dem Produkt P1 ist;
    C2
    die analysierte Komponente ist;
    C1
    eine der mit C2 gebündelten Komponenteninstanzen ist; und
    P1
    eines der mit der Komponenteninstanz C1 gebündelten Produkte ist.
  • Der oben dargestellte Ablauf wird zu jedem Produkt wiederholt, das C1 zugewiesen ist. Die Wahrscheinlichkeit wird mithilfe derselben oben genannten Formel addiert und normalisiert. Auf diese Weise wird die Produktionsweisung innerhalb eines Netzes von Bündeln übertragen.
  • Nach Abschluss von Schritt 3 werden Komponenteninstanzen mit Zielprodukten eines angegebenen Vertrauenswertes gebündelt, wobei das Bündel um Informationen erweitert wird, die von anderen Instanzen übertragen wurden.
  • Im Folgenden wird noch eine weitere beispielhafte Ausführungsform eines Verfahrens zum Erkennen von Softwarekomponenten eines Softwareprodukts gemäß der vorliegenden Beschreibung erläutert.
  • Bei dieser Erläuterung wird vorausgesetzt, dass die folgenden Komponenten auf einer bestimmten Maschine installiert werden sollen und jede einzelne Komponente Teil desselben Bündels (Produkt_1) ist:
    Figure 00230001
  • Die folgenden Ausführungen veranschaulichen, wie der oben erwähnte 3-Schritt-Algorithmus angewendet werden kann, um festzustellen, dass die oben genannten drei Komponenten zum Produkt_1 gehören.
  • In Schritt 1a des oben erwähnten 3-Schritt-Algorithmus wird jede einzelne Instanz, d. h. Komponente, mithilfe einer Regel auf der Grundlage eines Softwarekatalogs mit Punkten bewertet. Unter der Annahme, dass der Katalog erkennen lässt, dass die Komponente_1 mit einem von zwei möglichen Produkten gebündelt werden könnte, die Komponente_2 mit einem beliebigen von einhundert möglichen Produkten und die Komponente_3 mit einem beliebigen von drei möglichen Produkten gebündelt werden könnte, lauten die sich daraus ergebenden Punktzahlen wie folgt:
    Figure 00240001
  • In Schritt 1b des oben erwähnten 3-Schritt-Algorithmus wird jede Komponente mithilfe einer zweiten Regel auf der Grundlage von Teilenummern mit Punkten bewertet. Unter der Annahme, dass die Teilenummer von Komponente_1 eine Beziehung zu Produkt_1 anzeigt, die Teilenummer von Komponente_2 eine Beziehung sowohl zu Produkt_1 als auch zu Produkt_3 anzeigt und die Teilenummer von Komponente_3 eine Beziehung zu Produkt_1 anzeigt, lauten die daraus entstehenden Punktzahlen wie folgt:
    Figure 00240002
    Figure 00250001
  • Nun können die mithilfe der ersten und zweiten Regel ermittelten Punktzahlen mit der oben erwähnten Formel addiert und normalisiert werden: Cn+1 = Cn + (1 – Cn)·Sn/100
  • Die nach dem Schritt 1 des oben erwähnten 3-Schritt-Algorithmus ermittelten Vertrauenswerte lauten wie folgt:
    Figure 00250002
    Figure 00260001
  • Nach Abschluss von Schritt 1 ist unsicher, ob Komponente_2 zu Produkt_1 oder Produkct_3 gehört. Diese Unsicherheit wird mit den weiteren Schritten des 3-Schritt-Algorithmus beseitigt.
  • In Schritt 2 des 3-Schritt-Algorithmus wird mithilfe von verschiedenen Bündelungsregeln die Beziehung zwischen jedem einzelnen Paar von Komponenten mit Punkten bewertet. Unter der Annahme, dass die Anordnung der drei Komponenten auf einer einzigen Maschine bzw. auf einem einzigen Hostcomputer (Regel 2d) ihre einzige Beziehung ist, lauten die sich ergebenden Punktzahlen wie folgt:
    Figure 00260002
  • Die in Schritt 3 des 3-Schritt-Algorithmus vorgenommene Zusammenführung der Ergebnisse aus den Schritten 1 und 2, die der besseren Bewertung der Beziehung von Komponente_2 zu den verschiedenen Produkten dient, führt zu den folgenden Ergebnissen:
    Figure 00270001
  • Diese Vertrauenswerte können nun für Komponente_2 mit den in Schritt 1 erhaltenen Ergebnissen addiert und normalisiert werden. Zuerst wird die über Komponente_1 erhaltene zusätzliche Wahrscheinlichkeit addiert und normalisiert.
    Figure 00270002
  • Anschließend wird die über Komponente_2 erhaltene zusätzliche Wahrscheinlichkeit addiert und normalisiert.
    Figure 00270003
    Figure 00280001
  • Nach Abschluss des 3-Schritt-Algorithmus lautet die Wahrscheinlichkeit der Komponente-Produkt-Bündelung wie folgt:
    Figure 00280002
  • Aus dem oben aufgeführten Vertrauenswerten ist ersichtlich, dass Komponente_1, Komponente_2 und Komponente_3 korrekt als höchstwahrscheinlich zu Produkt_1 gehörig erkannt wurden.
  • Dem Fachmann ist klar, dass Aspekte der vorliegenden Beschreibung der Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert sein können. Demzufolge können Aspekte der vorliegenden Beschreibung die Form einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, in der Software- und Hardwareaspekte kombiniert sind, die im vorliegenden Dokument allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden. Ferner können Aspekte der vorliegenden Beschreibung der Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, auf denen computerlesbarer Programmcode verkörpert ist.
  • Es können beliebige Kombinationen eines oder mehrerer computerlesbarer Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Zu computerlesbaren Speichermedien können beispielsweise und ohne Beschränkung auf die folgende Aufzählung ein elektronisches, magnetisches, optisches oder elektromagnetisches System bzw. ein Infrarot- oder Halbleitersystem bzw. eine derartige Vorrichtung oder Einheit oder beliebige Kombinationen des Vorstehenden gehören. Zu den detaillierteren Beispielen (eine nicht erschöpfende Liste) computerlesbarer Speichermedien zählen unter anderem folgende: elektrische Verbindung mit einer oder mehreren Leitungen, Computerdiskette, Festplatte, Direktzugriffsspeicher (RAM), Nur-Lese-Speicher (ROM), löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), Lichtwellenleiter, Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), optische Speichereinheit, magnetische Speichereinheit oder beliebige geeignete Kombinationen des Vorstehenden. Im Kontext des vorliegenden Dokuments kann ein computerlesbares Speichermedium jedes beliebige vergegenständlichte Medium sein, das ein Programm enthalten oder speichern kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.
  • Ein computerlesbares Signalmedium kann unter anderem ein im Basisband oder als Teil einer Trägerwelle übertragenes Datensignal mit darin verkörpertem computerlesbarem Programm sein. Ein derartiges übertragenes Signal kann eine beliebige Vielfalt von Formen annehmen, darunter und ohne Beschränkung auf die Aufzählung eine elektromagnetische oder optische Form oder beliebige geeignete Kombinationen davon. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, bei dem es sich nicht um ein computerlesbares Speichermedium handelt und das ein Programm übertragen, senden oder transportieren kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung genutzt werden kann.
  • Auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes beliebigen geeigneten Mediums, darunter und ohne Beschränkung auf die Aufzählung, drahtlose oder drahtgebundene Medien, Lichtwellenleiter, HF usw., oder unter Verwendung beliebiger geeigneter Kombinationen des Vorstehenden übertragen werden.
  • Computerprogrammcode zur Ausführung von Operationen bei Aspekten der vorliegenden Erfindung kann in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen, darunter in einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder Ähnlichem und in herkömmlichen prozeduralen Programmiersprachen wie „C” oder ähnlichen Programmiersprachen geschrieben sein. 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. Beim letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internet-Dienstanbieters (Internet Service Provider)).
  • Nachstehend sind Aspekte der vorliegenden Beschreibung der Erfindung unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Beschreibung erläutert. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder und Kombinationen von Blöcken in den Ablaufplänen und/oder Blockschaltbildern durch Computerprogrammanweisungen realisiert werden kann bzw. können. Diese Computerprogrammanweisungen können einem Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder anderer programmierbarer Datenverarbeitungsvorrichtungen, die eine Maschine darstellen, bereitgestellt werden, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen zu realisieren.
  • Diese Computerprogrammanweisungen können ebenfalls in einem computerlesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass die im computerlesbaren Medium gespeicherten Anweisungen ein Produkt erzeugen, das die Anweisungen enthält, die die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebene Funktion/Aktion realisieren.
  • Diese Computerprogrammanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Arbeitsschritten ausgeführt werden, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer oder auf anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse zur Realisierung der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen bereitstellen.
  • Die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und Funktionsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß den verschiedenen Ausführungsformen der vorliegenden Beschreibung der Erfindung. Dementsprechend kann jeder einzelne Block in den Blockschaltbildern ein Modul, Segment oder einen Teil des Codes darstellen, der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion bzw. Logikfunktionen umfasst. Außerdem ist anzumerken, dass bei einigen alternativen Realisierungsformen die oben erörterten Funktionen außerhalb der beschriebenen Reihenfolge vorhanden sein können. Beispielsweise können zwei hintereinander aufgeführte Funktionen tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Funktionen können je nach der damit verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder einzelne Block der dargestellten Blockschaltbilder sowie Kombinationen von Blöcken in den Blockschaltbildern mithilfe von speziellen Systemen auf der Grundlage von Hardware zur Ausführung der angegebenen Funktionen bzw. Aktionen oder mithilfe von Kombinationen aus spezieller Hardware und Computeranweisungen realisiert werden kann bzw. können.
  • Die im vorliegenden Dokument verwendete Terminologie dient ausschließlich zur Beschreibung bestimmter Ausführungsformen und ist nicht als Einschränkung der Erfindung gedacht. Die im vorliegenden Dokument verwendeten Einzahlformen „ein/eine” und „der/die/das” schließen auch die Pluralformen ein, sofern dies im Kontext nicht ausdrücklich anderweitig angegeben ist. Es versteht sich des Weiteren, dass die Begriffe „umfasst” bzw. „umfassen” bei Verwendung in der vorliegenden Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Abläufe, Elemente, Komponenten und/oder Gruppen davon bezeichnen, aber das Vorhandensein oder die Hinzufügung eines bzw. einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Abläufe, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Aktionen und Äquivalente aller Mittel bzw. Schritte plus Funktionselemente (Step-Plus-Function-Elemente) in den folgenden Ansprüchen schließen alle Strukturen, Materialien oder Aktionen zur Durchführung der Funktion in Verbindung mit anderen ausdrücklich beanspruchten Elementen ein. Die Beschreibung der vorliegenden Erfindung dient der Veranschaulichung und Beschreibung, ist jedoch nicht als erschöpfend oder einschränkend in Bezug auf die Erfindung in der beschriebenen Form gedacht. Für den Fachmann sind viele Abänderungen und Variationen denkbar, ohne dass dies eine Abweichung vom Geltungsbereich und Geist der Erfindung darstellt. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundgedanken und die praktische Anwendung der Erfindung auf bestmögliche Weise zu erklären und anderen Fachleuten das Verständnis für verschiedene Ausführungsformen mit verschiedenen Abänderungen für die betreffende betrachtete Verwendung zu ermöglichen.

Claims (15)

  1. Verfahren zum Erkennen von Softwarekomponenten eines Softwareprodukts, aufweisend: Ermitteln von repräsentativen Daten mithilfe eines Computers, die mindestens eines aus einem Attribut und einer Aktion von mindestens einer aus einer ersten Softwarekomponente in einem Computersystem und einer zweiten Softwarekomponente in dem Computersystem stehen; Ermitteln eines ersten Vertrauenswertes, der eine Wahrscheinlichkeit anzeigt, dass die erste Softwarekomponente zu dem Softwareprodukt gehört; Ermitteln eines zweiten Vertrauenswertes, der auf den Daten beruht und eine Wahrscheinlichkeit anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind; und Ermitteln eines dritten Vertrauenswertes, der auf dem ersten und dem zweiten Vertrauenswert beruht und eine Wahrscheinlichkeit anzeigt, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört.
  2. Verfahren gemäß Anspruch 1, bei dem die repräsentativen Daten Bezeichnungsdaten aufweisen, die mindestens eines des Folgenden bezeichnen: einen Speicherort der ersten Softwarekomponente in dem Computersystem, einen Speicherort der zweiten Softwarekomponente in dem Computersystem, ein Datenaustauschereignis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente, einen Konfigurationsverweis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente, eine Installationszeit der ersten Softwarekomponente in dem Computersystem, eine Installationszeit der zweiten Softwarekomponente in dem Computersystem.
  3. Verfahren gemäß Anspruch 1 oder 2, aufweisend: für die zweite Softwarekomponente Ermitteln eines vierten Vertrauenswertes, der eine Wahrscheinlichkeit anzeigt, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört, wobei das Ermitteln des dritten Vertrauenswertes auf der Grundlage des ersten, zweiten und vierten Vertrauenswertes vorgenommen wird.
  4. Verfahren gemäß Anspruch 3, bei dem das Ermitteln des vierten Vertrauenswertes mindestens eines des Folgenden umfasst: Ermitteln, ob die zweite Softwarekomponente zu einem vorgegebenen Katalogsatz von Softwarekomponenten gehört, die dem Softwareprodukt zugehörig sind, und Ermitteln, ob eine zur zweiten Softwarekomponente gehörende Produktnummer einen Teilenummerbestandteil aufweist, der eine Bündelung der ersten Softwarekomponente in dem Softwareprodukt anzeigt.
  5. Verfahren gemäß einem der vorstehenden Ansprüche, bei dem das Ermitteln des ersten Vertrauenswertes mindestens eines des Folgenden umfasst: Ermitteln, ob die erste Softwarekomponente zu einem vorgegebenen Katalogsatz von Softwarekomponenten gehört, die dem Softwareprodukt zugeordnet sind, und Ermitteln, ob eine zur ersten Softwarekomponente gehörende Produktnummer einen Teilenummerbestandteil umfasst, der eine Bündelung der ersten Softwarekomponente in dem Softwareprodukt anzeigt.
  6. Verfahren gemäß einem der vorstehenden Ansprüche, bei dem das Ermitteln des zweiten Vertrauenswertes mindestens eines des Folgenden umfasst: Erhöhen des zweiten Vertrauenswertes um einen Wert, der volles Vertrauen anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die repräsentativen Daten ein Datenaustauschereignis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente anzeigen; Erhöhen des zweiten Vertrauenswertes um einen Wert, der volles Vertrauen anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die repräsentativen Daten einen Konfigurationsverweis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente bezeichnen; Erhöhen des zweiten Vertrauenswertes um einen Wert, der die Teilwahrscheinlichkeit anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die repräsentativen Daten anzeigen, dass sich die erste und zweite Softwarekomponente auf einem gemeinsamen Hostcomputer befinden; Erhöhen des zweiten Vertrauenswertes um einen Wert, der die Teilwahrscheinlichkeit anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die repräsentativen Daten anzeigen, dass die Installationspfade der ersten und zweiten Softwarekomponente verschachtelt sind; und Erhöhen des zweiten Vertrauenswertes um einen Wert, der die Teilwahrscheinlichkeit anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die repräsentativen Daten anzeigen, dass die erste und zweite Softwarekomponente Installationszeiten haben, die in einen vorgegebenen Zeitraum fallen, der entweder kürzer als eine Woche, kürzer als ein Tag oder kürzer als eine Stunde ist.
  7. Verfahren gemäß einem der vorstehenden Ansprüche, bei dem der dritte Vertrauenswert ein Produkt aus dem ersten Vertrauenswert und den zweiten Vertrauenswert ist.
  8. System zum Erkennen von Softwarekomponenten eines Softwareprodukts, aufweisend: eine erste Vertrauenswert-Ermittlungseinheit, die einen ersten Vertrauenswert ermittelt, der eine Wahrscheinlichkeit anzeigt, dass eine erste Softwarekomponente zu dem Softwareprodukt gehört; eine zweite Vertrauenswert-Ermittlungseinheit, die einen zweiten Vertrauenswert ermittelt, der eine Wahrscheinlichkeit anzeigt, dass die erste Softwarekomponente und eine zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind; und eine dritte Vertrauenswert-Ermittlungseinheit, die auf der Grundlage des ersten und zweiten Vertrauenswertes einen dritten Vertrauenswert ermittelt, der eine Wahrscheinlichkeit anzeigt, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört.
  9. System gemäß Anspruch 8, das Folgendes umfasst: eine vierte Vertrauenswert-Ermittlungseinheit, die für die zweite Softwarekomponente einen vierten Vertrauenswert ermittelt, der eine Wahrscheinlichkeit anzeigt, dass die zweite Softwarekomponente zu dem Softwareprodukt gehört, wobei die dritte Vertrauenswert-Ermittlungseinheitso konfiguriert und angepasst ist, dass sie den dritten Vertrauenswert auf der Grundlage des ersten, zweiten und vierten Vertrauenswertes ermittelt.
  10. System gemäß Anspruch 9, bei dem das Ermitteln des vierten Vertrauenswertes mindestens eines des Folgenden umfasst: Ermitteln, ob die zweite Softwarekomponente zu einem vorgegebenen Katalogsatz von Softwarekomponenten gehört, die dem Softwareprodukt zugehörig sind, und Ermitteln, ob eine zur zweiten Softwarekomponente gehörende Produktnummer einen Teilenummerbestandteil umfasst, der eine Bündelung der ersten Softwarekomponente in dem Softwareprodukt anzeigt.
  11. System gemäß einem der Ansprüche 8 bis 10, bei dem das Ermitteln des ersten Vertrauenswertes mindestens eines des Folgenden umfasst: Ermitteln, ob die erste Softwarekomponente zu einem vorgegebenen Katalogsatz von Softwarekomponenten gehört, die dem Softwareprodukt zugehörig sind, und Ermitteln, ob eine zur ersten Softwarekomponente gehörende Produktnummer einen Teilenummerbestandteil umfasst, der eine Bündelung der ersten Softwarekomponente in dem Softwareprodukt anzeigt.
  12. System gemäß einem der Ansprüche 8 bis 11, aufweisend: eine Datenermittlungseinheit, die Daten ermittelt, die mindestens eines des Folgenden bezeichnen: einen Speicherort der ersten Softwarekomponente in einem Computersystem, einen Speicherort der zweiten Softwarekomponente in dem Computersystem, ein Datenaustauschereignis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente, einen Konfigurationsverweis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente, eine Installationszeit der ersten Softwarekomponente in dem Computersystem, eine Installationszeit der zweiten Softwarekomponente in dem Computersystem, wobei die zweite Vertrauenswert-Ermittlungseinheitso konfiguriert und gestaltet ist, dass sie den zweiten Vertrauenswert auf der Grundlage der Daten ermittelt.
  13. System gemäß Anspruch 12, bei dem das Ermitteln des zweiten Vertrauenswertes mindestens eines des Folgenden umfasst: Erhöhen des zweiten Vertrauenswertes um einen Wert, der volles Vertrauen anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die Daten ein Datenaustauschereignis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente anzeigen; Erhöhen des zweiten Vertrauenswertes um einen Wert, der volles Vertrauen anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die Daten einen Konfigurationsverweis in dem Computersystem zwischen der ersten und zweiten Softwarekomponente bezeichnen; Erhöhen des zweiten Vertrauenswertes um einen Wert, der ein Teilvertrauen anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die Daten anzeigen, dass sich die erste und zweite Softwarekomponente auf einem gemeinsamen Hostcomputer befindet; Erhöhen des zweiten Vertrauenswertes um einen Wert, der ein Teilvertrauen anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die Daten anzeigen, dass die Installationspfade der ersten und zweiten Softwarekomponente verschachtelt sind; und Erhöhen des zweiten Vertrauenswertes um einen Wert, der ein Teilvertrauen anzeigt, dass die erste Softwarekomponente und die zweite Softwarekomponente Softwarekomponenten eines gemeinsamen Softwareprodukts sind, wenn die Daten anzeigen, dass die erste und zweite Softwarekomponente Installationszeiten haben, die in einen vorgegebenen Zeitraum fallen, der entweder kürzer als eine Woche, kürzer als ein Tag oder kürzer als eine Stunde ist.
  14. Verfahren gemäß einem der Ansprüche 8 bis 13, bei dem der dritte Vertrauenswert ein Produkt aus dem ersten Vertrauenswert und dem zweiten Vertrauenswert ist.
  15. Auf einem computerverwendbaren Medium gespeichertes Computerprogrammprodukt, das computerlesbare Programmmittel umfasst, um einen Computer zu veranlassen, ein Verfahren nach einem der Ansprüche 1 bis 7 durchzuführen, wenn das Programm auf dem Computer ausgeführt wird.
DE102012212999A 2011-08-25 2012-07-24 Erkennen von Komponenten eines gebündelten Softwareproduktes Pending DE102012212999A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP11178870.9 2011-08-25
EP11178870 2011-08-25

Publications (1)

Publication Number Publication Date
DE102012212999A1 true DE102012212999A1 (de) 2013-02-28

Family

ID=47665418

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012212999A Pending DE102012212999A1 (de) 2011-08-25 2012-07-24 Erkennen von Komponenten eines gebündelten Softwareproduktes

Country Status (3)

Country Link
US (2) US20130055202A1 (de)
CN (1) CN103106069B (de)
DE (1) DE102012212999A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479159B2 (en) * 2006-10-20 2013-07-02 International Business Machines Corporation System and method for automatically determining relationships between software artifacts using multiple evidence sources
US20080201705A1 (en) * 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
CN103500311B (zh) * 2013-09-30 2016-08-31 北京金山网络科技有限公司 软件检测方法及系统
CN103646209B (zh) * 2013-12-20 2017-01-04 北京奇虎科技有限公司 基于云安全拦截捆绑软件的方法和装置
CN103679033A (zh) * 2013-12-30 2014-03-26 珠海市君天电子科技有限公司 流氓软件的检测方法及装置、终端
US20150363687A1 (en) * 2014-06-13 2015-12-17 International Business Machines Corporation Managing software bundling using an artificial neural network
GB2528679A (en) * 2014-07-28 2016-02-03 Ibm Software discovery in an environment with heterogeneous machine groups
US20160352841A1 (en) * 2015-05-28 2016-12-01 At&T Intellectual Property I Lp Facilitating dynamic establishment of virtual enterprise service platforms and on-demand service provisioning
US9860339B2 (en) 2015-06-23 2018-01-02 At&T Intellectual Property I, L.P. Determining a custom content delivery network via an intelligent software-defined network
US9875095B2 (en) 2015-09-30 2018-01-23 International Business Machines Corporation Software bundle detection
US10887130B2 (en) 2017-06-15 2021-01-05 At&T Intellectual Property I, L.P. Dynamic intelligent analytics VPN instantiation and/or aggregation employing secured access to the cloud network device
US10782964B2 (en) * 2017-06-29 2020-09-22 Red Hat, Inc. Measuring similarity of software components
CN108984184A (zh) * 2018-06-22 2018-12-11 珠海市君天电子科技有限公司 一种软件安装方法、装置及电子设备、存储介质
CN109033817A (zh) * 2018-06-29 2018-12-18 北京奇虎科技有限公司 捆绑软件拦截方法、装置与设备
US11694187B2 (en) 2019-07-03 2023-07-04 Capital One Services, Llc Constraining transactional capabilities for contactless cards
US11455620B2 (en) * 2019-12-31 2022-09-27 Capital One Services, Llc Tapping a contactless card to a computing device to provision a virtual number
US20210234823A1 (en) * 2020-01-27 2021-07-29 Antitoxin Technologies Inc. Detecting and identifying toxic and offensive social interactions in digital communications
CN112232533B (zh) * 2020-10-20 2024-06-14 集瑞联合重工有限公司 产品组件管理方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129346A1 (en) * 2000-12-14 2002-09-12 Woo-Jin Lee Method and apparatus for identifying software components using object relationships and object usages in use cases
US20050172306A1 (en) * 2003-10-20 2005-08-04 Agarwal Manoj K. Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network
US8214372B2 (en) * 2009-05-13 2012-07-03 International Business Machines Corporation Determining configuration parameter dependencies via analysis of configuration data from multi-tiered enterprise applications

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7735080B2 (en) * 2001-08-30 2010-06-08 International Business Machines Corporation Integrated system and method for the management of a complete end-to-end software delivery process
US20070260626A1 (en) * 2006-05-04 2007-11-08 Claudia Reisz Method for customer-choice-based bundling of product options
US20080295090A1 (en) * 2007-05-24 2008-11-27 Lockheed Martin Corporation Software configuration manager
JP5236564B2 (ja) * 2009-04-20 2013-07-17 株式会社日立製作所 ソフトウェア再利用支援方法及び装置
US9043782B2 (en) * 2010-12-28 2015-05-26 Microsoft Technology Licensing, Llc Predictive software streaming

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129346A1 (en) * 2000-12-14 2002-09-12 Woo-Jin Lee Method and apparatus for identifying software components using object relationships and object usages in use cases
US20050172306A1 (en) * 2003-10-20 2005-08-04 Agarwal Manoj K. Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network
US8214372B2 (en) * 2009-05-13 2012-07-03 International Business Machines Corporation Determining configuration parameter dependencies via analysis of configuration data from multi-tiered enterprise applications

Also Published As

Publication number Publication date
US20130055202A1 (en) 2013-02-28
CN103106069B (zh) 2016-06-15
US20130159972A1 (en) 2013-06-20
CN103106069A (zh) 2013-05-15

Similar Documents

Publication Publication Date Title
DE102012212999A1 (de) Erkennen von Komponenten eines gebündelten Softwareproduktes
DE102014204830A1 (de) Computerimplementierte Systeme und Verfahren zum Vergleichen und Assoziieren von Objekten
DE112012000797B4 (de) Mehrfach-Modellierungsparadigma für eine Vorhersageanalytik
DE102014204834A1 (de) Computerimplementierte Systeme und Verfahren zum Vergleichen und Assoziieren von Objekten
DE102016104478A1 (de) Kryptographische Verfahren, die Arbeitsnachweise in Systemen untereinander verbundener Knoten realisieren
DE202012013462U1 (de) Datenverarbeitung in einem Mapreduce-Framework
DE102013208930A1 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE102014211504A1 (de) Verfahren und System zur Gewinnung und Analyse von forensischen Daten in einer verteilten Rechnerinfrastruktur
DE112017007246T5 (de) Bildanalysevorrichtung, bildanalyseverfahren und bildanalyseprogramm
DE102019109288A1 (de) Anlage und Verfahren für Analyse des importierten Videos
EP2940620A1 (de) Ableiten eines gerätespezifischen wertes mit hilfe einer unklonbaren funktion
DE102017220140A1 (de) Abrufvorrichtung, Abrufverfahren und Abrufprogramm
DE202017105834U1 (de) Verwaltung von Anwendungsaktualisierungen
DE112020000004T5 (de) Informationsbereitstellungssystem und Informationsbereitstellungsverfahren
DE112014001997T5 (de) Kennzeichnen von Client-Zuständen
DE102014113817A1 (de) Vorrichtung und Verfahren zur Erkennung eines Objekts in Einem Bild
WO2015043823A1 (de) Verfahren und system zum bewerten von erhobenen messwerten eines systems
DE112012005307T5 (de) Verfahren, Computerprogramm und Computer zum Erkennen von Gemeinschaften in einem sozialen Medium
DE102013201664A1 (de) Vorausschauendes Zwischenspeichern bei Telekommunikationstürmen unter Verwendung der Weitergabe der Kennung von Elementen von Daten mit hohem Bedarf auf einer geographischen Ebene
EP1273007B1 (de) Verfahren zur bestimmung eines charakteristischen datensatzes für ein datensignal
EP3719651A1 (de) Verfahren zur charakterisierung des betriebszustands eines computersystems
DE102012210482A1 (de) Verfahren und System zum Migrieren von Geschäftsprozessinstanzen
DE112019007018T5 (de) Sicherheitskommunikationsvorrichtung, sicherheitskommunikationssystem, sicherheitskommunikationsverfahren und sicherheitskommunikationsprogramm
DE102018122115A1 (de) Verfahren zur Umgebungserfassung eines Fahrzeugs
DE112017006528T5 (de) Angriff/abnormalität-detektionsvorrichtung, angriff/abnormalität-detektionsverfahren und angriff/abnormalität-detektionsprogramm

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: SPIES DANNER & PARTNER PATENTANWAELTE PARTNERS, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0009440000

Ipc: G06F0015160000

R016 Response to examination communication