-
HINTERGRUND
-
Die Ausführungsformen hierin betreffen Cloud-Technik und -Erfahrungen und stellen für ein Cloud-Computing-System zur Zusammenarbeit eine Konfiguration bereit, die auf der Grundlage von früheren Optionsauswahlen anderer Benutzer Empfehlungen bereitstellt.
-
Mit dem Cloud-Computing haben Benutzer Zugriff auf eine große Anzahl von Objekten wie zum Beispiel Bildern, auf die sie in ihrer Cloud zugreifen bzw. die sie dort ausführen können, und die Cloud bietet dem Benutzer eine große Vielfalt von Optionen. Das Problem, das man bei so vielen Optionen als Benutzer hat, ist die Verwirrung, die mit der übermäßig großen Menge an Auswahlmöglichkeiten einhergeht. Wenn ein Benutzer im Hinblick auf ein bestimmtes Objekt (wie zum Beispiel ein Bild) kein Experte ist, könnte es sein, dass sich der Benutzer mit der Auswahl aus der Unzahl von Optionen herumschlagen muss. Ein ähnliches Problem besteht, wenn für eine auf der Cloud ausgeführte Instanz ein Upgrade oder ein Patch zur Verfügung steht. Zum Beispiel wird der Benutzer oftmals mit der Auswahl konfrontiert, ob das Upgrade angewendet oder ignoriert werden soll. Die nachfolgend beschriebenen Ausführungsformen schaffen eine Lösung für dieses Problem, indem sie dem Benutzer eine Empfehlung bereitstellen, die auf den von ähnlichen Benutzern zuvor getroffenen Auswahlen beruht.
-
KURZDARSTELLUNG
-
Gemäß einer beispielhaften Ausführungsform empfängt ein mittels Computer realisiertes Verfahren in einer ersten Datenverarbeitungseinheit eine Anforderung von mindestens einem Benutzer. Der erste Benutzer führt mindestens eine Instanz innerhalb einer Cloud-Computing-Umgebung aus. Im hierin verwendeten Sinne ist eine „Instanz” ein Softwareprogramm aus Anweisungen, das innerhalb der Cloud-Computing-Umgebung ausgeführt wird, indem Ressourcen der Cloud-Computing-Umgebung genutzt werden.
-
Unter Verwendung der Datenverarbeitungseinheiten analysiert das Verfahren automatisch die erste Benutzerinstanz, um Eigenschaften der ersten Benutzerinstanz zu erzeugen, und es analysiert automatisch Eigenschaften der anderen Benutzerinstanzen, die innerhalb der Cloud-Computing-Umgebung ausgeführt werden (hierin manchmal als „zweite Eigenschaften” bezeichnet). Andere Benutzer, die sich vom ersten Benutzer unterscheiden, arbeiten mit den anderen Benutzerinstanzen.
-
Wiederum unter Verwendung der Datenverarbeitungseinheiten gleicht das Verfahren automatisch die erste Benutzerinstanz mit Instanzen der anderen Benutzerinstanzen ab, indem es ermittelt, welche der anderen Benutzerinstanzen dieselben Eigenschaften wie die Eigenschaften der ersten Benutzerinstanz aufweisen. Ebenfalls unter Verwendung der Datenverarbeitungseinheiten erkennt das Verfahren automatisch Cloud-Computing-Optionen, die von anderen Benutzern ausgewählt wurden, die mit den übereinstimmenden Instanzen arbeiten, die die Anforderung betreffen. Anschließend gibt das Verfahren unter Verwendung der Datenverarbeitungseinheiten dem ersten Benutzer Empfehlungen. Die Empfehlungen stellen die Cloud-Computing-Optionen bereit, die durch die anderen Benutzer innerhalb der übereinstimmenden Instanzen ausgewählt wurden.
-
Gemäß einer weiteren beispielhaften Ausführungsform empfängt ein mittels Computer realisiertes Verfahren in einer ersten Datenverarbeitungseinheit erneut eine Anforderung von mindestens einem Benutzer, wobei der erste Benutzer mindestens eine Instanz innerhalb einer Cloud-Computing-Umgebung ausführt. Unter Verwendung der Datenverarbeitungseinheiten analysiert das Verfahren automatisch die erste Benutzerinstanz, um Eigenschaften der ersten Benutzerinstanz zu erzeugen, und es analysiert automatisch Eigenschaften der anderen Benutzerinstanzen, die innerhalb der Cloud-Computing-Umgebung ausgeführt werden. Wiederum unter Verwendung der Datenverarbeitungseinheiten gleicht das Verfahren automatisch die erste Benutzerinstanz mit Instanzen der anderen Benutzerinstanzen ab, indem es ermittelt, welche der anderen Benutzerinstanzen dieselben Eigenschaften wie die Eigenschaften der ersten Benutzerinstanz aufweisen. Ebenfalls unter Verwendung der Datenverarbeitungseinheiten erkennt das Verfahren automatisch Cloud-Computing-Optionen, die von solchen anderen Benutzern ausgewählt wurden, die mit den übereinstimmenden Instanzen arbeiten, die die Anforderung betreffen. Anschließend gibt das Verfahren unter Verwendung der Datenverarbeitungseinheiten dem ersten Benutzer Empfehlungen. Die Empfehlungen stellen die Cloud-Computing-Optionen bereit, die durch die anderen Benutzer innerhalb der übereinstimmenden Instanzen ausgewählt wurden. Unter Verwendung der Datenverarbeitungseinheiten empfängt das Verfahren ferner Rückmeldungen vom ersten Benutzer als Reaktion auf die Empfehlungen und verfeinert die Empfehlungen auf der Grundlage der Rückmeldungen.
-
Eine Ausführungsform eines computergestützten Systems weist mindestens eine Datenverarbeitungseinheit auf. Die Datenverarbeitungseinheiten weisen jeweils einen Prozessor und eine Eingabe-/Ausgabe-Verbindung auf, die mit dem Prozessor betriebsfähig verbunden (direkt oder indirekt verbunden) sind. Die Eingabe/Ausgabe ist ferner mit der Cloud-Computing-Umgebung verbunden. Die Datenverarbeitungseinheiten weisen außerdem eine Benutzerschnittstelle auf (die ebenfalls betriebsfähig mit dem Prozessor verbunden ist), die eine Anforderung von einem ersten Benutzer empfängt, der mindestens eine erste Benutzerinstanz innerhalb der Cloud-Computing-Umgebung ausführt.
-
Der Prozessor analysiert automatisch die erste Benutzerinstanz, um Eigenschaften der ersten Benutzerinstanz zu erzeugen, und er analysiert zweite Eigenschaften der anderen Benutzerinstanzen, die innerhalb der Cloud-Computing-Umgebung ausgeführt werden. Andere Benutzer, die sich vom ersten Benutzer unterscheiden, arbeiten mit den anderen Benutzerinstanzen. Der Prozessor gleicht automatisch die erste Benutzerinstanz mit anderen Benutzerinstanzen ab, indem er ermittelt, welche der anderen Benutzerinstanzen die zweiten Eigenschaften aufweisen, die mit den Eigenschaften der ersten Benutzerinstanz übereinstimmen. Anschließend erkennt der Prozessor automatisch Cloud-Computing-Optionen, die von den anderen Benutzern innerhalb der übereinstimmenden Instanzen ausgewählt wurden, die die Anforderung betreffen. Anschließend kann die Benutzerschnittstelle dem ersten Benutzer automatisch Empfehlungen geben, wobei zu diesen Empfehlungen die Cloud-Computing-Optionen gehören, die innerhalb der übereinstimmenden Instanzen ausgewählt wurden.
-
Eine Ausführungsform einer nichtflüchtigen Computerspeicher-Medieneinheit speichert ein Programm aus Anweisungen, die durch eine Datenverarbeitungseinheit ausgeführt werden können. Das Programm aus Anweisungen bewirkt, dass die Datenverarbeitungseinheit ein Verfahren durchführt, das eine Anforderung von einem ersten Benutzer empfängt. Der erste Benutzer führt mindestens eine Instanz innerhalb einer Cloud-Computing-Umgebung aus. Das Verfahren analysiert automatisch die erste Benutzerinstanz, um Eigenschaften der ersten Benutzerinstanz zu erzeugen, und es analysiert automatisch Eigenschaften anderer Benutzerinstanzen, die innerhalb der Cloud-Computing-Umgebung ausgeführt werden. Das Verfahren gleicht automatisch die erste Benutzerinstanz mit Instanzen der anderen Benutzerinstanzen ab, indem es ermittelt, welche der anderen Benutzerinstanzen dieselben Eigenschaften wie die Eigenschaften der ersten Benutzerinstanz aufweisen. Das Verfahren erkennt automatisch Cloud-Computing-Optionen, die von solchen anderen Benutzern ausgewählt wurden, die mit den übereinstimmenden Instanzen arbeiten, die die Anforderung betreffen. Anschließend gibt das Verfahren dem ersten Benutzer Empfehlungen. Die Empfehlungen stellen die Cloud-Computing-Optionen bereit, die durch die anderen Benutzer innerhalb der übereinstimmenden Instanzen ausgewählt wurden.
-
KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN IN DEN ZEICHNUNGEN
-
Die Ausführungsformen werden anhand der folgenden ausführlichen Beschreibung unter Bezugnahme auf die Zeichnungen besser verständlich, die nicht unbedingt maßstabsgerecht sind, und wobei:
-
1 ein Ablaufplan ist, der verschiedene hierin aufgeführte Ausführungsformen veranschaulicht;
-
2 eine schematische Darstellung von Benutzern ist, die Instanzen unter Verwendung computergestützter Einheiten ausführen, die mit einer Cloud-Computing-Umgebung verbunden sind;
-
3 eine schematische Darstellung ist, die eine beispielhafte Hardwareumgebung veranschaulicht, die zur Realisierung der Ausführungsformen verwendet werden kann; und
-
4 eine schematische Darstellung eines Bereitstellungssystems gemäß hierin aufgeführten Ausführungsformen ist;
-
5 eine schematische Darstellung eines Integrationssystems gemäß hierin aufgeführten Ausführungsformen ist;
-
6 eine schematische Darstellung eines On-Demand-Systems gemäß hierin aufgeführten Ausführungsformen ist;
-
7 eine schematische Darstellung eines virtuellen privaten Netzwerkssystems gemäß hierin aufgeführten Ausführungsformen ist; und
-
8 eine schematische Darstellung eines virtuellen privaten Netzwerkssystems gemäß hierin aufgeführten Ausführungsformen ist.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Wie oben erwähnt wird ein Benutzer einer Instanz, die in einer Cloud-Computing-Umgebung ausgeführt wird, möglicherweise durch die enorme Menge von Auswahlmöglichkeiten verwirrt, die in der Cloud-Computing-Umgebung zur Verfügung steht. Daher werden ein System und ein Verfahren offenbart, um einem Benutzer eine Empfehlung von Konfigurations- und Auswahlmöglichkeiten bereitzustellen, indem die Auswahlen mit ähnlichen Auswahlen verglichen werden, die von ähnlichen Benutzern getroffen wurden.
-
Dadurch wird von einem Benutzer, der mit der Cloud interagiert, an einem bestimmten Punkt eine Entscheidung darüber verlangt, welche Auswahl zu treffen ist, und er benötigt möglicherweise bei der Auswahl aus den verschiedenen verfügbaren Operationen Unterstützung. In Anbetracht dessen werden die Cloud-Daten mit den hierin aufgeführten Ausführungsformen analysiert, und das System schlägt Instanz- und Konfigurationsoptionen vor, um dem Benutzer die Auswahl unter den verfügbaren Optionen zu ermöglichen. Die den Benutzern gegebenen Empfehlungen können in Bezug auf die analysierten Daten und zum Beispiel auf der Grundlage der Gesamtpopularität der von anderen Cloud-Benutzern gewählten Optionen sortiert werden.
-
Insbesondere fassen die hierin aufgeführten Ausführungsformen gegenwärtige, auf der Cloud ausgeführte Instanzen zusammen, wenn sie die Cloud-Daten analysieren. Zu diesen Informationen über gegenwärtig ausgeführte Instanzen kann gehören, welche Instanzen ausgeführt werden, welche gestoppt wurden, gestoppt werden, welche fehlgeschlagen sind, welche bereitgestellt werden, welche neu gestartet werden usw. Darüber hinaus werden auch den Benutzer betreffende Daten zusammengefasst, wozu Daten im Zusammenhang mit der Demographie, Unternehmensgröße, den installierten Instanzen, Fachkenntnissen, Surf-Mustern usw. gehören.
-
Außerdem werden während der Analyse der Cloud-Daten auch verschiedene Feed-Daten analysiert. Ein Feed auf einem Cloud-System kann verwendet werden, um Benutzer über beliebige Aktualisierungen oder Upgrades für eine bestimmte Software zu benachrichtigen, die sich auf ihren Systemen befindet. Mit den hierin aufgeführten Ausführungsformen werden Feed-Daten von der für die installierten Instanzen speziellen Support- oder Kontoseite erfasst, und es werden andere Feed-Daten von außerhalb erfasst. Die gegebenen Feed-Empfehlungen können auch auf den Benachrichtigungen aus der Umgebung des Benutzers beruhen. Wenn zum Beispiel ein Benutzer eine bestimmte Datenbankinstanz gestoppt hat, können die hierin aufgeführten Ausführungsformen feststellen, dass es nicht mehr notwendig ist, dem Benutzer Upgrade-Hinweise mit einer hohen Priorität anzuzeigen. Außerdem können Benutzer mit den hierin aufgeführten Ausführungsformen zusammengefasste Daten auf ihrer Kontoseite oder spezielle Aktualisierungen für jedes System auf ihrer Instanzdetailseite erhalten.
-
Die hierin aufgeführten Ausführungsformen stellen nicht nur Empfehlungen für Cloud-Computing-Optionen bereit, sondern sie stellen auch die hinzugefügten technischen Verbesserungen des Überwachens installierter und aktiver Instanzen bereit. Während der Benutzer möglicherweise eine Instanz ausführt, erkennen die hierin aufgeführten Ausführungsformen somit, wenn die Instanz gegenwärtig nicht aktiv ist, und können daher Empfehlungen dementsprechend abändern.
-
Ein weiteres von den hierin aufgeführten Ausführungsformen bereitgestelltes Merkmal sind die Interaktion und Rückmeldung zwischen dem Benutzer und dem System. Insbesondere stellen die hierin aufgeführten Ausführungsformen spezielle Fragen bereit, um die Verfeinerung der Empfehlungen zu unterstützen. Die hierin aufgeführten Ausführungsformen können dem Benutzer Fragen im Voraus stellen oder nachdem er eine bestimmte Handlung wie zum Beispiel das Auswählen eines Bildes vorgenommen hat.
-
Zum Beispiel können die hierin aufgeführten Ausführungsformen einen Bildauswahlassistenten bereitstellen, bevor der Benutzer überhaupt ein Bild auswählt. Ein derartiger Assistent kann Fragen wie zum Beispiel „Was möchten Sie mit Ihrer Instanz tun: (a) Web-Hosting (b) Dateisystem (c) Anwendungsentwicklung?” vorlegen. Derartige Fragenkataloge werden mit spezielleren Fragen fortgesetzt, um dem Benutzer am Ende eine schmale Auswahl bereitzustellen.
-
Alternativ kann ein Benutzer zunächst ein Bild auswählen, und anschließend fragt das System, was der Benutzer mit dem Bild tun möchte, wobei Fragen wie zum Beispiel: „Was möchten Sie mit Ihrer Instanz tun: (a) Entwicklung (b) Produktionsdatenbank”; „Welche monatliche Zunahme der Datenmenge erwarten Sie bei Ihrem Produktionsdatenbank-Server?: (a) 10 GB (b) 50 GB (c) 100 GB (d) Über 100 GB”; usw.
-
1 ist ein Ablaufplan, der verschiedene mittels Computer realisierte Verfahren veranschaulicht, die hierin beschrieben sind. Beginnend bei Element 300 beginnt die Verarbeitung, indem in mindestens einer Datenverarbeitungseinheit eine Anfrage von einem willkürlich benannten „ersten” Benutzer empfangen wird. Der erste Benutzer kann mindestens eine Instanz innerhalb einer Cloud-Computing-Umgebung ausführen. Im hierin verwendeten Sinne weist eine „Instanz” ein Softwareprogramm aus Anweisungen auf, das innerhalb der Cloud-Computing-Umgebung ausgeführt wird, indem Ressourcen der Cloud-Computing-Umgebung genutzt werden. Das Softwareprogramm führt eine vom ersten Benutzer gewünschte bestimmte Funktion aus. Zum Beispiel wird der Begriff „Instanz” in Bezug auf Datenbanken normalerweise verwendet, um eine vollständige Datenbankumgebung einschließlich der Software, Tabellenstruktur, gespeicherter Prozeduren und anderer Funktionalitäten zu beschreiben. Der Begriff „Instanz” wird meistens gebraucht, wenn Administratoren mehrere Instanzen derselben Datenbank beschreiben.
-
Unter kurzzeitiger Bezugnahme auf 2 veranschaulichen die Elemente 351 bis 355 verschiedene, mit einer Cloud-Computing-Umgebung 350 verbundene computergestützte Einheiten, mit denen unterschiedliche Benutzer (Benutzer 1 bis Benutzer 5) arbeiten. Innerhalb der Cloud-Computing-Umgebung 350 bestehen verschiedene Instanzen 361 bis 366. Die verschiedenen Instanzen 361 bis 366 können sich in vielen unterschiedlichen Zuständen befinden: im ausgeführten Zustand, im inaktiven Zustand, im Bereitstellungszustand usw. Jeder der Benutzer 351 bis 355 kann mit mehr als einer Instanz arbeiten.
-
In 1 kann die Anforderung in Element 300 eine Reaktion eines Benutzers auf eine automatische Eingabeaufforderung sein, kann in Form einer Benutzereingabe auf einen Auswahlassistenten vorliegen, der auf den Datenverarbeitungseinheiten betrieben wird, kann in Form zuvor gespeicherter Anforderungen periodischer Feeds vorliegen usw. Mit anderen Worten, wenn der erste Benutzer eine Instanz nutzt, können die hierin aufgeführten Ausführungsformen dem Benutzer automatisch Fragen stellen, um die Absichten und Ziele des ersten Benutzers in Bezug auf die Instanz zu ermitteln. Reaktionen auf derartige Fragen würden die in Element 300 gezeigte Anforderung bereitstellen. Alternativ kann der Benutzer ein Instanzassistent-Softwareprogramm starten und dem Assistentenprogramm Eingaben bereitstellen, um die Anforderung in Element 300 bereitzustellen. Ebenso können im Voraus eingerichtete Feed-Anforderungen die Anforderung in Element 300 bereitstellen. Dem Fachmann ist klar, dass es viele weitere Möglichkeiten gibt, um eine Anforderung mithilfe einer Datenverarbeitungseinheit bereitzustellen und die hierin aufgeführten Anforderungen alle diese verschiedenen Möglichkeiten des Empfangens einer Anforderung einschließen.
-
In Element 302 erkennt das beispielhafte Verfahren die anderen Instanzen innerhalb der Cloud-Computing-Umgebung. Andere Benutzer, die sich vom ersten Benutzer unterscheiden, arbeiten mit den anderen Benutzerinstanzen. Derartige anderen Instanzen können in Element 302 erkannt werden, indem Instanzen erkannt und analysiert werden, die innerhalb der Cloud-Computing-Umgebung gerade ausgeführt werden, indem Instanzen erkannt und analysiert werden, die in der Cloud-Computing-Umgebung gestoppt wurden, indem Instanzen erkannt und analysiert werden, die in der Cloud-Computing-Umgebung gerade gestoppt werden, indem Instanzen erkannt und analysiert werden, die in der Cloud-Computing-Umgebung fehlgeschlagen sind, indem Instanzen erkannt und analysiert werden, die in der Cloud-Computing-Umgebung gerade bereitgestellt werden, indem Instanzen erkannt und analysiert werden, die in der Cloud-Computing-Umgebung gerade neu gestartet werden, usw. Dem Fachmann ist klar, dass es viele weitere Möglichkeiten gibt, um die anderen Instanzen durch eine Datenverarbeitungseinheit zu erkennen und die hierin aufgeführten Anforderungen alle diese verschiedenen Möglichkeiten des Erkennens von Instanzen innerhalb der Cloud-Computing-Umgebung einschließen.
-
In Element 304 analysiert das Verfahren unter Verwendung der Datenverarbeitungseinheiten automatisch die erste Benutzerinstanz, um Eigenschaften der ersten Benutzerinstanz zu erzeugen, und in Element 306 analysiert das Verfahren automatisch Eigenschaften der anderen Benutzerinstanzen, die innerhalb der Cloud-Computing-Umgebung ausgeführt werden (hierin manchmal als „zweite Eigenschaften” bezeichnet). Zu den Eigenschaften der ersten Benutzerinstanz und zu den zweiten Eigenschaften können solche Elemente wie die Klassifizierung der genutzten Softwareprogramme, die genutzten Ressourcen, die Nutzungsquoten, die Nutzungsanforderungen, der Verlauf der Instanz usw. gehören. Die in den Elementen 304 und 306 durchgeführte Analyse kann gleichzeitig oder nacheinander durchgeführt werden.
-
In Element 308 gleicht das Verfahren automatisch die erste Benutzerinstanz mit denen der anderen Benutzerinstanzen ab. Wiederum unter Verwendung der Datenverarbeitungseinheiten findet der Prozess des Abgleichens in Element 308 zwischen den zweiten Eigenschaften der anderen Benutzerinstanzen und den Eigenschaften der ersten Benutzerinstanz Übereinstimmungen. Beim Durchführen des Prozesses des Abgleichens in Element 308 können verschiedene Voreinstellungen oder vom Benutzer einstellbare Parameter genutzt werden, um zu ermitteln, ob eine dieser zweiten Eigenschaften mit Eigenschaften der ersten Benutzerinstanz übereinstimmt. Wenn zum Beispiel eine bestimmte Eigenschaft „Nutzungsquote” oder „Verarbeitungsquote” bewertet wird, kann der einstellbare Parameter ein Prozentsatz (wie zum Beispiel 90%) sein, und die zweite Eigenschaft kann mit der Eigenschaft der ersten Benutzerinstanz übereinstimmen, wenn die zweite Eigenschaft innerhalb von 90% der Eigenschaft der ersten Benutzerinstanz liegt. Dem Fachmann ist klar, dass viele unterschiedliche einstellbare Parameter verwendet werden könnten, um zu bewerten, ob in Element 308 bestimmte Eigenschaften übereinstimmen.
-
Ebenfalls unter Verwendung der Datenverarbeitungseinheiten erkennt das Verfahren in Element 310 automatisch Cloud-Computing-Optionen, die von solchen anderen Benutzern ausgewählt wurden, die mit den übereinstimmenden Instanzen arbeiten. Bei den Cloud-Computing-Optionen kann es sich um Konfigurations- und Auswahlmöglichkeiten handeln. Wenn ein Benutzer zum Beispiel mit einer Instanz arbeitet, kann er eine große Vielfalt von Optionen haben, die eingegeben oder aus Menüauswahlen ausgewählt werden, und diese Options-/Menüauswahlen werden in Element 310 erkannt. Anschließend ermittelt das Verfahren in Element 312, welche der ausgewählten Optionen der übereinstimmenden Instanzen die in Element 300 empfangene Anforderung betreffen. Das Element 312 kann durchgeführt werden, indem exakte Optionsauswahlen abgeglichen werden, indem Kategorien von Optionsauswahlen abgeglichen werden usw.
-
In Element 314 können die hierin aufgeführten Verfahren wahlweise diese Optionsauswahlen abgleichen, indem zum Beispiel eine statistische Analyse durchgeführt wird, Data-Mining und Data-Clustering durchgeführt werden, eine Optimierungsanalyse durchgeführt wird, eine selektive Filterung von Optionen durchgeführt wird usw. Die Analyse in Element 314 kann eine Einstufung von Optionen erzeugen (bei der zum Beispiel die populärsten oder optimierten Optionen an der ersten Stelle eingestuft werden); eine reduzierte Menge von Optionen erzeugen (um zu vermeiden, dass der erste Benutzer mit zu vielen Optionen überschüttet wird); unangemessene Optionen herausfiltern (zum Beispiel auf der Grundlage von Alterseinschränkungen, Geschmack und gesellschaftlichen Normen); usw.
-
In Element 316 gibt das Verfahren unter Verwendung der Datenverarbeitungseinheiten dem ersten Benutzer Empfehlungen. Die Empfehlungen stellen die Cloud-Computing-Optionen bereit, die durch die anderen Benutzer innerhalb der übereinstimmenden Instanzen ausgewählt wurden. Wenn es sich bei der Anforderung zum Beispiel um eine Anforderung einer Bildressource handelt, können die Empfehlungen Optionen aufweisen, die die Bildressource betreffen. Ebenso können die Empfehlungen Optionen aufweisen, die ein Software-Upgrade betreffen, wenn es bei der Anforderung um ein Software-Upgrade geht.
-
In Element 318 kann das Verfahren Rückmeldungen vom ersten Benutzer als Reaktion auf die Empfehlungen empfangen. Daher können, wenn die Empfehlungen in Element 316 gegeben werden, dem ersten Benutzer weitere Fragen vorgelegt werden, um dem ersten Benutzer zu ermöglichen, die Absichten und Ziele zu verfeinern, die in Element 300 empfangen wurden. Anschließend kann der Prozess in Element 320 auf der Grundlage der Rückmeldungen die Empfehlungen automatisch verfeinern, indem er zu Element 300 zurückkehrt und den Prozess innerhalb der neu verfeinerten Absichten und Ziele wiederholt.
-
Dem Fachmann wird klar sein, dass Aspekte der vorliegenden Beschreibung der Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert sein können. Dementsprechend können Aspekte der vorliegenden Beschreibung die Form einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (einschließlich Firmware, residenter 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 Offenbarung die Form eines Computerprogrammprodukts annehmen, das auf mindestens einem computerlesbaren Medium verkörpert ist, auf dem bzw. denen computerlesbarer Programmcode verkörpert ist.
-
Es können beliebige Kombinationen mindestens eines computerlesbaren Mediums verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Zu computerlesbaren Speichermedien können beispielsweise, ohne darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches oder elektromagnetisches System bzw. ein Infrarot- oder Halbleitersystem bzw. eine derartige Vorrichtung oder Einheit oder eine beliebige geeignete Kombination des Vorstehenden gehören. Zu den genaueren Beispielen (unvollständige Liste) computerlesbarer Speichermedien zählen unter anderem folgende: eine elektrische Verbindung mit mindestens einer Leitung, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine beliebige geeignete Kombination 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 Programmcode aufweisen. Ein derartiges übertragenes Signal kann eine beliebige Vielfalt von Formen annehmen, einschließlich, ohne darauf beschränkt zu sein, einer elektromagnetischen oder optischen Form oder einer beliebigen geeigneten Kombination 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, einschließlich, ohne darauf beschränkt zu sein, drahtloser, drahtgebundener Medien, Lichtwellenleitern, HF usw. oder unter Verwendung einer beliebigen geeigneten Kombination des Vorstehenden übertragen werden.
-
Computerprogrammcode zum Ausführen von Operationen bei Aspekten der vorliegenden Offenbarung kann in einer beliebigen Kombination aus mindestens einer Programmiersprache, darunter in einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und in herkömmlichen prozeduralen Programmiersprachen wie beispielsweise „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 über 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 Offenbarung unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Beschreibung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder der D-2-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 anderen programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel zum Realisieren der in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebenen Funktionen/Aktionen schaffen.
-
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 Erzeugnis schaffen, das die Anweisungen aufweist, die die in einem Block bzw. in den Blöcken des Ablaufplans und/oder des Blockschaltbildes angegebene Funktion/Aktion realisieren.
-
Die 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 wird, 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.
-
Eine repräsentative Hardwareumgebung zur praktischen Umsetzung der Ausführungsformen ist in 3 abgebildet. Diese schematische Darstellung veranschaulicht eine Hardwarekonfiguration eines Informationsverarbeitungs-/ Computersystems gemäß den Ausführungsformen der Offenbarung. Das System weist mindestens einen Prozessor oder eine zentrale Verarbeitungseinheit (Central Processing Unit, CPU) 10 auf. Die CPUs 10 sind über den Systembus 12 mit verschiedenen Einheiten wie zum Beispiel Direktzugriffsspeicher (Random Access Memory, RAM) 14, Nur-Lese-Speicher (Read-only Memory, ROM) 16 und einem Eingabe-/Ausgabe-Adapter (E/A-Adapter) 18 verbunden. Der E/A-Adapter 18 kann eine Verbindung zu peripheren Einheiten wie zum Beispiel Platteneinheiten 11 und Bandlaufwerken 13 oder zu anderen Programmspeichereinheiten herstellen, die durch das System gelesen werden können. Das System kann die erfindungsgemäßen Anweisungen auf den Programmspeichereinheiten lesen und diesen Anweisungen folgen, um die Methodik der Ausführungsformen der Offenbarung auszuführen. Zum System gehört ferner ein Benutzerschnittstellenadapter 19, der eine Tastatur 15, Maus 17, einen Lautsprecher 24, ein Mikrofon 22 und/oder andere Benutzerschnittstelleneinheiten wie zum Beispiel eine Touchscreen-Einheit (nicht gezeigt) mit dem Bus 12 verbindet, um Benutzereingaben zu erfassen. Außerdem verbindet ein Datenaustauschadapter 20 den Bus 12 mit einem Datenverarbeitungsnetzwerk 25, und ein Anzeigeadapter 21 verbindet den Bus 12 mit einer Anzeigeeinheit 23, die als Ausgabeeinheit wie zum Beispiel als Monitor, Drucker oder Übertragungseinheit verkörpert sein kann.
-
Der Prozessor 10 analysiert automatisch die erste Benutzerinstanz, um Eigenschaften der ersten Benutzerinstanz zu erzeugen, und er analysiert zweite Eigenschaften der anderen Benutzerinstanzen, die innerhalb der Cloud-Computing-Umgebung ausgeführt werden. Andere Benutzer, die sich vom ersten Benutzer unterscheiden, arbeiten mit den anderen Benutzerinstanzen. Der Prozessor 10 gleicht automatisch die erste Benutzerinstanz mit anderen Benutzerinstanzen ab, indem er ermittelt, welche der anderen Benutzerinstanzen die zweiten Eigenschaften aufweisen, die mit den Eigenschaften der ersten Benutzerinstanz übereinstimmen. Anschließend erkennt der Prozessor 10 automatisch Cloud-Computing-Optionen, die von den anderen Benutzern innerhalb der übereinstimmenden Instanzen ausgewählt wurden, die die Anforderung betreffen. Anschließend kann die Benutzerschnittstelle dem ersten Benutzer automatisch Empfehlungen geben, wobei zu diesen Empfehlungen die Cloud-Computing-Optionen gehören, die innerhalb der übereinstimmenden Instanzen ausgewählt wurden.
-
Der Ablaufplan und die Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß den verschiedenen Ausführungsformen der vorliegenden Offenbarung der Erfindung. Dementsprechend kann jeder einzelne Block im Ablaufplan bzw. in den Blockschaltbildern ein Modul, ein Segment oder einen Teil des Codes darstellen, der mindestens eine ausführbare Anweisung zur Realisierung der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Außerdem sollte beachtet werden, dass bei einigen alternativen Realisierungsformen die im Block angegebenen Funktionen in einer anderen als der in den Figuren angegebenen Reihenfolge ausgeführt werden können. Beispielsweise können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der damit verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der dargestellten Blockschaltbilder und/oder des dargestellten Ablaufplans sowie Kombinationen von Blöcken in den dargestellten Blockschaltbildern und/oder im dargestellten Ablaufplan mithilfe von bestimmten Zwecken dienenden, hardwaregestützten Systemen zur Ausführung der angegebenen Funktionen bzw. Aktionen oder mithilfe von Kombinationen aus bestimmten Zwecken dienender Hardware und Computeranweisungen realisiert werden kann bzw. können.
-
Zu Bereitstellungsarten gehören das direkte Laden in die Client-, Server- und Proxy-Computer mithilfe des Ladens eines Speichermediums wie zum Beispiel einer CD, DVD usw. Die Prozesssoftware kann auch automatisch oder halbautomatisch in einem Computersystem bereitgestellt werden, indem die Prozesssoftware an einen zentralen Server oder an eine Gruppe zentraler Server gesendet wird. Die Prozesssoftware wird dann in die Client-Computer heruntergeladen, die die Prozesssoftware ausführen. Die Prozesssoftware wird per eMail direkt an das Client-System gesendet. Die Prozesssoftware wird dann entweder in ein Verzeichnis herausgelöst oder mithilfe einer Schaltfläche in der eMail in ein Verzeichnis geladen, in dem ein Programm ausgeführt wird, das die Prozesssoftware in ein Verzeichnis herauslöst. Die Prozesssoftware wird direkt in ein Verzeichnis auf der Festplatte des Client-Computers gesendet. Bei Vorhandensein von Proxy-Servern wählt der Prozess den Code des Proxy-Servers, ermittelt, auf welchen Computern der Code der Proxy-Server abgelegt werden soll, überträgt den Code des Proxy-Servers und installiert danach den Code des Proxy-Servers auf dem Proxy-Computer. Die Prozesssoftware wird zum Proxy-Server übertragen und danach auf dem Proxy-Server gespeichert.
-
Obwohl es sich versteht, dass die Verfahrenssoftware durch direktes Laden von einem Speichermedium wie beispielsweise einer CD, DVD usw. in die Client-, Server- oder Proxy-Computer bereitgestellt werden kann, kann die Verfahrenssoftware auch automatisch oder halbautomatisch in einem Computersystem bereitgestellt werden, indem die Prozesssoftware an einen zentralen Server oder an eine Gruppe zentraler Server gesendet wird. Die Prozesssoftware wird dann in die Client-Computer heruntergeladen, die die Prozesssoftware ausführen. Alternativ wird die Prozesssoftware per eMail direkt an das Client-System gesendet. Die Prozesssoftware wird dann entweder in ein Verzeichnis herausgelöst oder mithilfe einer Schaltfläche in der eMail in ein Verzeichnis geladen, in dem ein Programm ausgeführt wird, das die Prozesssoftware in ein Verzeichnis herauslöst. Eine weitere Alternative besteht darin, die Prozesssoftware direkt in ein Verzeichnis auf der Festplatte des Client-Computers zu senden. Bei Vorhandensein von Proxy-Servern wählt der Prozess den Code des Proxy-Servers, ermittelt, auf welchen Computern der Code der Proxy-Server abgelegt werden soll, überträgt den Code des Proxy-Servers und installiert danach den Code des Proxy-Servers auf dem Proxy-Computer. Die Prozesssoftware wird zum Proxy-Server übertragen und danach auf dem Proxy-Server gespeichert.
-
Wie in 4 gezeigt, beginnt Schritt 100 die Bereitstellung der Prozesssoftware. Die erste Aufgabe besteht darin, zu ermitteln, ob es beliebige Programme gibt, die sich auf einem Server oder auf Servern befinden, wenn die Prozesssoftware ausgeführt wird 101. Wenn dies der Fall ist, werden die Server erkannt 209, die die ausführbaren Elemente enthalten. Die Prozesssoftware für den oder die Server wird über FTP oder ein anderes Protokoll oder durch Kopieren unter Verwendung eines Systems zur gemeinsamen Dateinutzung direkt in den Speicher der Server übertragen 210. Die Prozesssoftware wird dann auf den Servern installiert 211.
-
Als Nächstes wird eine Ermittlung dahingehend durchgeführt, ob die Prozesssoftware dadurch bereitzustellen ist, dass Benutzer Zugriff auf die Prozesssoftware auf einem Server oder auf den Servern haben 102. Wenn die Benutzer auf die auf Servern befindliche Prozesssoftware zugreifen müssen, werden die Server-Adressen erkannt 103, auf denen die Prozesssoftware gespeichert wird.
-
Es wird eine Ermittlung durchgeführt, ob ein Proxy-Server einzurichten 200 ist, auf dem die Prozesssoftware gespeichert werden soll. Ein Proxy-Server ist ein Server, der sich zwischen einer Client-Anwendung wie zum Beispiel einem Web-Browser und einem realen Server befindet. Er fängt alle an den realen Server gerichteten Anforderungen ab, um festzustellen, ob er selbst die Anforderungen erfüllen kann. Wenn nicht, leitet er die Anforderung an den realen Server weiter. Die beiden Hauptvorteile eines Proxy-Servers bestehen in einer Leistungsverbesserung und in der Filterung von Anforderungen. Wenn ein Proxy-Server benötigt wird, wird der Proxy-Server installiert 201. Die Prozesssoftware wird entweder über ein Protokoll wie zum Beispiel FTP an die Server gesendet, oder sie wird über die gemeinsame Dateinutzung direkt von den Quelldateien auf die Server-Dateien kopiert 202. Eine weitere Ausführungsform würde darin bestehen, eine Transaktion an die Server zu senden, die die Prozesssoftware enthielten, die Server die Transaktion verarbeiten zu lassen und dann die Prozesssoftware zu empfangen und auf das Dateisystem der Server zu kopieren. Sobald die Prozesssoftware auf den Servern gespeichert ist, greifen 203 die Benutzer über ihre Client-Computer auf die Prozesssoftware auf den Servern zu und kopieren sie auf die Dateisysteme ihrer Client-Computer. Eine weitere Ausführungsform besteht darin, die Server automatisch die Prozesssoftware auf jeden Client kopieren zu lassen und dann auf jedem Client-Computer das Installationsprogramm für die Prozesssoftware auszuführen. Der Benutzer führt das Programm aus, das die Prozesssoftware auf seinem Client-Computer installiert 212, und beendet danach den Prozess 108.
-
In Schritt 104 wird eine Ermittlung dahingehend durchgeführt, ob die Prozesssoftware bereitgestellt werden soll, indem die Prozesssoftware per eMail an Benutzer gesendet wird. Die Gruppe von Benutzern, bei der die Prozesssoftware bereitgestellt wird, wird zusammen mit den Adressen der Client-Computer der Benutzer erkannt 105. Die Prozesssoftware wird per eMail an jeden Client-Computer der Benutzer gesendet. Die Benutzer empfangen dann die eMail 205 und lösen 206 anschließend die Prozesssoftware aus der eMail in ein Verzeichnis auf ihren Client-Computern heraus. Der Benutzer führt das Programm aus, das die Prozesssoftware auf seinem Client-Computer installiert 212, und beendet danach den Prozess 108.
-
Schließlich wird eine Ermittlung dahingehend durchgeführt, ob die Prozesssoftware direkt an Verzeichnisse der Benutzer auf ihren Client-Computern gesendet wird 106. Wenn ja, werden die Benutzerverzeichnisse erkannt 107. Die Prozesssoftware wird direkt auf das Verzeichnis auf dem Client-Computer des Benutzers übertragen 207. Dies kann auf mehreren Wegen geschehen, beispielsweise und ohne darauf beschränkt zu sein, durch gemeinsame Nutzung von Dateisystemverzeichnissen und anschließendes Kopieren vom Dateisystem des Absenders auf das Dateisystem des Empfängers oder alternativ durch Nutzung eines Übertragungsprotokolls wie zum Beispiel File Transfer Protocol (FTP). Zur Vorbereitung auf das Installieren der Prozesssoftware greifen 208 die Benutzer auf die Dateisysteme ihrer Clients zu. Der Benutzer führt das Programm aus, das die Prozesssoftware auf seinem Client-Computer installiert 212, und beendet danach den Prozess 108.
-
Die Prozesssoftware, die in einen Client, Server und in eine Netzwerkumgebung integriert wird, indem Vorkehrungen getroffen werden, dass sie und Software von Anwendungen, Betriebssystemen und Netzwerkbetriebssystemen nebeneinander bestehen können, und die Prozesssoftware anschließend auf den Clients und Servern in der Umgebung installiert wird, in der die Prozesssoftware arbeiten wird.
-
Der erste Schritt besteht darin, jegliche Software, die von der Prozesssoftware benötigt wird oder in Verbindung mit der Prozesssoftware arbeitet, auf den Clients und Servern einschließlich des Netzwerkbetriebssystems zu erkennen, auf denen bzw. dem die Prozesssoftware bereitgestellt wird. Hierzu gehört das Netzwerkbetriebssystem, bei dem es sich um Software handelt, die ein Basisbetriebssystem durch Hinzufügen von Vernetzungsfunktionen erweitert.
-
Als Nächstes werden die Softwareanwendungen und Versionsnummern erkannt und mit der Liste von Softwareanwendungen und Versionsnummern verglichen, bei denen geprüft wurde, dass sie mit der Prozesssoftware zusammenarbeiten. Fehlende Softwareanwendungen oder solche, die nicht mit der korrekten Version übereinstimmen, werden mit den korrekten Versionsnummern aktualisiert. Programmanweisungen, die Parameter aus der Prozesssoftware an die Softwareanwendungen übergeben, werden geprüft, um zu gewährleisten, dass die Parameterlisten mit den Parameterlisten übereinstimmen, die von der Prozesssoftware benötigt werden. Umgekehrt werden Parameter, die durch die Softwareanwendungen an die Prozesssoftware übergeben werden, geprüft, um zu gewährleisten, dass die Parameter mit den Parametern übereinstimmen, die von der Prozesssoftware benötigt werden. Die Client- und Server-Betriebssysteme einschließlich der Netzwerkbetriebssysteme werden erkannt und mit der Liste von Betriebssystemen, Versionsnummern und Netzwerksoftware verglichen, bei denen bzw. bei der geprüft wurde, dass sie mit der Prozesssoftware zusammenarbeiten bzw. zusammenarbeitet. Jene Betriebssysteme, Versionsnummern und Netzwerksoftware, die nicht mit der Liste der geprüften Betriebssysteme und Versionsnummern übereinstimmen bzw. übereinstimmt, werden bzw. wird auf den Clients und Servern auf den erforderlichen Versionsstand aktualisiert.
-
Nachdem gewährleistet ist, dass die Software dort, wo die Prozesssoftware bereitgestellt werden soll, auf dem korrekten Versionsstand ist, von dem geprüft wurde, dass er mit der Prozesssoftware zusammenarbeitet, wird die Integration durch Installieren der Prozesssoftware auf den Clients und Servern abgeschlossen.
-
Wie in 5 gezeigt, beginnt Schritt 220 die Integration der Prozesssoftware. Die erste Aufgabe besteht darin, zu ermitteln, ob es beliebige Prozesssoftwareprogramme gibt, die auf einem Server oder auf Servern 221 ausgeführt werden. Wenn dies nicht der Fall ist, geht die Integration zu 227 über. Wenn ja, werden die Server-Adressen erkannt 222. Die Server werden geprüft, um festzustellen, ob sie Software enthalten, die das Betriebssystem, Anwendungen und das Netzwerkbetriebssystem mit ihren Versionsnummern aufweisen, die in Verbindung mit der Prozesssoftware geprüft wurden 223. Die Server werden außerdem geprüft, um zu ermitteln, ob beliebige Software fehlt, die von der Prozesssoftware benötigt wird 223.
-
Es wird eine Ermittlung dahingehend durchgeführt, ob die Versionsnummern mit den Versionsnummern von Betriebssystem, Anwendungen und Netzwerkbetriebssystem übereinstimmen, die in Verbindung mit der Prozesssoftware geprüft wurden 224. Wenn alle Versionen übereinstimmen und keine erforderliche Software fehlt, wird die Integration in 227 fortgesetzt.
-
Wenn mindestens eine der Versionsnummern nicht übereinstimmt, werden die nicht übereinstimmenden Versionen auf dem Server bzw. auf den Servern mit den korrekten Versionen aktualisiert 225. Außerdem wird bei fehlender erforderlicher Software die Software auf dem Server bzw. auf den Servern aktualisiert 225. Die Server-Integration wird durch Installieren der Prozesssoftware abgeschlossen 226.
-
Der Schritt 227, der entweder auf 221, 224 oder 226 folgt, ermittelt, ob es beliebige Programme der Prozesssoftware gibt, die auf den Clients ausgeführt wird. Wenn keine Prozesssoftwareprogramme auf den Clients ausgeführt werden, geht die Integration zu 230 über und beendet den Ablauf. Wenn dies nicht der Fall ist, werden die Client-Adressen erkannt 228.
-
Die Clients werden geprüft, um festzustellen, ob sie Software enthalten, die das Betriebssystem, Anwendungen und das Netzwerkbetriebssystem mit ihren Versionsnummern aufweisen, die in Verbindung mit der Prozesssoftware geprüft wurden 229. Die Clients werden außerdem geprüft, um zu ermitteln, ob beliebige Software fehlt, die von der Prozesssoftware benötigt wird 229.
-
Es wird eine Ermittlung dahingehend durchgeführt, ob die Versionsnummern mit den Versionsnummern von Betriebssystem, Anwendungen und Netzwerkbetriebssystem übereinstimmen, die in Verbindung mit der Prozesssoftware geprüft wurden 231. Wenn alle Versionen übereinstimmen und keine erforderliche Software fehlt, geht die Integration zu 230 über und beendet den Ablauf.
-
Wenn mindestens eine der Versionsnummern nicht übereinstimmt, werden die nicht übereinstimmenden Versionen auf den Clients mit den korrekten Versionen aktualisiert 232. Außerdem wird bei fehlender erforderlicher Software die Software auf den Clients aktualisiert 232. Die Client-Integration wird durch Installieren der Prozesssoftware auf den Clients abgeschlossen 226. Die Integration geht zu 230 über und beendet den Ablauf.
-
Die Prozesssoftware kann auf einem gemeinsam genutzten Dateisystem gespeichert sein, das von mindestens einem Server aus zugänglich ist. Die Prozesssoftware wird über Transaktionen ausgeführt, die Daten und Server-Verarbeitungsanforderungen enthalten, die CPU-Einheiten auf dem Server nutzen, auf den der Zugriff erfolgte. CPU-Einheiten sind Zeiteinheiten wie zum Beispiel Minuten, Sekunden oder Stunden auf dem Zentralprozessor des Servers. Außerdem kann der bewertete Server andere Server anfordern, die CPU-Einheiten benötigen. CPU-Einheiten sind ein Beispiel, das lediglich eine Messung der Verwendung darstellt. Zu anderen Messungen der Verwendung gehören, ohne darauf beschränkt zu sein, die Netzwerkbandbreite, Arbeitsspeichernutzung, Speichernutzung, Paketübertragungen, vollständige Transaktionen usw. Wenn mehrere Kunden dieselbe Prozesssoftwareanwendung nutzen, werden ihre Transaktionen durch die in den Transaktionen enthaltenen Parameter unterschieden, die den eindeutigen Kunden und die Art des Dienstes für diesen Kunden kennzeichnen. Alle CPU-Einheiten und andere Messungen der Verwendung, die bei den Diensten für jeden Kunden genutzt werden, werden aufgezeichnet. Wenn die Zahl von Transaktionen zu einem beliebigen Server eine Anzahl erreicht, die sich auf das Betriebsverhalten dieses Servers auszuwirken beginnt, erfolgt der Zugriff auf andere Server, um die Kapazität zu erhöhen und die Auslastung zu verteilen. Ebenso werden weitere Netzwerkbandbreite, Arbeitsspeichernutzung, Speichernutzung usw. hinzugefügt, um die Auslastung zu verteilen, wenn sich andere Messungen der Verwendung wie zum Beispiel Netzwerkbandbreite Arbeitsspeichernutzung, Speicher usw. einer Kapazität nähern, die Auswirkungen auf das Betriebsverhalten hat. Die Messungen der Verwendung, die bei jedem Dienst und Kunden genutzt werden, werden an einen Erfassungsserver gesendet, der die Messungen der Verwendung für jeden Kunden bei jedem Dienst summiert, der an beliebiger Stelle in dem Netzwerk von Servern verarbeitet wurde, die die gemeinsame Ausführung der Prozesssoftware bereitstellen. Die summierten Messungen der Verwendungseinheiten werden regelmäßig mit Einheitenkosten multipliziert, und die sich ergebenden Gesamtkosten des Prozesssoftware-Anwendungsdienstes werden alternativ an den Kunden gesendet und/oder auf einer Website angezeigt, auf die der Kunde zugreift und anschließend dem Dienstanbieter gegenüber die Zahlung leistet. Bei einer weiteren Ausführungsform fordert der Dienstanbieter die Zahlung direkt von einem Kundenkonto bei einem Bank- oder Finanzinstitut an. Bei einer weiteren Ausführungsform wird die dem Dienstanbieter geschuldete Zahlung mit der Zahlung verrechnet, die der Dienstanbieter schuldet, um die Übermittlung von Zahlungen zu minimieren.
-
Die Prozesssoftware wird gemeinsam genutzt und bedient gleichzeitig mehrere Kunden in einer flexiblen, automatisierten Weise. Sie ist standardisiert, erfordert wenig Anpassung, ist skalierbar und stellt Kapazität bedarfsgerecht nach einem Modell der nutzungsabhängigen Preisgestaltung bereit.
-
Die Prozesssoftware kann auf einem gemeinsam genutzten Dateisystem gespeichert sein, das von mindestens einem Server aus zugänglich ist. Die Prozesssoftware wird über Transaktionen ausgeführt, die Daten und Server-Verarbeitungsanforderungen enthalten, die CPU-Einheiten auf dem Server nutzen, auf den der Zugriff erfolgte. CPU-Einheiten sind Zeiteinheiten wie zum Beispiel Minuten, Sekunden oder Stunden auf dem Zentralprozessor des Servers. Außerdem kann der bewertete Server andere Server anfordern, die CPU-Einheiten benötigen. CPU-Einheiten sind ein Beispiel, das lediglich eine Messung der Verwendung darstellt. Zu anderen Messungen der Verwendung gehören, ohne darauf beschränkt zu sein, die Netzwerkbandbreite, Arbeitsspeichernutzung, Speichernutzung, Paketübertragungen, vollständige Transaktionen usw.
-
Wenn mehrere Kunden dieselbe Prozesssoftwareanwendung nutzen, werden ihre Transaktionen durch die in den Transaktionen enthaltenen Parameter unterschieden, die den eindeutigen Kunden und die Art des Dienstes für diesen Kunden kennzeichnen. Alle CPU-Einheiten und andere Messungen der Verwendung, die bei den Diensten für jeden Kunden genutzt werden, werden aufgezeichnet. Wenn die Zahl von Transaktionen zu einem beliebigen Server eine Anzahl erreicht, die sich auf das Betriebsverhalten dieses Servers auszuwirken beginnt, erfolgt der Zugriff auf andere Server, um die Kapazität zu erhöhen und die Auslastung zu verteilen. Ebenso werden weitere Netzwerkbandbreite, Arbeitsspeichernutzung, Speichernutzung usw. hinzugefügt, um die Auslastung zu verteilen, wenn sich andere Messungen der Verwendung wie zum Beispiel Netzwerkbandbreite Arbeitsspeichernutzung, Speicher usw. einer Kapazität nähern, die Auswirkungen auf das Betriebsverhalten hat.
-
Die Messungen der Verwendung, die bei jedem Dienst und Kunden genutzt werden, werden an einen Erfassungsserver gesendet, der die Messungen der Verwendung für jeden Kunden bei jedem Dienst summiert, der an beliebiger Stelle in dem Netzwerk von Servern verarbeitet wurde, die die gemeinsame Ausführung der Prozesssoftware bereitstellen. Die summierten Messungen der Verwendungseinheiten werden regelmäßig mit Einheitenkosten multipliziert, und die sich ergebenden Gesamtkosten des Prozesssoftware-Anwendungsdienstes werden alternativ an den Kunden gesendet und/oder auf einer Website angezeigt, auf die der Kunde zugreift und anschließend dem Dienstanbieter gegenüber die Zahlung leistet. Bei einer weiteren Ausführungsform fordert der Dienstanbieter die Zahlung direkt von einem Kundenkonto bei einem Bank- oder Finanzinstitut an. Bei einer weiteren Ausführungsform wird die dem Dienstanbieter geschuldete Zahlung mit der Zahlung verrechnet, die der Dienstanbieter schuldet, um die Übermittlung von Zahlungen zu minimieren.
-
Wie in 6 gezeigt, beginnt Schritt 240 den On-Demand-Prozess. Es wird eine Transaktion erzeugt, die die eindeutige Kundenkennung, die angeforderte Dienstart und alle Dienstparameter enthält, die die Art des Dienstes 241 eingehender angeben. Die Transaktion wird anschließend an den Haupt-Server 242 gesendet. In einer On-Demand-Umgebung kann der Haupt-Server anfangs der einzige Server sein, wobei anschließend mit dem Kapazitätsverbrauch weitere Server zu der On-Demand-Umgebung hinzugefügt werden.
-
Die Kapazitäten der zentralen Verarbeitungseinheit (CPU) des Servers in der On-Demand-Umgebung werden abgefragt 243. Der CPU-Bedarf der Transaktion wird abgeschätzt, und anschließend wird die verfügbare CPU-Kapazität der Server in der On-Demand-Umgebung mit dem CPU-Bedarf der Transaktion verglichen, um festzustellen, ob in einem beliebigen Server eine ausreichende CPU-Kapazität zur Verfügung steht, um die Transaktion zu verarbeiten 244. Wenn keine ausreichende Server-CPU-Kapazität zur Verfügung steht, wird zusätzliche Server-CPU-Kapazität zugeordnet, um die Transaktion zu verarbeiten 248. Falls bereits eine ausreichende CPU-Kapazität zur Verfügung stand, wird die Transaktion zu einem ausgewählten Server gesendet 245.
-
Vor dem Ausführen der Transaktion wird eine Prüfung der übrigen On-Demand-Umgebung durchgeführt, um zu ermitteln, ob die Umgebung eine ausreichende verfügbare Kapazität zum Verarbeiten der Transaktion aufweist. Diese Umgebungskapazität besteht, ohne darauf beschränkt zu sein, aus solchen Elementen wie zum Beispiel Netzwerkbandbreite, Prozessorspeicher, Speicher usw. 246. Wenn keine ausreichende Kapazität zur Verfügung steht, wird der On-Demand-Umgebung Kapazität hinzugefügt 247. Als Nächstes erfolgt ein Zugriff auf die zur Verarbeitung der Transaktion erforderliche Software, die Software wird in den Arbeitsspeicher geladen, und anschließend wird die Transaktion ausgeführt 249.
-
Die Nutzungsmessungen werden aufgezeichnet 250. Die Nutzungsmessungen bestehen aus den Teilen der Funktionen in der On-Demand-Umgebung, die zur Verarbeitung der Transaktion verwendet werden. Zur Nutzung derartiger Funktionen gehören, ohne darauf beschränkt zu sein, Netzwerkbandbreite, Prozessorspeicher, Speicher und CPU-Zyklen, die aufgezeichnet werden. Die Nutzungsmessungen werden summiert, mit Einheitenkosten multipliziert und anschließend unter dem anfordernden Kunden als Gebühr aufgezeichnet 251. Wenn der Kunde darum gebeten hat, dass die On-Demand-Kosten an eine Website übermittelt werden sollen 252, werden sie übermittelt 253.
-
Wenn der Kunde darum gebeten hat, dass die On-Demand-Kosten per eMail an eine Kundenadresse gesendet werden sollen 254, werden sie gesendet 255. Wenn der Kunde darum gebeten hat, dass die On-Demand-Kosten direkt von einem Kundenkonto bezahlt werden sollen 256, wird die Zahlung direkt von dem Kundenkonto empfangen 257. Der letzte Schritt besteht darin, den On-Demand-Prozess zu beenden 258.
-
Die Bereitstellung und Ausführung der Prozesssoftware sowie der Zugriff darauf können durch die Verwendung eines virtuellen privaten Netzwerks (Virtual Private Network, VPN) erfolgen, bei dem es sich um eine Kombination von Technologien handelt, die zur Sicherung einer Verbindung über ein anderenfalls nicht gesichertes oder nicht vertrauenswürdiges Netzwerk verwendet werden können. Die Verwendung von VPNs geschieht mit dem Ziel, die Sicherheit zu verbessern und die Betriebskosten zu senken. Das VPN nutzt ein öffentliches Netzwerk, normalerweise das Internet, um voneinander entfernte Standorte oder Benutzer miteinander zu verbinden. Anstelle der Verwendung einer zweckgebundenen realen Verbindung wie zum Beispiel einer gemieteten Leitung, nutzt das VPN über das Internet verlaufende „virtuelle” Verbindungen vom privaten Netzwerk des Unternehmens zu dem entfernten Standort oder Mitarbeiter.
-
Die Bereitstellung und Ausführung der Prozesssoftware sowie der Zugriff darauf können entweder über ein Fernzugriffs-VPN (Remote-Access-VPN) oder über ein Site-to-Site-VPN (VPN zwischen Unternehmensstandorten) erfolgen. Bei Verwendung der Fernzugriffs-VPNs erfolgen die Bereitstellung und Ausführung der Prozesssoftware sowie der Zugriff darauf mithilfe der sicheren verschlüsselten Verbindungen zwischen einem privaten Netzwerk eines Unternehmens und entfernten Benutzer über einen anderen Dienstanbieter. Der Enterprise Service Provider (ESP) richtet einen Netzzugriffsserver (Network Access Server, NAS) ein und stellt den entfernten Benutzern Desktop-Client-Software für ihre Computer bereit. Die Telearbeiter können anschließend eine gebührenfreie Nummer wählen oder sich über ein Kabel- oder DSL-Modem direkt mit dem NAS verbinden und ihre VPN-Client-Software verwenden, um auf das Unternehmensnetzwerk zuzugreifen und auf die Prozesssoftware zuzugreifen, sie herunterzuladen und auszuführen.
-
Bei Verwendung des Site-to-Site-VPN erfolgen die Bereitstellung und Ausführung der Prozesssoftware sowie der Zugriff darauf über die Verwendung zweckgebundener Ausrüstungen und einer großflächigen Verschlüsselung, um mehrere feste Standorte eines Unternehmens über ein öffentliches Netzwerk wie zum Beispiel das Internet miteinander zu verbinden.
-
Die Prozesssoftware wird mithilfe einer Tunnelungstechnik über das VPN transportiert, bei der es sich um den Prozess des Ablegens eines ganzen Pakets innerhalb eines anderen Pakets und des Sendens des Pakets über das Netzwerk handelt. Das Protokoll des äußeren Pakets wird vom Netzwerk und beiden als Tunnelschnittstellen bezeichneten Punkten verstanden, an denen das Paket in das Netzwerk eintritt und es verlässt.
-
Wie in 7 gezeigt, beginnt Schritt 260 den Prozess des virtuellen privaten Netzwerks (VPN). Es wird eine Ermittlung vorgenommen, um festzustellen, ob ein VPN für den Fernzugriff erforderlich ist 261. Wenn es nicht erforderlich ist, erfolgt der Übergang zu 262. Wenn es erforderlich ist, wird ermittelt, ob das Fernzugriffs-VPN besteht 264.
-
Wenn es besteht, erfolgt der Übergang zu 265. Anderenfalls wird der andere Anbieter ermittelt, der die sicheren verschlüsselten Verbindungen zwischen dem privaten Netzwerk des Unternehmens und den entfernten Benutzern des Unternehmens bereitstellen wird 276. Die entfernten Benutzer des Unternehmens werden ermittelt 277. Der andere Anbieter richtet anschließend einen Netzzugriffsserver ein (NAS) 278, der es den entfernten Benutzern ermöglicht, eine gebührenfreie Nummer zu wählen oder sich über ein Kabel- oder DSL-Modem direkt zu verbinden, um auf die Desktop-Client-Software für das Fernzugriffs-VPN zuzugreifen und sie herunterzuladen und zu installieren 279.
-
Nachdem das Fernzugriffs-VPN eingerichtet ist oder falls es bereits zuvor installiert wurde, können die entfernten Benutzer auf die Prozesssoftware zugreifen, indem sie sich in den NAS einwählen oder sich über ein Kabel- oder DSL-Modem direkt mit dem NAS verbinden 265. Dies ermöglicht den Eintritt in das Unternehmensnetzwerk, in dem der Zugriff auf die Prozesssoftware erfolgt 266. Die Prozesssoftware wird mithilfe der Tunnelungstechnik über das Netzwerk zum Desktop des entfernten Benutzers transportiert. Das heißt, dass die Prozesssoftware in Pakete aufgeteilt und jedes Paket einschließlich der Daten und des Protokolls innerhalb eines anderen Pakets abgelegt wird 267. Wenn die Prozesssoftware beim Desktop des entfernten Benutzers eintrifft, wird sie aus den Paketen entfernt, wiederhergestellt und anschließend auf dem Desktop der entfernten Benutzer ausgeführt 268.
-
Es wird eine Ermittlung vorgenommen, um festzustellen, ob ein VPN für den Zugriff zwischen Standorten erforderlich ist 262. Wenn es nicht erforderlich ist, erfolgt der Übergang zum Beenden des Prozesses 263. Anderenfalls wird ermittelt, ob das Site-to-Site-VPN besteht 269. Wenn es besteht, erfolgt der Übergang zu 272. Anderenfalls wird die zweckgebundene Ausrüstung installiert, die zur Einrichtung eines Site-to-Site-VPN erforderlich ist 270. Anschließend wird eine großflächige Verschlüsselung im VPN eingerichtet 271.
-
Nachdem das Site-to-Site-VPN eingerichtet ist oder wenn es bereits zuvor eingerichtet wurde, greifen die Benutzer über das VPN auf die Prozesssoftware zu 272. Die Prozesssoftware wird mithilfe der Tunnelungstechnik über das Netzwerk zu den Standortbenutzern transportiert. Das heißt, dass die Prozesssoftware in Pakete aufgeteilt und jedes Paket einschließlich der Daten und des Protokolls innerhalb eines anderen Pakets abgelegt wird 274. Wenn die Prozesssoftware beim Desktop des entfernten Benutzers eintrifft, wird sie aus den Paketen entfernt, wiederhergestellt und auf dem Desktop der Standortbenutzer ausgeführt 275. Übergang zum Beenden des Prozesses 263.
-
Wenn es besteht, erfolgt der Übergang zu 265, wie in 8 gezeigt. Anderenfalls wird der andere Anbieter ermittelt, der die sicheren verschlüsselten Verbindungen zwischen dem privaten Netzwerk des Unternehmens und den entfernten Benutzern des Unternehmens bereitstellen wird 276. Die entfernten Benutzer des Unternehmens werden ermittelt 277. Der andere Anbieter richtet anschließend einen Netzzugriffsserver ein (NAS) 278, der es den entfernten Benutzern ermöglicht, eine gebührenfreie Nummer zu wählen oder sich über ein Kabel- oder DSL-Modem direkt zu verbinden, um auf die Desktop-Client-Software für das Fernzugriffs-VPN zuzugreifen und sie herunterzuladen und zu installieren 279.
-
Nachdem das Fernzugriffs-VPN eingerichtet ist oder falls es bereits zuvor installiert wurde, können die entfernten Benutzer auf die Prozesssoftware zugreifen, indem sie sich in den NAS einwählen oder sich über ein Kabel- oder DSL-Modem direkt mit dem NAS verbinden 265. Dies ermöglicht den Eintritt in das Unternehmensnetzwerk, in dem der Zugriff auf die Prozesssoftware erfolgt 266. Die Prozesssoftware wird mithilfe der Tunnelungstechnik über das Netzwerk zum Desktop des entfernten Benutzers transportiert. Das heißt, dass die Prozesssoftware in Pakete aufgeteilt und jedes Paket einschließlich der Daten und des Protokolls innerhalb eines anderen Pakets abgelegt wird 267. Wenn die Prozesssoftware beim Desktop des entfernten Benutzers eintrifft, wird sie aus den Paketen entfernt, wiederhergestellt und anschließend auf dem Desktop der entfernten Benutzer ausgeführt 268.
-
Es wird eine Ermittlung vorgenommen, um festzustellen, ob ein VPN für den Zugriff zwischen Standorten erforderlich ist 262. Wenn es nicht erforderlich ist, erfolgt der Übergang zum Beenden des Prozesses 263. Anderenfalls wird ermittelt, ob das Site-to-Site-VPN besteht 269. Wenn es besteht, erfolgt der Übergang zu 272. Anderenfalls wird die zweckgebundene Ausrüstung installiert, die zur Einrichtung eines Site-to-Site-VPN erforderlich ist 270. Anschließend wird eine großflächige Verschlüsselung im VPN eingerichtet 271.
-
Nachdem das Site-to-Site-VPN eingerichtet ist oder wenn es bereits zuvor eingerichtet wurde, greifen die Benutzer über das VPN auf die Prozesssoftware zu 272. Die Prozesssoftware wird mithilfe der Tunnelungstechnik über das Netzwerk zu den Standortbenutzern transportiert. Das heißt, dass die Prozesssoftware in Pakete aufgeteilt und jedes Paket einschließlich der Daten und des Protokolls innerhalb eines anderen Pakets abgelegt wird 274. Wenn die Prozesssoftware beim Desktop des entfernten Benutzers eintrifft, wird sie aus den Paketen entfernt, wiederhergestellt und auf dem Desktop der Standortbenutzer ausgeführt 275. Übergang zum Beenden des Prozesses 263.
-
Die im vorliegenden Dokument verwendete Terminologie dient ausschließlich zur Beschreibung bestimmter Ausführungsformen und ist nicht als Einschränkung der Offenbarung gedacht. Die hier verwendeten Einzahlformen „ein/eine” und „der/die/das” schließen auch die Pluralformen ein, sofern im Kontext nicht ausdrücklich etwas anderes angegeben ist. Es versteht sich des Weiteren, dass die Begriffe „weist auf” bzw. „aufweisen/aufweisend” bei Verwendung in der vorliegenden Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten bezeichnen, jedoch das Vorhandensein oder die Hinzufügung anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen.
-
Die entsprechenden Strukturen, Materialien, Aktionen und Äquivalente aller Mittel bzw. Schritt-plus-Funktion-Elemente (Step plus Function Elements) in den folgenden Ansprüchen sollen alle Strukturen, Materialien oder Aktionen zur Ausführung der Funktion in Verbindung mit anderen ausdrücklich beanspruchten Elementen mit einschließen. Die Beschreibung der vorliegenden Offenbarung soll der Veranschaulichung und Beschreibung dienen, ist jedoch nicht vollständig oder auf die Offenbarung in der offenbarten Form beschränkt. Für den Fachmann sind viele Modifikationen und Variationen denkbar, ohne dass diese eine Abweichung vom Schutzbereich und Gedanken der Offenbarung darstellen würden. Die Ausführungsform wurde ausgewählt und beschrieben, um die Grundgedanken und die praktische Anwendung der Offenbarung auf bestmögliche Weise zu erklären und anderen Fachleuten das Verständnis der Offenbarung für verschiedene Ausführungsformen mit verschiedenen Abänderungen für die betreffende betrachtete Verwendung zu ermöglichen.