-
Gebiet der Erfindung
-
Die Erfindung betrifft die Konfiguration
von Computern. Spezifischer, bezieht sie sich auf ein Verfahren und
System, um Konfigurationseinstellungen zwischen Computersystemen
automatisch zu transitionieren.
-
Hintergrund der Erfindung
-
Heutzutage, wo sich die Technologie
sehr schnell ändert,
ist es sehr üblich,
ein altes Computersystem alle paar Jahre durch ein neues Computersystem
zu ersetzen. Es wird geschätzt,
dass jedes Jahr ungefähr 90,000,000
Personalcomputer verkauft werden, wobei ca. 90% der Verkäufe dazu
dient, um alte Computersysteme durch neue Computersysteme zu ersetzen.
Die neuen Computersysteme enthalten typischerweise mehr Speicher,
größere Festplatten,
schnellere Zentraleinheiten, Monitore besserer Qualität, aktuellere
Versionen der Betriebssysteme, neue Softwareapplikationen und andere
verbesserte Features.
-
Jedes alte Computersystem enthält typischerweise
eine große
Anzahl von Konfigurationseinstellungen, die von einem Anwender oder
einem Netzwerkmanager hinzugefügt
wurden und/oder speziell eingestellt wurden. Die Konfigurationseinstellungen
können
Interneteinstellungen, Modem- oder andere Netzwerkeinstellungen,
Einwählnummern,
das "look and feel" einer Benutzeroberfläche, Einstellungen der Dateisystemverzeichnisse,
Applikationseinstellungen, Verzeichnisnamen und Orte, Makros und
Editieroptionen, speziell eingestellte Verzeichnisse, E-Mail-Adressbücher, Posteingangsfächer, Passwörter, Abonnements,
Zertifikate und andere Konfigurationen oder Einstellungen enthalten,
die von einem Anwender oder einem Netzwerkmanager eingesteht wurden,
oder andere verwendete Konfigurationsparameter, wie z. B. Cookies,
usw..
-
Ein Verfahren und ein System, um
die Konfiguration eines Computers, der mit einem Computernetzwerk
verbunden ist, zu verfolgen, ist im US-Patent 5,758,071 dargestellt,
derart dass Konfigurationsdaten unter Verwendung eines ersten Computers
wiederholt erhalten werden, wobei die Konfigurationsdaten Informationen über die
Konfiguration des ersten Computers enthalten. Die Konfigurationsdaten
werden automatisch über das
Computernetzwerk zu einem zweiten Computer gesendet, der mit dem
Netzwerk verbunden ist. Die Konfigurationsdaten werden unter Verwendung
des zweiten Computers in einer Konfigurationsdatenbank aufgezeichnet.
-
Es gibt mehrere Probleme, die mit
einer Transitionierung von einem alten Computersystem zu einem neuen
Computersystem verbunden sind. Erstens gibt es momentan keinen einfachen
Weg, um festzustellen, welche Konfigurationseinstellungen ein Anwender
oder ein Netzwerkadministrator speziell eingestellt haben, da es
keinen zentralen Ort gibt, an dem derartige Konfigurationsdaten
gespeichert werden. Betriebssysteme und andere Hardware- und Softwareapplikationen
haben typischerweise eigene Verzeichnisse und eigene Dateinamen,
um Konfigurationsdateien und Einstellungen zu speichern. Diese eigenen
Verzeichnisse und Konfigurationsdateien können tatsächlich überall auf einem alten Computersystem
existieren. Der Versuch Konfigurationseinstellungen zusammenzustellen,
ist eine schwierige Aufgabe. Der durchschnittliche Anwender oder Netzwerkadministrator
kann eine Menge Zeit damit zubringen, Dokumentationen oder Hilfsbildschirmausdrucke
lesen zu müssen,
um herauszubekommen, wo die Konfigurationsdateien für jede vorgegebene
Applikation gespeichert sind.
-
Ein weiteres Problem besteht darin,
dass es keinen einfachen Weg gibt, heterogene Konfigurationseinstellungen
zusammenzutragen und zu speichern, wenn sie lokalisiert sind. Das
Betriebssystem und Applikationen nutzen typischerweise eigene Datenlayouts
und Datenspeicherungsfeatures, die eine homogene Zusammenstellung
und Speicherung nicht gestatten.
-
Ein weiteres Problem besteht darin,
dass es keinen einfachen Weg gibt, alte Konfigurationseinstellungen
auf ein neues Computersystem zu übertragen.
Wenn ein neues Computersystem benutzt wird, muss ein Anwender oder
sein Beauftragter üblicherweise
das neue Computersystem rekonfigurieren, damit es die Konfigurationseinstellungen
enthält,
die auf dem alten Computersystem genutzt wurden. Alle bis auf die
elementarsten Teile des "Migrationsprozesses" werden von Hand vorgenommen.
Dies erfordert viele Stunden von Handarbeit mit verlorener Produktivität und einer
Resignation aufgrund einer Arbeit von Grund an. Viele Anwender entscheiden
sich oftmals dafür,
mit einem alten, überholten
Computersystem weiterzumachen, anstatt eine Migration und manuelle
Rekonfiguration durchzumachen, die bei einem neuen Computersystem
erforderlich ist.
-
Noch ein anderes Problem besteht
darin, dass die Konfigurationseinstellungen auf einem alten Computersystem
an einem neuen Ort, in einer neuen Datei oder in einem neuen Format
auf einem neuen Computersystem gespeichert werden können. Es
kann sein, dass eine alte Konfigurationseinstellung übersetzt
werden muss oder anderweitig modifiziert werden muss, um dieselben
Resultate auf dem Zielcomputersystem zu liefern. Derartige Übersetzungen
und/oder Modifikationen werden üblicherweise
von Hand vervollständigt
und sind anfällig
für Fehler,
die zu einer Frustration des Anwenders führen können.
-
Noch ein anderes Problem besteht
darin, dass die Migration auf ein neues Computersystem üblicherweise
ein Training der neuen Features des neuen Zielcomputersystems erfordert,
bevor die Migration vorgenommen werden kann. Dieses Training verzögert oftmals
den Migrationsprozess. Zusätzlich
kann ein manuell vorgenommener Migrationsprozess, der ohne entsprechendes
Training auf dem neuen Computersystem durchgeführt wird; die
Qualität
des Services auf dem neuen Computersystem vermindern, da eine oder
mehrere Konfigurationseinstellungen auf dem alten Computersystem übersehen
werden können
und nicht auf das neue Computersystem übertragen werden.
-
Noch ein weiteres Problem ist das
Jahr 2000 ("Y2K") Problem, welches Unternehmen dazu zwingen kann,
schnell eine große
Anzahl von Computersystemen auf neue Technologien vor dem Jahr 2000
zu migrieren. Die Belange der Migration angesichts eines Y2K-Zusammenbruchs
sind für
sich selbst ein drohendes Problem. Ein manueller Migrationsprozess
wird dazu führen,
die Komplexität
des Y2K-Problems noch zu steigern.
-
Somit ist es wünschenswert, automatisch die
Konfigurationseinstellungen zu bestimmen, die von einem Anwender
oder einem Netzwerkadministrator auf einem alten Computersystem
eingestellt wurden. Es ist außerdem
wünschenswert,
eine automatische Migration der Konfigurationseinstellungen von
einem alten Computersystem zu einem neuen Computersystem durchzuführen, ohne
einen zeitraubenden manuellen Migrationsprozess durchzuführen.
-
Zusammenfassung der Erfindung
-
Im Einklang mit bevorzugten Ausführungsformen
der vorliegenden Erfindung werden einige der Probleme, die im Zusammenhang
mit dem Übertragen
der Konfigurationseinstellungen von einem alten Computersystem zu
einem neuen Computersystem stehen, überwunden. Ein Verfahren und
ein System, um automatisch Konfigurationen zwischen Computersystemen
zu transitionieren wird durch die Erfindung entsprechend der Ansprüche 1 und
35 bereitgestellt. Ein Aspekt dieser Erfindung beinhaltet ein Verfahren
zum automatischen Transitionieren von Konfigurationseinstellungen
von einem Quellcomputersystem (d. h. alt) zu einem Zielcomputersystem
(d. h. neu).
-
Dieses Verfahren beinhaltet das Lokalisieren
mehrerer Konfigurationseinstellungen auf einem Quellcomputersystem,
wobei mehrere Transitionierungsregeln aus einem Personalityobjekt
benutzt werden. Die verschiedenen Konfigurationseinstellungen werden
aus verschiedenen Orten auf dem Quellcomputersystem extrahiert.
Die unterschiedlichen extrahierten Konfigurationseinstellungen werden
in einem vorbestimmten Transitionierungsformat auf dem Quellcomputersystem
gespeichert. Die verschiedenen extrahierten Konfigurationseinstellungen,
die in einem vorbestimmten Transitionierungsformat gespeichert werden,
werden bearbeitet. Ein Übersetzungspaket
wird aus den unterschiedlichen bearbeiteten Konfigurationseinstellungen
erzeugt, die in dem vorbestimmten Transitionierungsformat gespeichert
sind. Das Übersetzungspaket
wird dazu genutzt, um die verschiedenen bearbeiteten Konfigurationseinstellungen
von dem Quellcomputersystem zu einem Zielcomputersystem zu übertragen.
-
Das Übersetzungspaket wird auf ein
Zielcomputersystem übertragen
oder als Zwischenschritt im Transitionierungsprozess abgespeichert.
Das Übersetzungspaket
kann auch erzeugt werden, um dann auf einem Computersystem zwischengespeichert
zu werden. Das Übersetzungspaket
wird auf das Zielcomputersystem eingebracht, um die Konfigurationseinstellungen
vom Quellcomputersystem zum Zielcomputersystem zu transitionieren.
Die Konfigurationseinstellungen im Übersetzungspaket können optional überprüft werden,
um sicher zu gehen, dass die Konfigurationseinstellungen korrekt
auf das Zielcomputersystem angewendet worden sind.
-
Ein anderer Aspekt dieser Erfindung
beinhaltet ein automatisches Transitionierungssystem. Das System
umfasst eine Datenbank und eine Extraktionsapplikation, eine Erzeugungsapplikation,
eine Injektionsapplikation und eine Benutzerschnittstellenapplikation.
Jedoch können
auch mehr oder weniger Systemkomponenten genutzt werden und die
vorliegende Erfindung ist nicht auf die beschriebenen Systemkomponenten begrenzt.
-
Die Datenbank wird genutzt, um Konfigurationseinstellungen,
die aus einem Quellcomputersystem extrahiert wurden, bearbeitete
Konfigurationseinstellungen von einem Quellcomputersystem und Transitionierungspakete
zu speichern, um die Konfigurationseinstellungen von einem Quellcomputersystem
auf ein Zielcomputersystem zu transitionieren. Die Datenbank kann
Daten enthalten, die in einem Datenbankformat oder in anderen Formaten
wie z. B. einem Datenstrukturformat, einem Dateiformat, oder anderen
flüchtigen
oder nicht flüchtigen
Formaten, gespeichert sind. Die Extraktionsapplikation wird zum
Lokalisieren und Extrahieren von Konfigurationseinstellungen auf
einem Quellcomputersystem zur Transitionierung auf ein Zielcomputersystem
verwendet. Die Erzeugungsapplikation wird zur Bearbeitung von Konfigurationseinstellungen,
die aus einem Quellcomputersystem extrahiert wurden, und zur Erzeugung
eines Transitionierungspakets verwendet. Die Injektionsapplikation
wird dazu genutzt, bearbeitete Konfigurationseinstellungen aus einem
Transitionierungspaket einzubringen, um Konfigurationseinstellungen
von einem Quellcomputersystem zu einem Zielcomputersystem zu transitionieren.
Die Benutzerschnittstellenapplikation wird dazu genutzt, um einen
Extraktionsplan und einen Transitionierungsplan zu erzeugen, um
Konfigurationseinstellungen von einem Quellcomputersystem zu einem
Zielcomputersystem zu extrahieren und zu transitionieren.
-
Das Verfahren und das System stellen
einen automatischen Transitionierungsprozess bereit zum Transitionieren
der Konfigurationseinstellungen von einem Zielcomputersystem zu
einem Hostcomputersystem. Das Verfahren und das System können weitgehend
Transitionierungs-, Konfigurations- und Beschäftigungszeiten von Serviceanbietern,
Unternehmen und Endandwendern für
Transitionierungen von einem Zielcomputersystem zu einem Quellcomputersystem
reduzieren. Das Verfahren und das System kann Zeit sowie Ressourcen
einsparen, die Transitionierungsqualität verbessern und eine Frustration
des Anwenders reduzieren.
-
Die vorstehenden und andere Merkmale
und Vorteile der bevorzugten Ausführungsformen der vorliegenden
Erfindung werden leichter aus der folgenden detaillierten Beschreibung
verständlich.
Die detaillierte Beschreibung arbeitet mit Verweisen auf die begleitenden
Figuren.
-
Kurze Beschreibung der Figuren
-
Bevorzugte Ausführungsformen der vorliegenden
Erfindung werden mit Verweis auf die folgenden Figuren beschrieben,
wobei:
-
1 ein
Blockdiagramm ist, das ein beispielhaftes Übersetzungssystem darstellt;
-
2 ein
Blockdiagramm ist, das eine beispielhafte, geschichtete Transitionierungsarchitektur
darstellt;
-
3 ein
Flussdiagramm ist, das ein Verfahren zur automatischen Bestimmung
von Transitionierungskonfigurationseinstellungen von einem Quellcomputersystem
für ein
Zielcomputersystem darstellt;
-
4 ein
Blockdiagramm ist, das Komponenten eines Personalityobjekts darstellt;
-
5 ein
Flussdiagramm ist, das ein Verfahren darstellt, um automatisch bestimmte Transitionierungskonfigurationseinstellungen
anzuwenden;
-
6A und 6B Flussdiagramme sind, die ein Verfahren
darstellen, um automatisch Konfigurationseinstellungen zu transitionieren;
und
-
7 ein
Blockdiagramm ist, das einen Datenfluss für das Verfahren zur automatischen
Transitionierung von Konfigurationseinstellungen der 6A und 6B zeigt.
-
Detaillierte Beschreibung
bevorzugter Ausführungsformen
-
Beispielhaftes Transitionierungssystem
-
1 ist
ein Blockdiagramm, das ein beispielhaftes Transitionierungssystem 10 für das automatische Transitionieren
von Konfigurationseinstellungen von einem Quellcomputersystem (d.
h. alt) zu einem Zielcomputersystem (d. h. neu) darstellt. Das Transitionierungssystem 10 umfasst
ein Quellcomputersystem 12. Das Quellcomputersystem 12 umfasst
eine Transitionierungsapplikation 14. Die Transitionierungsapplikation 14 umfasst:
eine Datenbank 16, eine Extraktionsapplikation 18,
eine Benutzerschnittstellenapplikation 20 und eine Erzeugungsapplikation 22.
Die Transitionierungsapplikation 14 umfasst außerdem eine
Injektionsapplikation 24, die an ein Zielcomputersystem 26 gesendet
wird. Jedoch können
mehr oder weniger Komponenten in dem Transitionierungssystem 10 genutzt
werden, einschließlich
zwischengeschalteter Computersysteme zwischen dem Quellcomputersystem 12 und
dem Zielcomputersystem 26 und die vorliegende Erfindung
ist nicht auf die in 1 dargestellten
Komponenten beschränkt.
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung wird die Datenbank 16 dazu genutzt,
um Konfigurationseinstellungen, die aus dem Quellcomputersystem 12 extrahiert
wurden, bearbeitete Konfigurationseinstellungen und Transitionierungspakete
zu speichern, um Konfigurationseinstellungen von dem Quellcomputersystem 12 zu
einem Zielcomputersystem 26 zu transitionieren. Die Datenbank 16 kann
Daten enthalten, die in einem Datenbankformat gespeichert sind oder
in anderen Formaten, z. B.
-
einem Datenstrukturformat, einem
Dateiformat, oder anderen flüchtigen
oder nichtflüchtigen
Speicherungsformaten. Die Extraktionsapplikation 18 wird
dazu genutzt, Konfigurationseinstellungen auf dem Quellcomputersystem 12 zu
lokalisieren und zu extrahieren, um auf das Zielcomputersystem 26 zu
transitionieren. Die Benutzerschnittstellenapplikation 20 wird
genutzt, um einen Extraktionsplan und einen Transitionierungsplan
zu erzeugen, um Konfigurationseinstellungen vom Quellcomputersystem 12 zum
Zielcomputersystem 26 zu extrahieren und zu transitionieren.
Die Erzeugungsapplikation 22 wird dazu genutzt, um Konfigurationseinstellungen,
die aus dem Quellcomputersystem 12 extrahiert wurden, zu
bearbeiten und um ein Transitionierungspaket zu erzeugen. Das Transitionierungspaket
wird genutzt, um Konfigurationseinstellungen von dem Quellcomputersystem 12 zum
Zielcomputersystem 26 zu transitionieren. Die Injektionsapplikation 24 wird
verwendet, um bearbeitete Konfigurationseinstellungen von einem
Transitionierungspaket einzubringen, um Konfigurationseinstellungen
von einem Quellcomputersystem 12 auf ein Zielcomputersystem 26 zu
transitionieren. Jedoch ist die vorliegende Erfindung nicht auf
die für
die Transitionierungsapplikation beschriebene Funktionalität begrenzt
und die Transitionierungsapplikationen können mehr oder weniger Funktionalität enthalten. Die
Transitionierungsapplikationen werden nachstehend im Detail erklärt.
-
In einer Ausführungsform der vorliegenden
Erfindung ist die Transitionierungsapplikation 14 einschließlich der
Datenbank 16, der Extraktionsapplikation 18, der
Benutzerschnittstellenapplikation 20, und der Erzeugungsapplikation 22 ohne
die Injektionsapplikation 24 im Quellcomputersystem 12 vorhanden.
Dies ist in 1 durch
die unterbrochene Linie dargestellt, welche die Quell- und Zielkomponenten
der Transitionierungsapplikation 14 trennt. In einer derartigen
Ausführungsform
ist lediglich die Injektionsapplikation 24 im Zielcomputersystem 26 vorhanden.
-
In einer anderen bevorzugten Ausführungsform
der vorliegenden Erfindung sind eine Transitionierungsapplikation14
einschließlich
einer Datenbank 16, einer Extraktionsapplikation 18,
einer Benutzerschnittstellenapplikation 20 und einer Erzeugungsapplikation 22 sowie
einer Injektionsapplikation 24 sowohl auf dem Quellcomputersystem 12 als
auch auf dem Zielcomputersystem 26 (nicht in 1 dargestellt) vorhanden.
-
In einer anderen bevorzugten Ausführungsform
der vorliegenden Erfindung enthält
das Quellcomputersystem 12 nur zeitweise die Transitionierungsapplikation 14.
Mit anderen Worten, die Transitionierungsapplikation 14 ist
nicht auf irgendeinem nichtflüchtigen
Speicher auf dem Quellcomputersystem 12 installiert. Die
Transitionierungsapplikation 14 ist nur in flüchtigen
Speichern (z. B. Random Access Memory ("RAM")) auf dem Quellcomputer system 12 während des
Extraktions- und des Erzeugungsabschnitts des Transitionierungsprozesses
vorhanden. Das Zielcomputersystem 26 kann ebenso nur zeitweise
die Injektionsapplikation 24 enthalten. Die Injektionsapplikation 24 kann
auch nur in flüchtigen
Speichern auf dem Zielcomputersystem 14 während des
Injektionsabschnitts des Übersetzungsprozesses
vorhanden sein.
-
In einer noch weiteren Ausführungsform
der vorliegenden Erfindung können
die Komponenten der Übersetzungsapplikation 14 nur
auf einem "dritten" Computersystem und weder im Quellcomputersystem 12 noch
im Zielcomputersystem 14 vorhanden sein. Zusätzliche
Softwareapplikationen können
genutzt werden, nur um Einstellungen zu erhalten und diese einzubringen,
und derartige Softwareapplikationen sind nur auf dem Computersystem 12 oder
dem Zielcomputersystem 14 vorhanden und werden von dem
dritten Computersystem koordiniert. In einer noch weiteren Ausführungsform
der vorliegenden Erfindung kann Computerhardware oder Firmware derart
eingesetzt werden, dass Konfigurationseinstellungen ohne eine Softwaretransitionierungsapplikation 14 extrahiert
und eingegeben werden, die auf dem Quellcomputersystem 12 oder
dem Zielcomputersystem 14 vorhanden ist.
-
In einer noch weiteren bevorzugten
Ausführungsform
der vorliegenden Erfindung kann das Quellcomputersystem 12 lediglich
die Extraktionsapplikation 18 enthalten. Die anderen Komponenten
der Transitionierungsapplikation 14 sind auf einem oder
mehreren anderen Computersystemen vorhanden und können in
einer verteilten Art und Weise genutzt werden. Extrahierte Transitionierungsdaten
können
auch in einem oder mehreren anderen Computersystemen gespeichert
werden unter Verwendung der verteilten Datenverarbeitung.
-
Eine funktionierende Umgebung der
Computersysteme 12, 26 der vorliegenden Erfindung
umfasst ein Prozesssystem mit einer oder mehreren Hochgeschwindigkeitsprozessoren
("CPU") sowie ein Speichersystem. Im Einklang mit den Praktiken
der Personen, die im Programmieren von Computern geschult sind,
wird die vorliegende Erfindung nachstehend mit Verweisen auf Aktionen
und symbolische Darstellungen von Operationen oder Befehlen beschrieben,
die vom Verarbeitungssystem durchgeführt werden. Auf derartige Aktionen
und Operationen oder Befehle wird als "vom Computer ausgeführt" oder
"CPU ausgeführt"
verwiesen.
-
Die CPU kann entweder elektrisch
oder biologisch sein. Die Aktionen und symbolisch dargestellten Operationen
oder Befehle umfassen die Manipulation von elektrischen oder biologischen
Signalen durch die CPU. Ein elektrisches oder biologisches System
repräsentiert
Datenbits, die eine resultierende Transformation oder Reduktion
der elektrischen oder biolo gischen Signale verursachen. Das Erhalten
der Datenbits in Speicherplätzen
in einem Speichersystem rekonfiguriert oder andernfalls ändert die
Operationen der CPU, genau wie ein anderes Bearbeiten von Signalen.
Die Speicherplätze
an denen Datenbits vorhanden sind, sind physikalische Orte, die
besondere elektrische, magnetische, optische oder organische Eigenschaften
entsprechend den Datenbits aufweisen.
-
Die Datenbits können auch auf einem computerlesbarem
Medium einschließlich
magnetischer Disks, optischer Disks, elektrischer Speicher, organischer
Speicher und jedes anderen flüchtigen
(z. B. Random Access Memory (RAM)) oder nichtflüchtigen (z. B. Read-only-Memory (ROM) einer
Festplatte, usw.) Massenspeichersystems aufbewahrt werden, das von
der CPU gelesen werden kann. Das computerlesbare Medium umfasst
kooperierende oder verbundene computerlesbare Medien, welche ausschließlich auf
dem Verarbeitungssystem existieren oder die unter vielen verbundenen
Verarbeitungssystemen verteilt sind, die bezüglich des Verarbeitungssystem
lokal oder entfernt sein können.
-
Beispielhafte Transitionierungsarchitektur
-
2 ist
ein Blockdiagramm, das eine beispielhaft geschichtete Transitionierungsarchitektur 28 für die Transitionierungsapplikation 14 der 1 darstellt. Die Transitionierungsapplikation 14 ist
in einem Transitionierungskernprozess 30 enthalten. Der
Transitionierungskernprozess 30 enthält ein Steuermodul 32,
das eine Schnittstelle zu einem Betriebssystem 34 darstellt.
Das Betriebssystem 34 kann ein mit Fenstern arbeitendes Betriebssystem
sein, wie z. B. Windows 95/98/NT von Microsoft Corporation in Redmond,
Washington, und andere mit oder ohne Fenstern arbeitende Betriebssysteme
(z. B. Linux) können
ebenso verwendet werden. Der Transitionierungskernprozess 30 verwendet
Steckmodule (plug-in) 36, um an das Betriebssystem 34 anzuschließen und
um die Konfigurationseinstellungen des Quellcomputersystems 12 zu
verarbeiten. Die Steckmodule 36 ermöglichen es ebenso, dass zusätzliche
Module hinzugefügt
werden, um neue und erweiterte Funktionalität für den Transitionierungskernprozess 30 bereitzustellen.
Die Steckmodule 36 werden nachstehend erläutert (siehe 4).
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung steuert ein erster Transitionierungskernprozess 30 auf
dem Quellcomputersystem 12 die Extraktionsapplikation 18 (1), die Benutzerschnittstellenapplikation 20 (1) und die Erzeugungsapplikation 22 (1). Das Betriebssystem 34 auf
dem Zielcomputersystem 26 steuert die Ausführung der
Injektionsapplikation 24 auf dem Zielcomputersystem 26 (z.
B. kann die Injektionsapplikation 24 eine ausführbare Datei
(.EXE) sein). In einer anderen beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung steuert ein erster Tran sitionierungskernprozess 30 auf
dem Quellcomputersystem 12 die Extraktionsapplikation 18,
die Benutzerschnittstellenapplikation 20 und die Erzeugungsapplikation 22.
Ein zweiter Transitionierungskernprozess 30 auf dem Zielcomputersystem 12 steuert
eine erste Injektionsapplikation 24 auf dem Zielcomputersystem 26.
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung umfasst der Transitionierungskernprozess 30 ein
Applikation Programmer's Interface ("API"). Das Transitionierungs-API
ermöglicht
es anderen Applikationen Transitionierungsapplikationsfunktionen
aufzurufen (z. B. Hyper Text Markup Language ("HTML"), Java, Visual
Basic, Visual Basic Scripts, C++, Visual C++, usw.). Der Transitionierungs-API
umfasst auch Funktionen für
Low-Level-Input/Output ("I/O"), High-Level-I/O und Smart-I/O. Der Low-Level-I/O
enthält
Funktionen für
ein Dateisystem-I/O, Datenbank 16 Interaktion, Transitionierungsspezifisches-I/O,
Betriebssystemsregister-I/O, usw.. Das High-Level-I/O umfasst ein
Rückgewinnen
von Konfigurationseinstellungen, Speicherung von Konfigurationseinstellungen,
usw.. Das Smart-I/O umfasst Möglichkeiten für ein geschicktes
Suchen von Konfigurationseinstellungen, geschickte Möglichkeiten
zum Kopieren, usw..
-
Der Transitionierungskernprozess 30 umfasst
eine Ausgangsschicht 38, eine Protokollschicht 40,
eine Nachrichtenschicht 42, eine Datenbank 16 und
eine Dateischicht 44. Die Ausgangsschicht 38 wird
für die
verschiedenen Typen von I/O, wie vorstehend beschrieben, verwendet.
Die Protokollschicht 40 erlaubt es dem Transitionierungskernprozess 30,
Protokolle wie das Hyper Text Transfer Protocol ("HTTP"), das File
Transfer Protocol ("FTP"), das User Datagram Protocol ("UDP"), das
Transmission Control Protocol ("TCP"), das Internet Protocol ("IP")
und andere Protokolle zu benutzen, um mit dem Quellcomputersystem 12 und
dem Zielcomputersystem 26 zu kommunizieren. Die Nachrichtenschicht 42 wird
für elektronische
Post ("E-Mail") und andere Kommunikationsmöglichkeiten mit dem Betriebssystem 34 sowie
dem Quellcomputersystem 12 und dem Zielcomputersystem 26 verwendet.
-
Die Datenbank 16 enthält Objekte,
die verwendet werden, um Konfigurationseinstellungen auf dem Quellcomputersystem
zu lokalisieren. Die Datenbank 16 kann als temporärer Speicher,
wie ein RAM, oder ein permanenter Speicher sein, wie eine Diskette,
eine Festplatte, eine wiederbeschreibbare CD-Rom, ein Flash-Memory,
ein Flash-Rom oder andere nichtflüchtige computerlesbare Medien.
Die Dateischicht 44 enthält Konfigurationseinstellungen,
die aus dem Quellcomputersystem 12 extrahiert wurden. Die
Dateischicht 44 ermöglicht
es, Dateien zu erstellen und Dateien aus Dateisammlungen von sowohl
lokalen als auch entfernten Dateisystemen zu erhalten. Jedoch können ebenso
mehr oder weniger Schichten in der Übersetzungsarchitektur 28 verwendet
werden. Die vorliegende Erfindung ist nicht auf die in 2 dargestellten Schichten
der Architektur begrenzt.
-
Automatisches Transitionieren
von Konfigurationseinstellungen
-
3 ist
ein Flussdiagramm, das ein Verfahren 46 zum automatischen
Transitionieren der Konfigurationseinstellungen von einem Quellcomputersystem
zu einem Zielcomputersystem zeigt. Beim Schritt 48 werden
mehrere Konfigurationseinstellungen auf einem Quellcomputersystem
unter Verwendung von verschiedenen Transitionierungsregeln aus einem
Personalityobjekt lokalisiert. Beim Schritt 50 werden verschiedene Konfigurationseinstellungen
aus verschiedenen Orten auf dem Quellcomputersystem extrahiert.
Beim Schritt 52 werden die verschiedenen extrahierten Konfigurationseinstellungen
in einem vorbestimmten Transitionierungsformat abgespeichert. Beim
Schritt 54 werden die verschiedenen extrahierten Konfigurationseinstellungen,
die in einem vorbestimmten Format abgespeichert sind, bearbeitet.
Beim Schritt 56 wird ein Transitionierungspaket aus den
verschiedenen bearbeiteten Konfigurationseinstellungen erzeugt.
Das Transitionierungspaket enthält
die verschiedenen bearbeiteten Konfigurationseinstellungen. Das
Transitionierungspaket wird vom Quellcomputersystem zum Zielcomputersystem
geschickt oder wird als ein Zwischenschritt im Transitionierungsprozess
gespeichert. Das Transitionierungspaket kann ebenso auf einem oder
mehreren Zwischencomputersystemen gespeichert werden, lokal oder
entfernt bezüglich
des Quellcomputersystems oder des Zielcomputersystems. Das Transitionierungspaket
wird in das Zielcomputersystem eingebracht, um Konfigurationseinstellungen
vom Quellcomputersystem zum Zielcomputersystem zu transitionieren.
-
Bevorzugte Ausführungsformen der vorliegenden
Erfindung nutzen objektorientierte Programmiertechniken. Es können jedoch
auch nichtobjektorientierte Programmiertechniken benutzt werden.
Wie bekannt ist, enthält
ein "Objekttyp", auch als "Objektklasse" bekannt, einen Datentyp,
Dienste, die mit Einheiten des Datentyps operieren und einen Satz
von Objektattributen in einer objektorientierten Datenstruktur.
Ein "Objektattribut" ist ein Datenfeld in einem Objekt, das teilweise
den Zustand dieses Objekts definiert. Ein "Objektdienst" implementiert
und bearbeitet Objekte üblicherweise
durch Lesen oder Ändern
der Objektattribute. "Objektorientiertes Design" ist eine Softwareentwicklungstechnik,
bei der ein System oder eine Komponente durch das Benutzen von Objekten
dargestellt wird.
-
Ein Objekt ist üblicherweise eine objektorientierte
Datenstruktur, die zwei Komponenten aufweist: eine Funktionstabelle,
die einen Zeiger zu jedem "Objektmitglied" oder jeder Mitgliedsfunktion
enthält
(d. h. auch als "Objektmethode" bekannt), die in der Objektklasse,
definiert ist, eine Ereignistabelle zur Annahme von Ereignissen
(z. B. OLE- oder ActiveX- Steu erereignisse) und einen Datenblock,
der aktuelle Werte für
jede Objektvariable (d. h. Datenmitglieder, auch als "Objekteigenschaft"
bekannt) enthält.
Eine Computersoftwareapplikation hat einige Beziehungen mit einem
Objekt durch einen Objektzeiger. Eine Computersoftwareapplikation
erhält
diese Objektbezüge
durch das Benutzen einer Art von Funktionsaufruf (direkt oder implizit),
bei dem diese Funktion einen Objektblock im Computerspeicher reserviert,
die Funktionstabelle initialisiert und einen Bezug an eine Applikation
zu dem reservierten Computerspeicher zurückgibt. Der Computerspeicher
kann lokal oder auf einem entfernten Computer verteilt sein.
-
Das Component Object Model ("COM")
und das Distributed Component Object Model ("DCOM") sind Modelle,
die für
das objektorientierte Programmieren verwendet werden und dem Fachmann
bekannt sind. Das COM und das DCOM legen fest, wie Objekte innerhalb
einer einzigen Applikation oder zwischen Applikationen (z. B. client/server
Applikationen) durch das Definieren eines Satzes von Standardschnittstellen
interagieren und kommunizieren. Schnittstellen sind Gruppierungen
von schematisch verwandten Funktionen, durch welche eine Clientapplikation
Zutritt zu den Diensten einer Serverapplikation erlangt.
-
Object Linking and Embedding ("OLE")
Steuerelemente, wie z. B. OLE Steuerelemente und ActiveX Steuerelemente
von der Microsoft Corporation in Redmond, Washington basieren teilweise
auf dem Component Object Model und ermöglichen die Erstellung von
Objekten mit unterschiedlichen Formaten, welche durch definierte
Schnittstellen auf Daten operieren, anstatt auf den Applikationen
zu operieren, die für
die Daten verantwortlich sind. ActiveX basiert teilweise auf OLE-Technologien.
Ein OLE oder ActiveX Steuerelement ist ein Objekt, das Ereignisse
akzeptiert und auf diese reagiert, wie z. B. eine Auswahl durch
eine Maus oder eine Taste auf einem Keyboard oder eine Auswahl durch
eine andere objektorientierte Mitgliedsfunktionen. Detaillierte
Informationen über
die OLE-Objektschnittstelle können
in "Inside OLE", 2nd edition, von Kraig Brockschmidt, Microsoft
Press, Redmond, Washington, 1995 gefunden werden, welches hier durch
Bezugnahme aufgenommen ist.
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung werden beim Schritt 48 verschiedene
Konfigurationseinstellungen auf dem Quellcomputersystem 12 unter
Verwendung von verschiedenen Transitionierungsregeln aus einem Personalityobjekt
lokalisiert. In einer beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung enthält
das Personalityobjekt fünf
objektorientierte Steckmodule 36. Jedoch können auch
mehr oder weniger objektorientierte Steckmodule 36 verwendet
werden.
-
Übersetzungspersonalityobjekt
-
4 ist
ein Blockdiagramm, das Komponenten eines Personalityobjekts 58 darstellt.
Das Personalityobjekt 58 enthält ein Desktopobjekt 60,
ein Netzwerkobjekt 62, ein Internetobjekt 64,
ein Mailobjekt 66 und ein Applikationsobjekt 68.
Es können
jedoch auch mehr oder weniger Objekte in dem Personalityobjekt 58 benutzt
werden. Die Objekte enthalten Informationen über die Konfigurationseinstellungen
wie z. B. Ort, Bezeichnung, dazugehörende Untereinstellungen, usw..
In einer beispielhaften, bevorzugten Ausführungsform der vorliegenden
Erfindung sind die Objekte 60, 62, 64, 66, 68 in
dem Personalityobjekt 58 objektorientierte Objekte. Jedoch
könnten
nichtobjektorientierte Objekte ebenso in dem Personalityobjekt 58 genutzt
werden. Das Personalityobjekt 58 und die verwandten Objekte 60, 62, 64, 66, 68 umfassen
Objektklassen, die, wie vorstehend beschrieben, eine oder mehrere
Objektmitglieder und einen Datenblock enthalten.
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung enthält
das Desktopobjekt 60 Benutzerpräferenzen, die das Erscheinungsbild
und die Operation einer Basisbenutzerschnittstelle mit Fenstertechnik
beeinflussen. Beispielhafte Konfigurationseinstellungen, die in
dem Desktopobjekt 60 enthalten sind, sind in der Tabelle
1 dargestellt. Jedoch können
auch mehr oder weniger Konfigurationseinstellungen in dem Desktopobjekt 60 genutzt
werden und die vorliegende Erfindung ist nicht auf die in 1 dargestellten Konfigurationseinstellungen
begrenzt.
-
-
Das Netzwerkobjekt 62 enthält Konfigurationseinstellungen,
die Funktionalität
innerhalb eines privaten Computernetzwerks wie z. B. einem Local
Area Network ("LAN") oder einem Intranet ermöglichen. In einer beispielhaften,
bevorzugten Ausführungsform
der Erfindung kann das Netzwerkobjekt 62 keine Hardwarekonfigurationseinstellungen
enthalten. Das Netzwerkobjekt 62 kann stattdessen Konfigurationseinstellungen
enthalten, die das Betriebssystem 34 konfigurieren, welche
wiederum auf zugrundeliegende Hardware auf dem Quellcomputersystem 12 abgebildet
werden. In einer anderen beispielhaften, bevorzugten Ausführungsform der
vorliegenden Erfindung kann das Netzwerkobjekt 62 Hardwareeinstellungen
enthalten.
-
Beispielhafte Konfigurationseinstellungen,
die im Netzwerkobjekt 62 enthalten sind, sind in der Tabelle 2
dargestellt. Jedoch können
auch mehr oder weniger Konfigurationseinstellungen in dem Netzwerkobjekt 62 genutzt
werden und die vorliegende Erfindung ist nicht auf die in Tabelle
2 dargestellten Konfigurationseinstellungen begrenzt.
-
-
Die Konfigurationseinstellungen aus
dem Netzwerkobjekt 62 werden auf das Zielcomputersystem 26 innerhalb
des Kontextes der Dienste des Betriebssystems 34 angewendet,
die auf dem Zielcomputersystem 26 verfügbar sind. In einer beispielhaften,
bevorzugten Ausführungsform
der Erfindung wird das Netzwerkobjekt 62 keine Konfigurationseinstellungen
für Netzwerkapplikationen
installieren, die nicht auf dem Zielcomputersystem verfügbar sind.
Falls z. B. das Quellcomputersystem 12 TCP/IP installiert
hat, wird das Netzwerkobjekt 62 die relevanten TCP/IP Einstellungen
auf dem Quellcomputersystem 12 lokalisieren und extrahieren. Falls
das Zielcomputersystem TCP/IP nicht installiert hat, wird das Netzwerkobjekt 62 nicht
automatisch die TCP/IP Einstellungen aus dem Quellcomputersystem 12 transitionieren,
da die TCP/IP Einstellungen nicht verwendet werden können. In
einer anderen Ausführungsform
der vorliegenden Erfindung wird, falls das Quellcomputersystem 12 Konfigurationseinstellungen
für eine
Netzwerkapplikation aufweist, die nicht auf dem Zielcomputersystem
installiert ist (z. B. TCP/IP), die Netzwerkapplikation auf dem
Zielcomputersystem installiert und die passenden Konfigurationseinstellungen
werden sodann angewendet.
-
Ein anderes Merkmal des Netzwerkobjekts 62 ist
es, einem Benutzer zu ermöglichen,
Konfigurationseinstellungen durchzusehen und zu bearbeiten, bevor
sie auf das Zielcomputersystem 26 angewendet werden. Eine
Netzwerkadresse (z. B. eine IP-Adresse), die aus einem Quellcomputersystem
extrahiert worden ist, kann oder kann auch nicht für das Ziel- Computersystem geeignet
sein, da das Zielcomputersystem auf einem anderen Computernetzwerk
installiert sein kann. Somit kann der Benutzer die Konfigurationseinstellungen durchsehen
und bearbeiten, bevor diese auf das Zielcomputersystem 26 angewendet
werden.
-
Das Internetobjekt 64 enthält Konfigurationseinstellungen,
die für
das öffentliche
Computernetzwerk relevant sind, welches durch das Internet bereitgestellt
wird. Bekanntermaßen
ist das Internet ein weltweites Netzwerk miteinander verbundener
Computer. Beispielhafte Konfigurationseinstellungen, die im Internetobjekt 64 enthalten
sind, stellt die Tabelle 3 dar. Jedoch können mehr oder weniger Konfigurationseinstellungen
in dem Internetobjekt 64 verwendet werden und die vorliegende
Erfindung ist nicht auf die in Tabelle 3 dargestellten Konfigurationseinstellungen
begrenzt.
-
-
Das Mailobjekt 66 enthält Konfigurationseinstellungen
für elektronische
Post ("E-Mail") und andere Kommunikationsmöglichkeiten, die auf dem alten
Computersystem 12 genutzt werden. In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung enthält
das Mailobjekt 66 Konfigurationseinstellungen für Exchange,
Outlook und Outlook Express von Microsoft, Communicator von Netscape
Corporation in Mountain View, Kalifornien, Pegasus, Eudora und Lotus
Notes von IBM. Jedoch können
ebenso mehr oder weniger E-Mail-
oder Kommunikationsprogramme von dem Mailobjekt 66 unterstützt werden
und die vorliegende Erfindung ist nicht auf die aufgelisteten E-Mail-
und Kommunikationsprogramme begrenzt.
-
Beispielhafte Konfigurationseinstellungen,
die in dem Mailobjekt 66 enthalten sind, sind in der Tabelle 4
dargestellt. Jedoch können
ebenso mehr oder weniger Konfigurationseinstellungen in dem Mailobjekt 66 genutzt
werden und die vorliegende Erfindung ist nicht auf die in Tabelle
4 dargestellten Konfigurationseinstellungen begrenzt.
-
-
Die E-Mail-Adressidentifikation im
Mailobjekt 66 enthält
Adressen wie z. B. eine Point-of-Presence ("POP"), ein Simple Mail
Transfer Protokoll ("SMTP") und andere E-Mail bezogene Adressen.
-
Das Applikationsobjekt 68 enthält Konfigurationseinstellungen
der Applikationen, die auf dem Quellcomputersystem 12 installiert
sind. Beispielsweise können
die Applikationen Microsoft Word, Excel, Power Point, usw., Applikationen
der Word Perfect Suite von Corel und andere Applikationen auf dem
Quellcomputersystem 12 umfassen.
-
Beispielhafte Konfigurationseinstellungen,
die im Applikationsobjekt 68 enthalten sind, sind in der
Tabelle 5 dargestellt. Jedoch können
in dem Applikationsobjekt 68 ebenso mehr oder weniger Konfigurationseinstellungen
genutzt werden und die vorliegende Erfindung ist nicht auf die in
Tabelle 5 dargestellten Konfigurationseinstellungen begrenzt.
-
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung umfasst das Applikationsobjekt 68 Konfigurationseinstellungen
für Applikationen,
die Designrichtlinien folgen, die für Applikationen für Microsoft
Windows Betriebssysteme entwickelt worden sind. Jedoch können auch
andere Designrichtlinien, die für
andere Applikationen für
andere Betriebssysteme wie z. B. Linux entwickelt wurden, verwendet werden,
um zu bestimmen, welche Konfigurationseinstellungen in dem Applikationsobjekt 68 enthalten
sind, und die vorliegende Erfindung ist nicht auf ein Applikationsobjekt 68 begrenzt,
das nur Konfigurationseinstellungen für Microsoft Windows Applikationen
enthält.
-
Beispielhafte automatische
Konfigurationseinstellungsübersetzung
-
Zurückkehrend zu 3, beim Schritt 48 werden verschiedene
Konfigurationseinstellungen auf einem Quellcomputersystem lokalisiert,
wobei verschiedene Transitionierungsregeln aus dem Personalityobjekt 60 (4) genutzt werden. In einer
beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung nutzt die Extraktionsapplikation 18 das
Personalityobjekt 60, um Konfigurationseinstellungen auf
dem Quellcomputersystem 12 zu lokalisieren.
-
Der Lokalisierungsschritt 48 kann
ebenso genutzt werden, um Konfigurationseinstellungen auf mehr als
einem Computer gleichzeitig zu lokalisieren (z. B. einem Desktop
Computer und einem Laptop Computer). Die Benutzerschnittstellenapplikation 20 wird
genutzt, um die Extraktionsapplikation 18 zu konfigurieren.
Die Benutzerschnittstellenapplikation 20 enthält eine
Liste von "Identitätseinheiten"
(identity units), entsprechend den Konfigurationseinstellungen,
die aus dem Quellcomputersystem 12 extrahiert werden und
in das Zielcomputersystem 26 eingebracht werden. Die Benutzerschnittstellenapplikation 20 enthält die Möglichkeit,
zu mehreren Optionen und Unteroptionen innerhalb einer Identitätseinheit
mittels der "drilldown"-Technik zu gelangen.
-
Die Benutzerschnittstellenapplikation 20 konfiguriert
die Extraktionsapplikation 18 mit den folgenden Optionen:
1.) welche Konfigurationseinstellungen zu extrahieren sind; 2.)
wo die Resultate zu speichern sind; 3.) auf welchem Level die Extraktion
vorgenommen wird; 4.) wie die Resultate zur späteren Wiedergewinnung "gekennzeichnet"
werden; und 5.) wie wortreich oder wortkarg der Extraktionsprozess
ist. Jedoch können
auch mehr oder weniger Optionen in der Extraktionsapplikation 18 konfiguriert
werden.
-
Die "was zu extrahieren"-Option umfasst
das Erstellen eines Extraktionsplans. Der Extraktionsplan identifiziert
spezifische Identitätseinheiten,
die lokalisiert werden sollen und eine Liste von Optionen für jede Identitätseinheit.
Der Extraktionsplan umfasst eine ganze Liste der zu lokalisierenden
Identitätseinheiten,
eine Ausschließungsliste
und eine Einschließungsliste.
Die vollständigen
Liste ist ein "Vanilla"-Zustand (vanilla state), der alle Identitätseinheiten
spezifiziert, die auf dem Quellcomputersystem 12 bekannt
sind und die lokalisiert und extrahiert werden sollen. Der Extraktionsplan
kann durch das Ausschließen
von einer oder mehrerer Identitätseinheiten
von der vollständigen
Liste modifiziert werden. Falls z. B. die vollständige Liste 250 Identitätseinheiten
enthält,
kann eine Ausschließungsliste
dazu genutzt werden, um 50 Identitätseinheiten von der vollständigen Liste
auszuschließen.
Falls verfügbar,
nutzt die Extraktionsapplikation 18 die Ausschließungsliste
statt der vollständigen
Liste, um Konfigurationseinstellungen zu lokalisieren und zu extrahieren, die
den Identitätseinheiten
vom Quellcomputersystem 12 (z. B. beim Schritt 50 und 52
des Verfahrens 48) entsprechen.
-
Die Einschließungsliste erlaubt einem Nutzer
irgendeine der Identitätseinheiten
aus der vollständigen Liste
auszuwählen.
Falls z. B. die vollständige
Liste 250 Identitätseinheiten
enthält,
kann ein Nutzer nur 30 Identitätseinheiten
aus den verfügbaren
250 Identitätseinheiten
auswählen.
Somit werden nur die 30 Konfigurationseinstellungen aus der Einschließungsliste
aus dem Extraktionsplan als "aktiv" markiert. Die verbleibenden
230 möglichen
Konfigurationseinstellungen werden als "inaktiv" markiert und nicht
genutzt. Falls verfügbar,
nutzt die Extraktionsapplikation 18 die Einschließungsliste
anstatt der vollständigen
Liste, um die Konfigurationseinstellungen entsprechend den Identitätseinheiten
zu lokalisieren und zu extrahieren. Falls keine Ausschließungsliste
oder Einschließungsliste
erzeugt wird, nutzt die Extraktionsapplikation 18 voreingestellt
die vollständige
Liste, um Konfigurationseinstellungen auf dem Quellcomputersystem 12 zu
lokalisieren und zu extrahieren.
-
Die Benutzerschnittstelle 20 wird
ebenso genutzt, um die Erzeugungsapplikation 22 zu konfigurieren. Die
Erzeugungsapplikation 22 wird auf eine ähnliche Art und Weise wie die
Extraktionsapplikation 18 konfiguriert. Jedoch umfasst
die Erzeugungsapplikation 22 einen "Transitionierungsplan"
anstatt eines Extraktionsplans. Der Transitionierungsplan enthält eine
vollständige
Liste, als eine voreingestellte Liste, und ermöglicht die Erzeugung von Ausschließungs- und
Einschließungslisten,
wie es für
den Extraktionsplan beschrieben wurde.
-
Wieder zu 3 zurückkehrend,
werden beim Schritt 50 verschiedene Konfigurationseinstellungen von
verschiedenen Orten auf dem Quellcomputersystem von der Extraktionsapplikation 18 unter
Verwendung des Personalityobjekts 60 extrahiert. In einer
beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung nutzt die Extraktionsapplikation 18 Objekte
aus dem Personalityobjekt 60 und dem beschriebenen Extraktionsplan,
um ein "Arbeitsprodukt" zu produzieren, das in einem vorbestimmten
Transitionierungsformat bei dem Schritt 52 abgespeichert
wird. In einer beispielhaften, bevorzugten Ausführungsform der vorliegenden Erfindung
wird das Arbeitsprodukt auf dem Quellcomputersystem 12 gespeichert.
In einer anderen beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung wird das Arbeitsprodukt auf einem oder
mehreren Zwischencomputersystemen in flüchtigen oder nichtflüchtigen
Speichern gespeichert.
-
In einer bevorzugten Ausführungsform
der vorliegenden Erfindung ist das vorbestimmte Transitionierungsformat,
das genutzt wird, um die Konfigurationseinstellungen zu speichern, ein
Datenbankformat für
relationale Datenbanken. Jedoch können nicht-relationale Datenbankformate
ebenso genutzt werden. In einer bevorzugten Ausführungsform der vorliegenden
Erfindung ist das vorbestimmte Transitionierungsformat ein Datenbankformat
für System
Query Language ("SQL") Datenbanken. In einer anderen bevorzugten
Ausführungsform
der vorliegenden Erfindung ist das vorbestimmte Transferformat ein
Datenbankformat für
Microsoft Access Datenbanken. Jedoch können auch andere vorbestimmte
Transitionierungsformate genutzt werden und die vorliegende Erfindung
ist nicht auf die beschriebenen Datenbankformate begrenzt.
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung speichert die Extraktionsapplikation 18 die
Konfigurationseinstellungen in einem vorbestimmten Transitionierungsformat
in einem temporären,
flüchtigen
Speicher (z. B. RAM). In einer anderen beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung enthält
die Extraktionsapplikation 18 eine Laderapplikation, die
genutzt wird, um Daten vom temporären Speicher zur Datenbank 16 zu
transferieren. In einer solchen Ausführungsform unterhält die Extraktionsapplikation 18 keine
dauerhafte Verbindung mit der Datenbank 16. Der Transfer
der Information vom temporären
Speicher zur Datenbank 16 wird mittels der Laderapplikation
erreicht. In noch einer anderen beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung unterhält die Extraktionsapplikation 18 eine
dauerhafte Verbindung mit der Datenbank 16 und ist in der
Lage, Konfigurationseinstellungen in dem vorbestimmten Format direkt
in die Datenbank 16 zu schreiben.
-
Beim Schritt 54 werden die
verschiedenen extrahierten Konfigurationseinstellungen bearbeitet,
die im vorbestimmten Transitionierungsformat abgespeichert sind.
In einer bevorzugten Ausführungsform
der vorliegenden Erfindung werden die Konfigurationseinstellungen
mit der Erzeugungsapplikation 22 bearbeitet, wobei der
vorstehend beschriebene Transitionierungsplan verwendet wird. Zum
Beispiel kann der Extraktionsplan 18 250 Konfigurationseinstellungen
aus dem Quellcomputer mit einem beispielhaften Extraktionsplan extrahieren,
der nur eine vollständige
Liste enthält
(d. h. keine Ausschließungs-
oder Einschließungsliste).
Ein beispielhafter Transitionierungsplan kann nur eine Einschließungsliste
enthalten. Die beispielhafte Einschließungsliste kann nur 30 von
250 möglichen
Konfigurationseinstellungen aus dem Extraktionsplan enthalten. Somit
werden nur die 30 Konfigurationseinstellungen aus der Einschließungsliste
von dem Transitionierungsplan als "aktiv" in dem vorbestimmten Transitionierungsformat
durch die Erzeugungsapplikation 22 gekennzeichnet. Die
verbleibenden 230 möglichen
Konfigurationseinstellungen werden durch die Erzeugungsapplikation 22 als
"inaktiv" gekennzeichnet und nicht genutzt. Verschiedene Kombinationen
der vollständigen
Listen, Ausschließungslisten,
Einschließungslisten,
des Extraktionsplans und des Transitionierungsplans können genutzt
werden und die vorliegende Erfindung ist nicht auf dieses Beispiel
begrenzt.
-
Die Bearbeitung beim Schritt 54 umfasst
auch das Transitionieren einer oder mehrerer Konfigurationseinstellungen
von einem Format, das auf dem Quellcomputersystem genutzt wird,
zu einem Format, das auf dem Zielcomputersystem genutzt wird. Zum
Beispiel kann eine Konfigurationseinstellung für einen Computermonitor mit
dem Namen config-monitor-old auf dem Quellcomputersystem abgespeichert
sein. Dieselbe Konfigurationseinstellung kann jedoch auf dem Zielcomputersystem
mit dem Namen config-monitor-new abgespeichert sein. Zusätzlich kann
eine Konfigurationseinstellung in einem ersten Verzeichnis A auf
dem Quellsystem und in einem zweiten Verzeichnis B auf dem Zielsystem
gespeichert sein. Die Erzeugungsapplikation 22 bearbeitet
solche Transitionierungen beim Schritt 54.
-
Beim Schritt 56 wird ein
Transitionierungspaket aus den verschiedenen bearbeiteten Konfigurationseinstellungen
erzeugt. In einer beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung erzeugt die Erzeugungsapplikation 22 ein
Transitionierungspaket. In einer beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung enthält
das Transitionierungspaket eine Liste von Befehlen mit notwendigen
Quelldaten für
die bearbeiteten Konfigurationseinteilungen. Die Liste der Befehle
kann genutzt werden, um eine Ordnung für das Transitionieren der Konfigurationseinstellungen
bereitzustellen. Jedoch können
auch andere Transitionierungspaketformate genutzt werden und die
vorliegende Erfindung ist nicht auf die beschriebenen Transitionierungspakete
begrenzt. Das Transitionierungspaket wird von der Injektionsapplikation 24 genutzt,
um die gewünschten
Konfigurationseinstellungen von dem Quellcomputersystem 12 zum
Zielcomputersystem 26 zu transitionieren.
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung wird das Transitionierungspaket in der
Datenbank 16 von der Erzeugungsapplikation 22 gespeichert.
In einer anderen beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung wird das Transitionierungspaket außerdem direkt
zur Injektionsapplikation 24 transferiert. In einer noch
weiteren beispielhaften, bevorzugten Ausführungsform der vorliegenden
Erfindung wird das Transitionierungspaket von der Datenbank 16 durch
die Erzeugungsapplikation 22 und die Injektionsapplikation
gelesen, die zu einem späteren
Zeitpunkt eingefügt
wurde.
-
Anwenden eines Transitionierungspakets
auf ein Zielcomputersystem
-
5 ist
ein Flussdiagramm, das eine Verfahren 70 zum automatischen
Anwenden von Transitionierungskonfigurationseinstellungen darstellt.
Beim Schritt 72 wird ein Transitio nierungspaket auf einem Zielcomputersystem
von einem Quellcomputersystem erhalten. Beim Schritt 74 wird
das Transitionierungspaket auf dem Zielcomputersystem eingebracht,
um automatisch bearbeitete Konfigurationseinstellungen vom Quellcomputersystem
zum Zielcomputersystem zu transitionieren. Beim Schritt 76 wird
das Transitionierungspaket optional auf dem Zielcomputersystem überprüft, um sicher
zu gehen, dass das Transitionierungspaket korrekt auf das Zielcomputersystem
angewendet wurde.
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung wird das Transitionierungspaket von der
Erzeugungsapplikation 22 auf dem Quellcomputersystem 12 innerhalb
einer Injektionsapplikation 24 an das Zielcomputersystem 26 gesendet.
Die Injektionsapplikation 24 mit dem Transitionierungspaket
kann auf das Zielcomputersystem 26 mittels einer Diskette,
Zip-Diskette oder CD-ROM oder unter Verwendung von E-Mail, TCP/IP,
FTP oder mit anderen Netzwerktransfermechanismen gesendet werden. Beim
Schritt 72 erhält
das Zielcomputersystem 26 die Injektionsapplikation 24 mit
dem Transitionierungspaket von dem Quellcomputersystem 12.
Wie vorstehend beschrieben, enthält
in einer beispielhaften, bevorzugten Ausführungsform der vorliegenden
Erfindung das Transitionierungspaket eine Liste von Befehlen mit
notwendigen Quelldaten für
verschiedene bearbeitete Konfigurationseinstellungen. Beim Schritt
74 bringt eine Injektionsapplikation 24 manipulierte Konfigurationseinstellungen
aus dem Quellcomputersystem 12 in das Zielcomputersystem 26 ein.
Die Injektionsapplikation 24 liest und führt die
Liste der Befehle von dem Transitionierungspaket aus, um die Konfiguration
zum Zielcomputersystem 26 zu transitionieren. Die Injektionsapplikation 24 wird
vom Betriebssystem 34 auf dem Zielcomputersystem aufgerufen.
Beim Schritt 76 wird das Transitionierungspaket optional
auf dem Zielcomputersystem 26 überprüft, um sicher zu gehen, dass
das Transitionierungspaket korrekt auf das Zielcomputersystem 26 angewendet
worden ist. In einer beispielhaften, bevorzugten Ausführungsform
der vorliegenden Erfindung überprüft die Injektionsapplikation 24 auch
die Injektion der Transitionierungskonfigurationseinstellungen auf
dem Zielcomputersystem 26. In einer anderen beispielhaften,
bevorzugten Ausführungsform
der vorliegenden Erfindung überprüft eine
separate Verifikationsapplikation die Konfigurationseinstellungen,
die von der Injektionsapplikation 24 eingebracht wurden.
-
Beispielhafte automatische
Transitionierung von Konfigurationseinstellungen
-
Die 6A und 6B sind Flussdiagramme 78, die
ein beispielhaftes Verfahren zum automatischen Transitionieren der
Konfigurationseinstellungen für
eine beispielhafte, bevorzugte Ausführungsform der vorliegenden
Erfindung zeigen. Jedoch ist die vorliegende Erfindung nicht auf
diese beispielhafte Ausführungsform begrenzt
und andere Ausführungsformen
können
ebenso genutzt werden. Beim Schritt 80 der 6A werden ein
Extraktions plan und ein Transitionierungsplan mit der Benutzerschnittstelleapplikation 20 erzeugt.
Beim Schritt 82 werden verschiedene Konfigurationseinstellungen
auf einem Quellcomputersystem 12 mit einer Extraktionsapplikation 18 unter
Verwendung eines Personalityobjekts 58 lokalisiert. Beim
Schritt 84 werden die verschiedenen Konfigurationseinstellungen
von verschiedenen Orten auf dem Quellcomputersystem 12 mit der
Extraktionsapplikation 18 und dem Extraktionsplan extrahiert.
Beim Schritt 86 werden die verschiedenen extrahierten Konfigurationseinstellungen
in einem Datenbankformat auf dem Quellcomputersystem 12 gespeichert.
Beim Schritt 88 werden die verschiedenen extrahierten Konfigurationseinstellungen
mit einer Erzeugungsapplikation 22 und dem Transitionierungsplan
bearbeitet. Beim Schritt 90 wird ein Transitionierungspaket aus
den verschiedenen bearbeiteten Konfigurationseinstellungen von der
Erzeugungsapplikation 22 erzeugt. Das Transitionierungspaket
wird genutzt, um Konfigurationseinstellungen von dem Quellcomputersystem
zum Zielcomputersystem 26 zu transitionieren.
-
Beim Schritt 92 der 6B wird eine Injektionsapplikation 24,
die das Transitionierungspaket enthält, von der Erzeugungsapplikation 22 erzeugt.
Die Injektionsapplikation 24 nutzt das Transitionierungspaket,
um Konfigurationseinstellungen von dem Quellcomputersystem zum Zielcomputersystem
zu transitionieren. Beim Schritt 94 wird die Injektionsapplikation 24,
die das Transitionierungspaket enthält, von dem Quellcomputersystem 12 zum
Zielcomputersystem 26 gesendet.
-
Beim Schritt 94 wird die
Injektionsapplikation, die das Transitionierungspaket enthält, auf
dem Zielcomputersystem 26 vom Quellcomputersystem 12 erhalten.
Beim Schritt 98 wird das Transitionierungspaket mit der
Injektionsapplikation 24 in das Zielcomputersystem 26 eingebracht,
um Konfigurationseinstellungen von dem Quellcomputersystem 12 zum
Zielcomputersystem 26 zu transitionieren. Beim Schritt
100 werden Konfigurationseinstellungen aus dem Transitionierungspaket
optional mit der Injektionsapplikation 24 überprüft, um sicher
zu gehen, dass das Transitionierungspaket korrekt auf das Zielcomputersystem
angewendet wurde.
-
Datenfluss für beispielhaft
automatische Transitionierung von Konfigurationseinstellungen
-
7 ist
ein Blockdiagramm, das einen Datenfluss 102 zum automatischen
Transitionieren der Konfigurationseinstellungen von 6A und 6B zeigt. Die Benutzerschnittstellenapplikation 20 wird
genutzt, um einen Extraktionsplan und einen Transitionierungsplan
(z. B. Schritt 80 der 6A)
zu erzeugen 104. Die Extraktionsapplikation 18 lokalisiert
und extrahiert 106 verschiedene Konfigurationseinstellungen
von verschiedenen Orten auf dem Quellcomputersystem unter Verwendung
das Personalityobjekts 58 und des Extraktionsplans (z.
B. Schritte 82 und 84). Die verschiedenen extrahierten
Konfigurationseinstellungen werden in einem vordefinierten Transitionierungsformat
im temporären
Speicher auf dem Quellcomputersystem 12 (z. B. Schritt 86)
gespeichert 108. Die verschiedenen extrahierten Konfigurationseinstellungen
können
auch im dauerhaften Speicher in der Datenbank 16 gespeichert
werden 110. Die Erzeugungsapplikation 22 bearbeitet 112 die
verschiedenen extrahierten Konfigurationseinstellungen, die in einem
vorbestimmten Transitionierungsformat gespeichert sind, wobei der
Transitionierungsplan (z. B. Schritt 88) verwendet wird.
Die Erzeugungsapplikation 22 erzeugt 114 ein Transitionierungspaket
aus den verschiedenen bearbeiteten Konfigurationseinstellungen. Das
Transitionierungspaket enthält
die verschiedenen bearbeiteten Konfigurationseinstellungen (z. B.
Schritt 90).
-
Wie vorstehend beschrieben, kann
das Transitionierungspaket in der Datenbank 16 durch die
Erzeugungsapplikation 22 gespeichert werden 116.
Das Transitionierungspaket kann auch direkt zu der Injektionsapplikation 24 transferiert
werden. Das Transitionierungspaket kann auch von der Datenbank 16 durch
die Erzeugungsapplikation 22 gelesen werden und später zur
Injektionsapplikation 24 gesandt werden. Die Erzeugungsapplikation 22 erzeugt 118 eine
Injektionsapplikation 24 einschließlich des Transitionierungspakets
(z. B. Schritt 92, 6B). Die
Injektionsapplikation 24 wird von dem Quellcomputersystem 12 zum
Zielcomputersystem 26 gesandt 120 (z. B. Schritt 94).
-
Das Zielcomputersystem 26 erhält die Injektionsapplikation 24 mit
dem Transitionierungspaket von dem Quellcomputersystem 12 (z.
B. Schritt 96). Die Injektionsapplikation 24 bringt
in das Zielcomputersystem 26 die bearbeiteten Konfigurationseinstellungen
in dem Transitionierungspaket aus dem Quellcomputersystem 12 (z.
B. Schritt 98) ein 122. Die Injektionsapplikation 24 liest
und führt
die Liste der Befehle aus dem Transitionierungspaket aus, um die
Konfiguration zum Zielcomputersystem 26 zu transitionieren.
Das Transitionierungspaket wird optional auf dem Zielcomputersystem 26 überprüft 124,
um sicher zu gehen, dass das Transitionierungspaket korrekt auf
das Zielcomputersystem 26 angewendet wurde (z. B. Schritt 100).
-
Beispielhafte automatische
Transitionierungsprodukte
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung sind die Extraktionsapplikation 18,
die Benutzerschnittstellenapplikation 20, die Erzeugungsapplikation 22 und
die Injektionsapplikation 24 Windows 32-bit ("Win32") Applikationen,
die in C++ und Visual Basic geschrieben sind. Jedoch ist die vorliegende
Erfindung nicht auf Win32-Applikationen
begrenzt und andere Applikationstypen können auch benutzt werden. Außer dem können auch
andere Programmiersprachen genauso genutzt werden, um die Transitionierungsapplikationen
zu implementieren. Die Transitionierungs-Win32-Applikationen unterstützen die beispielhafte
Transitionierung, die in Tabelle 6 dargestellt ist. Jedoch ist die
vorliegende Erfindung nicht auf die in Tabelle 6 dargestellten Transitionierungen
begrenzt, und andere Transitionierungen können genauso zwischen einem
Quellcomputersystem und einem Zielcomputersystem hergestellt werden.
-
-
In einer beispielhaften, bevorzugten
Ausführungsform
der vorliegenden Erfindung kann die vorliegende Erfindung auch die
Transitionierung von Konfigurationseinstellungen zu einem Zielcomputersystem
enthalten, die NICHT auf dem Quellcomputersystem vorhanden sind,
die jedoch aus anderen Einstellungen auf dem Quellcomputersystem
berechnet wurden. Eine derartige Ausführungsform kann inklusive sein,
derart dass "alte Einstellungen" wie auch "neue errechnete Einstellungen"
eingebracht werden. Der Übersetzungsprozess kann
ebenso exklusive sein, derart dass ein Zielcomputersystem keine
"alten Einstellungen" erhält,
sondern nur neue Einstellungen, die aus den alten Einstellungen
auf einem Quellcomputersystem "errechnet" wurden. Der Übersetzungsprozess
kann auch dazu genutzt werden, um Konfigurationseinstellungen aus
verschiedenen Quellcomputersystemen, die lokal oder entfernt sind,
zu extrahieren und sie auf einem einzigen Zielcomputersystem "zusammenzufassen".
-
In einer anderen beispielhaften,
bevorzugten Ausführungsform
der vorliegenden Erfindung können Konfigurationseinstellungen
transitioniert werden, ohne dass irgendwelche Transitionierungsdaten
jemals in ein dauerhaftes Speichermedium eingebracht wurden. In
einer derartigen Ausführungsform
werden extrahierte Transitionierungsdaten über einen Datenstrom über ein
Netzwerk übermittelt
und werden genutzt (z. B. bearbeitet und oder eingebracht), ohne
dass diese jemals in einem dauerhaften Speichermedium gespeichert
waren.
-
In einer noch weiteren beispielhaften,
bevorzugten Ausführungsform
der vorliegenden Erfindung können
Konfigurationseinstellungen in ein Zielcomputersystem eingebracht
werden, die nicht aus einem Quellcomputersystem stammen und die
nicht aus alten Konfigurations einstellungen auf dem Quellcomputersystem errechnet
wurden. In einer derartigen Ausführungsform
wird ein neues Zielcomputersystem erstellt und die Konfigurationseinstellungen
sind von einer "frisch entwickelten" Quelle, die kein Quellcomputersystem
ist (z. B. ein vorgeschlagenes neues Betriebssystem oder eine vorgeschlagene
neue Computerhardware).
-
In einer noch weiteren Ausführungsform
der vorliegenden Erfindung kann der Transitionierungsprozess ebenso
Einstellungen von einem einzelnen Quellcomputersystem nehmen und
diese auf verschiedene Zielcomputersysteme "verteilen", so dass
nur eine Untermenge der Einstellungen von dem Quellcomputersystem
auf irgendeinem Zielcomputersystem vorhanden sind. Die Untermengen
der Transitionierungsdaten können
sich überlappen
oder exklusiv sein.
-
In einer noch weiteren Ausführungsform
der vorliegenden Erfindung kann der Transitionierungsprozess Konfigurationseinstellungen
von verschiedenen Quellcomputersystemen nehmen und diese auf verschiedene
Zielcomputersysteme einbringen, aber derart, dass es keine Beziehung
zwischen den Konfigurationseinstellungen von den Quellcomputersystemen
und den Zielcomputersystemen bestehen, in welche die Konfigurationseinstellungen
eingegeben wurden. Zum Beispiel werden drei Konfigurationseinstellungen
von einem ersten Quellcomputersystem zu einer ersten Menge von Zielcomputersystemen
transitioniert, während eine
Konfigurationseinstellung von einem zweiten Quellcomputersystem
zu einer zweiten Menge von Zielcomputersystemen transitioniert wird,
die nicht der erste Menge von Zielcomputersystemen angehört.
-
Die hier beschriebenen Verfahren
und das hier beschriebene System stellen einen automatisierten Transitionierungsprozess
bereit, um Konfigurationseinstellungen von einem Zielcomputersystem
zu einem Hostcomputersystem zu transitionieren. Die Verfahren und
das System können
weitgehend Transitionierungs-, Konfigurations- und Beschäftigungszeiten
von Dienstleistern, Unternehmen, und Endbenutzern für Transitionierungen
von einem Zielcomputersystem zu einem Quellcomputersystem reduzieren.
Die Verfahren und das System können
Zeit und Ressourcen sparen, die Transitionierungsqualität verbessern
und Frustrationen der Benutzer verringern.
-
Es sollte verstanden werden, dass
die hierin beschriebenen Programme, Prozesse, Verfahren und Systeme
weder auf irgendeine spezielle Computerart oder Netzwerksystem (Hardware
oder Software) bezogen noch begrenzt sind, es sei denn es ist anders
angegeben. Verschiedene Typen von Computersystemen für allgemeine
Zwecke oder spezialisierte Computersysteme können genutzt werden oder führen Operationen im
Einklang mit den Lehren aus, die hier beschrieben wurden.
-
Angesichts der großen Vielfalt
der Ausführungsformen,
auf die die Prinzipien der vorliegenden Erfindung angewandt werden
können,
sollte es klar sein, dass die dargestellten Ausführungsformen nur beispielhaft sind
und nicht dazu benutzt werden sollten, den Bereich der Erfindung
einzugrenzen. Zum Beispiel können
die Schritte der Flussdiagramme in einer anderen als der beschriebenen
Reihenfolge verwendet werden und es können mehr oder weniger Elemente
in den Blockdiagrammen eingesetzt werden. Während verschiedene Elemente
der bevorzugten Ausführungsformen
als in Software implementiert beschrieben worden sind, können in anderen
Ausführungsformen
Hardware oder Firmware Implementationen alternativ genutzt werden
und andersherum.
-
Sofern nicht explizit erwähnt, sollten
die Ansprüche
nicht auf die beschriebene Ordnung oder Elemente limitiert gelesen
werden. Darum werden alle Ausführungsformen,
die innerhalb des Schutzbereichs der folgenden Ansprüche und
deren Äquivalente
fallen, als diese Erfindung beansprucht.