DE69734048T2 - Erfassung und Betrieb von ferngeladener Software durch einen Applet-modifizierten Browser - Google Patents

Erfassung und Betrieb von ferngeladener Software durch einen Applet-modifizierten Browser Download PDF

Info

Publication number
DE69734048T2
DE69734048T2 DE69734048T DE69734048T DE69734048T2 DE 69734048 T2 DE69734048 T2 DE 69734048T2 DE 69734048 T DE69734048 T DE 69734048T DE 69734048 T DE69734048 T DE 69734048T DE 69734048 T2 DE69734048 T2 DE 69734048T2
Authority
DE
Germany
Prior art keywords
user interface
software application
computer
browser
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69734048T
Other languages
English (en)
Other versions
DE69734048D1 (de
Inventor
Mark R. Smyrna Johnson
Terry B. Palo Alto Cline
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE69734048D1 publication Critical patent/DE69734048D1/de
Application granted granted Critical
Publication of DE69734048T2 publication Critical patent/DE69734048T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Description

  • 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.

Claims (30)

  1. Verfahren (400) zum Installieren und Betreiben einer ausgewählten Softwareanwendung auf einem Computer, wobei die Softwareanwendung eine Softwareanwendungs-Benutzerschnittstelle hat, das Verfahren die Schritte umfassend: Vorsehen (402) von Browsersoftware auf dem Computer, die Browsersoftware inkludierend eine Browserbenutzerschnittstelle (300) mit einem Fenster inkludierend einen Rahmen (302, 802), wobei die Browsersoftware wirksam ist, die ausgewählte Softwareanwendung zur Ausführung zu identifizieren; Auswählen (404) der ausgewählten Softwareanwendung unter Verwendung des Browsers; und Transformieren (406) des Fensters der Browserbenutzerschnittstelle innerhalb des Rahmens, um die Softwareanwendungs-Benutzerschnittstelle (350) vorzusehen, um dadurch einen Betrieb der ausgewählten Softwareanwendung unter Verwendung der transformierten Browserbenutzerschnittstelle mit dem ursprünglichen Rahmen zu erlauben.
  2. Verfahren, wie in Anspruch 1 angeführt, ferner inkludierend die Schritte zum Terminieren (410) der Softwareanwendung und Wiederherstellen (412) der Browserbenutzerschnittstelle durch Transformieren der Softwareanwendungs-Benutzerschnittstelle, um die Browserbenutzerschnittstelle mit dem ursprünglichen Rahmen zu versehen.
  3. Verfahren, wie in einem beliebigen der vorangehenden Ansprüche angeführt, wobei sich die Softwareanwendung auf einem Servercomputer befindet, der mit dem Computer durch ein Computernetz gekoppelt ist, das Verfahren ferner die Schritte inkludierend: Herstellen einer Datentransferverknüpfung zwischen dem Server und dem Computer; und Laden (502) in den Speicher des Computers einer ersten Menge von Eigenschaftseinstellungen entsprechend der Softwareanwendungs-Benutzerschnittstelle, die wirksam sind, das Fenster der Browserbenutzerschnittstelle zu transformieren, um die Softwareanwendungs-Benutzerschnittstelle vorzusehen, wenn die ersten Menge von Eigenschaftseinstellungen mit einer zweiten Menge von Eigenschaftseinstellungen entsprechend der Browserbenutzerschnittstelle vertauscht wird.
  4. Verfahren, wie in Anspruch 3 angeführt, ferner inkludierend den Schritt zum Speichern der zweiten Menge von Eigenschaftseinstellungen.
  5. Verfahren, wie in Anspruch 4 angeführt, wobei der Schritt zum Speichern der zweiten Menge von Eigenschaftseinstellungen durch eine von der Softwareanwendung und der Browsersoftware durchgeführt wird.
  6. Verfahren, wie in einem beliebigen der vorangehenden Ansprüche angeführt, wobei der Schritt zum Transformieren der Browserbenutzerschnittstelle in die Softwareanwendungs-Benutzerschnittstelle den Schritt (506) zum Instruieren der Browsersoftware umfasst, die Browserbenutzerschnittstelle zu aktualisieren.
  7. Verfahren, wie in einem beliebigen der vorangehenden Ansprüche angeführt, wobei die Browserbenutzerschnittstelle eine Vielzahl von Rahmen (804, 806, 808, 810) weiter zu dem Rahmen umfasst, wobei mindestens einer aus der Vielzahl von Rahmen wirksam ist, eine Softwareanwendung zu identifizieren und unabhängig auszuwählen.
  8. Verfahren, wie in Anspruch 7 angeführt, wobei nur einer aus der Vielzahl von Rahmen aktiv ist und der Schritt zum Auswählen für den gegenwärtig aktiven Rahmen durchgeführt wird.
  9. Verfahren, wie in Anspruch 7 angeführt, wobei nur einer aus der Vielzahl von Rahmen aktiv ist und der Schritt zum Transformieren für eine Softwareanwendung durchgeführt wird, die unter Verwendung des gegenwärtig aktiven Rahmens ausgewählt ist.
  10. Verfahren, wie in Anspruch 7 angeführt, wobei eine Vielzahl aus der Vielzahl von Rahmen gleichzeitig aktiv ist und der Schritt zum Transformieren für jeden Rahmen durchgeführt wird, in dem eine Softwareanwendung ausgeführt wird.
  11. Verfahren, wie in einem beliebigen der vorangehenden Ansprüche angeführt, wobei die Softwareanwendung ein Applet umfasst.
  12. Verfahren, wie in Anspruch 11 angeführt, wobei das Applet ein Java-Applet ist.
  13. Verfahren, wie in Anspruch 11 angeführt, wobei die Softwareanwendung ein Java-Applet umfasst und der Schritt zum Übertragen der ausgewählten Softwareanwendung Laden einer ersten Menge von Eigenschaftseinstellungen entsprechend der Browserbenutzerschnittstelle und einer zweiten Menge von Eigenschaftseinstellungen umfasst, die wirksam sind, die Browserbenutzerschnittstelle in die Softwareanwendungs-Benutzerschnittstelle zu transformieren, wenn die erste Menge von Eigenschaftseinstellungen mit der zweiten Menge von Eigenschaftseinstellung vertauscht wird, wobei die erste Menge von Eigenschaftseinstellungen und die zweite Menge von Eigenschaftseinstellungen jede eine Tabelle von Benutzerschnittstellenattributen und Attributwerten entsprechend den Attributen inkludieren.
  14. Verfahren, wie in Anspruch 13 angeführt, wobei die Browserbenutzerschnittstelle eine Vielzahl von Rahmen weiter zu dem Rahmen umfasst, der ein Basisrahmen ist, wobei mindestens einer aus der Vielzahl von Rahmen wirksam ist, eine Softwareanwendung von dem Server zu identifizieren und unabhängig auszuwählen.
  15. Verfahren, wie in Anspruch 1 beansprucht, wobei der Computer ein Clientcomputer ist und sich die Softwareanwendung auf einem Servercomputer befindet, der mit dem Clientcomputer durch ein Computernetz gekoppelt ist, wobei die Browsersoftware auf dem Clientcomputer vorgesehen ist und die Browsersoftware wirksam ist, das ausgewählte Applet zu identifizieren und auf den Clientcomputer für eine Ausführung herunterzuladen, das Verfahren ferner umfassend: Herstellen einer Datentransfer-Kommunikationsverknüpfung zwischen dem Clientcomputer und dem Servercomputer über das Computernetz; Auswählen des ausgewählten Applets unter Verwendung des Browsers; und Übertragen des ausgewählten Applets von dem Servercomputer zu dem Clientcomputer über das Computernetz.
  16. Verfahren, wie in Anspruch 15 angeführt, wobei das Applet ein Java-Applet ist, und der Schritt zum Übertragen des ausgewählten Applets Laden einer ersten Menge von Eigenschaftseinstellungen entsprechend der Browserbenutzerschnittstelle und einer zweiten Menge von Eigenschaftseinstellungen umfasst, die wirksam sind, die Browserbenutzerschnittstelle in die Softwareanwendungs-Benutzerschnittstelle zu transformieren, wenn die erste Menge von Eigenschaftseinstellungen mit der zweiten Menge von Eigenschaftseinstellungen vertauscht wird, wobei die erste Menge von Eigenschaftseinstellungen und die zweite Menge von Eigenschaftseinstellungen jede eine Tabelle von Benutzerschnittstellenattributen und Attributwerten entsprechend den Attributen inkludieren.
  17. Verfahren, wie in Anspruch 16 angeführt, wobei die erste Menge von Eigenschaftseinstellungen und die zweite Menge von Eigenschaftseinstellungen jede Softwareobjekte derart umfassen, dass das Softwareobjekt, das die zweite Menge von Eigenschaftseinstellungen definiert, eine Vererbungsbeziehung mit dem Softwareobjekt hat, das die erste Menge von Eigenschaftseinstellungen definiert, wobei die Vorgabewerte der zweiten Menge von Eigenschaftseinstellungen die Eigenschaftseinstellungen der ersten Menge von Eigenschaftseinstellungsparametern sind, und der Schritt zum Transformieren der Browsersoftware-Benutzerschnittstelle in die Softwareanwendungs-Benutzerschnittstelle Ersetzen ausgewählter Vorgabewerte der ersten Menge von Eigenschaftseinstellungen mit Eigenschaftseinstellungen entsprechend der Softwareanwendungs-Benutzerschnittstelle inkludiert.
  18. Verfahren, wie in Anspruch 17 angeführt, ferner inkludierend den Schritt zum Speichern der zweiten Menge von Eigenschaftseinstellungen, wobei der Schritt zum Speichern der zweiten Menge von Eigenschaftseinstellungen durch eines von dem Applet und der Browsersoftware durchgeführt wird.
  19. Verfahren, wie in Anspruch 17 angeführt, wobei der Schritt zum Transformieren der Browserbenutzerschnittstelle in die Softwareanwendungs-Benutzerschnittstelle den Schritt zum Instruieren der Browsersoftware umfasst, die Browserbenutzerschnittstelle derart zu aktualisieren, dass die Browserbenutzerschnittstelle unter Verwendung der ersten Menge von Eigenschaftseinstellungswerten rekonstruiert wird, um dadurch die Softwareanwendungs-Benutzerschnittstelle zu erzeugen.
  20. Computersystem zum Ausführen einer ausgewählten Softwareanwendung auf einem Computer, 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 Browserbenutzerschnittstelle 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.
  21. Computersystem, wie in Anspruch 20 angeführt, wobei die Softwareanwendung in einer zweiten Speichereinrichtung gespeichert wird, die mit dem Computer gekoppelt ist, die Speichereinrichtung, die mit dem Computer gekoppelt ist, eine erste Menge von Eigenschaftseinstellungen entsprechend der Browserbenutzerschnittstelle inkludiert und die zweite Speichereinrichtung eine zweite Menge von Eigenschaftseinstellungen hält, die wirksam sind, die Browserbenutzerschnittstelle in die Softwareanwendungs-Benutzerschnittstelle zu transformieren, wenn die zweite Menge von Eigenschaftseinstellungen mit der ersten Menge von Eigenschaftseinstellungen vertauscht wird, wobei jede von der ersten Menge von Eigenschaftseinstellungen und der zweiten Menge von Eigenschaftseinstellungen eine Tabelle von Benutzerschnittstellenattributen und Attributwerten entsprechend den Benutzerschnittstellenattributen inkludieren.
  22. Computersystem, wie in entweder Anspruch 20 oder Anspruch 21 angeführt, wobei die Softwareanwendung ein Applet umfasst.
  23. Computersystem, wie in entweder Anspruch 21 oder Anspruch 22 angeführt, wobei die erste Menge von Eigenschaftseinstellungen und die zweite Menge von Eigenschaftseinstellungen jede Softwareobjekte derart umfassen, dass das Softwareobjekt, das die zweite Menge von Eigenschaftseinstellungen definiert, eine Vererbungsbeziehung mit dem Softwareobjekt hat, das die erste Menge von Eigenschaftseinstellungen definiert, wobei die Vorgabewerte der zweiten Menge von Eigenschaftseinstellungen die Eigenschaftseinstellungen der ersten Menge von Eigenschaftseinstellungsparametern sind, und die ausgewählte Softwareanwendung konfiguriert ist, ausgewählte Vorgabewerte der zwei ten Menge von Eigenschaftseinstellungen durch Eigenschaftseinstellungen entsprechend der ausgewählten Softwareanwendungs-Benutzerschnittstelle zu ersetzen, wenn die ausgewählte Softwareanwendung die Browserbenutzerschnittstelle in die Softwareanwendungs-Benutzerschnittstelle transformiert.
  24. Computersystem, wie in einem beliebigen von Ansprüchen 20-23 angeführt, wobei die Browserbenutzerschnittstelle eine Vielzahl von Rahmen weiter zu dem Rahmen umfasst, wobei mindestens einer aus der Vielzahl von Rahmen wirksam ist, eine Softwareanwendung von dem Server zu identifizieren und unabhängig auszuwählen.
  25. Computersystem nach Anspruch 24, wobei nur einer aus der Vielzahl von Rahmen aktiv ist und der Schritt zum Auswählen für den gegenwärtig aktiven Rahmen durchgeführt wird.
  26. Computersystem nach Anspruch 24, wobei nur einer aus der Vielzahl von Rahmen aktiv ist und der Schritt zum Transformieren für eine Softwareanwendung durchgeführt wird, die unter Verwendung des gegenwärtig aktiven Rahmens ausgewählt ist.
  27. Computerlesbares Medium, umfassend einen computerlesbaren Programmcode, konfiguriert, einen Computer zu veranlassen um: eine Browserbenutzerschnittstelle mit einem Fenster inkludierend einen Rahmen anzuzeigen, wobei die Browserbenutzerschnittstelle wirksam ist, Browsersoftware zu steuern, die auf dem Computer ausgeführt wird; mindestens eine Softwareanwendung anzuzeigen, die in einem Speicher gespeichert ist, der mit dem Computer gekop pelt ist, unter Verwendung der Browserbenutzerschnittstelle, wobei die Softwareanwendung eine Anwendungsbenutzerschnittstelle hat; eine ausgewählte Softwareanwendung aus einem Speicher für einen Transfer zu dem Computer zu identifizieren; und den Transfer der ausgewählten Softwareanwendung von dem Speicher zu dem Computer derart zu veranlassen, dass die transferierte ausgewählte Softwareanwendung eine Transformation des Fensters der Browserbenutzerschnittstelle innerhalb des Rahmens veranlasst, um die Anwendungsbenutzerschnittstelle vorzusehen, wodurch die Anwendung von der transformierten Browserbenutzerschnittstelle mit dem ursprünglichen Rahmen gesteuert werden kann, wenn die Anwendung durch den Computer ausgeführt wird.
  28. Computerlesbares Medium, wie in Anspruch 27 angeführt, inkludierend computerlesbaren Programmcode, der definiert: eine erste Menge von Eigenschaftseinstellungen entsprechend der Browserbenutzerschnittstelle; und eine zweite Menge von Eigenschaftseinstellungen, die wirksam sind, die Browserbenutzerschnittstelle in die Softwareanwendungs-Benutzerschnittstelle zu transformieren, wenn die zweite Menge von Eigenschaftseinstellungen mit der ersten Menge von Eigenschaftseinstellungen vertauscht wird; wobei jede aus der ersten Menge von Eigenschaftseinstellungen und der zweiten Menge von Eigenschaftseinstellungen eine Tabelle von Benutzerschnittstellenattributen und Attributwerten entsprechend den Benutzerschnittstellenattributen inkludieren.
  29. Computerprogrammcode, der durch eine Datenverarbeitungseinrichtung ausführbar ist, um ein Verfahren, wie in beliebigen von Ansprüchen 1 bis 19 beansprucht, oder ein Computersystem, wie in beliebigen von Ansprüchen 20 bis 26 beansprucht, vorzusehen.
  30. Computerlesbares Medium, das Programmcode trägt, wie in Anspruch 29 beansprucht.
DE69734048T 1996-10-31 1997-10-20 Erfassung und Betrieb von ferngeladener Software durch einen Applet-modifizierten Browser Expired - Lifetime DE69734048T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/741,959 US5923885A (en) 1996-10-31 1996-10-31 Acquisition and operation of remotely loaded software using applet modification of browser software
US741959 1996-10-31

Publications (2)

Publication Number Publication Date
DE69734048D1 DE69734048D1 (de) 2005-09-29
DE69734048T2 true DE69734048T2 (de) 2006-01-19

Family

ID=24982941

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69734048T Expired - Lifetime DE69734048T2 (de) 1996-10-31 1997-10-20 Erfassung und Betrieb von ferngeladener Software durch einen Applet-modifizierten Browser

Country Status (3)

Country Link
US (1) US5923885A (de)
EP (1) EP0841616B1 (de)
DE (1) DE69734048T2 (de)

Families Citing this family (239)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2201909C (fr) * 1994-10-12 2006-05-02 Technical Maintenance Corporation Systeme de reproduction audiovisuelle numerique intelligent
US7424731B1 (en) 1994-10-12 2008-09-09 Touchtunes Music Corporation Home digital audiovisual information recording and playback system
US7188352B2 (en) 1995-07-11 2007-03-06 Touchtunes Music Corporation Intelligent digital audiovisual playback system
US8661477B2 (en) 1994-10-12 2014-02-25 Touchtunes Music Corporation System for distributing and selecting audio and video information and method implemented by said system
US6584498B2 (en) 1996-09-13 2003-06-24 Planet Web, Inc. Dynamic preloading of web pages
FR2753868A1 (fr) 1996-09-25 1998-03-27 Technical Maintenance Corp Procede de selection d'un enregistrement sur un systeme numerique de reproduction audiovisuel et systeme pour mise en oeuvre du procede
US6889214B1 (en) * 1996-10-02 2005-05-03 Stamps.Com Inc. Virtual security device
US5822739A (en) * 1996-10-02 1998-10-13 E-Stamp Corporation System and method for remote postage metering
US6802061B1 (en) * 1996-12-12 2004-10-05 Microsoft Corporation Automatic software downloading from a computer network
US6618854B1 (en) * 1997-02-18 2003-09-09 Advanced Micro Devices, Inc. Remotely accessible integrated debug environment
JP3507270B2 (ja) * 1997-02-20 2004-03-15 株式会社日立製作所 ネットワーク管理システム、ネットワーク機器、ネットワーク管理方法およびネットワーク管理ツール
US6363433B1 (en) * 1997-03-12 2002-03-26 Microsoft Corporation Method and mechanism for client-side handling of extensions originally written for servers
US6996533B2 (en) * 1997-03-21 2006-02-07 Fujitsu Limited Information processing system
EP1304631A3 (de) * 1997-04-30 2004-12-01 Sony Corporation Browsergerät, Adressregistrierverfahren, Browsersystem und Aufzeichnungsmedium
US6243700B1 (en) * 1997-05-16 2001-06-05 Paul Zellweger Method and apparatus for generating a hypertext-based content menu using an open hierarchical data structure
US6301583B1 (en) * 1997-05-16 2001-10-09 Paul Zellweger Method and apparatus for generating data files for an applet-based content menu using an open hierarchical data structure
US6453334B1 (en) * 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US5966532A (en) * 1997-07-10 1999-10-12 National Instruments Corporation Graphical code generation wizard for automatically creating graphical programs
JP2001513588A (ja) * 1997-08-07 2001-09-04 シーメンス アクチエンゲゼルシヤフト 第1の計算機(サーバ)によって用意される機能を第2の計算機(クライアント)にロードするための方法
US7325077B1 (en) 1997-08-21 2008-01-29 Beryl Technical Assays Llc Miniclient for internet appliance
US6542923B2 (en) * 1997-08-21 2003-04-01 Planet Web, Inc. Active electronic mail
FR2769165B1 (fr) 1997-09-26 2002-11-29 Technical Maintenance Corp Systeme sans fil a transmission numerique pour haut-parleurs
US6429881B1 (en) * 1997-12-03 2002-08-06 Microsoft Corporation Method and system for transitioning graphic elements of a network interface description document
US6343377B1 (en) * 1997-12-30 2002-01-29 Netscape Communications Corp. System and method for rendering content received via the internet and world wide web via delegation of rendering processes
US6094679A (en) * 1998-01-16 2000-07-25 Microsoft Corporation Distribution of software in a computer network environment
US6434532B2 (en) * 1998-03-12 2002-08-13 Aladdin Knowledge Systems, Ltd. Interactive customer support for computer programs using network connection of user machine
US6324685B1 (en) 1998-03-18 2001-11-27 Becomm Corporation Applet server that provides applets in various forms
US6442563B1 (en) * 1998-04-30 2002-08-27 Enterworks Workflow management system, method, and medium that morphs work items
US6430538B1 (en) 1998-04-30 2002-08-06 Enterworks Workflow management system, method and medium with personal subflows
US6205476B1 (en) * 1998-05-05 2001-03-20 International Business Machines Corporation Client—server system with central application management allowing an administrator to configure end user applications by executing them in the context of users and groups
JP3995338B2 (ja) 1998-05-27 2007-10-24 富士通株式会社 ネットワーク接続制御方法及びシステム
FR2781582B1 (fr) * 1998-07-21 2001-01-12 Technical Maintenance Corp Systeme de telechargement d'objets ou de fichiers pour mise a jour de logiciels
FR2781580B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Circuit de commande de son pour systeme de reproduction audiovisuelle numerique intelligent
FR2781591B1 (fr) 1998-07-22 2000-09-22 Technical Maintenance Corp Systeme de reproduction audiovisuelle
US8028318B2 (en) 1999-07-21 2011-09-27 Touchtunes Music Corporation Remote control unit for activating and deactivating means for payment and for displaying payment status
US6272677B1 (en) * 1998-08-28 2001-08-07 International Business Machines Corporation Method and system for automatic detection and distribution of code version updates
US6539433B1 (en) * 1998-09-30 2003-03-25 Matsushita Electric Industrial Co., Ltd. System for distributing native program converted from Java bytecode to a specified home appliance
AU6410699A (en) 1998-10-13 2000-05-01 Chris Cheah Method and system for controlled distribution of information over a network
US6489954B1 (en) 1998-10-13 2002-12-03 Prophet Financial Systems, Inc. System and method for permitting a software routine having restricted local access to utilize remote resources to generate locally usable data structure
US6805634B1 (en) * 1998-10-14 2004-10-19 Igt Method for downloading data to gaming devices
US6342907B1 (en) * 1998-10-19 2002-01-29 International Business Machines Corporation Specification language for defining user interface panels that are platform-independent
US6519625B1 (en) * 1998-10-27 2003-02-11 Sociocybernetics Uniform network access
US6961748B2 (en) * 1998-10-27 2005-11-01 Murrell Stephen J Uniform network access
US6282568B1 (en) * 1998-12-04 2001-08-28 Sun Microsystems, Inc. Platform independent distributed management system for manipulating managed objects in a network
US6356282B2 (en) 1998-12-04 2002-03-12 Sun Microsystems, Inc. Alarm manager system for distributed network management system
US6349333B1 (en) 1998-12-04 2002-02-19 Sun Microsystems, Inc. Platform independent alarm service for manipulating managed objects in a distributed network management system
US7328405B1 (en) * 1998-12-09 2008-02-05 Netscape Communications Corporation Smart browsing providers
US7117452B1 (en) 1998-12-15 2006-10-03 International Business Machines Corporation System and method for customizing workspace
US6216158B1 (en) * 1999-01-25 2001-04-10 3Com Corporation System and method using a palm sized computer to control network devices
KR20000057127A (ko) * 1999-02-03 2000-09-15 송동호 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의프로그램 수행시스템 및 그 방법
US8726330B2 (en) 1999-02-22 2014-05-13 Touchtunes Music Corporation Intelligent digital audiovisual playback system
JP3444227B2 (ja) * 1999-04-09 2003-09-08 日本電気株式会社 ソフトウェアの不正使用防止方法
US6944584B1 (en) 1999-04-16 2005-09-13 Brooks Automation, Inc. System and method for control and simulation
US7660868B1 (en) 1999-04-26 2010-02-09 John Albert Kembel Apparatus and method for interacting with internet content via one or more applications that do not include native web browsing navigation control features
US7213061B1 (en) 1999-04-29 2007-05-01 Amx Llc Internet control system and method
US6334056B1 (en) * 1999-05-28 2001-12-25 Qwest Communications Int'l., Inc. Secure gateway processing for handheld device markup language (HDML)
US6609127B1 (en) * 1999-06-09 2003-08-19 Amx Corporation Method for dynamically updating master controllers in a control system
US6675382B1 (en) * 1999-06-14 2004-01-06 Sun Microsystems, Inc. Software packaging and distribution system
US6446111B1 (en) * 1999-06-18 2002-09-03 Epicrealm Operating Inc. Method and apparatus for client-server communication using a limited capability client over a low-speed communications link
US6480882B1 (en) * 1999-06-25 2002-11-12 Emc Corporation Method for control and communication between computer systems linked through a network
US6757716B1 (en) * 1999-07-09 2004-06-29 Microsoft Corporation Method and system for modifying host application functionality based upon downloaded content
IL130972A0 (en) 1999-07-15 2001-01-28 Hotbar Com Israel Ltd Method for the dynamic improvement of internet browser appearance and connectivity
US7159192B2 (en) 1999-08-13 2007-01-02 Hotbar.Com, Inc. System and method for customizing electronic messages
US7222303B2 (en) * 1999-07-15 2007-05-22 Hotbar.Com, Inc. System and method for the dynamic improvement of internet browser navigability
FR2796482B1 (fr) 1999-07-16 2002-09-06 Touchtunes Music Corp Systeme de gestion a distance d'au moins un dispositif de reproduction d'informations audiovisuelles
US7092509B1 (en) 1999-09-21 2006-08-15 Microlog Corporation Contact center system capable of handling multiple media types of contacts and method for using the same
AU7837300A (en) * 1999-10-01 2001-05-10 Accenture Llp Operations architectures for netcentric computing systems
US6594691B1 (en) * 1999-10-28 2003-07-15 Surfnet Media Group, Inc. Method and system for adding function to a web page
US7350071B1 (en) * 1999-11-08 2008-03-25 Avaya Technology Corp. Encrypted and non-encrypted communication of message data
KR100404897B1 (ko) * 1999-11-17 2003-11-10 주식회사 와우프리 커뮤니케이션 소프트웨어 배포장치 및 배포방법
US6427144B1 (en) * 1999-11-18 2002-07-30 International Business Machines Corporation Information gathering facility employing dictionary file containing inquiry invoking an external process
US6999973B1 (en) 1999-11-18 2006-02-14 International Business Machines Corporation Information gathering facility employing dictionary file containing multiple inquires
US7437550B2 (en) 1999-12-02 2008-10-14 Ponoi Corp. System for providing session-based network privacy, private, persistent storage, and discretionary access control for sharing private data
WO2002095545A2 (en) * 2001-04-20 2002-11-28 Ponoi Corp. System and method for secure and private communication
US7171390B1 (en) * 1999-12-31 2007-01-30 Soft-On-Net, Inc. System and method for executing a rental software program in distributed computing environment
JP3578266B2 (ja) * 2000-01-06 2004-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションの起動方法、アプリケーションの起動のためのソフトウエア・プロダクト
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
FR2805377B1 (fr) 2000-02-23 2003-09-12 Touchtunes Music Corp Procede de commande anticipee d'une selection, systeme numerique et juke-box permettant la mise en oeuvre du procede
FR2805072B1 (fr) 2000-02-16 2002-04-05 Touchtunes Music Corp Procede d'ajustement du volume sonore d'un enregistrement sonore numerique
FR2805060B1 (fr) 2000-02-16 2005-04-08 Touchtunes Music Corp Procede de reception de fichiers lors d'un telechargement
KR20000030371A (ko) * 2000-02-25 2000-06-05 박형준 파일 다운로드에 따른 대가 지불방법
US6826750B1 (en) 2000-03-23 2004-11-30 International Business Machines Corporation Method of automatically selecting program and data updates based upon versions
FR2808906B1 (fr) 2000-05-10 2005-02-11 Touchtunes Music Corp Dispositif et procede de gestion a distance d'un reseau de systemes de reproduction d'informations audiovisuelles
JP2001331321A (ja) * 2000-05-22 2001-11-30 Canon Inc 情報処理装置、情報処理方法、情報処理システム、及び媒体
EP1302882A1 (de) * 2000-05-30 2003-04-16 Akiyoshi Okamoto Leihsystem für digitalen inhalt
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
FR2811175B1 (fr) * 2000-06-29 2002-12-27 Touchtunes Music Corp Procede de distribution d'informations audiovisuelles et systeme de distribution d'informations audiovisuelles
US6766382B1 (en) * 2000-06-28 2004-07-20 International Business Machines Corporation Method of information transfer using optical zones
FR2811114B1 (fr) 2000-06-29 2002-12-27 Touchtunes Music Corp Dispositif et procede de communication entre un systeme de reproduction d'informations audiovisuelles et d'une machine electronique de divertissement
US6498937B1 (en) 2000-07-14 2002-12-24 Trw Inc. Asymmetric bandwidth wireless communication techniques
US7177945B2 (en) * 2000-08-04 2007-02-13 Avaya Technology Corp. Non-intrusive multiplexed transaction persistency in secure commerce environments
US6573917B2 (en) 2000-08-11 2003-06-03 Energia, Inc. Calendar with self-help messaging based upon color preferences
US6863534B1 (en) 2000-08-11 2005-03-08 Energia, Inc. Color preference self-help system
US6549213B1 (en) 2000-08-11 2003-04-15 Energia, Inc. Color harmonizing device and method for using the same
US7278142B2 (en) 2000-08-24 2007-10-02 Veritas Operating Corporation Dynamic computing environment using remotely allocable resources
US7065637B1 (en) * 2000-08-24 2006-06-20 Veritas Operating Corporating System for configuration of dynamic computing environments using a visual interface
US7082521B1 (en) 2000-08-24 2006-07-25 Veritas Operating Corporation User interface for dynamic computing environment using allocateable resources
US20020026474A1 (en) * 2000-08-28 2002-02-28 Wang Lawrence C. Thin client for wireless device using java interface
US6799197B1 (en) * 2000-08-29 2004-09-28 Networks Associates Technology, Inc. Secure method and system for using a public network or email to administer to software on a plurality of client computers
US6829703B1 (en) * 2000-08-31 2004-12-07 International Business Machines Corporation Method for validating system configuration in a mass customized environment
US7596784B2 (en) 2000-09-12 2009-09-29 Symantec Operating Corporation Method system and apparatus for providing pay-per-use distributed computing resources
US7043724B2 (en) 2000-09-14 2006-05-09 Veritas Operating Corporation System and services for handling computing environments as documents
FR2814085B1 (fr) 2000-09-15 2005-02-11 Touchtunes Music Corp Procede de divertissement base sur les jeux concours a choix multiples
US7873665B2 (en) * 2001-02-22 2011-01-18 Emmanuel Gonzalez Method for digitally labelling websites
CA2322594C (en) * 2000-10-06 2005-01-11 Ibm Canada Limited-Ibm Canada Limitee System and method for managing web page components
US9251647B2 (en) * 2000-10-19 2016-02-02 Igt Remote configuration of gaming terminals
US20040180721A1 (en) * 2000-12-21 2004-09-16 Igt Gaming terminal data repository and information distribution system
US6645077B2 (en) * 2000-10-19 2003-11-11 Igt Gaming terminal data repository and information distribution system
US8636596B2 (en) 2000-11-04 2014-01-28 Igt Dynamic player notices for operational changes in gaming machines
US8556698B2 (en) * 2000-10-19 2013-10-15 Igt Executing multiple applications and their variations in computing environments
US20020083183A1 (en) * 2000-11-06 2002-06-27 Sanjay Pujare Conventionally coded application conversion system for streamed delivery and execution
US8831995B2 (en) 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US20020087883A1 (en) * 2000-11-06 2002-07-04 Curt Wohlgemuth Anti-piracy system for remotely served computer applications
US7062567B2 (en) 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US7027412B2 (en) 2000-11-10 2006-04-11 Veritas Operating Corporation System for dynamic provisioning of secure, scalable, and extensible networked computer environments
US8631103B1 (en) 2000-11-10 2014-01-14 Symantec Operating Corporation Web-based administration of remote computing environments via signals sent via the internet
US6775820B2 (en) * 2000-11-29 2004-08-10 International Business Machines Corporation Web based application re-coded for OS/2 compatibility
TW584801B (en) * 2000-12-11 2004-04-21 Ntt Docomo Inc Terminal and repeater
US20040205705A1 (en) * 2000-12-14 2004-10-14 International Business Machines Corporation System support code
US7451196B1 (en) 2000-12-15 2008-11-11 Stream Theory, Inc. Method and system for executing a software application in a virtual environment
US7296292B2 (en) * 2000-12-15 2007-11-13 International Business Machines Corporation Method and apparatus in an application framework system for providing a port and network hardware resource firewall for distributed applications
US7269647B2 (en) * 2000-12-15 2007-09-11 International Business Machines Corporation Simplified network packet analyzer for distributed packet snooper
US7093113B2 (en) 2001-01-09 2006-08-15 Veritas Operating Corporation Application model for dynamic computing environments in software sales cycle
US7213231B1 (en) 2001-01-11 2007-05-01 Cisco Technology, Inc. Cross-spectrum application model for dynamic computing environments in software lifecycle
US6961773B2 (en) * 2001-01-19 2005-11-01 Esoft, Inc. System and method for managing application service providers
US8121871B2 (en) * 2001-01-26 2012-02-21 Genworth Financial, Inc. System, method and software application for accessing and processing information
US7186181B2 (en) * 2001-02-02 2007-03-06 Igt Wide area program distribution and game information communication system
US6749510B2 (en) * 2001-02-07 2004-06-15 Wms Gaming Inc. Centralized gaming system with modifiable remote display terminals
WO2002088977A1 (en) * 2001-04-30 2002-11-07 Blue Martini Software, Inc. Methods for creating a multilingual web applications
US20020166051A1 (en) * 2001-05-03 2002-11-07 Marvin Moser Method, system, and apparatus for encrypting a web browser script
US20020169849A1 (en) * 2001-05-14 2002-11-14 Schroath Leonard T. Method and apparatus for providing software for office equipment at point-of-sale
US20040015958A1 (en) * 2001-05-15 2004-01-22 Veil Leonard Scott Method and system for conditional installation and execution of services in a secure computing environment
US7036006B2 (en) 2001-05-17 2006-04-25 Veritas Operating Corporation System to provide computing as a product using dynamic computing environments
US20030046017A1 (en) 2001-06-06 2003-03-06 Claudius Fischer Deployment console for use with a computer system deploying software to remotely located devices
US7162036B2 (en) 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics
US6685567B2 (en) 2001-08-08 2004-02-03 Igt Process verification
US6854112B2 (en) * 2001-08-29 2005-02-08 International Business Machines Corporation System and method for the automatic installation and configuration of an operating system
US7210142B2 (en) * 2001-08-31 2007-04-24 Sony Corporation Client-server bidirectional synchronization via browser plug in for an XM radio system
US7228537B2 (en) * 2001-09-06 2007-06-05 International Business Machines Corporation System and method for configuring an application
US7003767B2 (en) * 2001-10-02 2006-02-21 International Business Machines Corp. System and method for remotely updating software applications
US7752266B2 (en) 2001-10-11 2010-07-06 Ebay Inc. System and method to facilitate translation of communications between entities over a network
US20030093508A1 (en) * 2001-10-18 2003-05-15 Seiko Epson Corporation System for installing and launching network applications
US7069294B2 (en) * 2001-11-14 2006-06-27 Hewlett-Packard Development Company, L.P. Browser based multiple file upload
US7689673B2 (en) * 2002-04-23 2010-03-30 Canon Kabushiki Kaisha Remote creation of printer instances on a workstation
US7213060B2 (en) * 2002-04-23 2007-05-01 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US20030200291A1 (en) * 2002-04-23 2003-10-23 Canon Kabushiki Kaisha Web based creation of printer instances on a workstation
US7941348B2 (en) 2002-06-10 2011-05-10 Ebay Inc. Method and system for scheduling transaction listings at a network-based transaction facility
US8078505B2 (en) 2002-06-10 2011-12-13 Ebay Inc. Method and system for automatically updating a seller application utilized in a network-based transaction facility
US6986033B2 (en) 2002-09-10 2006-01-10 Veritas Operating Corporation System for automated boot from disk image
US7069428B2 (en) 2002-09-10 2006-06-27 Veritas Operating Corporation System for managing boot-up of target computers
US8332895B2 (en) 2002-09-16 2012-12-11 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US8103589B2 (en) 2002-09-16 2012-01-24 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US10373420B2 (en) 2002-09-16 2019-08-06 Touchtunes Music Corporation Digital downloading jukebox with enhanced communication features
US8584175B2 (en) 2002-09-16 2013-11-12 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US11029823B2 (en) 2002-09-16 2021-06-08 Touchtunes Music Corporation Jukebox with customizable avatar
US8151304B2 (en) 2002-09-16 2012-04-03 Touchtunes Music Corporation Digital downloading jukebox system with user-tailored music management, communications, and other tools
US7822687B2 (en) 2002-09-16 2010-10-26 Francois Brillon Jukebox with customizable avatar
US9646339B2 (en) 2002-09-16 2017-05-09 Touchtunes Music Corporation Digital downloading jukebox system with central and local music servers
US8225290B2 (en) * 2003-02-11 2012-07-17 V. i. Laboratories, Inc. Systems and methods for regulating execution of computer software
JP4374202B2 (ja) * 2003-02-28 2009-12-02 株式会社日立製作所 ストリーム配信計算機、プログラム、nas装置
WO2004102395A1 (ja) * 2003-05-16 2004-11-25 Japan-Wave Inc. デジタルコンテンツの不正使用防止システム
US20040260806A1 (en) * 2003-06-20 2004-12-23 Eric Martin System supporting communication between a web enabled application and another application
US7200800B2 (en) * 2003-07-16 2007-04-03 Hewlett-Packard Development Company, L.P. Platform independent file manipulation
US7793227B2 (en) * 2003-08-12 2010-09-07 Yahoo! Inc. Method and system of providing customizable buttons
US11037151B1 (en) 2003-08-19 2021-06-15 Stamps.Com Inc. System and method for dynamically partitioning a postage evidencing system
US20050144617A1 (en) * 2003-12-06 2005-06-30 International Business Machines Corporation Automatic configuration of reinstall information
US20050137980A1 (en) * 2003-12-17 2005-06-23 Bank Of America Corporation Active disablement of malicious code in association with the provision of on-line financial services
US7426056B2 (en) 2004-01-13 2008-09-16 International Business Machines Corporation Method and apparatus for a client call service
US8260893B1 (en) 2004-07-06 2012-09-04 Symantec Operating Corporation Method and system for automated management of information technology
US7363623B2 (en) * 2004-08-05 2008-04-22 Canon Kabushiki Kaisha Services of remote software installation, configuration and afterward support, for network connected peripherals
US20060048136A1 (en) * 2004-08-25 2006-03-02 Vries Jeff D Interception-based resource detection system
US7240162B2 (en) 2004-10-22 2007-07-03 Stream Theory, Inc. System and method for predictive streaming
EP1825390A2 (de) 2004-11-13 2007-08-29 Stream Theory, Inc. Hybrides lokal-/fernstreaming
US20060218165A1 (en) * 2005-03-23 2006-09-28 Vries Jeffrey De Explicit overlay integration rules
US8024523B2 (en) 2007-11-07 2011-09-20 Endeavors Technologies, Inc. Opportunistic block transmission with time constraints
EP1875364A2 (de) 2005-03-23 2008-01-09 Stream Theory, Inc. System und verfahren zur verfolgung von änderungen and dateien in streaming-anwendungen
US7930693B2 (en) * 2005-04-04 2011-04-19 Cisco Technology, Inc. Method and system for accessing and launching a java based applet as a locally installed application
US9063739B2 (en) 2005-09-07 2015-06-23 Open Invention Network, Llc Method and computer program for device configuration
US7668974B2 (en) * 2005-11-01 2010-02-23 International Business Machines Corporation Method and system for local provisioning of device drivers for portable storage devices
US7908315B2 (en) * 2006-01-26 2011-03-15 Ancestry.Com Operations Inc. Local installation of remote software systems and methods
US20080046097A1 (en) * 2006-08-18 2008-02-21 Microsoft Corporation Graphical representation of setup state on multiple nodes
US8639782B2 (en) * 2006-08-23 2014-01-28 Ebay, Inc. Method and system for sharing metadata between interfaces
US8758123B2 (en) * 2006-09-22 2014-06-24 Wms Gaming Inc. Gaming network with associated community/progressive features
US8261345B2 (en) 2006-10-23 2012-09-04 Endeavors Technologies, Inc. Rule-based application access management
US8612361B1 (en) 2006-12-27 2013-12-17 Stamps.Com Inc. System and method for handling payment errors with respect to delivery services
US8775331B1 (en) 2006-12-27 2014-07-08 Stamps.Com Inc Postage metering with accumulated postage
US8539073B1 (en) 2006-12-29 2013-09-17 Google Inc. Startup of container applications
US9384346B1 (en) 2006-12-29 2016-07-05 Google Inc. Local service access within a web based application framework
US8335817B1 (en) * 2006-12-29 2012-12-18 Google Inc. Message passing within a web based application framework
US8612547B1 (en) 2006-12-29 2013-12-17 Google Inc. Container interrupt services
US9330529B2 (en) 2007-01-17 2016-05-03 Touchtunes Music Corporation Game terminal configured for interaction with jukebox device systems including same, and/or associated methods
US9171419B2 (en) 2007-01-17 2015-10-27 Touchtunes Music Corporation Coin operated entertainment system
US8065675B2 (en) * 2007-03-21 2011-11-22 Yahoo! Inc. In-page installer
US9953481B2 (en) 2007-03-26 2018-04-24 Touchtunes Music Corporation Jukebox with associated video server
US8095488B1 (en) 2007-12-31 2012-01-10 Symantec Corporation Method and apparatus for managing configurations
US8051028B2 (en) 2007-05-31 2011-11-01 Symantec Corporation Method and apparatus for generating configuration rules for computing entities within a computing environment using association rule mining
US10290006B2 (en) 2008-08-15 2019-05-14 Touchtunes Music Corporation Digital signage and gaming services to comply with federal and state alcohol and beverage laws and regulations
US8332887B2 (en) 2008-01-10 2012-12-11 Touchtunes Music Corporation System and/or methods for distributing advertisements from a central advertisement network to a peripheral device via a local advertisement server
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US10373398B1 (en) 2008-02-13 2019-08-06 Stamps.Com Inc. Systems and methods for distributed activation of postage
US9978185B1 (en) 2008-04-15 2018-05-22 Stamps.Com Inc. Systems and methods for activation of postage indicia at point of sale
US20090267909A1 (en) * 2008-04-27 2009-10-29 Htc Corporation Electronic device and user interface display method thereof
US8037289B1 (en) 2008-06-02 2011-10-11 Symantec Corporation Method and apparatus for cloning a configuration of a computer in a data center
US8849435B2 (en) 2008-07-09 2014-09-30 Touchtunes Music Corporation Digital downloading jukebox with revenue-enhancing features
US9911246B1 (en) 2008-12-24 2018-03-06 Stamps.Com Inc. Systems and methods utilizing gravity feed for postage metering
US10564804B2 (en) 2009-03-18 2020-02-18 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
CA2754990C (en) 2009-03-18 2015-07-14 Touchtunes Music Corporation Entertainment server and associated social networking services
US9292166B2 (en) 2009-03-18 2016-03-22 Touchtunes Music Corporation Digital jukebox device with improved karaoke-related user interfaces, and associated methods
US10719149B2 (en) 2009-03-18 2020-07-21 Touchtunes Music Corporation Digital jukebox device with improved user interfaces, and associated methods
DE102009027940A1 (de) * 2009-07-22 2011-03-03 Bruker Nano Gmbh Verfahren und Anordnung zur Generierung von Darstellungen anisotroper Eigenschaften sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
EP2597608A1 (de) 2010-01-26 2013-05-29 Touchtunes Music Corporation Digitale Jukebox-Vorrichtung mit verbesserten Benutzeroberflächen sowie entsprechende Verfahren
US10089797B1 (en) 2010-02-25 2018-10-02 Stamps.Com Inc. Systems and methods for providing localized functionality in browser based postage transactions
US9842308B1 (en) 2010-02-25 2017-12-12 Stamps.Com Inc. Systems and methods for rules based shipping
US8438289B1 (en) 2010-06-07 2013-05-07 Google Inc. Cross-domain communications with a shared worker application
US8626865B1 (en) 2010-06-07 2014-01-07 Google Inc. Shared worker application
US20120042261A1 (en) * 2010-08-12 2012-02-16 Google Inc. Sub-component instantiation and synchronization using a shared worker
US10713634B1 (en) 2011-05-18 2020-07-14 Stamps.Com Inc. Systems and methods using mobile communication handsets for providing postage
GB2522772B (en) 2011-09-18 2016-01-13 Touchtunes Music Corp Digital jukebox device with karaoke and/or photo booth features, and associated methods
US10846650B1 (en) 2011-11-01 2020-11-24 Stamps.Com Inc. Perpetual value bearing shipping labels
US11151224B2 (en) 2012-01-09 2021-10-19 Touchtunes Music Corporation Systems and/or methods for monitoring audio inputs to jukebox devices
US10922641B1 (en) 2012-01-24 2021-02-16 Stamps.Com Inc. Systems and methods providing known shipper information for shipping indicia
US9043934B2 (en) * 2012-04-06 2015-05-26 Wayne Odom System, method, and device for delivering communications and storing and delivering data
US9721225B1 (en) 2013-10-16 2017-08-01 Stamps.Com Inc. Systems and methods facilitating shipping services rate resale
US9921717B2 (en) 2013-11-07 2018-03-20 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
TWI722981B (zh) 2014-03-25 2021-04-01 美商觸控調諧音樂公司 具改良使用者介面的數位點唱機裝置及相關聯方法
US10417728B1 (en) 2014-04-17 2019-09-17 Stamps.Com Inc. Single secure environment session generating multiple indicia
WO2016043530A1 (en) * 2014-09-18 2016-03-24 Samsung Electronics Co., Ltd. System and method for providing service via application
CN104461567B (zh) * 2014-12-24 2019-02-26 北京奇虎科技有限公司 软件包的发布方法及系统
US10521754B2 (en) 2016-03-08 2019-12-31 Auctane, LLC Concatenated shipping documentation processing spawning intelligent generation subprocesses
US10970081B2 (en) 2017-06-29 2021-04-06 Advanced Micro Devices, Inc. Stream processor with decoupled crossbar for cross lane operations
US10861504B2 (en) 2017-10-05 2020-12-08 Advanced Micro Devices, Inc. Dynamic control of multi-region fabric
US10558591B2 (en) 2017-10-09 2020-02-11 Advanced Micro Devices, Inc. Method and apparatus for in-band priority adjustment forwarding in a communication fabric
US10304506B1 (en) 2017-11-10 2019-05-28 Advanced Micro Devices, Inc. Dynamic clock control to increase stutter efficiency in the memory subsystem
US11196657B2 (en) 2017-12-21 2021-12-07 Advanced Micro Devices, Inc. Self identifying interconnect topology
US10620958B1 (en) 2018-12-03 2020-04-14 Advanced Micro Devices, Inc. Crossbar between clients and a cache
CN111381867B (zh) * 2018-12-30 2023-05-09 贝壳技术有限公司 支持服务重构的打包部署方法及装置
US11507522B2 (en) 2019-12-06 2022-11-22 Advanced Micro Devices, Inc. Memory request priority assignment techniques for parallel processors
US11223575B2 (en) 2019-12-23 2022-01-11 Advanced Micro Devices, Inc. Re-purposing byte enables as clock enables for power savings
CN112799554A (zh) * 2020-12-31 2021-05-14 杭州横竖科技有限公司 一种公共互动大屏上应用软件的控制系统及其控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742768A (en) * 1996-07-16 1998-04-21 Silicon Graphics, Inc. System and method for providing and displaying a web page having an embedded menu
US5757925A (en) * 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method

Also Published As

Publication number Publication date
US5923885A (en) 1999-07-13
DE69734048D1 (de) 2005-09-29
EP0841616A2 (de) 1998-05-13
EP0841616A3 (de) 2001-12-05
EP0841616B1 (de) 2005-08-24

Similar Documents

Publication Publication Date Title
DE69734048T2 (de) Erfassung und Betrieb von ferngeladener Software durch einen Applet-modifizierten Browser
DE69817158T2 (de) Benutzerschnittstellen-Mechanismus zur Manipulierung von Kontexten in Computerverwaltungsapplikationen
DE69637436T2 (de) Objektorientiertes Kommunikationssystem mit Unterstützung für mehrere entfernte Maschinentypen
DE60035745T2 (de) Verfahren zum bei Bedarf Laden und Ausführen einer Netzwerkanwendung
DE102013207608B4 (de) Instrumentieren von Software-Anwendungen für die Konfiguration derselben
DE60126016T2 (de) Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen
DE69729926T2 (de) Netzwerkbrowser
DE69635337T2 (de) Erweiterbares und austauschbares system von netzwerkkomponenten
DE10135445B4 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE60224926T2 (de) Verfahren und Rechnersystem zur Behandlung von inkrementalen Daten in Klient-Server Kommunikation.
DE10052313B4 (de) Verfahren und Vorrichtung zur Beschränkung des freien Verweisens (Hyperlinking) auf Webseiten der ursprünglichen Inhaltserzeuger (Content producers) durch Internet-Inhaltsverteiler (Content distributors)
DE69630480T2 (de) Verfahren, Vorrichtung und Datenstrukturen zur Objektverwaltung
EP2350873B1 (de) Erfassung des visuellen inhalts von browserfenstern
DE60127795T2 (de) System und Verfahren zur Metrik- und Statusdarstellung
DE10309620A1 (de) Dynamisches Expertenschnittstellensystem und Verfahren
DE10101345A1 (de) Kombination aus aufgaben- und dateiorientierter Benutzerschnittstelle
DE69909614T2 (de) Sich selbst manipulierende bäume verwendende rechenarchitektur
DE60122298T2 (de) Dateneingabe
DE10236190A1 (de) Variables Datendrucken mit web-basierter Bilderzeugung
DE10236189A1 (de) Verfahren zum Zugreifen auf Bilderzeugungsinformationen auf einer Bedarfsbasis unter Verwendung einer Web-basierten Bilderzeugung
DE10250836A1 (de) System und Verfahren zum Zugreifen auf entfernte Lesezeichenlisten und Verwenden derselben
DE60019996T2 (de) System zum Koordinieren von Dokumenten und Aufgaben für einen Rechner
DE102005018074A1 (de) Testsequenzer und Verfahren für die Verwaltung und Ausführung von Sequenzelementen
DE10248464A1 (de) Netzwerknavigations-System und -Verfahren
EP2620868A1 (de) Arbeitsfluss-Management-System für Computernetze

Legal Events

Date Code Title Description
8364 No opposition during term of opposition