-
HINTERGRUND
DER ERFINDUNG
-
1. Das Gebiet
der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf Informatik im Netz (network
computing), und genauer auf die Übertragung
und den Betrieb von Software, die über Computernetze verteilt
wird. Genauer noch inkludiert die vorliegende Erfindung ein Verfahren, eine
Vorrichtung und Software zum dynamischen Modifizieren von Computerschnittstellen,
sodass Benutzer auf Software zugreifen und sie betreiben können, die über ein
Computernetz verteilt wird.
-
2. Der Stand
der Technik
-
Vor
dem Aufstieg des Personalcomputers waren Computerbenutzer darauf
begrenzt, Software zu betreiben, die auf großen Mainframe-Computern gelaufen
ist, die Terminals verwenden, die typischerweise eine Tastatur zum
Eingeben von Daten und Befehlen und eine Videoanzeigeeinrichtung
(oder einen Drucker) zum Betrachten der Ausgabe inkludiert haben.
Obwohl Mainframes sehr leistungsfähige EDV-Plattformen vorgesehen
haben, haben sie an ernsthaften Nachteilen gelitten. Insbesondere
war es aufwändig,
Mainframes zu installieren und zu betreiben, und es war erforderlich,
dass alle Benutzer direkt mit dem Mainframe durch ein Terminal verbunden
sind, was Zugang zu dem Mainframe für viele Leute begrenzt hat.
Außerdem
hatten Benutzer eine sehr begrenzte Steuerung über ihre EDV-Umgebungen, mussten
gewöhnlich
ihren Arbeitsstil und Probleme anpassen, mit der Software und Administration
des Mainframe-Computers übereinzustimmen.
-
Beginnend
in den späten
1970'ern begannen Personalcomputer,
Mainframes als die dominierende EDV-Plattform für sowohl persönliche,
geschäftliche als
auch wissenschaftliche Zwecke zu überholen. Für einzelne Benutzer konnten
Personalcomputer häufig die
gleiche Berechnungsgeschwindigkeit wie die älteren Mainframes vorsehen,
die viele Verarbeitungsaufgaben gleichzeitig unterbringen mussten.
Außerdem
wurde Software, die auf den Personalcomputern lief, "benutzerfreundlicher", was Computerbenutzern erlaubt,
sowohl den Computer als auch die Software anzupassen, mit ihren
bestimmten Berechnungserfordernissen übereinzustimmen. Die Ablösung der Notwendigkeit,
eine Verbindung von einem Terminal zu einem Mainframe haben zu müssen, erlaubte
Personalcomputern, sich überall
innerhalb einer Organisation oder Zuhause zu befinden. Diese Fähigkeit
hat die Dominanz des Personalcomputers gegenüber dem Mainframe weiter sichergestellt,
da EDV-Leistung sich an Standorten befinden konnte, wo sie benötigt wurde.
Benutzer mussten nicht länger
ihre Operationen an große
aufwändige übertrieben
genaue Mainframe-Rechenzentren anpassen.
-
Als
die Rechenleistung und Datenspeicherkapazitäten von Personalcomputern während der 1980'iger sprunghaft zunahm,
schien es, dass die Dominanz des Personalcomputers sichergestellt
ist. Zum Ende der 1980'iger
kam es jedoch zum Auftreten eines neuen Phänomens, welches wahrscheinlich
die Revolution des Personalcomputers der letzten zwei Dekaden überholen
wird. Heute ist die stets wachsende Zahl von Personalcomputern durch Hochgeschwindigkeits-Datennetze
miteinander verknüpft.
Das populärste
Netz ist gegenwärtig
das "Internet" – das Netz, welches verschiedene
geschäftliche,
wissenschaftliche und Personalcomputer-Standorte rund um den Erdball
umfasst. Die Popularität
des Internet, und genauer der Aspekt des Internet, der als das "World Wide Web" bezeichnet wird,
hat viele Organisationen veranlasst, interne Computernetze – die sogenannten "Intranets" – zu bilden. Dieses Interesse
an Informatik im Netz wurde durch eine Kombination von Hochgeschwindigkeits-Datennetzen
und zunehmend ausgeklügelteren Netzservern,
Routern und anderen Einrichtungen, die erlauben, dass viele unabhängige Personalcomputer
effizient kommunizieren, ausgelöst.
-
Die
Attraktivität
des World Wide Web (weltweites Netz) kommt teilweise von seinem
höchst
visuellen Charakter, dem gleichen Faktor, der beim Aufstieg des
Personalcomputers und seiner Dominanz gegenüber dem Mainframe eine große Rolle gespielt
hat. Typischerweise ist das World Wide Web in verschiedene "Web-Standorte" organisiert, die
typischerweise einen Server umfassen, der Daten zu einem Clientcomputer überträgt, der
einen "Browser" laufen lässt. Der
Browser ist eine Software, die den Benutzer mit einem Fenster und
verschiedenen Steuerungen versieht, durch die Daten von dem Server
betrachtet und navigiert werden können. Ein besonders nützliches
Merkmal von Daten des World Wide Web ist ihre Fähigkeit, durch Hypertext-Befehle verknüpft zu werden,
sodass Benutzer schnell von einem Dokument zu einem anderen und
sogar von einem Web-Standort
zu einem anderen durch sehr einfache intuitive Befehle, wie etwa
die Aktivierung eines Mausknopfes, navigieren können. Unter Verwendung des
World Wide Web können
Benutzer Text, Grafik betrachten und Töne von Standorten überall um
den Erdball hören.
Außerdem
können
Benutzer auch neue Software herunterladen, oder Software, die zum
Modifizieren von Programmen fähig
ist, die bereits auf den Clientcomputern installiert sind. Diese gleichen
Merkmale, die Benutzern des World Wide Web in dem Internet verfügbar sind,
können
auch Benutzern eines lokalen Netzes durch ein Intranet bereitgestellt
werden. Diese Fähigkeit
hat steigende Aufmerksamkeit von vielen Organisationen bekommen,
da Information, die für Angestellte
nützlich
ist, die ihre Aufgaben ausführen,
schnell überall
in dem Netz an Personalcomputer innerhalb der Organisation verteilt
werden kann.
-
Die
Verwendung von modernen Netzen für eine
derartige weit verbreitete Verteilung von Information und Software
weist jedoch auf einen Nachteil bezüglich der stark dezentralisierten
Natur von Personalcomputern hin. Da Benutzer so viel Steuerung über ihre
EDV-Umgebungen haben, und wegen der Notwendigkeit, einzelne Kopien
von Softwarepaketen auf einzelnen Computern zu unterhalten, wird
das Management von Computernetzen zunehmend schwierig. Mit so vielen
entfernten Computern, die über
Computernetze miteinander verbunden sind, ist es für Administratoren
schwierig sicherzustellen, dass jeder Benutzer ein Computersystem
hat, das konfiguriert ist, zuverlässig und effizient zu arbeiten. Besondere
Probleme inkludieren die Unterhaltung von aktuellen Softwarerevisionen,
Modifikationen, die an dem Betriebssystem und Software durch die Benutzer
durchgeführt
werden, die Installation zusätzlicher
Software auf dem lokalen Computer, die zum Durchführen der
zentralen Aufgaben des Benutzers nicht erforderlich ist, und die
Notwendigkeit, viele Kopien eines einzelnen Softwarepaketes zu kaufen,
selbst wenn dieses Paket nur selten verwendet wird. Wichtiger ist
die Notwendigkeit, Software zu unterstützen, die auf unterschiedlichen
Computerplattformen läuft,
wie etwa UNIX, Macintosh und Windows, da in Organisationen häufig mehrere
Plattformen verwendet werden, um unterschiedliche Funktionen durchzuführen. Z.B.
kann eine Organisation Windows-basierte Computer zum Betreiben von
Abrechnungssoftware, Macintosh-Computer für Grafik und Design und Unix-Systeme
für Netzadministration und
High-End Berechnung 0 Anwendungen, wie etwa wissenschaftliche oder
ingenieurtechnische Kalkulationen oder Funktionen von computerunterstütztem Design
("CAD") oder computerunterstütztem Ingenieurwesen
("CAE") verwenden. Dies
zwingt Organisationen, viele Kopien der gleichen Softwarean wendung
zu erwerben, um jene Verwendungen unterzubringen, die für alle Plattformen
gemeinsam sind (z.B. Textverarbeitung oder Datenbankzugriff).
-
"NETSCAPE NAVIGATOR
FOR WINDOWS BETA RELEASE 4" Support
Documentation [Online] 15. August 1996, Seiten 1-9, XP-002179420, abgerufen
von http://home.netscape.com/eng/mozilla/3.0/relnotes/windows3.0b4.html,
beschreibt das Plugin (Einschub) Live3D für den Netscape-Navigator-Browser,
das einen Betrachter für
VRML-Dateien vorsieht und erweiterte Schnittstellen zum Entwickeln von
3D-Anwendungen auf der Netscape-Navigator-Plattform vorsieht.
-
Somit
wäre es
von großem
Nutzen für
Computerbenutzer, und insbesondere Computerbenutzer innerhalb von
Organisationen mit vielen Computerbenutzern, die durch ein Computernetz
verbunden sind, Verfahren und Systeme zum Verbreiten von sowohl
Information als auch Software über
das Netz vorzusehen, sodass die oben beschriebenen Probleme gemildert
werden können,
die mit stark dezentralisierten Computernetzen in Verbindung stehen.
Wie hier und nachstehend beschrieben wird, erfüllt die vorliegende Erfindung
diese und andere Bedürfnisse.
-
Die
vorliegende Erfindung adressiert die oben beschriebenen Schwierigkeiten
beim Managen von Softwareverteilung über einen vernetzten Computer
durch Vorsehen, in einem Aspekt, eines Verfahrens, Systems und Software
zum Installieren und Betreiben ausgewählter Softwareanwendungen auf
einem Clientcomputer, der in Kommunikation mit einem Servercomputer
in einem Computernetz ist. Unter Verwendung der Verfahren, Systeme
und Software, die hierin beschrieben werden, kann Software zu Clientcomputern
ohne die Installation und andere Schwierigkeiten beim Management
verteilt werden, die beim Managen von Software in vielen Computersystemen
alltäglich
sind. Wichtiger noch erlauben die Verfahren, Systeme und Vor richtung,
die durch die vorliegende Erfindung vorgesehen werden, die Verteilung
von Software, die plattformunabhängig
ist, wobei dadurch Netz- und Systemadministratoren – und Benutzer – von Enttäuschungen
und Schwierigkeiten befreit werden, die durch die Notwendigkeit geschaffen
werden, verschiedene plattformabhängige Versionen von Software
zu managen.
-
Gemäß einem
ersten Aspekt der Erfindung wird ein Verfahren zum Installieren
und Betreiben einer ausgewählten
Softwareanwendung auf einem Computer vorgesehen, wobei die Softwareanwendung
eine Softwareanwendungs-Benutzerschnittstellen hat, das Verfahren
die Schritte umfassend: Vorsehen von Browsersoftware auf dem Computer, die
Browsersoftware inkludierend eine Browserbenutzerschnittstelle mit
einem Fenster inkludierend einen Rahmen, wobei die Browsersoftware
wirksam ist, die ausgewählte
Softwareanwendung zur Ausführung
zu identifizieren; Auswählen
der ausgewählten Softwareanwendung
unter Verwendung des Browsers; und Transformieren des Fensters der
Browserbenutzerschnittstelle innerhalb des Rahmens, um die Softwareanwendungs-Benutzerschnittstelle
vorzusehen, um dadurch einen Betrieb der ausgewählten Softwareanwendung unter
Verwendung der transformierten Browserbenutzerschnittstelle mit
dem ursprünglichen
Rahmen zu erlauben.
-
Gemäß einem
weiteren Aspekt der Erfindung wird ein Computersystem zum Ausführen einer ausgewählten Softwareanwendung
auf einem Computer vorgesehen, wobei die Softwareanwendung eine
Softwareanwendungs-Benutzerschnittstelle hat, das Computersystem
umfassend: einen Computer, der mit mindestens einer Speichereinrichtung
gekoppelt ist, die darin Browsersoftware hält, inkludierend eine Browserbenutzerschnittstelle
mit einem Fenster inkludierend einen Rahmen, wobei die Browsersoftware
wirksam ist, eine ausgewählte
Softwareanwendung für
eine Ausführung
durch den Computer zu identifizieren, die ausgewählte Softwareanwendung wirksam
ist, das Fenster der Brow serbenutzerschnittstelle innerhalb des
Rahmens zu transformieren, um die Softwareanwendungs-Benutzerschnittstelle
vorzusehen, um dadurch einen Betrieb der ausgewählten Softwareanwendung unter
Verwendung der transformierten Browserbenutzerschnittstelle mit dem
ursprünglichen
Rahmen zu erlauben, wenn die Softwareanwendung durch den Computer
ausgeführt wird.
-
Gemäß weiteren
Aspekten der Erfindung werden Computerprogrammcode und ein computerlesbares
Medium vorgesehen, die das Verfahren und Systemaspekte der Erfindung
vorsehen.
-
Diese
und andere Aspekte und Vorteile der vorliegenden Erfindung werden
offensichtlicher, wenn die nachstehende Beschreibung in Verbindung mit
den begleitenden Zeichnungen gelesen wird.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 veranschaulicht
ein Weitbereichscomputernetz, in dem sowohl Computer als auch Intranets
durch ein Computernetz durch das Internet gekoppelt sind.
-
2 ist
eine schematische Darstellung eines Intranet, wie etwa in 1 veranschaulicht.
-
3A und 3B veranschaulichen
die Modifikation einer Browserschnittstelle in Übereinstimmung mit einer Ausführungsform
der vorliegenden Erfindung. 3A veranschaulicht
eine typische Browserschnittstelle, wie sie etwa verwendet wird, um
Text oder Grafik über
das World Wide Web in dem Internet oder von einem Intranetserver
zu betrachten. 3B stellt eine Browserschnittstelle
dar, die unter Verwendung der Verfahren und Vorrichtung, die hierin
beschrieben werden, modifiziert wurde, um dem Benutzer eine andere
Funktionalität
bereitzustellen.
-
4 ist
ein Flussdiagramm, das eine Ausführungsform
des Verfahrens der vorliegenden Erfindung umreißt.
-
5 ist
ein Flussdiagramm, das Schritt 406 von 4 gemäß einer
Ausführungsform
der Erfindung detaillierter veranschaulicht.
-
6 ist
eine schematische Darstellung einer Ausführungsform eines Verfahrens
zum Transformieren einer Browserschnittstelle gemäß der vorliegenden
Erfindung.
-
7 ist
ein Flussdiagramm, das Schritt 412 von 4 detaillierter
veranschaulicht.
-
8 ist
eine Veranschaulichung einer Browserschnittstelle, die drei "Rahmen" inkludiert, in denen
Text und Grafik unabhängig
betrachtet werden können.
-
9 ist
eine schematische Darstellung eines Verfahrens zum Modifizieren
von Mehrfachrahmenbrowsern, wie etwa in 8 veranschaulicht, gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
10 ist
eine schematische Darstellung eines Computersystems in Übereinstimmung
mit der vorliegenden Erfindung.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die
vorliegende Erfindung sieht, in einer Ausführungsform, ein Verfahren,
eine Vorrichtung und Software zum dynamischen Modifizieren einer
Browserschnittstelle vor, um Softwarefunktionalitäten vorzusehen,
die von einem Server über
ein Netz zu einem Benutzer verteilt werden, der an einem Clientcomputer
arbeitet, der mit dem Server durch das Computernetz gekoppelt ist.
-
Eine
Veranschaulichung eines Netzes in Übereinstimmung mit der vorliegenden
Erfindung wird in 1 vorgesehen. In dem Netz, das
in 1 veranschaulicht wird, sind Intranets 102 und 104 und ein
einzelner Computer, der bei 106 gezeigt wird, inkludiert.
Die Struktur der Intranets 102 und 104 wird nachstehend
mit Bezug auf 2 detaillierter beschrieben.
Beide Intranets und der Computer sind mit dem Computernetz durch
eine Vielfalt von Computer-Gateways ("G/W")
verbunden. In einigen Ausführungsformen
inkludiert das Computernetz das Internet. Bezug nehmend auf 1 ist
genauer Intranet 102 mit Intranet 104 und Computer 106 durch
das Internet gekoppelt, das allgemein bei 108 gezeigt wird. Die
Verbindung zwischen Intranet 102 und Internet 108 wird
zuerst durch ein Gateway 110 vorgesehen, das mit Intranet 102 und
einem "Backbone" ("Haupttrasse") oder Datenleitung
hoher Kapazität 112 gekoppelt
ist. Daten von einer Leitung hoher Kapazität 112 werden durch
Gateway 114 durch Internet 108 weitergeleitet,
wobei die Daten durch ein zweites Gateway 116 und in eine
Datenleitung hoher Kapazität,
die bei 118 gezeigt wird, passieren. Durch einen Fachmann
für Computernetze
wird erkannt, dass Datenleitung 118 die gleiche wie Datenleitung 112 sein kann
oder ein getrenntes Backbone darstellen kann, mit dem verschiedene
andere Individuen und Netz gekoppelt sind.
-
Daten,
die sich von Intranet 102 durch das Internet und über die
Datenleitung hoher Geschwindigkeit 118 bewegen, durchlaufen
das Gateway 120 zu Intranet 104 oder das Gateway 124 zu
Computer 106. Gemäß der veranschaulichten
Ausführungsform können somit
Daten zwischen Computer 106, Intranet 104 und
Intranet 102 weitergegeben werden. Insbesondere können sich
die Daten durch das Internet 108 wie gerade beschrieben
bewe gen, oder können über das
Backbone 118 zwischen dem Benutzer und Intranet 104 passieren.
In einigen Ausführungsformen
können
Intranet 104 und Intranet 102 gekoppelt sein oder
direkt durch Netzkonfigurationen, die einem Fachmann als "Extranets" bekannt sind. Extranets
sind Netzanordnungen, in denen ein gegebenes Netz oder ein Individuum
mit einem entfernten Netz durch eine dedizierte Datenverbindung
gekoppelt ist. Diese Verbindung kann Daten inkludieren, die durch das
Internet weitergeleitet werden, wie in 1 veranschaulicht,
oder kann eine direkte Dateneinspeisung sein, wie etwa durch eine
ISDN- oder T-1-Datenleitung. Einem Fachmann auf dem Gebiet von Computernetzen
und Telekommunikation werden verschiedene Konfigurationen zusätzlich zu
den Verfahren und Materialien zum Herstellen derartiger Konfigurationen
offensichtlich sein.
-
Eine
Ausführungsform
eines Intranet, wie etwa in 1 bei 102 oder 104 veranschaulicht,
wird in 2 bei 200 vorgesehen.
Ein typisches Intranet inkludiert einen Server 202, der
mit Clients 204 und 206 gekoppelt ist. Außerdem kann
der Server mit anderen Clientcomputern, wie etwa bei 210 und 212 gezeigt,
durch einen Router, Hub oder eine ähnliche Datentransfereinrichtung
gekoppelt sein, wie bei 208 gezeigt. Außerdem können externe Benutzer, wie etwa
bei 214 gezeigt, mit dem Server entweder durch eine direkte
Leitung oder durch die Verwendung von Telefonleitungen, z.B. unter
Verwendung eines Modems oder einer ähnlichen Einrichtung, verbunden werden.
In einigen Fällen
wird Zugang zu dem Intranet zu einem hohen Maß durch eine "Firewall"-Konfiguration gesteuert,
die durch den gestrichelten Kasten 216 veranschaulicht
wird. Die Herstellung von Kommunikationen von Benutzern außerhalb
zu der Firewall, wie etwa Benutzer 214, kann durch Durchlaufen
eines Gateway erreicht werden, das Zugang zu dem geschützten Server
erlaubt. Ein derartiges Gateway wird bei 218 veranschaulicht.
-
Typischerweise
sieht der Server Daten und Software vor, auf die durch die verschiedenen
Clients zugegriffen werden kann, die in Kommunikation mit dem Server
sind, entweder direkt oder durch eine Einrichtung, wie etwa einen
Router. Der Aufbau, Wartung und Betrieb des Servers, Routers und
verschiedener Clientmaschinen wird einem Fachmann gut bekannt sein.
Insbesondere wird der Server 208 jedoch konfiguriert, Daten
vorzusehen, die mit Browsersoftware kompatibel sind, wie etwa der,
die verwendet wird, um Daten in dem oben beschriebenen World Wide
Web zu betrachten. Speziell werden die Daten, die durch den Server
bereitgestellt werden, in der Form von Seiten von Daten sein, die
unter Verwendung typischer Browsersoftware untersucht werden können. In
einer Ausführungsform
sind der Server und Clients konfiguriert, nicht nur Daten auszutauschen,
sondern Computersoftwareanwendungen, und genauer Software in der
Form von "Applets" (kleine Anwendungen),
wie etwa jenen, die in der Programmiersprache JavaTM geschrieben
sind, die von Sun Microsystems von Mountain View, Kalifornien verfügbar ist.
Der Begriff "Applet", wie hierin verwendet,
verweist auf einen Softwarecode, der in dem Kontext von Software
ausgeführt
wird, die bereits auf dem entfernten Computer läuft. In einer Ausführungsform
ist die Software, im Kontext mit der das Applet läuft, die
oben beschriebene Browsersoftware. Typischerweise sehen Applets
zusätzliche
Funktionalitäten
für Browsersoftware
durch Durchführen verschiedener
Berechnungsaufgaben vor, für
deren Durchführung
die Browsersoftware selbst nicht konfiguriert ist. Somit können Benutzer,
die Applets herunterladen, die Browsersoftware mit zusätzlichen
Funktionalitäten
versehen, die anderenfalls nicht für die Browsersoftware verfügbar sind.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung funktioniert die Softwareanwendung, und
genauer die Applet-Software, die durch den Benutzer heruntergeladen
wird, nicht nur zusätzliche
Funktionalitäten
vorzusehen, sondern ist wirksam, die Browserschnittstelle so zu
modifizieren, dass dem Benutzer in der Tat ein anderes Computerprogramm
präsentiert
wird. Durch Herunterladen von Applets, die das Verfahren und Systeme
der vorliegenden Erfindung verwenden, können Benutzer auf Software
auf eine plattformunabhängige
Weise von einem entfernten Server zugreifen und diese Software betreiben,
als ob sie bereits auf ihrer lokalen Computerplattform installiert
ist. Da Applets, wie etwa JavaTM-Applets,
auf eine plattformunabhängige
Art und Weise funktionieren können,
wird erkannt, dass die vorliegende Erfindung einen Weg zum Verteilen
von Software auf eine plattformunabhängige Art und Weise vorsieht,
was Benutzern erlaubt, Software auszuführen, ohne diese Software auf
ihren lokalen Maschinen installiert zu haben. Die Vorteile, die
durch eine derartige Anordnung vorgesehen werden, inkludieren die
Fähigkeit
von Benutzern, auf die neuesten Revisionen von Software Zugriff
zu haben, ohne diese Software auf ihren lokalen Maschinen installiert
zu haben, Zugang zu Software für
nur jene Zeitperioden zu haben, für die der Benutzer die Dienste
dieser Software benötigt,
wobei so die Notwendigkeit vermieden wird, teure Software zu erwerben,
die nur selten verwendet wird, und Zugriff auf hochspezialisierte Software
zu haben, die anderenfalls nur auf speziellen und hochspezialisierten
EDV-Plattformen verfügbar
sein kann.
-
Es
wird jedoch auch erkannt, dass die oben beschriebene Anwendungs-
und Applet-Software, die verwendet wird, um einen Browser zu modifizieren,
um einem Benutzer zu erlauben, eine Vielfalt von Softwareanwendungen über ein
Netz laufen zu lassen, mit einem einzelnen Computer ohne Verbindung zu
einem Computernetz verwendet werden kann. In diesem Fall wird sich
die Anwendungssoftware (oder das Applet), die/das verwendet wird,
um den Browser zu modifizieren, in einem Datenspeicher befinden, der
mit dem Computer gekoppelt ist. Z.B. können große Zahlen von Applets, die
wirksam sind, eine Schnittstelle eines Browsers zu modifizieren,
wie hierin beschrieben, auf einem Speichermedium hoher Dichte bereitgestellt
werden, wie etwa einer CD-ROM. Ein Benutzer kann dann einen Browser (der
auch auf der CD-ROM bereitgestellt werden kann) mit Verknüpfungen
zu jedem der Applets verwenden, um einfach die Applet-Software,
die auf der CD-ROM verfügbar
ist, zu durchsuchen, ein oder mehr gewünschte Applets auswählen und
die Applets direkt durch die Browserschnittstelle laufen lassen,
wie nachstehend beschrieben wird. Eine derartige Anordnung würde für den Benutzer
die Notwendigkeit umgehen, verworrene Dateistrukturen zu durchlaufen
und verschiedene Anwendungen zu starten und zu beenden. Das Durchsuchen
und die Steuerung der Anwendung(en) wird innerhalb des Kontexts
der Browsersoftware durchgeführt.
-
Die
Operation der Erfindung wird mit Bezug auf 3A und 3B detaillierter
beschrieben. 3A veranschaulicht eine Browserschnittstelle, wie
etwa einen beliebigen Java-fähigen
Browser, der kommerziell verfügbar
ist. Derartige Browser inkludieren HotjavaTM von
JavaSoftTM von Cupertino, Kalifornien, Netscape
Navigator, verfügbar
von Netscape Communications, Inc. von Mountain View, Kalifornien und
Microsoft Explorer, verfügbar
von Microsoft Corporation von Redmond, Washington.
-
Bezug
nehmend auf 3A inkludieren typische Browserschnittstellen,
wie etwa die, die bei 300 gezeigt wird, einen Fensterrahmen 302,
der eine Steuerregion 304 und eine Betrachtungsregion 306 einschließt. Steuerregion 304 inkludiert
typischerweise Seitensteuerungen 308, die Benutzern erlauben, zwischen
verschiedenen Seiten von Daten, die durch einen Server bereitgestellt
werden, zu navigieren, wie etwa oben beschrieben, ein Texteintragsfenster 310 zum
Eintragen verschiedener Daten, die durch den Browser benötigt werden,
z.B. URL-Adressen oder Antworten auf Anfragen, Pull-Down-Menüs, die einen
Aufklappbalken inkludieren, gezeigt bei 312, die, wenn
aktiviert, ein Menü von
Optionen anzeigen, wie etwa bei 314 gezeigt, zusätzlich zu
verschiedenen anderen Knöpfen,
die Merkmale und Dienstprogramme aktivieren, die allgemein bei 316 gezeigt werden.
Betrachtungsregion 306 inkludiert typischerweise einen
Betrachtungsbereich 318, wobei der Betrachtungsbereich
eine Region vorsieht, in die Text, Hypertext-Verknüpfungen und Grafiken dem Benutzer
für eine
Untersuchung angezeigt werden. Häufig inkludiert
der Betrachtungsbereich einen Rollbalken, wie bei 320 gezeigt,
wobei der Rollbalken ferner Navigationsknöpfe, wie etwa bei 322 und 324 gezeigt, und
ein "thumb wheel" 326 (Einstellrad)
inkludiert, von denen alle dem Benutzer erlauben, Text für eine Untersuchung
auf- und abzurollen.
-
Gemäß einer
Ausführungsform
der vorliegenden Erfindung werden Applets bereitgestellt, die nicht
nur dem Benutzer erlauben, spezialisierte Software auszuführen, die
sich von der Browsersoftware unterscheidet, mit der der Benutzer
das Applet aktiviert, sondern die Applet-Software transformiert
die Browserschnittstelle, um eine Schnittstelle vorzusehen, die
für die
Funktionalität
spezifisch ist, die das Applet ausführt. Ein Beispiel einer derartigen
transformierten Schnittstelle wird bei 350 in 3B vorgesehen.
Wie in 3B gezeigt, sieht die Transformation
des Browserfensters ein Fenster vor, das den ursprünglichen
Fensterrahmen 302 inkludiert, das aber ansonsten die Schnittstelle
vollständig
geändert
hat, die dem Benutzer präsentiert
wird. Der Grad, zu dem die Schnittstelle des Browsers geändert ist,
wird natürlich
von der Natur der Anwendungssoftware abhängen.
-
Somit
wurden in dem veranschaulichten Beispiel die Steuerfläche und
Datenfenster modifiziert, um einen ausgedehnteren Steuerbereich 352 und eine
etwas kleinere und fixierte Daten betrachtungsregion 354 vorzusehen.
Steuerregion 352 kann eine Vielfalt von Datenelementen
enthalten, die die gleichen wie jene oder unterschiedliche von jenen
des ursprünglichen
Browserfensters sein können.
Z.B. inkludiert die Steuerregion 352 in der veranschaulichten
beispielhaften Ausführungsform
eine Vielfalt von Knöpfen 356,
und die Datenbetrachtungsregion 354 inkludiert ein Fenster 358.
Es wird natürlich
erkannt, dass die tatsächliche
Schnittstelle von sowohl dem Browser als auch dem Applet gemäß den Merkmalen und
Funktionalitäten,
die für
jeden Typ von Software bereitgestellt werden, variieren wird. In
Fällen,
wo Datenbankfunktionalitäten
durch das Applet bereitgestellt werden, können die Knöpfe 356 somit Befehle,
wie etwa Sortieren, Abfragegenerierungsbefehle, Knöpfe, um
den Eintrag von neuen Datensätzen
und die Löschung
von alten Datensätzen
zu erlauben, ebenso wie Knöpfe,
um die Beendigung der Ausführung
des Applets und die Neukonfiguration der Schnittstelle, um den Benutzer
zu der Browserschnittstelle zurückzuführen, inkludieren.
In Übereinstimmung
mit einer derartigen Ausführungsform
kann die Datenpräsentationsregion 358 nichts
mehr als ein Fenster vorsehen, in das strukturelle Daten in Übereinstimmung
mit den Befehlen angezeigt werden, die durch den Benutzer durch
den Steuerbereich 352 vorgesehen werden. Wie oben erwähnt, werden
die spezifischen Konfigurationen natürlich gemäß den Funktionalitäten und
Schnittstellengestaltung der bestimmten Browser und Applets, die
verwendet werden, variieren und werden einem Fachmann vertraut sein.
-
Eine
Ausführungsform
eines Verfahrens, wodurch die zuvor erwähnte Transformation bewerkstelligt
wird, wird bei 400 in 4 gezeigt.
Wie darin gezeigt, lädt
der Benutzer zuerst die Browsersoftware in Schritt 402.
In einer Ausführungsform
ist die Browsersoftware auf der lokalen Clientmaschine installiert und
wird durch den Benutzer direkt von dem Client ausgeführt. Alternativ
kann der Browser entfernt über das Netz
bereitgestellt werden, in welchem Fall die Clientmaschine konfiguriert
ist, mehr als ein Terminal denn als eine autonome EDF-Plattform
zu antworten. Die Implementierung jeder Konfiguration und anderer Konfigurationen
wird einem Fachmann offensichtlich sein. Auf Laden des Browsers
hin lädt
der Benutzer eine Web-Seite, die das gewünschte Applet enthält, was
in Schritt 404 auszuführen
ist. Das Laden von derartigen Web-Seiten wird unter Verwendung von Verfahren
durchgeführt,
die einem Fachmann vertraut sind. Auf Laden des gewünschten
Applets hin wird die Browserschnittstelle in Schritt 406 derart transformiert,
dass dem Benutzer eine neue Schnittstelle bereitgestellt wird, die
Funktionalitäten
und Anzeigen inkludiert, die mit der Funktionalität des Applets
konsistent sind, wie oben mit Bezug auf 3A und 3B veranschaulicht
wird. In Schritt 408 betreibt der Benutzer die Anwendung,
z.B. das Applet, unter Verwendung der transformierten Schnittstelle, wonach
der Benutzer das Applet in Schritt 410 von einem Befehl,
der generiert und zu dem Applet durch die modifizierte Browserschnittstelle
weitergegeben wird, terminiert. Schließlich wird in Schritt 412 die Browserschnittstelle
in ihre ursprüngliche
Konfiguration zurückgeführt, von
der der Benutzer entweder ein anderes Applet auswählen kann,
das in den Clientcomputer zu laden ist, und das die Browserschnittstelle
erneut gemäß der eben
beschriebenen Sequenz transformieren kann, oder der Benutzer den Betrieb
des Computers terminieren kann oder der Benutzer Software ausführen kann,
die auf der lokalen Maschine installiert ist.
-
Schritt 406 von 4,
die Transformation der Browserschnittstelle in eine neue Schnittstelle, die
in Übereinstimmung
mit dem Applet funktioniert, wird bei 500 in 5 detaillierter
veranschaulicht. In Schritt 502 erlangt das Applet, welches
nun auf dem Clientcomputer ausgeführt wird, das von dem entfernten
Server unter Verwendung von Standardtechniken geladen wurde, neue
Eigenschaftseinstellungen, die verwendet werden, die neuen Funktionalitäten zu definieren,
die in der transformierten Browserschnittstelle zu präsentieren
sind. Die Einstellungen sind typischerweise auf dem Server gespeichert,
auf dem das Applet gespeichert ist. Die Einstellungen können jedoch
in anderen Standorten bereitgestellt werden, wie etwa anderen Servern,
oder können
auf dem Clientcomputersystem selbst gespeichert sein. In Schritt 504 übermittelt
das Applet die neuen Eigenschaftseinstellungen zu dem Browser, wie
nachstehend detaillierter beschrieben wird. Bei der Übermittlung
der neuen Eigenschaftseinstellungen zu dem Browser fordert das Applet
in Schritt 506 den Browser auf, seine Schnittstelle unter
Verwendung der neuen Einstellungen zu aktualisieren. In Schritt 508 transformiert
der Browser seine Schnittstelle, da er seine Schnittstelle durch
die neuen Eigenschaftseinstellungen aktualisiert, die durch das
Applet bereitgestellt wurden. Diese Transformation beruht auf den gleichen
Mechanismen, die verwendet werden, um die ursprüngliche Browserschnittstelle
aufzubauen, und werden deshalb nicht detaillierter beschrieben, da
derartige Operationen einem Fachmann vertraut sein werden.
-
Typische
Eigenschaftseinstellungen inkludieren eine beliebige Einstellung,
die verwendet wird zu definieren, was dem Benutzer in dem Browserfenster
angezeigt wird, inkludierend die Funktionen, die initiiert werden,
wenn beliebige angezeigte Steuerungen (z.B. Knöpfe) durch den Benutzer aktiviert werden.
Beispiele derartiger Einstellungen inkludieren jene, die Menüleisten,
Menüelemente,
Knöpfe, Statusnachricht,
Boxen zum Wachsen und Schrumpfen, Fensterabmessungen, Fensterstandort,
Hintergrundfarbe, Textkennzeichnen, ebenso wie die Abmessung, Standort
und Vorhandensein von Datenfeldern vorsehen. Außerdem können ebenso verschiedene Seitengestaltungseigenschaften
bezüglich
der Hypertext-Auszeichnungssprache ("HTML"),
wie etwa Schriftstil, Schriftgröße, Schriftart,
Schriftfarbe, Beabstandung, Kerning, und/oder Führung unter Verwendung der Eigenschaftseinstellungen
gesteuert werden. Es wird erkannt, dass Änderungen, die an der Menüleiste und
den Menüelementen
wie oben beschrieben durchgeführt
werden, verwendet werden können,
neue Funktionen unter Verwendung des entfernten Codes, der durch
das Applet bereitgestellt wird, dynamisch hinzuzufügen. Außerdem können die
Knöpfe,
die durch die neuen Eigenschaftseinstellungen definiert werden,
auch verwendet werden, neue Funktionen zu implementieren.
-
Das
Verfahren, durch das das Applet die neuen Einstellungen zu dem Browser übermittelt,
wie in Schritt 506 von 5 aufgerufen,
wird mit Bezug auf 6 detaillierter veranschaulicht.
Gemäß einer Ausführungsform
der vorliegenden Erfindung wird aus den Eigenschaftsklassencharakteristika
der Programmiersprache JavaTM Nutzen gezogen.
Wie einem Fachmann bei der Programmierung in der Sprache JavaTM vertraut sein wird, ist die Eigenschaftsklasse
zum Teil definiert, als ein Container zu agieren, der konfiguriert
ist, eine Liste von Browserschnittstellen-Eigenschaftsnamen und
ihre zugehörigen
Werte zu unterhalten. Eine derartige Tabelle wird bei 602 in 6 veranschaulicht.
Die Eigenschaftsnamen und ihre zugehörigen Werte sind in den Regionen,
angezeigt bei 604 und 606 für die Browsereigenschaftseinstellungen,
die ursprünglich
vorgesehen sind, und bei 610 und 612 für die neuen
Eigenschaftseinstellungen, die durch das Applet vorgesehen werden,
vorgesehen. Gemäß einer
Ausführungsform
der Erfindung erbt jede neue Instanz der Eigenschaftsklasse Werte
aus der Tabelle, aus der die neue Eigenschaftsklasse erstellt wird,
d.h. die Eigenschaftsklasse für
den Browser. Das Applet versieht den Browser mit dem Standort einer
neuen Tabelle, die ihre Werte aus der ursprünglichen Tabelle für jene Elemente
erbt, die nicht geändert
werden. Die neuen Elemente, die durch das Applet vorgesehen werden,
ersetzen die entsprechenden Elemente der ursprünglichen Daten, die durch den
Browser verwendet werden. Wie in 6 gezeigt,
wird somit der zentrale Ab schnitt der Eigenschaftswerte der ursprünglichen
Tabelle 602 durch die neuen Werte von Tabelle 608 überschrieben,
die durch das Applet von dem entfernten Server heruntergeladen wird.
Alternativ kann das Applet einfach die Werte überschreiben, die bereits in
der Eigenschaftstabelle vorgesehen sind, die durch den Browser erstellt
wird, wenn der Browser initiiert wird. In jedem Fall sollte entweder
das Applet oder der Browser konfiguriert sein, eine Kopie der ursprünglichen
Browserschnittstellen-Eigenschaftstabelle beizubehalten, sodass
die Browserschnittstelle wiederhergestellt werden kann, wenn der
Benutzer das Applet verlässt,
das verwendet wird.
-
Schritt 412 von 4,
in dem die Browserschnittstelle wiederhergestellt wird, folgend
dieser Terminierung des Applets, wird bei 700 in 7 detaillierter
gezeigt. In Schritt 702 wird eine Bestimmung bezüglich dessen
durchgeführt,
ob das Applet oder der Browser zum Unterhalten einer Kopie der ursprünglichen
Browserschnittstelleneinstellungen verantwortlich ist. Falls das
Applet die ursprünglichen Einstellungen
hat, dann werden jene Einstellungen zu dem Browser übermittelt,
z.B. unter Verwendung der Verfahren, die gerade mit Bezug auf 6 beschrieben
wurden, oder durch Umleitung des Browsers zu einer Kopie der ursprünglichen
Eigenschaftstabelle, die im Speicher in einem Standort platziert wurde,
der sich von der modifizierten ursprünglichen Tabelle unterscheidet.
In Schritt 706 sendet das Applet dann eine Nachricht "Schnittstelle aktualisieren" zu dem Browser,
um den Browser zu veranlassen, die Kopie der ursprünglichen
Tabelle zu konsultieren, um dadurch seine ursprünglichen Einstellungen und Schnittstelle
wiederherzustellen. Falls der Browser für eine Unterhaltung einer Kopie
der ursprünglichen Einstellungen
verantwortlich ist, sendet das Applet alternativ dann eine Nachricht "Einstellungen wiederherstellen" zu dem Browser in
Schritt 708, wobei dem Befehl der oben beschriebene Befehl "Schnittstelle aktualisieren" folgt, um dadurch
den Browser zu veranlassen, seine ursprüngliche Schnittstelle wiederherzustellen.
In Verbindung damit beendet das Applet die Ausführung und der Benutzer wird
zu der Browserschnittstelle zurückgeführt, wie
etwa in 3A gezeigt, von der der Benutzer
zusätzliche
Information durch den Browser auswählen kann.
-
In
einer Ausführungsform
ist die vorliegende Erfindung konfiguriert, mit Browsern zu arbeiten,
die einen oder mehr "Rahmen" inkludieren. Ein
Browser, der verschiedene Rahmen inkludiert, wird bei 800 in 8 veranschaulicht.
Die Schnittstelle inkludiert typischerweise einen Fensterrahmen 802,
in den eine Vielfalt von Rahmen bereitgestellt wird, die bei 804, 806, 808 und 810 vorgesehen
sind. Rahmen 804, gewöhnlich
auch als der 0-te Rahmen bezeichnet, ist der Basisrahmen, auf dem
Rahmen 806, 808 und 810 vorgesehen werden.
Wie einem Fachmann vertraut sein wird, können verschiedene Rahmen eine Vielfalt
von unabhängigen
Funktionen durchführen. Somit
sehen in der veranschaulichten beispielhaften Ausführungsform,
die in 8 gezeigt wird, Rahmen 806 und 810 Datenbetrachtungsregionen 816 bzw. 820 vor,
die Rollbalken 812 und 814 inkludieren, mit denen
der Benutzer durch verschiedene Daten rollen kann, die in jedem
der Fenster unabhängig
präsentiert
werden. Rahmen 808 sieht im Gegensatz dazu ein nicht-rollendes
Fenster 818 vor. Wie oben erwähnt, erlaubt die Verwendung
von Rahmen dem Benutzer, Information von unabhängigen Quellen durch die Aktion
von unabhängigen
Rahmen zu überprüfen und
zu untersuchen. Eine derartige Konfiguration sieht jedoch gewisse
Schwierigkeiten in Bezug auf die Verwendung von Applets vor, die
die Browserschnittstelle modifizieren. Da der Benutzer potenziell unterschiedliche
unabhängige
Applets durch jeden der verfügbaren
Rahmen aktivieren kann, kann dies insbesondere zu Konflikten in
der Erscheinung der Benutzerschnittstelle führen. Im allgemeinen sollte das
Auftreten derartiger "Applet-Konflikte" vermieden werden,
um den Benutzer mit einem optimalen Betrieb der Schnittstelle zu
versehen.
-
In
einer Ausführungsform
werden die oben beschriebenen Applet-Konflikte durch Konfigurieren der
Schnittstelle, nur ein Applet zu einer Zeit auszuführen, vermieden.
Bei der Auswahl eines bestimmten Applets in einem bestimmten Rahmen
werden somit die verbleibenden Rahmen deaktiviert, oder die Fähigkeit,
ein Applet von den verbleibenden Rahmen auszuwählen, wird deaktiviert. Eine
derartige Technik wird erkannt, eine extrem zuverlässige Steuerung über Applet-Konflikte
vorzusehen, obwohl dieser Ansatz die Flexibilität etwas verschlechtern kann,
die durch die Rahmentechnologie bereitgestellt wird.
-
Alternativ
kann der Browser konfiguriert sein, dem Benutzer zu erlauben, einen
einzelnen "aktiven" Rahmen zu identifizieren,
von dem das Applet gestartet werden kann. Nur Applets, die von aktiven Rahmen
gestartet werden, wird erlaubt zu laufen, wobei dem Benutzer somit
erlaubt wird, viele Applets auszuwählen, aber dem Benutzer nur
erlaubt wird, nur ein Applet zu einer Zeit auszuführen. Erneut
würde das
eine derartige Konfiguration den Benutzer mit einem hohen Grad einer
Steuerung über
Applet-Konflikte versehen und würde
dem Benutzer erlauben, auf viele Applets zuzugreifen und die Verwendung von
vielen Rahmen beizubehalten. Ein derartiger Ansatz würde jedoch
dazu tendieren, äußerst modal
zu sein; wobei somit von dem Benutzer gefordert wird zu verfolgen,
welcher Rahmen aktiv war, und vom Benutzer erfordern würde, verschiedene
Rahmen zu aktivieren um zu identifizieren, welche Applets für eine Ausführung verfügbar sind.
-
Eine
dritte alternative Ausführungsform
zieht Nutzen aus der Vererbungsstruktur, die durch JavaTM vorgesehen
wird und oben mit Bezug auf 6 beschrieben
ist. Gemäß dieser
Ausführungsform
wird eine geschichtete Struktur von Austauscheigenschaftseinstellungstabellen
unter Verwendung der oben be schriebenen Vererbungsmechanismen vorgesehen.
Eine Veranschaulichung einer derartigen Struktur ist in 9 vorgesehen.
Wie in der Figur gezeigt, ist eine erste Tabelle 902 inkludierend
Eigenschaften und Werte 904 und 906 für die 0-ten
oder Basisrahmen der Anzeige vorgesehen (z.B. Schicht 804 von 8).
Da jedes Applet durch die verschiedenen Rahmen aktiviert wird, wird
eine Austauschtabelle in Übereinstimmung
mit der Erörterung
generiert, die oben mit Bezug auf 6 vorgesehen
wird. Somit kann ein Applet, das in Rahmen 806 aktiviert wird,
eine modifizierte Eigenschaftseinstellungstabelle vorsehen, wie
etwa bei 908 gezeigt, die unterschiedliche Eigenschaften
und entsprechende Werte 910 bzw. 912 inkludiert.
Bei Aktivierung eines zweiten Applets in Rahmen 808 wird
eine zweite Austauschtabelle 914 mit Eigenschaften und
Werten 916 bzw. 918 vorgesehen. Bei Aktivierung
eines dritten Applets in Rahmen 810 wird schließlich eine
entsprechende dritte Austauschtabelle 920 mit Eigenschaftswerten 922 und
entsprechenden Datenwerten 924 vorgesehen. Wie in der Figur
veranschaulicht, zieht jede Tabelle Nutzen aus den Vererbungseigenschaften
der Eigenschaftsklasse von JavaTM, um ein
oder mehr Segmente von Daten in der zuvor instanziierten Eigenschaftstabelle
zu überschreiben.
Somit überschreibt
die oberste Tabelle, die mit dem zuletzt aktivierten Applet in Verbindung
steht, Abschnitte der Applets, die von den drei vorherigen Rahmen
gestartet werden. Ähnlich
wird das Applet, das als vorletztes gestartet wird, bei 914 gezeigt
und überschreibt
Abschnitte der Applet-gestarteten Abschnitte des Applets, das von
dem ersten Rahmen gestartet wird, ebenso wie der Schnittstelle,
die durch den 0-ten Rahmen definiert ist. Schließlich überschreibt das Applet, das
von dem ersten Rahmen gestartet wird, Abschnitte der Schnittstelle,
die durch die ursprüngliche
Schnittstelle vorgesehen werden.
-
Eine
derartige Struktur, wie sie gerade beschrieben wurde, würde eine
Appletausführungshierarchie
anzeigen, in der das jüngst
ausgewählte
Applet steuert. Alternativ kann die gleiche Struktur verwendet werden,
worin aber die Applets in einer umgekehrten Reihenfolge einer Auswahl
ausgeführt werden.
In einer zweiten Alternative wird die Reihenfolge der Eigenschaftstabellen
gemäß dem Rahmen, der
gegenwärtig
verwendet wird, gemischt. In einer dritten Alternative wird dem
Benutzer ermöglicht,
die Priorität
zu bestimmen, durch die Applets ausgeführt werden. Wegen den eindeutigen
Vererbungseigenschaften, die durch die Eigenschaftsklasse von JavaTM vorgesehen werden, wie oben beschrieben,
wird große
Flexibilität
vorgesehen, in der Regeln verwendet werden können, um die Schnittstelle
zu implementieren, die durch die Applets, die gerade ausgeführt werden,
vorgesehen wird. Somit können
alte Eigenschaftswerttabellen heraus "gemischt" und neue Tabellen hinein gemischt werden,
wie Applets terminiert und gestartet werden.
-
Es
wird ferner durch einen Fachmann erkannt, dass verschiedene Sicherheitsmaßnahmen
in Übereinstimmung
mit der vorliegenden Erfindung implementiert werden können, um
Schutz für
Daten und die allgemeine Betriebsumgebung in der Clientmaschine
vorzusehen. Da ein Applet ein ausführendes Programm ist, muss
insbesondere Sorge bei Bestimmung des Grades von Zugriff getragen
werden, den das Applet über
das lokale Clientsystem hat. Speziell sollte Sorge getragen werden,
sodass Basisfunktionalitäten über alle
Benutzerschnittstellen beibehalten werden, wie etwa die Fähigkeit,
das laufende Applet zu verlassen. Andere geschützte Merkmale inkludieren die
Steuerung über
das Lesen und Schreiben von Daten von der Clientmaschine und die
Präsentation "gefälschter" Schnittstellen,
in die ein ahnungsloser Benutzer instruiert werden könnte, um
empfindliche Information einzutragen, wie etwa persönliche Identifikationsnummern,
Chiffrierschlüssel
oder Kreditkartennummern. In einer Ausführungsform werden diese Probleme
durch Versehen des Benutzers mit einem Mechanismus zum Anzeigen
für das
Applet des Grades einer Steuerung, über die das Applet in Bezug
auf das lokale System versehen wird, angesprochen. Wenn Applets
von Servern in äußerst sicheren Netzen
vorgesehen werden, wie etwa einem Intranet, das durch einen Firewall
geschützt
ist, wie oben mit Bezug auf 2 beschrieben,
kann dem Applet ein hoher Grad von Zugang zu den lokalen Maschinen gegeben
werden, da die Möglichkeit
eines Applets, schädigende
Operationen auszuführen,
relativ gering ist. Wenn umgekehrt Systeme verwendet werden, um
Applets von Servern über
nicht-gesicherte Netze herunterzuladen und auszuführen, wie
etwa von Servern, die über
das Internet verteilt sind, kann das Applet mit sehr wenigen Gelegenheiten
versehen werden, das System des Benutzers zu modifizieren. Einem
Fachmann in der Technik werden noch andere Mechanismen zum Vorsehen
von Sicherheit offensichtlich sein.
-
Somit
wird aus dem vorangehenden gesehen, dass die vorliegende Erfindung
die Schwierigkeiten überwindet,
die mit diversen vernetzten Computersystemen in Verbindung stehen,
indem ein Mechanismus vorgesehen wird, in dem Software zu vernetzten
Computern von einem zentralen Server heruntergeladen und durch eine
Standard-Browserschnittstelle auf eine plattformunabhängige Art
und Weise ausgeführt
werden kann. Unter Verwendung des Verfahrens, Systems und der Software,
die durch die vorliegende Erfindung vorgesehen werden, können Benutzersoftware
von zentralen Quellen auswählen
und diese Software auf ihren lokalen Maschinen ausführen, als
ob diese Software ursprünglich auf
jenen lokalen Maschinen installiert wäre. Es wird somit erkannt,
dass die vorliegende Erfindung die Probleme zum Unterhalten von
großen
Zahlen von Kopien von Software und geeigneten Softwarerevisionen über große diverse
Computernetze im wesentlichen überwindet,
da Benutzer nun Software von einer einzelnen Quelle herunterladen
und die Software für
eine begrenzte Periode ausführen
können,
ohne eine große
Investitionen in der Installation dieser Software vorzunehmen.
-
Die
vorliegende Erfindung setzt verschiedene Prozessschritte ein, die
Daten involvieren, die in Computersystemen gespeichert sind. Diese
Schritte sind jene, die physische Manipulation von physischen Quantitäten erfordern.
Gewöhnlich,
obwohl nicht notwendigerweise, nehmen diese Quantitäten die
Form von elektrischen oder magnetischen Signalen an, die fähig sind,
gespeichert, transferiert, kombiniert, verglichen und anderweitig
manipuliert zu werden. Es ist manchmal zweckdienlich, prinzipiell aus
Gründen
einer üblichen
Verwendung, auf diese Signale als Bits, Werte, Elemente, Variablen,
Zeichen, Datenstrukturen oder dergleichen zu verweisen. Es sollte
jedoch daran erinnert werden, dass alle diese und ähnliche
Begriffe mit den geeigneten physischen Quantitäten zu verbinden sind und lediglich zweckdienliche
Kennzeichen sind, die auf diese Quantitäten angewendet werden.
-
Des
weiteren werden die Manipulationen, die durchgeführt werden, häufig im
Sinne wie etwa Identifizieren, Laufen oder Vergleichen bezeichnet.
In beliebigen der Operationen, die hierin beschrieben werden, die
einen Teil der vorliegenden Erfindung bilden, sind diese Operationen
Maschinenoperationen. Nützliche
Maschinen zum Durchführen
der Operationen der vorliegenden Erfindung inkludieren Mehrzweck-Digital-Computer
oder ähnliche
Einrichtungen. In allen Fällen
sollte die Unterscheidung zwischen dem Verfahren von Operationen
beim Betrieb eines Computers und dem Verfahren zur Berechnung selbst
beachtet werden. Die vorliegende Erfindung bezieht sich auf Verfahrensschritte
zum Betreiben eines Computers bei einer Verarbeitung von elektrischen
oder anderen physischen Signalen, um andere gewünschte physische Signale zu
generieren.
-
Die
vorliegende Erfindung bezieht sich auch auf eine Vorrichtung zum
Durchführen
dieser Operationen. Diese Vorrichtung kann speziell für die erforderlichen
Zwecke konstruiert sein, oder sie kann ein Mehrzweckcomputer sein,
der selektiv aktiviert oder durch ein Computerprogramm neu konfiguriert
wird, das in dem Computer gespeichert ist. Die hierin präsentierten
Prozesse sind nicht inhärent
auf irgendeinen bestimmten Computer oder eine andere Vorrichtung
bezogen. Insbesondere können
verschiedene Mehrzweckmaschinen mit Programmen verwendet werden,
die in Übereinstimmung
mit den Unterweisungen hierin geschrieben sind, oder es kann zweckdienlicher
sein, eine spezialisiertere Vorrichtung zu konstruieren, um die
erforderlichen Verfahrensschritte durchzuführen. Die erforderliche Struktur
für eine Vielfalt
dieser Maschinen wird aus der nachstehend gegebenen Beschreibung
erscheinen.
-
Außerdem bezieht
sich die vorliegende Erfindung ferner auf computerlesbare Medien,
die Programminstruktionen zum Durchführen verschiedener Computer-implementierter
Operationen inkludieren. Die Medien und Programminstruktionen können jene sein,
die speziell für
die Zwecke der vorliegenden Erfindung gestaltet und konstruiert
sind, oder sie können
von der Art sein, die gut bekannt und für einen Fachmann in der Technik
von Computersoftware verfügbar
ist. Beispiele von computerlesbaren Medien inkludieren, sind aber
nicht darauf begrenzt, magnetische Medien, wie etwa Festplatten,
Floppy-Disks und Magnetband; optische Medien, wie etwa CD-ROM-Scheiben;
magneto-optische Medien, wie etwa floptical Disks; und Hardwareeinrichtungen,
die speziell konfiguriert sind, Programminstruktionen zu speichern
und durchzuführen,
wie etwa Nur-Lese-Speichereinrichtungen
(ROM) und Speicher mit wahlfreiem Zugriff (RAM). Beispiele von Programminstruktionen
inkludieren sowohl Maschinencode, wie etwa durch einen Compiler
erzeugt, als auch Dateien, die Code einer höheren Ebene enthal ten, der durch
den Computer unter Verwendung eines Interpreters ausgeführt werden
kann.
-
10 zeigt
bei 1000 ein typisches Computer-basiertes System in Übereinstimmung
mit der vorliegenden Erfindung. Der Computer inkludiert eine Verarbeitungseinheit 1002,
die zum Durchführen
von Berechnungen wirksam ist, wie etwa, aber nicht darauf begrenzt,
eine zentrale Verarbeitungseinheit (CPU) oder viele Prozessoren
inkludierend parallele Prozessoren oder verteilte Prozessoren. Prozessor 1002 ist
mit einem primären
Speicher 1004 gekoppelt, wie etwa einem Speicher mit wahlfreiem
Zugriff (RAM) und Nur-Lese-Speicher. Typischerweise inkludiert RAM
Programmierinstruktionen und Daten, inkludierend verteilte Objekte
und ihre zugehörigen Daten
und Instruktionen, für
Prozesse, die gegenwärtig
im Prozessor 1002 laufen. ROM inkludiert typischerweise
Basisbetriebsinstruktionen, Daten und Objekte, die durch den Computer
verwendet werden, um seine Funktionen durchzuführen. Außerdem ist eine sekundäre Speichereinrichtung 1008,
wie etwa eine Festplatte, CD-ROM, ein magneto-optisches (floptical)
Laufwerk, Bandlaufwerk oder dergleichen bidirektional mit dem Prozessor 1002 gekoppelt.
Die sekundäre
Speichereinrichtung 1008 inkludiert allgemein zusätzliche
Programmierinstruktionen, Daten und Objekte, die typischerweise
nicht in aktiver Verwendung durch den Prozessor sind, obwohl auf
den Adressraum durch den Prozessor zugegriffen werden kann, z.B.
für virtuellen
Speicher oder dergleichen. Der oben beschriebene Computer inkludiert ferner
eine Eingabe-/Ausgabequelle 1010, die typischerweise Eingabemedien
inkludiert, wie etwa eine Tastatur, Zeigereinrichtungen (z.B. eine
Maus oder einen Griffel) und dergleichen. Computer 1000 inkludiert
auch eine Netzverbindung 1012. Es können auch zusätzliche
Massenspeichereinrichtungen (nicht gezeigt) mit CPU 1002 durch
Netzverbindung 1012 verbunden sein. Durch einen Fachmann
in der Technik wird erkannt, dass die oben beschriebenen Hardware-
und Softwareelemente, ebenso wie Einrichtungen zur Vernetzung, Standardgestaltung
und Konstruktion aufweisen.
-
Die
hierin beschrieben computer-implementierten Verfahren können unter
Verwendung von Techniken und einer Vorrichtung implementiert werden,
die in den Computerwissenschaften zum Ausführen von Computerprogramminstruktionen
in Computersystemen gut bekannt sind. Wie hierin verwendet, ist
der Begriff "Computersystem" definiert, eine Verarbeitungseinrichtung
(wie etwa eine zentrale Verarbeitungseinheit, CPU) zum Verarbeiten
von Daten und Instruktionen zu inkludieren, die mit einer oder mehr
Datenspeichereinrichtungen zum Austausch von Daten und Instruktionen
mit der Verarbeitungseinheit gekoppelt ist, inkludierend, aber nicht darauf
begrenzt, RAM, ROM, CD-ROM, Festplatten und dergleichen. Die Datenspeichereinrichtungen können dedizierte,
d.h. direkt mit der Verarbeitungseinheit gekoppelt, oder entfernte,
d.h. mit der Verarbeitungseinheit über ein Computernetz gekoppelt, sein.
Es wird erkannt, dass entfernte Datenspeichereinrichtungen, die
mit einer Verarbeitungseinheit über
ein Computernetz gekoppelt sind, fähig sein können, Programminstruktionen
zu einer Verarbeitungseinheit für
eine Ausführung
in einer bestimmten Arbeitsstation zu senden. Außerdem kann die Verarbeitungseinrichtung
mit einer oder mehr zusätzlichen Verarbeitungseinrichtungen
gekoppelt sein, entweder durch die gleiche physische Struktur (z.B.
in einem parallelen Prozessor) oder über ein Computernetz (z.B.
ein verteilter Prozessor). Die Verwendung von derartigen entfernt
gekoppelten Datenspeichereinrichtungen und Prozessoren wird einem Fachmann
in den Computerwissenschaften vertraut sein. Der Begriff "Computernetz", wie hierin verwendet,
ist definiert, eine Menge von Kommunikationskanälen zu inkludieren, die eine
Menge von Computersystemen zusammenschalten, die miteinander kommunizieren
können.
Die Kommunikationskanäle
können Übertragungsmedien
inkludieren, wie etwa, aber nicht darauf begrenzt, verdrillte Drähte, Koaxialkabel, optische
Fasern, Satellitenverknüpfungen
oder digitaler Mikrowellenfunk. Die Computersysteme können über große, oder "weite" Bereiche verteilt
sein (z.B. über
Dutzende, Hunderte oder Tausende von Meilen, WAN), oder Lokalbereichsnetze
(z.B. über
mehrere Fuß bis
zu mehreren hundert Fuß,
LAN). Des weiteren können
verschiedene lokale und Weitbereichsnetze kombiniert werden, um
vereinigte Netze von Computersystemen zu bilden. Ein Beispiel einer
derartigen Konföderation
von Computernetzen ist das "Internet".
-
Obwohl
nur einige Ausführungsformen
der vorliegenden Erfindung beschrieben wurden, sollte verstanden
werden, dass die vorliegende Erfindung in vielen anderen spezifischen
Formen ohne Abweichung von dem Bereich der vorliegenden Erfindung ausgeführt werden
kann. Auf dem Weg eines Beispiels können, obwohl die Erfindung
im Sinne von einer grafischen Benutzerschnittstelle JavaTM GUI und einer Präsentationsengine HotJavaTM beschrieben wurde, eine beliebige geeignete
GUI und Präsentationsengine
implementiert werden, die plattformunabhängig sind. Deshalb sind die
vorliegenden Beispiele als veranschaulichend und nicht beschränkend zu betrachten,
und die Erfindung ist nicht auf die hierin angegebenen Details zu
begrenzen, sondern kann innerhalb des Bereichs der angefügten Ansprüche und
ihrer Entsprechungen modifiziert werden.