DE69732968T2 - System, verfahren und hergestellter gegenstand zur wartung von server-anwendungssoftware der netzwerk-kundenendgeräte und nicht-netzwerk-kundenengeräte - Google Patents
System, verfahren und hergestellter gegenstand zur wartung von server-anwendungssoftware der netzwerk-kundenendgeräte und nicht-netzwerk-kundenengeräte Download PDFInfo
- Publication number
- DE69732968T2 DE69732968T2 DE69732968T DE69732968T DE69732968T2 DE 69732968 T2 DE69732968 T2 DE 69732968T2 DE 69732968 T DE69732968 T DE 69732968T DE 69732968 T DE69732968 T DE 69732968T DE 69732968 T2 DE69732968 T2 DE 69732968T2
- Authority
- DE
- Germany
- Prior art keywords
- server
- client
- terminal
- network
- application
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1091—Interfacing with client-server systems or between P2P systems
Description
- Urheberrecht-Notifikation
- Teile dieser Patentanmeldung umfassen Inhalte, die Gegenstand des Urheberrechtsschutz sind. Der Inhaber des Urheberrechts hat keine Einwände gegen die Vervielfältigung des Patentdokuments oder der Patentbeschreibung durch Dritte, wie sie in dem Patent- und Markenamt erscheint.
- Gebiet der Erfindung
- Diese Erfindung betrifft allgemein Verbesserungen in Computersystemen und insbesondere Computersystem-Programme zum Verwalten eines Netzwerks aus heterogenen Client-Terminals, die mit einem Server in konsistenter Weise kommunizieren.
- Hintergrund der Erfindung
- Es ist kürzlich zunehmend üblich geworden, von "intelligenten", "smarten" oder "programmierbaren" Terminals und Systemen zu sprechen. Nur sehr wenige Hersteller von Großrechnern oder Peripheriegeräten haben keine solche Vorrichtungen in ihrem Standard-Produktangebot. Auch wenn "Intelligenz" ähnlich wie Schönheit oder Kunst der Einschätzung des Betrachters unterliegt, bedeutet das Adjektiv allgemein, dass die Vorrichtung ein Maß von Autonomie oder Bearbeitungsfähigkeit aufweist, die es ihm ermöglicht, bestimmte Aufgaben ohne die Unterstützung des Großrechners durchzuführen, mit dem es verbunden ist. Viele solcher Vorrichtungen sind programmierbar, indem sie einen Mikroprozessor beinhalten.
- Während operative Vorrichtungen etwas außergewöhnlich und nicht standardgemäß sind, wird eine Vorrichtung als Terminal bezeichnet, wenn ein Benutzer über die Vorrichtung mit einem Host-Prozessor kommunizieren kann, der in einer Netzwerk-Computer-Umgebung als Server bezeichnet wird. Beispiele von Terminals umfassen Tastatur/Drucker-Terminals, Katodenstrahl-Röhren (CRT)-Terminals, StapelFernverarbeitungs-Terminals, Echtzeit-Daten-Empfangs- und Steuer-Terminals, Transaktions- und Verkaufsort-Terminals sowie "smarte" Terminals.
- Ein Terminal wird als intelligent bezeichnet, wenn es Hardware, Firmware und/oder Software enthält, die es ermöglicht, alphanumerische oder graphische Mitteilungs-Eingaben, Anzeigepuffer, Verifizieren, Editieren und Blockübermittlungen entweder aufgrund eines Host- oder eines Benutzer-Befehls durchzuführen. Wenn das Terminal einen Mikroprozessor enthält, auf dem ein Standard-Programm abläuft, um dem Terminal nicht beliebige, vom Benutzer geladene Programme zu liefern, hat das Terminal eine festgelegte Funktion und ist immer noch ein intelligentes Terminal. Nur wenn die Vorrichtung einen Allzweck-Computer enthält, der für normale Benutzer leicht zugänglich ist zum Anbieten eines weiten Bereichs von Programmen, die durch einen User oder durch an die Vorrichtung angebundene Vorrichtungen auswählbar sind, wird das Terminal zu einem Netzwerk-Terminal gemäß einer bevorzugten Ausführungsform.
- Die Firma Sun hat kürzlich eine neue Sprache namens Java eingeführt, die so ausgestaltet ist, um Konsistenz für Netzwerk-Applikationen zu gewährleisten. Java ist eine klassenbasierte, objektorientierte Allzweck-, Parallel-Programmiersprache und unterstützt Strukturen, die insbesondere so ausgebildet sind, dass sie so wenig Abhängigkeiten von Implementierungen haben wie möglich. Java erlaubt Applikations-Entwicklern, einmal ein Programm zu schreiben und dann in der Lage zu sein, das Programm irgendwo auf dem Computer-Netzwerk ablaufen zu lassen.
- Die Java-Sprache löst viele der Client-seitigen Probleme durch:
- • Ermöglichen dynamischer Klassen-Bindungen;
- • Bereitstellen verbesserter Übertragbarkeit von Applikationen;
- • Bereitstellen einer sicheren Umgebung, in der Applikationen ausgeführt werden.
- Java wird in Byte-Codes in einer Übergangs-Form übersetzt, anstelle von einem Maschinen-Code (wie C, C++, Fortran etc.). Die Byte-Codes können auf jeder Maschine mit einem Byte-Code-Interpreter ausgeführt werden. Dadurch können Java-Applikationen auf einer Vielzahl von Client-Maschinen ablaufen, wobei die Byte-Codes kompakt und derart gestaltet sind, dass sie effizient über ein Netzwerk übertragen werden, was eine bevorzugte Ausführungsform mit universellen Clients und einer Server-zentrierten Struktur verbessert.
- Mittels Java können Entwickler robuste Benutzer-Schnittstellen (UI)-Komponenten erzeugen. Kundenspezifische "Geräte" (wie z.B. Echtzeit-Aktienmarkt-Anzeigen, animierte Piktogramme etc.) können erzeugt und die Client-seitige Leistungscharakteristik verbessert werden. Anders als bei HTML unterstützt Java das Prinzip der Client-seitigen Validierung, indem es die entsprechende Bearbeitung für eine verbesserte Leistungscharakteristik auf den Client überträgt. Dynamische Echtzeit-Applikationen können unter Verwendung der oben genannten Komponenten erzeugt werden.
- Die Java-Sprache der Fa. Sun hat sich zu einer in der Industrie verwendeten Sprache zum "Programmieren des Internets" entwickelt. Die Fa. Sun definiert Java als: "eine einfache, objektorientierte, dezentrale, interpretierte, robuste, sichere, Architekturneutrale, übertragbare, hoch leistungsfähige, Mehrfach-Strang (multi-thread), dynamische, Schlagwort-verträgliche, Allzweck-Programmiersprache. Java unterstützt das Programmieren für das Internet in der Form von Plattformunabhängigem kleinen Java-Anwendungen (Java-Applets). „Java-Applets" sind kleine spezialisierte Anwendungen, die mit der Java-Anwendungen-Programmier-Schnittstelle (API) kompatibel sind und es dem Entwickler erlauben, in Internet-Dokumenten "interaktive Inhalte" (wie z.B. einfache Animationen, Schmuckwerk, einfache Spiele etc.) einzufügen. Kleine Anwendungen (Applets) laufen innerhalb eines Java-kompatiblen Browsers (z.B. Netscape Navigator) unter Kopieren eines Codes vom Server an den Client. Hinsichtlich der Programmiersprache basiert der Hauptmerkmals-Satz von Java auf C++. In der Literatur zu Java von der Fa. Sun wird festgestellt, dass Java im wesentlichen "C++ mit Erweiterungen aus Objekt C zur Lösungen von mehreren dynamischen Verfahren" ist.
- Die Druckschrift
EP 0666681 offenbart einen Telefon-Computer, der wie ein programmierbarer Mikrocomputer und ein konventionelles Telefon arbeitet. Der Telefon-Computer wird typischerweise durch den Benutzer über eine Standard-Telefontastatur mit einer 12-Tasten-Eingabe gesteuert. Der Telefon-Computer liefert Fähigkeiten und Dienste zum Verarbeiten von Daten über herkömmliche Telefonleitungen mit einem Netzwerk-Host-Computer, der mit den Service-Anbietern kommuniziert. Eine operative Software wird auf den Telefon-Computer durch den Netzwerk-Host-Computer geladen, um einen programmierbaren Gate-Array-Chip in dem Telefon-Computer zu rekonfigurieren, einen Mikroprozessor (in dem Telefon-Computer) zu formatieren und auf ein Software-Format festzulegen, das von dem Service-Anbieter verwendet wird. - Ein Netzwerk-Terminal gemäß einer bevorzugten Ausführungsform würde Java-Anwendungen in einem alleinstehenden Modus (stand-alone mode) ausführen, hat jedoch die Fähigkeit, mit einem Server für solche Funktionen, wie z.B. das Abfragen von Informationen, Datenbank-Bearbeitung, aufwendige Berechnungen und den Zugriff auf geteilte Vorrichtungen, wie z.B. Hochgeschwindigkeits-Drucker, Plotter und Magnetbänder, zu interagieren.
- Der Begriff "dezentrales Computer-System" bezieht sich sowohl auf die Vorrichtungen an entfernten Orten als auch auf die Logik, die verwendet wurde, um die Intelligenz der Vorrichtungen zu verbessern. Solche dezentrale oder verteilte Computer-Systeme mit intelligenten ferngelegenen Terminals bzw. Fern-Terminals und Netzwerk-Terminals sind tatsächlich in der heutigen Computer-Fachwelt vorhanden.
- Es gibt eine Anzahl von Nachteilen bei dezentralen Computer-Umgebungen, die bei einer zentralen Computer-Umgebung nicht vorhanden sind. Erstens, Hardware-Probleme:
Wenn ein Benutzer eine Software-Lösung lokalisiert, die für die Terminal-Umgebung des Benutzers optimal ist, wird die Software häufig nicht auf dem Host-Prozessor ausgeführt, der generell für Dritte in einem Unternehmen zugänglich ist. Insbesondere ist die Software häufig nicht kompatibel mit den Terminals anderer Benutzer. - Zweitens, Schnittstellen-Probleme: Ein nicht standardgemäßes Terminal kann eine spezielle Schnittstelle erfordern und von dem Host nicht erkannt werden. Sogar Standard-Schnittstellen sind bekannt dafür, dass sie das Betriebssystem zum Absturz bringen können. In jedem Fall sind "gemischte Systeme" mit Hardware unterschiedlicher Anbieter im Begriff, die Norm zu werden, erzeugen jedoch System-Probleme auf anderen Systemen und führen zu einer schwierigen Beseitigung von Fehlern und Lösung der System-Probleme.
- Drittens, die Unterstützung von operativen Host-Systemen für eine heterogene Terminal-Umgebung kann äußerst nachteilig sein. Um eine Unterstützung für alle unterschiedlichen Protokolle, Kommunikationsraten und Bearbeitungserfordernisse mit den spezifischen Besonderheiten einer bunt zusammengestellten Gruppe von nachgeschalteten Terminals bereiten einem System-Administrator große Probleme.
- Viertens, lokale Software-Unterstützung: Diese Art von Unterstützung geht über den Bereich von minimal (bspw. ein Compiler für ein bestimmtes Terminal) bis zu einem Nachrichtenübermittlungs-Programm, das mit jedem unterschiedlichem, an den Host-Server angebundenem Terminal kompatibel ist. Einige Anwendungen können für ein bestimmtes Terminal wieder hergestellt werden durch einfaches Rekompilieren der Anwendung, dagegen sind viele nur als Laufzeit-Module verbreitet, ohne dass für einige Terminals eine Unterstützung vorhanden ist.
- Zusammenfassung der Erfindung
- Die zuvor erwähnten Probleme werden überwunden durch ein System gemäß Anspruch 1, ein Verfahren gemäß Anspruch 9 und ein Computerprogramm gemäß Anspruch 17. Bei einer illustrativen Ausführungsform der Erfindung in einer Netzwerk-Computer-Umgebung wird eine Anzahl von Clients mit einem oder mehreren Servern verbunden. Wenn ein Client eine Verbindung mit einem Server initiiert, antwortet der Server auf die Anfrage zur Verbindung durch Übermitteln einer Mitteilung zurück an den Client, um festzustellen, ob der Client ein Netzwerk-Terminal ist oder nicht. Der Client antwortet mit einer Mitteilung, die von einem Anwendungs-Abfertiger auf dem Server empfangen wird, der eine oder ein Paar von Aktionen in Abhängigkeit davon unternimmt, ob der Client ein Netzwerk-Terminal ist. Wenn das Client-Terminal ein Netzwerk-Terminal ist, erzeugt der Anwendungs- Abfertiger eine Server-Anwendung in dem Server, die auf die Client-Anwendung in dem Client antwortet. Daraufhin antwortet die Server-Anwendung auf alle zukünftigen Anfragen der Client-Anwendung. Wenn der Client kein Netzwerk-Terminal ist, initiiert der Anwendungs-Abfertiger eine Client-Anwendung in dem Server, um die Anforderungen der Client-Terminal-Anwendung zu bedienen. Anschließend werden Anfragen von der Client-Anwendung im Auftrag des Client-Terminals durch eine Server-Anwendung auf dem Server bedient, die mit dem Client-Terminal über die Client-Anwendung auf dem Server kommuniziert.
- Kurze Beschreibung der Zeichnungen
- Die oben genannten und weitere Vorteile der Erfindung werden besser verständlich unter Bezugnahme auf die folgende Beschreibung in Verbindung mit den beigefügten Zeichnungen:
-
1 ist ein schematisches Blockdiagramm eines Computer-Systems, z.B. eines Personal-Computer-Systems, auf dem der erfindungsgemäße objektorientierte Informations-Manager operiert; -
2 zeigt ein Client-Server-Netzwerk gemäß einer bevorzugten Ausführungsform; -
3 zeigt eine Server-Architektur gemäß einer bevorzugten Ausführungsform; -
4 zeigt eine Client-Server-Architektur gemäß einer bevorzugten Ausführungsform; -
5 zeigt eine erste Client-Anfrage an einen Server gemäß einer bevorzugten Ausführungsform; -
6 zeigt eine Client-Server-Umgebung, die auf Unterstützungs-Dienste gemäß einer bevorzugten Ausführungsform zugreift; -
7 ist ein Diagramm von der Architektur eines Client-Server-Systems gemäß einer bevorzugten Ausführungsform; -
8 ist ein Diagramm von der Architektur eines Client-Server-Systems gemäß einer bevorzugten Ausführungsform; -
9 ist ein Diagramm von der Architektur eines Client-Server-Systems gemäß einer bevorzugten Ausführungsform; -
10 zeigt das verwendete Mitteilungs-Format gemäß einer bevorzugten Ausführungsform; -
11 ist eine Tabelle, die zusätzliche, mit den Vorrichtungs-Typen assoziierte Details, Befehle und Datenblöcke gemäß einer bevorzugten Ausführungsform zeigt; -
12 zeigt ein zusätzliches Detail in dem Mitteilungs-Format gemäß einer bevorzugten Ausführungsform; -
13 zeigt die Anzeige-Befehle und Antworten gemäß einer bevorzugten Ausführungsform; -
14 zeigt die Status-Werte, die mit unterschiedlichen Operationen gemäß einer bevorzugten Ausführungsform assoziiert sind; und -
15 ist ein Kommunikations-Flussdiagramm gemäß einer bevorzugten Ausführungsform. - Detaillierte Beschreibung
- Die Erfindung findet vorzugsweise Anwendung in Verbindung mit einem Betriebssystem, das auf einem Computer bspw. von den Herstellern Sun, IBM, HP oder Windows NT-Computer vorhanden ist. Eine repräsentative Hardware-Umgebung ist in
1 dargestellt, die eine typische Hardware-Konfiguration auf einem Computer100 gemäß der vorliegenden Erfindung zeigt. Der Computer100 wird von einer zentralen Verarbeitungseinheit102 (die ein herkömmlicher Mikroprozessor sein kann) und einer Anzahl von anderen Einheiten gesteuert, die alle über einen System-Bus108 verbunden und so ausgebildet sind, um bestimmte Aufgaben zu erfüllen. Auch wenn ein bestimmter Computer nur einige der in1 gezeigten Einheiten oder zusätzliche, nicht gezeigte Komponenten aufweisen kann, umfassen die meisten Server-Computer zumindest die gezeigten Einheiten. - Insbesondere umfasst der in
1 gezeigte Computer100 einen Speicher mit Zufallszugriff (random access memory (RAM))106 zum zeitweisen Speichern von Informationen, einen Nur-Lese-Speicher (read only memory (ROM))104 zum dauerhaften Speichern der Konfiguration des Computers und grundlegender Betriebs-Befehle sowie ein Eingangs-Ausgangs-I/O-Adapter110 , um periphere oder Netzwerk-Geräte, wie z.B. ein Laufwerk113 und einen Printer114 , mit dem Bus108 über Leitungen115 oder einen peripheren Bus112 jeweils zu verbinden. Ein Benutzer-Schnittstellen-Adapter116 ist ebenso vorgesehen zum Verbinden der Eingabe-Geräte mit dem Bus108 , wie z.B. einer Tastatur120 , sowie anderer bekannte Schnittstellen-Geräte einschließlich einer Maus, Lautsprecher und Mikrofone. Die optische Ausgabe wird durch einen Anzeige-Adapter118 gewährleistet, der den Bus108 mit einem Anzeige-Gerät122 , wie z.B. einem Monitor, verbindet. Auf dem Computer ist eine Betriebssystem-Software vorhanden, wie z.B. das SUN-Solaris, Windows NT oder das Java OS-Betriebssystem, das den Computer steuert und koordiniert. -
2 zeigt ein Client-Server-Netzwerk gemäß einer bevorzugten Ausführungsform. Mit einem Server210 ist ein Satz von Benutzer-Geräten (Client-Terminals200 ) verbunden, und der Server ist mit einem Legat-Host220 verbunden, um Anwendungen zu bearbeiten, die Informationen von dem Host220 benötigen. Die Verbindung kann erzeugt werden mittels Internet, einer Einwahl-Verbindung (dial-up-link), einem token ring, einem Mobiltelefon, per Satellit, einer T1- oder X.25 Telco-Verbindung oder durch andere Kommunikationsmittel. - Server-Software
- Die Server-Software ist unter Verwendung einer Kombination aus Java, C oder möglicherweise C++ erstellt. C oder C++ wird hauptsächlich verwendet, um einen Plattform-abhängigen Code (wie z.B. das Behandeln von Kommunikations-Anschlüssen) zu implementieren. Während eine bevorzugte Ausführungsform die Unterstützung für ein Einwahl-Netzwerk sowie Internet-Bearbeitung unter Verwendung von TCP/IP offenbart, ist es einem Fachmann auf dem technischen Gebiet unmittelbar verständlich, dass ein „token ring", SNA oder andere Netzwerke, wie z.B. die in den US-Patenten (5,530,961; 5,491,796; 5,457,797; 5,442,791; 5,430,863; 5,394,401; 5,291,597; 5,287,537; 5,287,461; 5,201,049; 4,991,089 und 4,588,211) beschriebenen als Netzwerke austauschbar sind.
- Architektur
- Eine Server-Architektur gemäß einer bevorzugten Ausführungsform unterstützt zwei Typen von Client-Terminals.
- Netzwerk-Terminals. Dies sind Client-Terminals, die zur direkten Ausführung von Java-Anwendungen auf dem Client-Terminal fähig sind, die zunächst auf einem Server gespeichert sind. Der Server lädt einfach diesen Code auf das Netzwerk-Terminal des Clients, das der Client dann ausführt, um einen bestimmten Dienst zu gewährleisten. Dieser Service kann mit anderen Clients oder Servern interagieren oder nicht. Netzwerk-Terminals können mit einem Server verbunden werden durch eine Einwahl-Modem-Verbindung, direkt durch ein lokales Netzwerk (local area network) oder durch andere Netzwerk-Verbindungsmittel gemäß einer bevorzugten Ausführungsform.
- Nicht-Netzwerk-Terminals. Dies sind Client-Terminals, die nicht in der Lage sind, Java-Anwendungen auf dem Client-Terminal auszuführen. Beim Behandeln dieser Klasse von Clients führt der Server die Applikation im Auftrag des Clients aus. In diesem Fall erwartet der Server lediglich die durch das Client-Terminal auszuführenden Eingabe- und Ausgabe-Operationen. Ein Beispiel, wie eine Anzahl von Nicht-Netzwerk-Terminals mit einem Host-Server verbunden werden können, ist in dem US-Patent 5,287,461 beschrieben, deren Beschreibung hiermit in ihrer Gesamtheit durch die Bezugnahme hierin einbezogen wird.
-
3 zeigt eine Server-Architektur gemäß einer bevorzugten Ausführungsform. Ein Client300 initiiert eine Verbindung mit einem Server315 bspw. durch Einwählen in einen Modem-Pool, der durch die Punkt-zu-Punkt-Stapel-Software311 aufgefangen wird, welche die empfangene Information an die TCP-Ebene (layer)312 anpasst, das einen Anschluss313 zum Verbinden des Clients310 an den Server350 schafft. Die Java-Netz-Ebene314 verfeinert die Anfrage weiter, um sie an die TERMIO- und Netz-Ebene315 anzupassen, welche die Anfrage an den Anwendungs-Abfertiger319 weiterleitet. Der Anwendungs-Abfertiger319 erzeugt die geeignete Server-Anwendung, die aus den Server-Anwendungen330 ausgewählt ist. Auf einem Nicht-Netzwerk-Terminal erzeugt das Nicht-Netzwerk-Terminal eine "erste Verbindung" bspw. durch Anwählen eines Modems. Das Einwählen erfolgt durch das native Betriebssystem OS316 (Solaris oder Windows NT Einwahl-Ebene) und ist mit der seriellen Kommunikation in der VFI.SERIAL-Ebene317 verbunden, welche die seriellen Eingabe/Ausgabe-Funktionen auf eine höhere Kommunikations-Ebene abstrahiert. Die VFI.NET-Ebene315 nimmt die abstrahierte serielle Ebene und bildet diese auf eine ähnliche Kommunikation ab, wie die Kommunikation von dem Netzwerk-Terminal300 . Dies lässt die asynchrone Einwahl-Verbindung für die Server-Applikation wie eine neue Anschluss-Verbindung erscheinen. - Netzwerk-Terminal – "Erste Verbindung"
-
4 zeigt eine Client-Server-Architektur gemäß einer bevorzugten Ausführungsform. Zur Verdeutlichung ist die Architektur zunächst für ein Netzwerk-Terminal und anschließend mit einem Nicht-Netzwerk-Terminal dargestellt. Die Bearbeitung beginnt bei400 , wenn ein Netzwerk-Terminal um eine Verbindung durch ein Kommunikations-System mit mehreren Ebenen zu einem Satz von Server-Strängen420 anfragt, die über die Erfassung eines "Rings"430 koordiniert sind, um mögliche Client-Aktualisierungen und die anschließende Client-Anwendung zur Server-Anwendungs-Bearbeitung zu initiieren. Der Begriff "Ring" bezieht sich auf eine "erste Verbindung" im Anschluss-Verfahren gemäß einer bevorzugten Ausführungsform. - Das Netzwerk-Terminal erzeugt seine Verbindung durch den Punkt-zu-Punkt-Protokoll-Stapel
411 unter Verwendung der TCP-Ebene412 und der Anschluss-Ebene413 , die einem elektrischen Anschluss ähnelt zum Anschließen von Terminals an Kommunikations-Anschlüsse, um die Kommunikation durch das Netzwerk zu erleichtern. All dies wird durch das Java-Netz414 verwaltet, das den Anschluss1111 über die TCP-Ebene412 und den PPP-Stapel411 verbindet. Die oben genannte Ebene ist das VFI-Netz und das VFI.TERMIO415 , das für die Feststellung verantwortlich ist, dass die Verbindung hergestellt und das Abbilden der Verbindung auf einen Anwendungs-Abfertiger431 zur weiteren Bearbeitung der ersten Verbindungs-(Ring)-Anfrage erfolgt ist. - Der Server
450 wartet auf eine "erste Verbindung"-Anfrage in der Art eines Interrupt-Managers. Wenn eine "erste Verbindung"-Anfrage ankommt, dann verwendet der Anwendungs-Abfertiger ein Verfahren, das eine Verbindungs-Anfrage oder eine LAN-"erste Verbindung"-Anfrage erfasst, die durch die TCP-Ebene als eine Anschluss-Verbindung ankommt. Die Verbindung wird in einen logischen Ring übersetzt, der äquivalent ist zu einem Ereignis oder einem Interrupt. Der Server450 antwortet auf die "erste Verbindung" mit einer durch den Anfrage-Abfertiger431 initiierten Rückfrage, die über eine Abfrage-Mitteilung "Wer bist Du" eine Identifizierung durch den Client-Lader-Strang421 veranlasst. Das Netzwerk-Terminal antwortet mit ID-Informationen einschließlich der Identifizierung der Anwendung, nach der das Netzwerk-Terminal verlangt. Wenn das Terminal mit einem Identifizierer antwortet, der anzeigt, dass das Terminal ein Netzwerk-Terminal ist, dann führt der Client-Lader-Strang421 jede notwendige Client-Anwendungs-Aktualisierung über ein Herunterladen (Download) unter Verwendung eines Datei-Übertragungs-Programms durch, wie z.B. UDP oder FTP oder eines beliebigen Anschluss-Ebenen-Protokolls, das für Netzwerk-Datei-Übertragungen für das Netzwerk-Terminal400 verfügbar ist. - Netzwerk-Terminal – Erste Client-Anfrage an den Server
-
5 ist eine erste Client-Anfrage an einen Server gemäß einer bevorzugten Ausführungsform. Wenn eine erste Client-Anfrage von dem Netzwerk-Terminal500 mit einer darauf vorhandenen Client-Anwendung510 an den Server550 übertragen wird, erzeugt der Anwendungs-Abfertiger530 eine entsprechende Server-Anwendung520 zum Bedienen der Anfrage an den Server550 über den angewiesenen Anschluss1112 . Die Server-Anwendung520 antwortet auf die Anfrage und übermittelt Informationen an das Netzwerk-Terminal500 . Der Anwendungs-Abfertiger530 hat seine Zuständigkeiten für diesen Client500 vervollständigt und kann in einen Warte-Zustand bis zu der nächsten "erste Verbindung"-Anfrage von einem Client zurückkehren. Die Client-Anwendungs-Anfrage kann so einfach sein wie eine Laufzeit-Erfassungs-Anfrage (get current time request) oder eine Anfrage nach Daten von einer Server-Datenbank. -
6 zeigt ein Netzwerk-Terminal600 mit einer heruntergeladenen Client-Anwendung610 , die auch Unterstützungs-Dienste in dem Server650 durch seine angewiesene Server-Anwendung620 gemäß einer bevorzugten Ausführungsform zugreift. Das Terminal600 kommuniziert an eine Server-Anwendung620 , die auf Host-Bearbeitungsfähigkeiten und Datenbank-Dienste640 zugreift, um Anfragen zu bedienen, die aus der Client-Anwendung610 stammen. Die Server-Anwendung620 behandelt jedes Ereignis, das von der Client-Anwendung610 stammt, über den zugewiesenen Anschluss1112 . Diese Ereignisse können Daten-Anfragen von einer Datenbank-Anwendung oder Daten-Übertragungen an einen Server umfassen. Fern-Daten von einer anderen Server-Anwendung sind ebenfalls durch den Client zugänglich. Die Server-Anwendung620 greift auf Unterstützungs-Dienste direkt oder über eine Anschluss-Schnittstelle660 zu. - Nicht-Netzwerk-Terminal – "Erste Verbindung"
-
7 ist ein Architektur-Diagramm eines Client-Server-Systems gemäß einer bevorzugten Ausführungsform. Ein Kommunikations-System700 mit mehreren Ebenen wird durch ein Nicht-Netzwerk-Terminal710 verwendet, um einen Ring zu erfassen, der einen Freimachungsvermerk zur Kommunikation740 und Abfertigung einer Anwendung730 gewährleistet. Das Abfertigen einer Anwendung730 veranlasst ebenso einen Server-Strang720 , die Client-Anfrage zu bedienen. Das Nicht-Netzwerk-Terminal720 initiiert eine "erste Verbindung" bspw. durch Anwählen eines Modems. Das Anwählen erfolgt durch das native Betriebssystem OS711 (Solaris oder Windows NT-Einwahl-Ebene) und ist mit der seriellen Kommunikation in der VFI.SERIAL-Ebene712 verbunden, welche die Eingabe/Ausgabe-Funktionen in eine höhere Kommunikations-Ebene abstrahiert. Die VFI.NET-Ebene715 nimmt die abstrahierte, serielle Ebene und bildet diese in eine ähnliche Kommunikation ab, wie die Kommunikation von dem Netzwerk-Terminal. Dies lässt die asynchrone Einwahl-Verbindung für die Server-Anwendung als eine neue Anschluss-Verbindung1111 erscheinen. Die Kommunikation ist ein Ereignis740 , das Aktionen durch den Anwendungs-Abfertiger741 veranlasst und auf das "erste Verbindungs"-Ereignis antwortet durch Anfragen der ID-Informationen von dem Client über eine Abfrage-Mitteilung und Starten der angeforderten Client-Anwendung720 auf dem Server750 . - Nicht-Netzwerk-Terminal – Erste Client-Anfrage an den Server
-
8 ist ein Architektur-Diagramm eines Client-Server-Systems gemäß einer bevorzugten Ausführungsform. Die Client-Anwendung822 ist für das Verwalten des Nicht-Netzwerk-Terminals810 verantwortlich. Die Client-Anwendung822 schreibt Informationen unter Verwendung einer Server-Version von VFI.TERMIO855 und antwortet auf die Betätigung von Tasten durch das Nicht-Netzwerk-Terminal810 an dem Server850 . Die Client-Anwendung822 erzeugt zunächst eine Anfrage nach Diensten von einem Anschluss1112 , der mit dem Nicht-Netzwerk-Terminal810 assoziiert ist, wenn der Anwendungs-Abfertiger840 die Client-Anwendung822 erzeugt. - Wenn die erste Anfrage
845 durch die auf dem Server850 vorhandene Client-Anwendung822 bei Anwendungsbeginn erzeugt wird, wird die erste Anfrage nach einem Dienst auf den Anwendungs-Abfertiger840 in dem Server850 geleitet und erzeugt die Server-Anwendung820 , die anschließend die Anfragen behandelt. Die Server-Anwendung820 erzeugt eine Anfrage nach einem Dienst von einem Anschluss1112 , der mit der Client-Anwendung822 assoziiert ist, und übermittelt einen entsprechenden Befehl durch das VFI.TERMIO855 an die VFI.SERIAL-Ebene856 an das Nicht-Netzwerk-Terminal810 unter Verwendung der Kommunikations-Unterstützung857 des Betriebssystems. Diese Bearbeitung ist mit der Netzwerk-Terminal-Bearbeitung identisch unter der Ausnahme, dass alle Anwendungen auf dem Server850 vorhanden sind, im Gegensatz zu einer Java-Anwendung, die auf dem Netzwerk-Terminal entfernt ausgeführt wird. - Ein Vorteil von Java besteht darin, dass es Maschinen-unabhängig ist und indifferent, ob eine Java-Anwendung auf dem Client oder auf dem Server vorhanden ist. Im Falle eines Nicht-Netzwerk-Terminals ist die Client-Anwendung auf dem Server vorhanden und steuert das Java-unfähige Terminal.
- Nicht-Netzwerk-Terminal – Nachfolgende Client-Anfrage an den Server
-
9 ist ein Architektur-Diagramm eines Client-Server-Systems gemäß einer bevorzugten Ausführungsform. Ein Kommunikations-System900 mit mehreren Ebenen wird verwendet durch ein Nicht-Netzwerk-Terminal910 , um die Verbindung zwischen einer Server-Anwendung940 und einer Client-Anwendung920 zu verwalten und die Kommunikation zwischen dem Terminal910 und der Server-Anwendung940 über eine auf dem Server950 vorhandene Client-Anwendung920 zu vereinfachen.9 zeigt die Bearbeitung nachdem die erste Anfrage vervollständigt wurde und die Client-Anwendung920 mit der Server-Anwendung940 über den zugewiesenen Anschluss1112 wie in dem Beispiel mit dem Netzwerk-Terminal gekoppelt wurde mit der Ausnahme, dass sowohl die Client-Anwendung920 und die Server-Anwendung940 auf dem Server950 vorhanden sind. - Wenn ein Terminal mit einer Mitteilung antwortet, die anzeigt, dass es sich um ein Nicht-Netzwerk-Terminal handelt, dann wird das Terminal mit den in den
10 –14 beschriebenen Befehlsabfolgen unterstützt. Wenn das Terminal ein Netzwerk-Terminal ist, dann wird die Anwendung über ein FTP oder andere Netzwerk-Datei-Übertragungs-Prozeduren heruntergeladen. -
10 zeigt die Struktur eines Pakets gemäß einer bevorzugten Ausführungsform.11 zeigt das Format aller Felder einer Kommunikation und beschreibt die Inhalte derselben. Beispielsweise hat der Kopf (Header) eine Länge von 2 Bytes und enthält unterschiedliche Werte, die unterschiedlichen Arten von Transaktionen entsprechen. Auf ähnliche Weise sind der Paket-Typ, der Header-CRC, die Sequenz#, der Daten-Block und die CRC-16-Felder in der in11 dargestellten Tabelle beschrieben. -
12 zeigt eine Tabelle, die zusätzliche Details angibt, die mit den Geräte-Typen, Befehlen und Daten-Parametern assoziiert sind. Beispielsweise hat das Geräte-Typ-Feld die Größe von 1 Byte und spezifiziert das ausgewählte Eingabe/Ausgabe-Gerät.13 zeigt die Anzeige-Befehle gemäß einer bevorzugten Ausführungsform. Der Anzeige-Geräte-Typ ist 0.14 zeigt die Status-Werte, die mit unterschiedlichen, angeforderten Operationen gemäß einer bevorzugten Ausführungsform assoziiert sind. -
15 ist ein Kommunikations-Flussdiagramm gemäß einer bevorzugten Ausführungsform. Ein Terminal1500 ist entweder Firmware oder einer Anwendung1504 ausgestattet, die eine Verbindung1506 mit einem Server1502 durch Kontaktieren eines Abfertigers1508 initiiert. Der Verbindungs-Anfang1506 verbindet ebenso einen Anschluss1111 , um die Verbindung zu behandeln. Der Abfertiger1508 übermittelt eine Identifizierungs-Anfrage1510 , auf die das Client-Terminal mit einer Identifizierungs-Mitteilung1512 antwortet. In dem Fall eines Netzwerk-Terminals führt der Client-Lader1520 jede notwendige Client-Anwendungs-Aktualisierung1520 auf dem Client-Terminal1500 durch. In dem Fall eines Nicht-Netzwerk-Terminals startet der Abfertiger die Client-Anwendung. Der Client sendet anschließend eine Anfrage an den Server, um die Server-Anwendung1530 zu starten, die zur Folge hat, dass die Verbindung eines Anschlusses1112 und der Server-Anwendung1550 gestartet wird und eine Bestätigungs-Mitteilung1532 an die Client-Anwendung1540 zurückgesendet wird. Anschließend, wenn die Client-Anwendung1540 nach Daten1542 von der Server-Anwendung1550 anfragt, antwortet die Server-Anwendung1550 mit den Antwort-Daten1560 der Anwendung. - Anwendungs-Abfertiger – Steuerfluss zum Starten des Anwendungs-Abfertigers
- Die in Transaktionen involvierten konfigurierten Modem-Anschlüsse sind vorkonfiguriert. Der Start-Code des Anwendungs-Abfertigers (AD) richtet sich nach diesen Konfigurations-Abfolgen, um die Anzahl von S-Strängen (Empfänger mit seriellem Anschluss, serial port listeners) festzustellen. S-Klassen instantiieren ein VFI.NET.-Server-Anschluss-Objekt, das seinerseits ein VIF.NET. ModemIO.Modem-Anschluss-Objekt erzeugt. Das Modem-Anschluss-Objekt bindet ein VFI.NET.ModemIO-Anschluss-Objekt niedriger Ebene, das native Verfahren zum Konfigurieren und Warten auf dem Kommunikations-Anschluss verwendet.
- Anfrage-Bearbeitung
- Wie oben beschrieben, sind S-Stränge transiente Stränge. Und selbst wenn diese aktiv sind, ermöglichen sie effektive Wartezeiten (es werden keine CPU-Zyklen verbraucht). Der AD (Anwendungs-Abfertiger) empfängt die ID-Anfrage von jedem S-Strang. Das Bearbeiten einer Anfrage wird über eine Datenbank-Abfrage durchgeführt. Typische Anfragen sind einfache Text-Mitteilungen mit Begrenzern und werden analysiert unter Verwendung eines "String-Tokenizer-Objekts".
StringTokenizer stParseHelp = new StringTokenizer ((String) Request);
field1 = stParseHelp.nextToken();
field2 = .... und so weiter. - Der Anwendungs-Abfertiger (AD) nimmt eine Datenbankabfrage vor, um festzustellen, welche Anwendung basierend auf der Anfrage-Mitteilung initiiert werden soll unter Verwendung einer SQL-Abfrage der Form:
SELECT <Field ClassPath> from <TableName> where <f1 = field1 and ........>; - Diese wird behandelt durch die JDBC-Ebenen, um Daten an den Anwendungs-Abfertiger AD zurückzusenden. Der Anwendungs-Abfertiger AD ist nun bereit, den Client-Strang ablaufen zu lassen.
ClientThread = new Thread (field1, field2 ..., SOConnSocket); - Die Feld-Liste enthält entsprechende Felder (diejenigen, die für das Bearbeiten der Client-Anwendung erforderlich sind) und werden zusammen mit den verbundenen Anschluss-Objekten an den Client-Strang weitergeleitet.
- Client-Stränge
- Client-Stränge autorisieren die aktuelle Anwendung. Für die Terminal-Geräte bestimmte Anwendungs-Ausgaben werden unter Verwendung des VIF.TERMIO als Richtlinie an die Firmware des Client-Terminals geleitet. Der verbundene Anschluss (der zu einer Live-Einwahl-Verbindung überträgt) wird von dem Anwendungs-Abfertiger (AD) an den Client-Strang weitergeleitet. Client-Stränge sind langlebig – übertragen üblicherweise zu entsprechenden Servlets, die Verbindungen zu vorgeschalteten Hosts initiieren oder Datenbank-Transaktionen vornehmen. Trotz der Tatsache, dass Client-Stränge Kenntnis von JDBC haben, behandeln Servlets Datenbank-Transaktionen. Dies hilft, um die Code-Konstanz zu erhalten, wenn dieselbe Client-Klasse auf ein Java-fähiges Terminal zur Fern-Ausführung heruntergeladen wird.
- Die Terminal-Eingabe/Ausgabe wird durch ein VFI.TERMIO-Objekt durchgeführt, das seinerseits ein VFI.TERMIO.ServProtokoll-Objekt instanziiert. Das Protokoll-Objekt implementiert den aktuellen Daten-Transfer mit dem Client-Terminal. Das Protokoll-Objekt verlangt, dass das Anschluss-Objekt von dem Anwendungs-Abfertiger AD an den Client-Strang weitergeleitet wird.
- Anfangs-Client-Anfrage-Bearbeitung
- Der Anwendungs-Abfertiger (AD) lässt einen T-Strang (nicht während der Anfangsphase erzeugt) ablaufen, der einem wohlbekannten Anschluss (z.B. 1112) zuhört und eine Anfangs-Client-Anfrage von einer Client-Anwendung abwartet. Der T-Strang bearbeitet die Client-Anfrage, um festzustellen, welcher Servlet-Klasse geladen werden muss.
- Der T-Strang ist ein Dämon-Strang und läuft solange wie der Anwendungs-Abfertiger AD läuft. Wenn die Client-Anwendung auf ein Java-fähiges Terminal heruntergeladen wird, kommen über die PPP-Verbindung Anfangs-Anfragen an.
- Host-Stränge oder Servlets
- Host-Stränge (H) bedienen Client-Anfragen für vorgeschaltete und Datenbank-Verbindbarkeit. Ein Host-Strang kann TCP-Verbindungen mit entfernten Hosts herstellen, von der Client-Anwendung stammende Finanz-Transaktionen weiterleiten und die Antwort zuleiten.
- Transiente und langlebige Stränge in dem Anwendungs-Abfertiger
- Eine Anschluss-basierte Abstraktion der Win32-Kommunikations-API
- Die Konsistenz in dem Zugriff der Dienste auf Transport-Ebene benötigt keiner besonderen Betonung. Die Gestaltung des PTS-Servers zielt darauf ab, eine einheitliche Schnittstelle zu bieten für Schreiber von Client-Komponenten und Server-Komponenten-Applets von dritter Seite für die asynchronen Einwahl-Protokoll-Module und die TCP/SLIP/PPP-Stapel des Systems. Diese Schnittstelle umfasst einen Satz von Java-Klassen, die zusammengefasst (VFI.NET)* bezeichnet werden. Es sollte bemerkt werden, dass dieses Paket keine reinen TCP/UDP/IP-spezifischen Objekte und Verfahren bietet, die bereits in java.net.* definiert und implementiert sind. Die Programmierer müssen jedoch nicht explizit java.net.* importieren. Dies erfolgt automatisch durch das Paket. Ferner wird in diesem Dokument nicht die Funktionalität von java.net.* diskutiert, was in der entsprechenden JDK-Dokumentation nachgelesen werden kann. Es werden lediglich Details einer Klassen-Gestaltung beschrieben, die Verfahren überlasten, insbesondere notwendig, um einen BSD-Anschluss, ähnlich einer Ebene zwischen einem abrufenden Applet (Servlet) und den seriellen Kommunikations-Paket mit Maschinen-spezifischem Java aufbaut.
- Hierarchie
- Eine einheitliche Hochleistungs-Schnittstelle für die Modem-IO-Klassen erlaubt ein einfaches Ersetzen der Implementierungen. Der aktuelle Modem-Behandlungs-Code kann bspw. die TAPI-Client-Anrufe anstelle von direkten Win32-Kommunikations-Anrufen verwenden. Multiple Bibliotheken, die mit derselben Schnittstelle konform sind, erlauben unterschiedliche Verbindungs-Ebenen-Protokoll-Stapel (ähnlich MNP3). Dies gewährleistet die Konstanz (und damit direkt Portabilität) der VFI.ModemIO.*.
- Erforderliche ModemIO-Funktionalität
-
- 1. Öffnen einer asynchronen Ende-Zu-Ende-Duplex-Einwahl-Verbindung. Die Stations-Adresse (InetAddress as in TCP/IP) ist die Einwahl-Zeichenfolge. Konfigurieren nach Verbindung.
- 2. Empfangen einer ankommenden Einwahl-Verbindung. Der Empfänger-Anschluss (analog zu dem eingebundenen TCP-Anschluss) ist der COM-Anschluss. Diesbezüglich ist die Anzahl der gültigen Anschlüsse in einem Bereich von 0–0 × FF (was die maximale Anzahl der in NT erlaubten COM-Anschlüsse ist). Konfigurieren nach Initialisierung.
- 3. Erhalten einer Eingabe und eines Ausgabe-Stroms, der von/zu der offenen Verbindung umgeleitet wird.
- 4. Auflegen (schließen wie in TCP/IP) einer aktiven Verbindung.
- Die folgenden Klassen bilden einen Teil eines VFI.ModemIO.*:
- Die Programierer müssen getPort() verwenden, um eine Abfolge zu erfassen und Daten über den Modem-Anschluss zu übertragen. Configure(String) sendet einen AT-Befehl und returniert TRUE, wenn das Modem OK<cr><If>configureDM(String) returniert hat und sendet den gleichen Befehl an das Modem, wenn der Daten-Modus vorliegt.
- NET – Die Anschlusshülle
- Das Paket umfasst zwei große Klassen von java.net.* – Anschluss und Server-Anschluss. Um eine bekannte Schnittstelle zu bieten, die Konflikte vermeidet, instanziiert das Paket seinen eigenen Anschluss und Server-Anschluss-Objekte über Konstruktoren, die sich eines Extra-Parameters bedienen (der die niedrigeren Objekte identifiziert, die zu instanziieren sind). Dies ist nach der Klassen-Definierung dargestellt.
- Stations-Adressen-Lösung
- Das InetAddress-Objekt bezieht sich auf einen einzelnen langen Wert, der mit der TCP/IP-Adresse der Maschinen korrespondiert. Die asynchrone Einwahl-Leitung kann jedoch multiple COM-Anschlüsse verwenden, um eine Verbindung mit dem Host zu öffnen. Heuristisch kann es den Anschein haben, dass das Einpassen der TCP/IP-Host/Maschinen-Adresse in die native COM-Unterstützungs-Bibliothek ein Überladen der InetAddress zulässt und dadurch die Eleganz verbessert. Dies führt jedoch zu zusätzlicher und vermeidbarer Komplexität. Diesbezüglich korrespondiert die InetAddress nur zu einer TCP/IP-Adresse. Die Versionen der java.net.-Anschluss-Konstruktoren, die den Host-Namen (als eine Zeichenkette) akzeptieren, werden stattdessen überlastet. Dieser Wert wird nun auf eine Wähl-Zeichenfolge bezogen, welche die Fern-Stations-Adresse identifiziert.
- Schnittstellen-Bibliothek für native Win32 Komm.-API-Verfahren
-
- HANDLE OpenDevice (int nDevNum, DCB * pNewDCB);
- void CloseDevice (HANDLE hDevice);
- int WriteDevice (HANDLE hDev, int nBytesToWrite, unsigned char * pWriteBuf);
- int ReadDevice (HANDLE hDev, int nBytesToRead, unsigned char pReadBuf);
- BOOL ConfigureDevice (HANDLE hDev, DCB * pNewDCB);
- Während die Erfindung mit Hilfe von bevorzugten Ausführungsformen in einer spezifischen System-Umgebung beschrieben wurde, sind verschiedene äquivalente Modifikationen innerhalb des Schutzumfangs der Erfindung möglich, wie er in den beigefügten Ansprüchen dargelegt ist, was dem Fachmann auf dem betreffenden technischen Gebiet bewusst ist.
Claims (25)
- Dezentrales Computer-System mit einem Client-Terminal (
200 ,300 ) und einem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ), die über ein Netzwerk kommunizieren, aufweisend: einen Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) und ein Client-Terminal (200 ,300 ) zum Initiieren einer Verbindung zu dem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) unter Verwendung eines Netzwerks; wobei der Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) angepasst ist auf die Anfangs-Verbindung zu reagieren durch Übermitteln einer Anfrage-Mitteilung an das Client-Terminal (200 ,300 ); wobei das Client-Terminal (200 ,300 ) angepasst ist, auf die Anfrage-Mitteilung mit einer Mitteilung zu reagieren, die Identifizierungs-Informationen umfasst, die anzeigen, ob das Client-Terminal (200 ,300 ) entweder ein Netzwerk-Terminal (400 ,500 ,600 ) oder ein Nicht-Netzwerk-Terminal (710 ,810 ,910 ) ist, und eine Client-Applikation identifizieren, die von dem Client-Terminal (200 ,300 ) benötigt wird; wobei der Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) angepasst ist, die Identifizierungs-Informationen zu empfangen und zu analysieren, um festzustellen, ob das Client-Terminal (200 ,300 ) ein Netzwerk-Terminal (400 ,500 ,600 ) oder ein Nicht-Netzwerk-Terminal (710 ,810 ,910 ) ist, und wenn das Client-Terminal (200 ,300 ) ein Netzwerk-Terminal (400 ,500 ,600 ) ist, ein Client-Lader auf dem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) angepasst ist, um die Client-Applikation, falls erforderlich, auf den Client-Terminal (200 ,300 ) unter Verwendung des Netzwerks zu aktualisieren, sowie angepasst ist, eine Server-Applikation zu starten, um zukünftige Anfragen von dem Client-Terminal zu bedienen; und wenn das Client-Terminal ein Nicht-Netzwerk-Terminal (710 ,810 ,910 ) ist, der Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) angepasst ist, eine Client-Applikation sowie eine Server-Applikation auf dem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) zu initiieren, um die Applikation für das Client-Terminal (200 ,300 ) auf dem Server zu bearbeiten. - Dezentrales Computer-System gemäß Anspruch 1, wobei das Aktualisieren der Client-Applikation ein Herunterladen der Client-Applikation auf das Client-Terminal (
200 ,300 ) bedingt. - Dezentrales Computer-System gemäß Anspruch 1, bei dem das Client-Terminal (
200 ,300 ) angepasst ist, um mit dem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) unter Verwendung einer Einwahl-Netzwerk-Verbindung ("dial-up network connection") zu kommunizieren. - Dezentrales Computer-System gemäß Anspruch 1, wobei die Identifizierungs-Information Konfigurations-Charakteristika des Client-Terminals (
200 ,300 ) umfasst. - Dezentrales Computer-System gemäß Anspruch 1, wobei das Netzwerk-Terminal (
400 ,500 ,600 ) angepasst ist, um Java-Code auf dem Netzwerk-Terminal (400 ,500 ,600 ) auszuführen. - Dezentrales Computer-System gemäß Anspruch 1, wobei die auf dem Server (
210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) und auf dem Client-Terminal (400 ,500 ,600 ) ausgeführte Client-Applikation dieselbe ist. - Dezentrales Computer-System gemäß Anspruch 1, wobei das Nicht-Netzwerk-Terminal (
710 ,810 ,910 ) angepasst ist, Befehle von der Client-Applikation auf dem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) zu empfangen. - Dezentrales Computer-System gemäß Anspruch 1 umfassend Mittel zum Weiterleiten einer Client-Applikation-Anfrage an einen anderen Server, um die Anfrage zu bearbeiten.
- Verfahren zur dezentralen Datenverarbeitung zwischen einem Server-Computer (
210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) und einem Client-Terminal (200 ,300 ), die über ein Netzwerk kommunizieren, umfassend die Schritte: (a) Initiieren einer Verbindung des Client-Terminals (200 ,300 ) zu dem Server-Computer (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) unter Verwendung des Netzwerks; (b) Beantworten der Anfangs-Verbindungs-Anfrage an den Server-Computer (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) durch Übermitteln einer Anfrage-Mitteilung an das Client-Terminal (200 ,300 ); (c) Beantworten der Anfrage-Mitteilung an das Client-Terminal (200 ,300 ) mit einer Identifizierungs-Informationen umfassenden Mitteilung, die anzeigen, ob das Client-Terminal (200 ,300 ) ein Netzwerk-Terminal oder ein Nicht-Netzwerk-Terminal ist, und eine Client-Applikation identifizieren, die von dem Client-Terminal benötigt wird; (d) Empfangen und Analysieren der Identifizierungs-Informationen bei dem Server-Computer (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ), um festzustellen, ob das Client-Terminal ein Netzwerk-Terminal oder ein Nicht-Netzwerk-Terminal ist; und (d1) wenn das Client-Terminal ein Netzwerk-Terminal (400 ,500 ,600 ) ist, wird die Client-Applikation durch einen Client-Lader aktualisiert und durch den Client-Lader eine Server-Applikation gestartet, um zukünftige Anfragen von dem Client-Terminal (200 ,300 ) zu bedienen; und (d2) Laden einer Server-Applikation auf den Server-Computer (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ), falls erforderlich, die eine Client-Applikation auf dem Server-Computer (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) zum Bearbeiten der Client-Applikation auf dem Server-Computer im Auftrag des Client-Terminals (200 ,300 ) initiiert, wenn das Client-Terminal (200 ,300 ) ein Nicht-Netzwerk-Terminal (710 ,810 ,910 ) ist. - Verfahren gemäß Anspruch 9, wobei das Aktualisieren der Client-Applikation ein Herunterladen der Client-Applikation auf das Client-Terminal (
200 ,300 ) bedingt. - Verfahren gemäß Anspruch 9 umfassend den Schritt des Kommunizierens zwischen dem Client-Terminal (
200 ,300 ) und dem Server-Computer (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) unter Verwendung einer Einwahl-Netzwerk-Verbindung ("dial-up network connection"). - Verfahren gemäß Anspruch 9, wobei die Identifizierungs-Informationen Konfigurations-Charakteristika des Client-Terminals (
200 ,300 ) umfassen. - Verfahren gemäß Anspruch 9, wobei das Netzwerk-Terminal (
200 ,300 ) Java-Code auf dem Netzwerk-Terminal ausführt. - Verfahren gemäß Anspruch 9, wobei dieselbe Client-Applikation auf dem Server-Computer (
210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) und auf dem Client-Terminal (200 ,300 ) ausgeführt wird. - Verfahren gemäß Anspruch 9, wobei das Nicht-Netzwerk-Terminal (
710 ,810 ,910 ) Befehle von der Client-Applikation auf dem Server-Computer (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) empfängt. - Verfahren gemäß Anspruch 9 umfassend den Schritt des Weiterleitens einer Client-Applikations-Anfrage an einen anderen Server-Computer (
210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ), um die Anfrage zu bearbeiten. - Computerprogramm, das auf einem Computer-lesbaren Medium abgelegt ist, zum Betreiben eines dezentralen Computer-Systems, wenn es auf einem Computer ausgeführt wird, mit einem Client-Terminal (
200 ,300 ) und einem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ), die über ein Netzwerk kommunizieren, wobei das Computerprogramm umfasst: (a) Ein Code-Segment zum Initiieren einer Verbindung des Client-Terminals (200 ,300 ) zu dem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) unter Verwendung des Netzwerks; (b) ein Code-Segment zum Beantworten der Anfangs-Anfrage an den Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) durch Übermitteln einer Anfrage-Mitteilung an das Client-Terminal (200 ,300 ); (c) ein Code-Segment zum Beantworten der Anfrage-Mitteilung an das Client-Terminal (200 ,300 ) mit einer Identifizierungs-Informationen umfassenden Mitteilung, die anzeigen, ob das Client-Terminal ein Netzwerk-Terminal oder ein Nicht- Netzwerk-Terminal ist, sowie eine Client-Applikation identifizieren, die von dem Client-Terminal (200 ,300 ) benötigt wird; (d) ein Code-Segment zum Empfangen und Analysieren der Identifizierungs-Informationen an den Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ), um festzustellen, ob das Client-Terminal (200 ,300 ) ein Netzwerk-Terminal oder ein Nicht-Netzwerk-Terminal ist; und (d1) ein Code-Segment zum Starten einer Server-Applikation, wenn das Client-Terminal ein Netzwerk-Terminal (400 ,500 ,600 ) ist, und zum Aktualisieren der Client-Applikation, wobei die Server-Applikation zukünftige Anfragen von dem Client-Terminal bedient; und (d2) ein Code-Segment zum Laden einer Server-Applikation, falls erforderlich, auf dem Server, welcher die Client-Applikation auf dem Server initiiert, um die Client-Applikation auf dem Server im Auftrag des Client-Terminals zu bearbeiten, wenn das Client-Terminal ein Nicht-Netzwerk-Terminal (710 ,810 ,910 ) ist. - Computerprogramm gemäß Anspruch 17, wobei das Aktualisieren der Client-Applikation ein Herunterladen der Client-Applikation auf das Client-Terminal (
200 ,300 ) bedingt. - Computerprogramm gemäß Anspruch 17 umfassend ein Code-Segment zum Kommunizieren zwischen dem Client-Terminal (
200 ,300 ) und dem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) unter Verwendung einer Einwahl-Netzwerk-Verbindung ("dial-up network connection"). - Computerprogramm gemäß Anspruch 17, wobei die Identifizierungs-Informationen Konfigurations-Charakteristika des Client-Terminals (
200 ,300 ) umfassen. - Computerprogramm gemäß Anspruch 17, wobei das Netzwerk-Terminal (
400 ,500 ,600 ) Java-Code auf dem Netzwerk-Terminal (400 ,500 ,600 ) ausführt. - Computerprogramm gemäß Anspruch 17, wobei dieselbe Client-Applikation auf dem Server und auf dem Client-Terminal (
200 ,300 ) ausgeführt wird. - Computerprogramm gemäß Anspruch 17, wobei das Nicht-Netzwerk-Terminal (
710 ,810 ,910 ) Befehle von der Client-Applikation auf dem Server (210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) empfängt. - Computerprogramm gemäß Anspruch 17 umfassend ein Code-Segment zum Weiterleiten einer Client-Applikations-Anfrage an einen anderen Server, um die Anfrage zu bearbeiten.
- Computerprogramm gemäß Anspruch 17 umfassend ein Code-Segment zum Herstellen einer Einwahl-Verbindung ("dial-up connection"), die gegenüber dem Server (
210 ,350 ,450 ,550 ,650 ,750 ,850 ,950 ) als eine Steckverbindung ("socket connection") erscheint.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US692489 | 1996-08-06 | ||
US08/692,489 US5828840A (en) | 1996-08-06 | 1996-08-06 | Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal |
PCT/US1997/013057 WO1998006207A1 (en) | 1996-08-06 | 1997-08-06 | A system, method and article of manufacture for seamless, server application support of network and non-network client terminals |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69732968D1 DE69732968D1 (de) | 2005-05-12 |
DE69732968T2 true DE69732968T2 (de) | 2006-02-16 |
Family
ID=24780790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69732968T Expired - Lifetime DE69732968T2 (de) | 1996-08-06 | 1997-08-06 | System, verfahren und hergestellter gegenstand zur wartung von server-anwendungssoftware der netzwerk-kundenendgeräte und nicht-netzwerk-kundenengeräte |
Country Status (6)
Country | Link |
---|---|
US (1) | US5828840A (de) |
EP (1) | EP0919092B1 (de) |
AU (1) | AU730088B2 (de) |
DE (1) | DE69732968T2 (de) |
HK (1) | HK1017539A1 (de) |
WO (1) | WO1998006207A1 (de) |
Families Citing this family (170)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
US6437803B1 (en) | 1998-05-29 | 2002-08-20 | Citrix Systems, Inc. | System and method for combining local and remote windows into a single desktop environment |
US6370552B1 (en) | 1997-05-14 | 2002-04-09 | Citrix Systems, Inc. | Apparatus and method for displaying application output in an HTML document |
US6088515A (en) | 1995-11-13 | 2000-07-11 | Citrix Systems Inc | Method and apparatus for making a hypermedium interactive |
US6950991B2 (en) | 1995-11-13 | 2005-09-27 | Citrix Systems, Inc. | Interacting with software applications displayed in a web page |
EP0979458A4 (de) * | 1996-05-14 | 2000-05-03 | Ricoh Corp Ltd | Java-drucker |
US7555458B1 (en) | 1996-06-05 | 2009-06-30 | Fraud Control System.Com Corporation | Method of billing a purchase made over a computer network |
US20030195846A1 (en) | 1996-06-05 | 2003-10-16 | David Felger | Method of billing a purchase made over a computer network |
US8229844B2 (en) | 1996-06-05 | 2012-07-24 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
US6163797A (en) * | 1996-08-06 | 2000-12-19 | Hewlett-Packard Company | Application dispatcher for seamless, server application support for network terminals and non-network terminals |
US7249344B1 (en) * | 1996-10-31 | 2007-07-24 | Citicorp Development Center, Inc. | Delivery of financial services to remote devices |
US5867153A (en) | 1996-10-30 | 1999-02-02 | Transaction Technology, Inc. | Method and system for automatically harmonizing access to a software application program via different access devices |
US7668781B2 (en) | 1996-10-31 | 2010-02-23 | Citicorp Development Center, Inc. | Global method and system for providing enhanced transactional functionality through a customer terminal |
US8112330B1 (en) | 1997-08-07 | 2012-02-07 | Citibank Development Center, Inc. | System and method for delivering financial services |
US20060195595A1 (en) | 2003-12-19 | 2006-08-31 | Mendez Daniel J | System and method for globally and securely accessing unified information in a computer network |
US7287271B1 (en) * | 1997-04-08 | 2007-10-23 | Visto Corporation | System and method for enabling secure access to services in a computer network |
US6131116A (en) * | 1996-12-13 | 2000-10-10 | Visto Corporation | System and method for globally accessing computer services |
US6708221B1 (en) | 1996-12-13 | 2004-03-16 | Visto Corporation | System and method for globally and securely accessing unified information in a computer network |
US6125384A (en) * | 1996-12-23 | 2000-09-26 | International Business Machines Corporation | Computer apparatus and method for communicating between software applications and computers on the world-wide web |
US6901425B1 (en) | 1996-12-23 | 2005-05-31 | International Business Machines Corporation | Computer apparatus and method including a disconnect mechanism for communicating between software applications and computers on the world-wide web |
US6041356A (en) * | 1997-03-31 | 2000-03-21 | Intel Corporation | Method and apparatus for detecting network traffic and initiating a dial-up connection using separate upstream and downstream devices |
US6253228B1 (en) * | 1997-03-31 | 2001-06-26 | Apple Computer, Inc. | Method and apparatus for updating and synchronizing information between a client and a server |
US6766454B1 (en) | 1997-04-08 | 2004-07-20 | Visto Corporation | System and method for using an authentication applet to identify and authenticate a user in a computer network |
US6157944A (en) * | 1997-05-14 | 2000-12-05 | Citrix Systems, Inc. | System and method for replicating a client/server data exchange to additional client notes connecting to the server |
US5941949A (en) * | 1997-05-14 | 1999-08-24 | Citrix Systems, Inc. | System and method for transmitting data from a server application to more than one client node |
US6205469B1 (en) * | 1997-05-27 | 2001-03-20 | Yahoo! Inc. | Method for client-server communications through a minimal interface |
US7502752B1 (en) * | 1997-08-07 | 2009-03-10 | Citicorp Development Center, Inc. | System and method for delivering financial services |
US6697868B2 (en) * | 2000-02-28 | 2004-02-24 | Alacritech, Inc. | Protocol processing stack for use with intelligent network interface device |
US6324574B1 (en) * | 1997-11-07 | 2001-11-27 | International Business Machines Corporation | Relay server for unsigned applets |
JPH11232349A (ja) * | 1997-11-18 | 1999-08-27 | Sun Microsyst Inc | 設備のサービス要求を管理するためのシステムおよび方法、ならびに、設備のサービス要求を管理するための命令シーケンスを記憶する、コンピュータ可読な媒体 |
US6012098A (en) * | 1998-02-23 | 2000-01-04 | International Business Machines Corp. | Servlet pairing for isolation of the retrieval and rendering of data |
US6834388B1 (en) | 1998-03-13 | 2004-12-21 | Iconics, Inc. | Process control |
US6324685B1 (en) * | 1998-03-18 | 2001-11-27 | Becomm Corporation | Applet server that provides applets in various forms |
US6098093A (en) * | 1998-03-19 | 2000-08-01 | International Business Machines Corp. | Maintaining sessions in a clustered server environment |
US6243738B1 (en) * | 1998-04-06 | 2001-06-05 | National Instruments Corporation | Data acquisition system which includes remote access to data acquisition devices |
US7346689B1 (en) | 1998-04-20 | 2008-03-18 | Sun Microsystems, Inc. | Computer architecture having a stateless human interface device and methods of use |
US6011916A (en) * | 1998-05-12 | 2000-01-04 | International Business Machines Corp. | Java I/O toolkit for applications and applets |
US6233341B1 (en) | 1998-05-19 | 2001-05-15 | Visto Corporation | System and method for installing and using a temporary certificate at a remote site |
US6405367B1 (en) * | 1998-06-05 | 2002-06-11 | Hewlett-Packard Company | Apparatus and method for increasing the performance of Java programs running on a server |
US6138148A (en) * | 1998-06-18 | 2000-10-24 | Sun Microsystems, Inc. | Client intermediation of server applications |
US6751647B1 (en) * | 1998-06-19 | 2004-06-15 | Intel Corporation | Method and apparatus for automated data exchange between a user computer and a provider computer using improved object-oriented programming components |
US6181692B1 (en) * | 1998-09-03 | 2001-01-30 | Genesys Telecommunications Laboratories Inc | Method and apparatus for data routing, delivery, and authentication in a packet data network |
US6356631B1 (en) | 1998-09-24 | 2002-03-12 | Ericsson Inc. | Multi-client object-oriented interface layer |
US6782431B1 (en) * | 1998-09-30 | 2004-08-24 | International Business Machines Corporation | System and method for dynamic selection of database application code execution on the internet with heterogenous clients |
US6470346B2 (en) * | 1998-10-07 | 2002-10-22 | Millennium Pharmaceuticals, Inc. | Remote computation framework |
US7533064B1 (en) | 1998-10-07 | 2009-05-12 | Paypal Inc. | E-mail invoked electronic commerce |
WO2000023857A1 (en) * | 1998-10-16 | 2000-04-27 | Iconics, Inc. | Process control |
US6138160A (en) * | 1998-10-23 | 2000-10-24 | International Business Machines Corporation | System with wake up server and wake up monitor for facilitating dial up connection between two application partners via internet |
US6282568B1 (en) * | 1998-12-04 | 2001-08-28 | Sun Microsystems, Inc. | Platform independent distributed management system for manipulating managed objects in a network |
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 |
US6356282B2 (en) | 1998-12-04 | 2002-03-12 | Sun Microsystems, Inc. | Alarm manager system for distributed network management system |
US6757747B1 (en) * | 1998-12-17 | 2004-06-29 | International Business Machines Corporation | Proxy object for managing an application instance on a dataless client machine |
US6236909B1 (en) * | 1998-12-28 | 2001-05-22 | International Business Machines Corporation | Method for representing automotive device functionality and software services to applications using JavaBeans |
US6928469B1 (en) | 1998-12-29 | 2005-08-09 | Citrix Systems, Inc. | Apparatus and method for determining a program neighborhood for a client node in a client-server network using markup language techniques |
US7017116B2 (en) | 1999-01-06 | 2006-03-21 | Iconics, Inc. | Graphical human-machine interface on a portable device |
US6286031B1 (en) * | 1999-01-21 | 2001-09-04 | Jerry Richard Waese | Scalable multimedia distribution method using client pull to retrieve objects in a client-specific multimedia list |
US6473894B1 (en) | 1999-01-29 | 2002-10-29 | International Business Machines Corporation | Dynamic runtime and test architecture for Java applets |
SG94330A1 (en) | 1999-07-24 | 2003-02-18 | Kent Ridge Digital Labs | Mobile computing system and method for a network |
US6745247B1 (en) | 1999-03-19 | 2004-06-01 | Citicorp Development Center, Inc. | Method and system for deploying smart card applications over data networks |
US6385739B1 (en) | 1999-07-19 | 2002-05-07 | Tivo Inc. | Self-test electronic assembly and test system |
US7373517B1 (en) | 1999-08-19 | 2008-05-13 | Visto Corporation | System and method for encrypting and decrypting files |
JP3478200B2 (ja) * | 1999-09-17 | 2003-12-15 | 日本電気株式会社 | サーバ・クライアント間双方向通信システム |
US6654748B1 (en) | 1999-12-07 | 2003-11-25 | Rwd Technologies, Inc. | Dynamic application browser and database for use therewith |
US20020184057A1 (en) * | 2000-05-31 | 2002-12-05 | Sony Corporation | System, apparatus, and method for providing insurance design service |
US20020032706A1 (en) * | 1999-12-23 | 2002-03-14 | Jesse Perla | Method and system for building internet-based applications |
JP4846890B2 (ja) * | 2000-01-20 | 2011-12-28 | ソニー株式会社 | 端末制御装置 |
KR100379889B1 (ko) * | 2000-02-25 | 2003-04-14 | 조도원 | 광고 전용 프로그램을 이용한 컴퓨터 광고방법 |
US8036905B2 (en) * | 2000-02-29 | 2011-10-11 | Newgistics, Inc. | Method and system for processing the local return of remotely purchased products |
US8386337B2 (en) * | 2000-03-24 | 2013-02-26 | Newgistics, Inc. | System and method for single-action returns of remotely purchased merchandise |
US20010047387A1 (en) * | 2000-03-27 | 2001-11-29 | Exoplex, Inc. | Systems and methods for providing distributed cross-enterprise portals |
US6789112B1 (en) | 2000-05-08 | 2004-09-07 | Citrix Systems, Inc. | Method and apparatus for administering a server having a subsystem in communication with an event channel |
US6785713B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for communicating among a network of servers utilizing a transport mechanism |
US6922724B1 (en) | 2000-05-08 | 2005-07-26 | Citrix Systems, Inc. | Method and apparatus for managing server load |
US6785726B1 (en) | 2000-05-08 | 2004-08-31 | Citrix Systems, Inc. | Method and apparatus for delivering local and remote server events in a similar fashion |
US8176145B1 (en) * | 2000-05-19 | 2012-05-08 | The Travelers Indemnity Company | System and method for providing insurance data processing services via a user interface |
US7699699B2 (en) | 2000-06-23 | 2010-04-20 | Igt | Gaming device having multiple selectable display interfaces based on player's wagers |
US7695363B2 (en) | 2000-06-23 | 2010-04-13 | Igt | Gaming device having multiple display interfaces |
US7225231B2 (en) | 2000-09-20 | 2007-05-29 | Visto Corporation | System and method for transmitting workspace elements across a network |
WO2002029599A1 (en) * | 2000-10-05 | 2002-04-11 | Redline Networks, Inc. | Connection management system and method |
US7263550B1 (en) | 2000-10-10 | 2007-08-28 | Juniper Networks, Inc. | Agent-based event-driven web server architecture |
US7464045B2 (en) * | 2001-02-14 | 2008-12-09 | The Workplace Helpline, Llc | Method and apparatus for managing workplace services and products |
US7181017B1 (en) | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
US7143164B2 (en) * | 2001-05-21 | 2006-11-28 | Exigen Group | Dynamic object library software architecture |
US7716091B2 (en) | 2001-05-24 | 2010-05-11 | Newgistics, Inc. | Local returns of remotely purchased merchandise with return code validation |
US7110525B1 (en) | 2001-06-25 | 2006-09-19 | Toby Heller | Agent training sensitive call routing system |
US8346848B2 (en) * | 2001-08-16 | 2013-01-01 | Juniper Networks, Inc. | System and method for maintaining statefulness during client-server interactions |
US7000027B2 (en) * | 2001-11-29 | 2006-02-14 | International Business Machines Corporation | System and method for knowledgeable node initiated TCP splicing |
WO2003046725A1 (fr) * | 2001-11-30 | 2003-06-05 | Fujitsu Ten Limited | Appareil de mise au point de logique de micro-ordinateur |
US8190530B2 (en) | 2002-01-30 | 2012-05-29 | Visa U.S.A. Inc. | Method and system for providing multiple services via a point-of-sale portal architecture |
US7372952B1 (en) | 2002-03-07 | 2008-05-13 | Wai Wu | Telephony control system with intelligent call routing |
US8135843B2 (en) * | 2002-03-22 | 2012-03-13 | Citrix Systems, Inc. | Methods and systems for providing access to an application |
JP2003280902A (ja) * | 2002-03-25 | 2003-10-03 | Fujitsu Ten Ltd | マイコンロジック開発システム及びそのプログラム |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US20040215531A1 (en) * | 2003-02-10 | 2004-10-28 | Stashluk Edward J. | Computer generated merchandise return labels with rules-based coding |
US20040181310A1 (en) * | 2003-02-10 | 2004-09-16 | Stashluk Edward J. | Merchandise return system with value added returns processing (data communications) |
US20040193436A1 (en) * | 2003-02-10 | 2004-09-30 | Stashluk Edward J. | Method and system using return labels with dynamically generated multiple datapoint coding |
US20040193438A1 (en) * | 2003-02-10 | 2004-09-30 | Stashluk Edward J. | Merchandise return system with value added returns processing (dispositioning) |
US7676034B1 (en) | 2003-03-07 | 2010-03-09 | Wai Wu | Method and system for matching entities in an auction |
US7403300B2 (en) * | 2003-03-21 | 2008-07-22 | Toshiba Corporation | Wireless wide area network printing |
US7978716B2 (en) | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
US20050149738A1 (en) * | 2004-01-02 | 2005-07-07 | Targosky David G. | Biometric authentication system and method for providing access to a KVM system |
US20050261969A1 (en) * | 2004-05-10 | 2005-11-24 | International Business Machines Corporation | Layered architecture for POS (point-of sale) systems |
US8090837B2 (en) | 2004-05-27 | 2012-01-03 | Hewlett-Packard Development Company, L.P. | Communication in multiprocessor using proxy sockets |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
US8739274B2 (en) | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
KR20070037650A (ko) | 2004-07-23 | 2007-04-05 | 사이트릭스 시스템스, 인크. | 종단에서 게이트웨이로 패킷을 라우팅하기 위한 방법 및시스템 |
US8914522B2 (en) | 2004-07-23 | 2014-12-16 | Citrix Systems, Inc. | Systems and methods for facilitating a peer to peer route via a gateway |
US20060181026A1 (en) * | 2005-02-14 | 2006-08-17 | Wong Jacob Y | Chinese poker deck |
US8251791B2 (en) | 2004-08-19 | 2012-08-28 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US8021230B2 (en) | 2004-08-19 | 2011-09-20 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US7963847B2 (en) | 2004-08-19 | 2011-06-21 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US7748032B2 (en) | 2004-09-30 | 2010-06-29 | Citrix Systems, Inc. | Method and apparatus for associating tickets in a ticket hierarchy |
US8171479B2 (en) | 2004-09-30 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers |
US7711835B2 (en) | 2004-09-30 | 2010-05-04 | Citrix Systems, Inc. | Method and apparatus for reducing disclosure of proprietary data in a networked environment |
US7680758B2 (en) | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
US8613048B2 (en) | 2004-09-30 | 2013-12-17 | Citrix Systems, Inc. | Method and apparatus for providing authorized remote access to application sessions |
US8095940B2 (en) | 2005-09-19 | 2012-01-10 | Citrix Systems, Inc. | Method and system for locating and accessing resources |
US7752671B2 (en) * | 2004-10-04 | 2010-07-06 | Promisec Ltd. | Method and device for questioning a plurality of computerized devices |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US20060149577A1 (en) * | 2004-12-30 | 2006-07-06 | Newgistics, Inc. | System and method for the customized processing of returned merchandise |
US7810089B2 (en) | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
EP2739014B1 (de) | 2005-01-24 | 2018-08-01 | Citrix Systems, Inc. | Systeme und Verfahren zur Ausführung von Zwischenspeicherung von dynamisch erzeugten Objekten in einem Netzwerk |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
US8024568B2 (en) | 2005-01-28 | 2011-09-20 | Citrix Systems, Inc. | Method and system for verification of an endpoint security scan |
US20070055562A1 (en) * | 2005-08-23 | 2007-03-08 | Way Out World, Llc | System and methods for multi-modal game augmented interactive marketing |
US8137188B2 (en) | 2005-09-09 | 2012-03-20 | Igt | Server based gaming system having multiple progressive awards |
US7841939B2 (en) | 2005-09-09 | 2010-11-30 | Igt | Server based gaming system having multiple progressive awards |
US8128491B2 (en) | 2005-09-09 | 2012-03-06 | Igt | Server based gaming system having multiple progressive awards |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US7779034B2 (en) | 2005-10-07 | 2010-08-17 | Citrix Systems, Inc. | Method and system for accessing a remote file in a directory structure associated with an application program executing locally |
US8131825B2 (en) | 2005-10-07 | 2012-03-06 | Citrix Systems, Inc. | Method and a system for responding locally to requests for file metadata associated with files stored remotely |
US20070157019A1 (en) * | 2005-12-30 | 2007-07-05 | Intel Corporation | Location-based network access |
US7921184B2 (en) | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US20070174429A1 (en) | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US8300798B1 (en) | 2006-04-03 | 2012-10-30 | Wai Wu | Intelligent communication routing system and method |
US8512130B2 (en) | 2006-07-27 | 2013-08-20 | Igt | Gaming system with linked gaming machines that are configurable to have a same probability of winning a designated award |
US7674180B2 (en) | 2006-09-27 | 2010-03-09 | Igt | Server based gaming system having system triggered loyalty award sequences |
US7862430B2 (en) | 2006-09-27 | 2011-01-04 | Igt | Server based gaming system having system triggered loyalty award sequences |
US8616959B2 (en) | 2006-09-27 | 2013-12-31 | Igt | Server based gaming system having system triggered loyalty award sequences |
US8738703B2 (en) | 2006-10-17 | 2014-05-27 | Citrix Systems, Inc. | Systems and methods for providing online collaborative support |
US8533846B2 (en) | 2006-11-08 | 2013-09-10 | Citrix Systems, Inc. | Method and system for dynamically associating access rights with a resource |
US8566247B1 (en) | 2007-02-19 | 2013-10-22 | Robert H. Nagel | System and method for secure communications involving an intermediary |
US8521650B2 (en) * | 2007-02-26 | 2013-08-27 | Zepfrog Corp. | Method and service for providing access to premium content and dispersing payment therefore |
US7985133B2 (en) | 2007-07-30 | 2011-07-26 | Igt | Gaming system and method for providing an additional gaming currency |
US8900053B2 (en) | 2007-08-10 | 2014-12-02 | Igt | Gaming system and method for providing different bonus awards based on different types of triggered events |
US8171483B2 (en) | 2007-10-20 | 2012-05-01 | Citrix Systems, Inc. | Method and system for communicating between isolation environments |
US9142097B2 (en) | 2007-10-26 | 2015-09-22 | Igt | Gaming system and method for providing play of local first game and remote second game |
KR101545137B1 (ko) * | 2008-04-17 | 2015-08-19 | 삼성전자주식회사 | 사용자 인터페이스를 생성하는 방법 및 장치 |
US8312033B1 (en) | 2008-06-26 | 2012-11-13 | Experian Marketing Solutions, Inc. | Systems and methods for providing an integrated identifier |
US8149431B2 (en) * | 2008-11-07 | 2012-04-03 | Citrix Systems, Inc. | Systems and methods for managing printer settings in a networked computing environment |
US8090797B2 (en) | 2009-05-02 | 2012-01-03 | Citrix Systems, Inc. | Methods and systems for launching applications into existing isolation environments |
US9039516B2 (en) | 2009-07-30 | 2015-05-26 | Igt | Concurrent play on multiple gaming machines |
US9116778B2 (en) | 2010-04-29 | 2015-08-25 | Microsoft Technology Licensing, Llc | Remotable project |
US9104514B2 (en) * | 2011-01-11 | 2015-08-11 | International Business Machines Corporation | Automated deployment of applications with tenant-isolation requirements |
US9665854B1 (en) * | 2011-06-16 | 2017-05-30 | Consumerinfo.Com, Inc. | Authentication alerts |
US20140256420A1 (en) * | 2013-03-11 | 2014-09-11 | Microsoft Corporation | Univied game preview |
US9633322B1 (en) | 2013-03-15 | 2017-04-25 | Consumerinfo.Com, Inc. | Adjustment of knowledge-based authentication |
US10664936B2 (en) | 2013-03-15 | 2020-05-26 | Csidentity Corporation | Authentication systems and methods for on-demand products |
US9721147B1 (en) | 2013-05-23 | 2017-08-01 | Consumerinfo.Com, Inc. | Digital identity |
US10373240B1 (en) | 2014-04-25 | 2019-08-06 | Csidentity Corporation | Systems, methods and computer-program products for eligibility verification |
US9875618B2 (en) | 2014-07-24 | 2018-01-23 | Igt | Gaming system and method employing multi-directional interaction between multiple concurrently played games |
AU2015343339A1 (en) | 2014-11-03 | 2017-06-15 | Genentech, Inc. | Methods and biomarkers for predicting efficacy and evaluation of an OX40 agonist treatment |
US9972171B2 (en) | 2015-09-24 | 2018-05-15 | Igt | Gaming system and method for providing a triggering event based on a collection of units from different games |
US10911234B2 (en) | 2018-06-22 | 2021-02-02 | Experian Information Solutions, Inc. | System and method for a token gateway environment |
US11941065B1 (en) | 2019-09-13 | 2024-03-26 | Experian Information Solutions, Inc. | Single identifier platform for storing entity data |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3956615A (en) * | 1974-06-25 | 1976-05-11 | Ibm Corporation | Transaction execution system with secure data storage and communications |
US4277837A (en) * | 1977-12-30 | 1981-07-07 | International Business Machines Corporation | Personal portable terminal for financial transactions |
US4303904A (en) * | 1979-10-12 | 1981-12-01 | Chasek Norman E | Universally applicable, in-motion and automatic toll paying system using microwaves |
US4454414A (en) * | 1982-06-16 | 1984-06-12 | Vericard Corporation | Funds transfer system using optically coupled, portable modules |
US4877950A (en) * | 1982-08-23 | 1989-10-31 | Paperless Accounting, Inc. | Electronic purse-device |
US4906828A (en) * | 1983-02-28 | 1990-03-06 | Paperless Accounting, Inc. | Electronic money purse and fund transfer system |
US4630201A (en) * | 1984-02-14 | 1986-12-16 | International Security Note & Computer Corporation | On-line and off-line transaction security system using a code generated from a transaction parameter and a random number |
IL75702A0 (en) * | 1984-07-27 | 1985-11-29 | Technion Res & Dev Foundation | Apparatus for effecting and recording monetary transactions |
US4614861A (en) * | 1984-11-15 | 1986-09-30 | Intellicard International, Inc. | Unitary, self-contained card verification and validation system and method |
US4689478A (en) * | 1984-12-24 | 1987-08-25 | Ncr Corporation | System for handling transactions including a portable personal terminal |
US4766293A (en) * | 1986-06-26 | 1988-08-23 | Visa International Service Association | Portable financial transaction card capable of authorizing a transaction in foreign currencies |
US4780821A (en) * | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
JPH07104891B2 (ja) * | 1986-08-05 | 1995-11-13 | 沖電気工業株式会社 | 取引処理装置 |
US4859837A (en) * | 1987-03-23 | 1989-08-22 | Halpern John Wolfgang | Portable data carrier incorporating manually presettable processing modes |
US4968873A (en) * | 1987-09-08 | 1990-11-06 | Juergen Dethloff | Smart card issuing and receiving apparatus |
US4885789A (en) * | 1988-02-01 | 1989-12-05 | International Business Machines Corporation | Remote trusted path mechanism for telnet |
US5195130A (en) * | 1988-05-05 | 1993-03-16 | Transaction Technology, Inc. | Computer and telephone apparatus with user friendly computer interface and enhanced integrity features |
CA1321649C (en) * | 1988-05-19 | 1993-08-24 | Jeffrey R. Austin | Method and system for authentication |
FR2639742B2 (fr) * | 1988-05-30 | 1992-03-13 | Dassault Electronique | Systeme de transaction du type porte-monnaie electronique mixte |
US4949248A (en) * | 1988-07-15 | 1990-08-14 | Caro Marshall A | System for shared remote access of multiple application programs executing in one or more computers |
JPH0622030B2 (ja) * | 1988-10-03 | 1994-03-23 | 富士通株式会社 | 取引の正当性確認方式 |
US5016274A (en) * | 1988-11-08 | 1991-05-14 | Silvio Micali | On-line/off-line digital signing |
US5249293A (en) * | 1989-06-27 | 1993-09-28 | Digital Equipment Corporation | Computer network providing transparent operation on a compute server and associated method |
ZA907106B (en) * | 1989-10-06 | 1991-09-25 | Net 1 Products Pty Ltd | Funds transfer system |
US5452352A (en) * | 1990-03-20 | 1995-09-19 | Talton; David | Automatic dialing system |
GB9008362D0 (en) * | 1990-04-12 | 1990-06-13 | Hackremco No 574 Limited | Banking computer system |
AU639802B2 (en) * | 1990-08-14 | 1993-08-05 | Oracle International Corporation | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment |
US5221838A (en) * | 1990-12-24 | 1993-06-22 | Motorola, Inc. | Electronic wallet |
JPH06503218A (ja) * | 1991-04-16 | 1994-04-07 | バラス,ジョン | 遠隔場所から注文を行うための方法及び装置 |
GB9121995D0 (en) * | 1991-10-16 | 1991-11-27 | Jonhig Ltd | Value transfer system |
US5453601A (en) * | 1991-11-15 | 1995-09-26 | Citibank, N.A. | Electronic-monetary system |
AU3777593A (en) * | 1992-02-26 | 1993-09-13 | Paul C. Clark | System for protecting computers via intelligent tokens or smart cards |
US5476259A (en) * | 1992-06-11 | 1995-12-19 | Gamin Weingardt Trust, A Nevada Trust | Pari-mutuel electronic and live table gaming |
CA2100134C (en) * | 1992-09-29 | 1999-06-22 | Raymond Otto Colbert | Secure credit/debit card authorization |
CH685891A5 (de) * | 1993-01-18 | 1995-10-31 | Ascom Autelca Ag | Verfahren als Sicherheitskonzept gegen unbefugte Verwendung eines Zahlungsmittels beim bargeldlosen Begleichen an Zahlstellen |
US5420405A (en) * | 1993-02-26 | 1995-05-30 | Chasek; Norman E. | Secure, automated transaction system that supports an electronic currency operating in mixed debit & credit modes |
US5524110A (en) * | 1993-11-24 | 1996-06-04 | Intel Corporation | Conferencing over multiple transports |
US5546583A (en) * | 1994-04-05 | 1996-08-13 | International Business Machines Corporation | Method and system for providing a client/server interface in a programming language |
EP0684553B1 (de) * | 1994-05-26 | 2004-06-16 | Sun Microsystems, Inc. | Verfahren und Gerät zur Erzeugung und Verwendung kurzer Operationsidentifizierer in objektorientierten Systemen |
US5459304A (en) * | 1994-09-13 | 1995-10-17 | At&T Ipm Corp. | Smart card techniques for motor vehicle record administration |
CA2207849C (en) * | 1994-12-13 | 2000-02-22 | Novell, Inc. | Method and apparatus for providing simple, secure management of remote servers |
US5583563A (en) * | 1995-01-12 | 1996-12-10 | Us West Marketing Resources Group, Inc. | Method and system for delivering an application in an interactive television network |
-
1996
- 1996-08-06 US US08/692,489 patent/US5828840A/en not_active Expired - Lifetime
-
1997
- 1997-08-06 DE DE69732968T patent/DE69732968T2/de not_active Expired - Lifetime
- 1997-08-06 WO PCT/US1997/013057 patent/WO1998006207A1/en active IP Right Grant
- 1997-08-06 EP EP97937021A patent/EP0919092B1/de not_active Expired - Lifetime
- 1997-08-06 AU AU39638/97A patent/AU730088B2/en not_active Ceased
-
1999
- 1999-06-15 HK HK99102575A patent/HK1017539A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
WO1998006207A1 (en) | 1998-02-12 |
HK1017539A1 (en) | 1999-11-19 |
EP0919092A1 (de) | 1999-06-02 |
DE69732968D1 (de) | 2005-05-12 |
EP0919092B1 (de) | 2005-04-06 |
AU730088B2 (en) | 2001-02-22 |
AU3963897A (en) | 1998-02-25 |
US5828840A (en) | 1998-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69732968T2 (de) | System, verfahren und hergestellter gegenstand zur wartung von server-anwendungssoftware der netzwerk-kundenendgeräte und nicht-netzwerk-kundenengeräte | |
DE69930695T2 (de) | Verfahren und Vorrichtung für ein Applikationsverteiler für eine Serverapplikation | |
DE19605093B4 (de) | Verfahren und Vorrichtung zum Einrichten und Verwalten einer Verbindung zwischen einem Client-Computersystem und jedem einer Mehrzahl von Server-Computersystemen | |
DE69814900T2 (de) | Verfahren und system zur unterstützung verteilter software- entwicklung ohne bewusstsein der verteilten charakteristik der software | |
DE69709959T2 (de) | Verwendung von polymorphischen dateipaketen zur aktualisierung von softwarekomponenten | |
DE69534411T2 (de) | Offenes Transaktionverwaltungszugriffsystem und Verfahren | |
DE69632987T2 (de) | Verfahren und Vorrichtung zum Mehrfachprotokollbetrieb in einem Benutzer-/Anbietersystem | |
DE69730690T2 (de) | Verfahren und apparat zum dynamischen austausch von objekt-nachrichten zwischen objekt-modellen | |
US7424540B2 (en) | System and method for unified registration information collection | |
DE60126016T2 (de) | Serverseitige Kontrollobjekte zur Verarbeitung von kundenseitigen Benutzerschnittstellenelementen | |
DE69724877T2 (de) | Verfahren und Vorrichtung zum Betrieb einer Aggregation von Serverrechnern mittels eines Doppelzweck-Proxy-Servers | |
DE69430276T2 (de) | Socketstruktur für gleichzeitigen Mehrfach-Protokollzugriff | |
DE69837508T2 (de) | Verfahren zum Inhaltswiederauffinden über ein Netzwerk | |
DE69735348T2 (de) | Skalierbare und erweiterbare Systemverwaltungsarchitektur mit datenlosen Endpunkten | |
DE10054923A1 (de) | Verfahren zum Auffangen von Netzwerkpaketen in einer Computervorrichtung | |
US6907406B2 (en) | On-demand service expanding system and method for providing services | |
US20060253535A1 (en) | System and method for collaborative processing of distributed applications | |
DE69837550T2 (de) | System und Verfahren zur Datenübermittlung von einer Serverapplikation an Klientknoten | |
DE10296636B4 (de) | Erstellen verteilter Proxy-Konfigurationen | |
DE10205108A1 (de) | System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung | |
DE602004009746T2 (de) | Teilen von Diensten in einem Netz | |
DE60122671T2 (de) | Anforderungsbedingte dynamische Schnittstellengenerierung | |
DE19957235A1 (de) | Vorrichtung, Prozeß und Produkt für den Zugriff auf Java-Anwendungen | |
DE60302368T2 (de) | System und Verfahren um den Transfer von Daten zwischen beliebigen Komponenten untereinander zu ermöglichen | |
DE60218185T2 (de) | Verfahren und Vorrichtung zum Wiederauffinden von Informationen in einem Netzwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: BOSCH JEHLE PATENTANWALTSGESELLSCHAFT MBH, 80639 M |