DE602004002783T2 - Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen - Google Patents

Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen Download PDF

Info

Publication number
DE602004002783T2
DE602004002783T2 DE602004002783T DE602004002783T DE602004002783T2 DE 602004002783 T2 DE602004002783 T2 DE 602004002783T2 DE 602004002783 T DE602004002783 T DE 602004002783T DE 602004002783 T DE602004002783 T DE 602004002783T DE 602004002783 T2 DE602004002783 T2 DE 602004002783T2
Authority
DE
Germany
Prior art keywords
response
client
request
url
final
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.)
Active
Application number
DE602004002783T
Other languages
English (en)
Other versions
DE602004002783D1 (de
Inventor
Phillip David Cary JOHNSON
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE602004002783D1 publication Critical patent/DE602004002783D1/de
Application granted granted Critical
Publication of DE602004002783T2 publication Critical patent/DE602004002783T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft im Allgemeinen ein Verfahren, ein System und ein Programmprodukt zum asynchronen Verarbeiten von Anforderungen. Insbesondere ermöglicht die vorliegende Erfindung die Verarbeitung von netzbasierten Anforderungen (z.B. Web-Anforderungen) durch einen Anwendungsserver, ohne dass eine ständige Verbindung mit einem Client aufrechterhalten werden muss.
  • Stand der Technik
  • Mit der zunehmenden Beliebtheit der Internetnutzung verlassen sich Webbenutzer mehr und mehr auf das World Wide Web als Informationsquelle. Typischerweise bedient ein Benutzer einen Web-Browser in einem Client und überträgt eine „Anforderung" nach einer bestimmten Webseite an einen Server. Ein oder mehrere „Servlets" (oder dergleichen) im Server verarbeiten die Anforderung und rückübertragen die entsprechende Webseite an den Browser. Eine spezifische Technologie, die diesbezüglich eine weit verbreitete Verwendung findet, ist das Konzept von Web-Portalseiten (web portal pages). Im Allgemeinen stellen Web-Portalseiten einen Mechanismus für einen Benutzer bereit, um einen gezielten und angepassten Inhalt zu empfangen. Normalerweise beinhaltet eine Portalseite Bereiche oder visuelle Portlets, die jeweils einen bestimmten Portalinhalt enthalten, der gemäß den Vorgaben eines Benutzers ausgewählt und formatiert wird. Beispielsweise könnte ein Benutzer seine eigene Portalseite einrichten, die Bereiche für Nachrichten, Wetter und Sport aufweist. Bei einer Anforderung der Portalseite würde ein Portalprogramm im Server den gewünschten Inhalt von den entsprechenden Inhaltanbietern erhalten. Nach dem Erhalt würde der Portalinhalt zusammengefasst und anschließend in den entsprechenden Bereichen als Web-Portalseite angezeigt. Diese Technologie hat zur explosionsartigen Verbreitung von personalisierten „Homepages" für einzelne Webbenutzer geführt.
  • Leider erfolgt die Bearbeitung einer Anforderung und einer Antwort in allen diesen Fällen synchron. Das heißt, eine Anforderung wird an den Server übertragen, und die Verbindung zwischen dem Client und dem Server wird bis zur Rückübertragung der Antwort aufrechterhalten. Das Aufrechterhalten einer Verbindung auf diese Weise könnte nicht nur die Möglichkeit des Client zum Ausführen anderer Aufgaben, sondern auch die Möglichkeit des Server zur Verbindung mit anderen Clients einschränken oder zunichte machen. Dies ist insbesondere der Fall, wenn die Antwort von Servlets/Portlets verarbeitet werden muss. Im Falle einer Portalseite könnte das Erstellen einer Antwort auf die Anforderung beispielsweise die Bildung einer Schnittstelle mit zahlreichen Inhaltsquellen erforderlich machen. Die Erzeugung der Antwort als solche könnte mehrere Sekunden dauern. Falls die Verbindung zwischen dem Client und dem Server für diese gesamte Zeitspanne aufrechterhalten wird, könnten die oben genannten Probleme auftreten.
  • Das Dokument US 6 336 135 beschreibt ein Verfahren, bei dem der Webserver mindestens eine vorläufige Antwort an den Client überträgt, bis der Server eine vollständige Antwort übertragen kann. Die vorläufige Antwort enthält beispielsweise einen Sitzungskennzeichner. Der Client besucht sodann den Webserver zu einem späteren Zeitpunkt. Auf diese Weise wird die Sitzung nicht aufgrund einer Zeitlimitüberschreitung unterbrochen (timed out).
  • Wie nach dem Stand der Technik bekannt ist, kann ein Server unter dem Hypertext Transfer Protocol (HTTP) im Allgemeinen keine Verbindung mit einem Client einleiten. Stattdessen muss der Client eine Verbindung mit dem Server einleiten. Falls die Verbindung zwischen dem Client und dem Server während der Verarbeitung einer Anforderung beendet wird, kann dementsprechend nur der Client eine neue Verbindung einleiten, um die Antwort zu empfangen. Derzeit ermöglicht keine der vorhandenen Technologien die Beendigung der Verbindung zwischen dem Client und dem Server während der Verarbeitung der Anforderung, ohne dass eine absichtliche/manuelle Änderung des Client erforderlich wird, um die Verbindung zu einem späteren Zeitpunkt erneut einzurichten.
  • Beschreibung der Erfindung
  • Vorteilhafterweise ermöglicht die vorliegende Erfindung die Beendigung einer Verbindung zwischen einem Client und einem Server während der Verarbeitung einer Anforderung vom Client sowie die automatische Einrichtung einer neuen Verbindung mit dem Server durch den Client zu einem späteren Zeitpunkt, ohne dass eine Änderung oder ein absichtlicher Vorgang auf der Seite des Client erforderlich wird.
  • Im Allgemeinen stellt die vorliegende Erfindung ein Verfahren, ein System und ein Programmprodukt zum asynchronen Verarbeiten von Anforderungen bereit. Insbesondere wird unter Verwendung der vorliegenden Erfindung eine Anforderung nach einer Verweisadresse (Uniform Resource Locator – URL) von einem Client in einem Server empfangen. Auf den Empfang hin wird ein entsprechendes Sitzungsobjekt erhalten und ein Antwortkennzeichner erzeugt. Auf der Grundlage des Antwortkennzeichners wird festgestellt, ob die URL zuvor vom Client angefordert wurde. Ist dies nicht der Fall, beginnt die Erzeugung einer endgültigen Antwort. Während der Erzeugung der Antwort wird ein Antwortauffrischvorsatz (response refresh header) erzeugt und mit einer vorläufigen Antwort an den Client rückübertragen. Der Antwortauffrischvorsatz enthält einen Zeitwert, um den Client zu veranlassen, automatisch eine nachfolgende Anforderung der URL zu übertragen. Nach der Erzeugung der endgültigen Antwort wird diese entsprechend dem Antwortkennzeichner in einem Cachespeicher gespeichert. Wenn die nachfolgende Anforderung vom Client nach Ablauf des Zeitwertes im Antwortauffrischvorsatz empfangen wird, wird die endgültige Antwort anschließend auf der Grundlage des Antwortkennzeichners aus dem Cachespeicher abgerufen und an den Client übertragen.
  • Unter einem ersten Aspekt stellt die vorliegende Erfindung ein Verfahren zum asynchronen Verarbeiten von Anforderungen bereit, wobei das Verfahren Folgendes umfasst: Empfangen einer Anforderung nach einer Verweisadresse (URL) von einem Client und Erhalten eines der Anforderung entsprechenden Sitzungsobjekts; Erzeugen eines Antwortkennzeichners auf der Grundlage eines Sitzungskennzeichners und der URL; Feststellen auf der Grundlage des Antwortkennzeichners, ob die URL zuvor vom Client angefordert wurde; und Erzeugen eines Antwortauffrischvorsatzes, der einen Zeitwert enthält, um den Client zu veranlassen, automatisch eine nachfolgende Anforderung der URL zu übertragen.
  • Unter einem zweiten Aspekt stellt die vorliegende Erfindung ein Verfahren zum asynchronen verarbeiten von Anforderungen bereit, wobei das Verfahren Folgendes umfasst: Empfangen einer Anforderung nach einer Verweisadresse (URL) von einem Client und Erhalten eines der Anforderung entsprechenden Sitzungsobjekts; Erzeugen eines Antwortkennzeichners auf der Grundlage eines Sitzungskennzeichners und der URL; Feststellen auf der Grundlage des Antwortkennzeichners, ob die URL zuvor vom Client angefordert wurde; Überprüfen eines Cachespeichers auf eine endgültige Antwort auf die Anforderung auf der Grundlage des Antwortkennzeichners, falls die URL zuvor vom Client angefordert wurde; und Erzeugen eines Antwortauffrischvorsatzes, der einen Zeitwert enthält, um den Client zum automatischen Übertragen einer nachfolgenden Anforderung der URL zu veranlassen, falls die endgültige Antwort nicht fertig ist. Unter einem dritten Aspekt stellt die vorliegende Erfindung ein System zum asynchronen Verarbeiten von Anforderung bereit, wobei das System Folgendes umfasst: ein Objektsystem zum Erhalten eines Sitzungsobjekts für eine Anforderung nach einer von einem Client empfangenen Verweisadresse (URL); ein Antwortkennzeichnersystem zum Erzeugen eines Antwortkennzeichners auf der Grundlage eines Sitzungskennzeichners und der URL; ein Anforderungsprüfsystem zum Feststellen, ob die URL zuvor vom Client angefordert wurde; und ein Vorsatzerzeugungssystem zum Erzeugen eines Antwortauffrischvorsatzes, der einen Zeitwert enthält, um den Client zum automatischen Übertragen einer anschließenden Anforderung der URL zu veranlassen.
  • Unter einem vierten Aspekt stellt die vorliegende Erfindung ein auf einem beschreibbaren Medium gespeichertes Programmprodukt zum asynchronen Verarbeiten von Anforderungen bereit, wobei das Programmprodukt bei Ausführung Folgendes umfasst: einen Programmcode zum Erhalten eines Sitzungsobjekts für eine Anforderung nach einer vom Client empfangenen Verweisadresse (URL); einen Programmcode zum Erzeugen eines Antwortkennzeichners auf der Grundlage eines Sitzungskennzeichners und der URL; einen Programmcode zum Feststellen, ob die URL zuvor vom Client angefordert wurde; und einen Programmcode zum Erzeugen eines Antwortauffrischvorsatzes, der einen Zeitwert enthält, um den Client zum automatischen Übertragen einer anschließenden Anforderung der URL zu veranlassen.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird nun lediglich beispielhaft mit Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Zeichnungen dargestellt werden, in denen:
  • 1 ein System zum asynchronen Verarbeiten von Anforderungen gemäß der vorliegenden Erfindung zeigt.
  • 2 das Anforderungsverarbeitungssystem von 1 ausführlicher zeigt.
  • 3 ein Verfahrensflussdiagramm gemäß der vorliegenden Erfindung zeigt.
  • Die Zeichnungen sind lediglich schematische Darstellungen, die nicht zum Darstellen spezifischer Parameter der Erfindung vorgesehen sind. Die Zeichnungen sollen lediglich typische Ausführungsformen der Erfindung zeigen und dürfen daher nicht als den Anwendungsbereich der Erfindung begrenzend betrachtet werden. In den Zeichnungen stellen gleiche Nummerierungen gleiche Elemente dar.
  • Bester Modus zum Ausführen der Erfindung
  • Wie oben angegeben wurde, stellt die vorliegende Erfindung ein Verfahren, ein System und ein Programmprodukt zum asynchronen Verarbeiten von Anforderungen bereit. Insbesondere wird unter Verwendung der vorliegenden Erfindung eine Anforderung nach einer Verweisadresse (URL) von einem Client in einem Server empfangen. Auf den Empfang hin wird ein entsprechendes Sitzungsobjekt erhalten und ein Antwortkennzeichner übertragen. Auf der Grundlage des Antwortkennzeichners wird festgestellt, ob die URL zuvor vom Client angefordert wurde. Ist dies nicht der Fall, beginnt die Erzeugung einer endgültigen Antwort. Während der Erzeugung der Antwort wird ein Antwortauffrischvorsatz erzeugt und mit einer vorläufigen Antwort an den Client übertragen. Der Antwortauffrischvorsatz enthält einen Zeitwert, um den Client zum automatischen Übertragen einer anschließenden Anforderung der URL zu veranlassen. Wenn die Erzeugung der endgültigen Antwort abgeschlossen ist, wird diese gemäß dem Antwortkennzeichner in einem Cachespeicher gespeichert. Wenn nach dem Ablauf des Zeitwertes im Antwortauffrischvorsatz die nachfolgende Anforderung vom Client empfangen wird, wird anschließend die endgültige Antwort auf der Grundlage des Antwortkennzeichners aus dem Cachespeicher abgerufen und an den Client übertragen. Die Lehre hierin kann folglich in Verbindung mit allen Browsern/Systemen realisiert werden, die Hypertext Transfer Protocol (HTTP) unterstützen.
  • Es sei im Voraus darauf hingewiesen, dass der hierin verwendete Begriff „Anforderung" sich auf eine netzbasierte Anforderung beziehen soll, die vom Client an einen Server ausgegeben wird, beispielsweise eine Web-Anforderung. Normalerweise handelt es sich um eine Anforderung einer bestimmten Verweisadresse (URL). Wie an späterer Stelle erläutert wird, kann die Anforderung im Server von einem oder mehreren Servlets, Portlets oder dergleichen bearbeitet werden.
  • Mit Bezugnahme auf 1 wird nun ein System 10 zum asynchronen Verarbeiten einer Anforderung gezeigt. Unter Verwendung der vorliegenden Erfindung können der Client 12 und der Server 14 einen beliebigen Typ von computerunterstützten Systemen darstellen. Beispielsweise könnte es sich bei dem Client 12 und/oder dem Server 14 um einen Personal Computer, eine Arbeitsplatzrechner, einen Laptop-Computer, einen Taschencomputer usw. handeln. Im Allgemeinen tauscht der Client 12 über ein Netz Daten mit dem Server 14 aus. Wie an späterer Stelle ausführlicher beschrieben wird, kann der Datenaustausch zwischen dem Client 12 und dem Server 14 außerdem über jeden beliebigen Typ von öffentlichem Netz, beispielsweise über das Internet, oder einen beliebigen Typ von privatem Netz erfolgen, beispielsweise ein lokales Netz (LAN), ein überregionales Netz (WAN), ein virtuelles privates Netz (virtual private network – VPN) usw. In einer Ausführungsform ist der Server 14 ein Anwendungsserver, beispielsweise ein Portalserver (portal server), der Portalseiten an den Client 12 überträgt. In jedem Fall bedient ein Benutzer 16 einen Web-Browser 18 im Client 12, um eine Webseite von einem Server 14 anzufordern. Der Server 14 erzeugt die Webseite (z.B. eine endgültige Antwort auf die Anforderung), indem er Inhalte aus den verschiedenen Inhaltsquellen 20 erhält. Sobald die Webseite erzeugt worden ist, wird sie an den anfordernden Client 12 rückübertragen.
  • Wie gezeigt wird, umfasst der Server 14 im Allgemeinen eine Zentraleinheit (central processing unit – CPU) 22, einen Speicher 24, einen Bus 26, Ein-/Ausgabe- (E/A-) Schnittstellen 28, externe Einheiten/Ressourcen 30 und eine Speichereinheit 32. Die CPU 22 kann eine einzelne Verarbeitungseinheit umfassen oder über eine oder mehrere Verarbeitungseinheiten an einer oder mehreren Positionen verteilt sein, z.B. in einem Client und einem Computersystem. Der Speicher 24 kann jeden bekannten Typ von Datenspeicher und/oder Übertragungsmedium umfassen, unter anderem magnetische Medien optische Medien, einen Arbeitsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen Datencachespeicher 40, ein Datenobjekt usw. Ähnlich wie die CPU 22 kann der Speicher 24 sich außerdem an einer einzigen physischen Position befinden, die einen oder mehrere Typen von Datenspeichern umfasst, oder über eine Vielzahl von physischen Systemen in verschiedenen Formen verteilt sein.
  • Die E/A-Schnittstellen 28 können ein beliebiges System zum Austausch von Daten mit einer externen Quelle umfassen. Die externen Einheiten/Ressourcen 30 können jeden bekannten Typ von externer Einheit umfassen, unter anderem eine Katodenstrahlröhre (CRT), einen LCD-Bildschirm, einen Taschencomputer, eine Tastatur, eine Maus, ein Spracherkennungssystem, ein Sprachausgabesystem, einen Drucker, einen Monitor/eine Anzeige, ein Telefaxgerät, einen Funkrufempfänger (pager) usw. Der Bus 26 stellt eine Datenübertragungsverbindung zwischen jeder der Komponenten im Server 14 bereit und kann ebenso jeden bekannten Typ von Übertragungsverbindung umfassen, unter anderen elektrische, optische, drahtlose Verbindungen usw.
  • Bei der Speichereinheit 32 kann es sich um ein beliebiges System (z.B. eine Datenbank) handeln, das unter Verwendung der vorliegenden Erfindung einen Speicher für Daten bereitstellen kann. Zu solchen Daten könnten unter anderem Sitzungsobjekte, Antwortkennzeichner, vorläufige Antworten usw. gehören. Die Speichereinheit 32 als solche könnte eine oder mehrere Speichereinheiten beinhalten, beispielsweise ein Magnetplattenlaufwerk oder ein optisches Plattenlaufwerk. In einer anderen Ausführungsform enthält die Speichereinheit 32 Daten, die beispielsweise über ein lokales Netz (LAN), ein überregionales Netz (WAN) oder ein Speicherbereichnetz (storage area network – SAN) (nicht gezeigt) verteilt sind.
  • Wie oben angegeben wird, wird die Lehre der vorliegenden Erfindung normalerweise in einer Netzumgebung realisiert, beispielsweise über das Internet, ein überregionales Netz (WAN), ein lokales Netz (LAN), ein virtuelles privates Netz (VPN) usw. Diesbezüglich könnte der Datenaustausch zwischen dem Client 12 und dem Server 14 über eine direkte festverdrahtete Verbindung (z.B. einen seriellen Anschluss (serial port)) oder über eine adressierbare Verbindung erfolgen, die eine beliebige Kombination von drahtgebundenen und/oder drahtlosen Übertragungsverfahren verwenden kann. Der Server 14 und der Client 12 können eine herkömmliche Netzverbindungstechnik (network connectivity) verwenden, beispielsweise Token Ring, Ethernet, WiFi oder andere herkömmliche Datenübertragungsstandards. Außerdem könnte die Netzverbindung durch herkömmliche Protokolle auf der Grundlage von TCP-IP-Sockets bereitgestellt werden. In diesem Fall würde der Client 12 einen Internet-Diensteanbieter nutzen, um eine Verbindung mit dem Server 14 einzurichten.
  • Im Speicher 24 werden ein Anforderungsverarbeitungssystem 36, Servlets/Portlets 38 und ein Cachespeicher 40 gezeigt. Im Allgemeinen ermöglicht das Anforderungsverarbeitungssystem 36 die asynchrone Verarbeitung einer Anforderung vom Client 12, ohne dass eine Änderung oder ein Vorgang auf Seiten des Client 12 oder des Browser 18 erforderlich wird. Außerdem muss verstanden werden, dass das Anforderungsverarbeitungssystem 36 einige oder alle Komponenten von aktuellen Portal- oder Anwendungsserverprogrammen enthalten kann. Beispielsweise könnte das Anforderungsverarbeitungssystem 36 Komponenten von WebSphere-Anwendungsserver (WebSphere Application Server) und/oder WebSphere-Portalserver (WebSphere Portal Server) enthalten (WebSphere ist ein eingetragenes Warenzeichen von International Business Machines Corporation).
  • Mit Bezugnahme auf die 1 und 2 im ganzen wird die Lehre der vorliegenden Erfindung ausführlicher beschrieben. Es muss im Voraus verstanden werden, dass die Ausführungsform des in 2 gezeigten Anforderungsverarbeitungssystems 36 lediglich der Veranschaulichung dienen soll. Die Teilsysteme als solche könnten in Form von mehr oder weniger Teilsystemen realisiert werden. Beispielsweise können das Eingabesystem 50 und das Ausgabesystem 68 in einem einzigen „Datenübertragungssystem" kombiniert werden. Unter Verwendung der vorliegenden Erfindung wird in jedem Fall eine vom Client 12 übertragene Anforderung vom Eingabesystem 50 empfangen. Auf den Empfang hin erhält das Objektsystem 52 ein der Sitzung zwischen dem Client 12 und dem Server 14 entsprechendes Sitzungsobjekt. Normalerweise stellt das Sitzungsobjekt unter anderem einen der Sitzung entsprechenden Sitzungskennzeichner dar. Falls es sich bei der Sitzung um eine neue Sitzung handelt, erzeugt das Objektsystem 52 das Sitzungsobjekt und speichert dieses in der Speichereinheit 32. Falls die Sitzung hingegen zuvor erzeugt wurde, kann das Objektsystem 52 das Sitzungsobjekt aus der Speichereinheit 32 abrufen. Unabhängig davon erzeugt das Antwortkennzeichnersystem 54 nach Erhalt des Sitzungsobjekts einen Antwortkennzeichner. Normalerweise enthält der Antwortkennzeichner den Sitzungskennzeichner aus dem Sitzungsobjekt und einen Hash-Wert der angeforderten Verweisadresse (URL). Dies ermöglicht eine Bezugnahme sowohl auf die entsprechende Sitzung als auch auf die angeforderte URL.
  • Sobald der Antwortkennzeichner erzeugt worden ist, stellt das Anforderungsprüfsystem 56 fest, ob die URL zuvor vom Client 12 angefordert wurde. Insbesondere greift das Anforderungsprüfsystem 56 auf eine „Anforderungs"-Tabelle im Sitzungsobjekt zu. Falls der Antwortkennzeichner darin aufgelistet ist, bedeutet dies, dass die URL zuvor vom Client 12 angefordert wurde. In diesem Fall überprüft das Cachespeicherprüfsystem 58 den Cachespeicher. 40, um festzustellen, ob eine endgültige Antwort auf die Anforderung fertig ist. Im Allgemeinen werden endgültige Antworten auf Anforderungen vom Antwortzwischenspeichersystem (response caching system) 66 entsprechend dem Antwortkennzeichner zwischengespeichert. Dementsprechend kann das Cachespeicherprüfsystem prüfen, ob sich ein übereinstimmender Antwortkennzeichner im Cachespeicher 40 befindet. Falls die endgültige Antwort fertig ist, wird sie über das Ausgabesystem 68 an den Client 12 rückübertragen.
  • Falls das Anforderungsprüfsystem 56 jedoch feststellt, dass der Antwortkennzeichner nicht in der Anforderungstabelle des Sitzungsobjekts aufgelistet ist (d.h., die URL wurde zuvor nicht vom Client 12 angefordert), überträgt es die Anforderung mit einem Befehl an das Antwortzwischenspeichersystem 66. Der Befehl gibt an, dass die endgültige Antwort auf die Anforderung entsprechend dem Antwortkennzeichner im Cachespeicher 40 gespeichert werden muss. In etwa zur gleichen Zeit beginnt das Antworterzeugungssystem 64 mit der Erzeugung einer endgültigen Antwort. In einer typischen Ausführungsform ruft das Antworterzeugungssystem 64 ein oder mehrere Servlets/Portlets 38 (1) auf, die den entsprechenden Inhalt aus den Inhaltsquellen 20 abrufen. Diesbezüglich könnte es sich bei den Servlets/Portlets 38 um Standard- oder Fernportlets (z.B. Web-Dienste für Fernportale) handeln, während es sich bei den Inhaltsquellen 20 um unabhängige Organisationen, Datenstrukturen, Speichereinheiten usw. handeln könnte. Während der Erzeugung der endgültigen Antwort erzeugt das Vorsatzerzeugungssystem 60 in jedem Fall einen Antwortauffrischvorsatz, der einen Zeitwert enthält, um den Client 12 zum automatischen Übertragung einer anschließenden Anforderung derselben URL zu veranlassen. Der Zeitwert kann vom Programmierer 44 (1) eingerichtet werden und beträgt ungefähr die Zeitspanne, die zum Erzeugen der endgültigen Antwort benötigt wird. Falls eine endgültige Antwort auf diese Anforderung im Allgemeinen für die Erzeugung und Rückübertragung beispielsweise zehn Sekunden benötigt, kann der Zeitwert im Antwortauffrischvorsatz elf Sekunden betragen. Dies ermöglicht eine Beendigung der Verbindung zwischen dem Client 12 und dem Server 14 während der Erzeugung der endgültigen Antwort.
  • Der Antwortauffrischvorsatz wird zusammen mit einer vom System 62 für vorläufige Antworten (temporary response system) erzeugten vorläufigen Antwort vom Ausgabesystem 68 an den Client rückübertragen. Ähnlich wie die Zeitwerte kann die vorläufige Antwort vom Programmierer 44 definiert werden. Beispielsweise könnte die vorläufige Antwort eine Seite sein, die „Anforderung wird verarbeitet" angibt. Sobald die endgültige Antwort fertig ist, speichert das Antwortzwischenspeichersystem 66 diese entsprechend dem Antwortkennzeichner im Cachespeicher 40, so dass ein Querverweis auf diese problemlos möglich ist.
  • Der Client 12 empfängt die vorläufige Antwort und den Antwortauffrischvorsatz im Browser 18. Nach Ablauf des Zeitwertes im Antwortauffrischvorsatz überträgt der Browser 18 automatisch eine anschließende Anforderung der URL an den Server 14. Insbesondere unter HTTP kann der Browser 18 so konfiguriert werden, dass er Vorsätze wie zum Beispiel den Antwortauffrischvorsatz der vorliegenden Erfindung verwaltet und verarbeitet, um eine Anforderung ohne absichtlichen oder manuellen Vorgang auf Seiten des Benutzers 16 automatisch zu erzeugen und zu übertragen. Dementsprechend ermöglicht der Antwortauffrischvorsatz eine asynchrone Anforderungsverarbeitung ohne Änderung des Client 12 oder des Browser 18.
  • Die nachfolgende Antwort wird vom Eingabesystem 50 empfangen. Ähnlich wie bei der vorhergehenden Anforderung erhält das Objektsystem 52 das entsprechende Sitzungsobjekt. Da dies eine nachfolgende Antwort ist, muss das Sitzungsobjekt bereits vorhanden sein. Dementsprechend kann das Objektsystem 52 dieses aus der Speichereinheit 32 abrufen. Nach dem Erhalt des Sitzungsobjekts wird der Antwortkennzeichner vom Antwortkennzeichnersystem 54 erneut erzeugt. Wie oben angegeben wird, enthält der Antwortkennzeichner den Sitzungskennzeichner und einen Hash-wert der angeforderten URL. Unter Verwendung des Antwortkennzeichners stellt das Anforderungsprüfsystem 56 fest, ob die URL zuvor angefordert wurde. Insbesondere überprüft das Anforderungsprüfsystem 56 die Anforderungstabelle im Sitzungsobjekt. Da die URL zuvor vom Client 12 angefordert wurde, muss der Antwortkennzeichner in der Anforderungstabelle aufgelistet sein. Dementsprechend überprüft das Cachespeicherprüfsystem 58 den Cachespeicher 40, um festzustellen, ob die endgültige Antwort fertig ist. Insbesondere prüft das Cachespeicherprüfsystem 58 das Vorhandensein der endgültigen Antwort unter Verwendung des Antwortkennzeichners. Falls die endgültige Antwort fertig ist, wird sie vom Cachespeicherprüfsystem 58 aus dem Cachespeicher 40 abgerufen und über das Ausgabesystem 68 zur Anzeige im Browser 18 an den Client 12 übertragen. Falls die endgültige Antwort jedoch noch nicht fertig ist, erzeugt das Vorsatzerzeugungssystem 60 einen neuen Antwortauffrischvorsatz mit einem Zeitwert. Der Zeitwert kann der gleiche wie im vorhergehenden Antwortauffrischvorsatz sein, oder es kann sich um eine neue andere Zeit handeln. In jedem Fall wird der neue Antwortauffrischvorsatz mit einer neuen vorläufigen Antwort über das Ausgabesystem 68 an den Client 12 übertragen. Nach Ablauf des Zeitwertes im neuen Antwortauffrischvorsatz überträgt der Client 12 eine weitere Anforderung der URL, die auf eine ähnliche Weise verarbeitet wird.
  • Mit Bezugnahme auf 3 wird nun ein Flussdiagramm 100 der vorliegenden Erfindung gezeigt. Wie dargestellt wird, wird im Schritt S1 eine Anforderung nach einer URL empfangen. Im Schritt S2 wird ein Sitzungsobjekt erhalten und im Schritt S3 ein Antwortkennzeichner erzeugt. Im Schritt S4 wird auf der Grundlage des Antwortkennzeichners festgestellt, ob die URL zuvor vom Client angefordert wurde. Falls die URL zuvor nicht angefordert wurde, wird im Schritt S5 mit der Erzeugung einer endgültigen Antwort begonnen. Im Schritt S6 wird mit der Anforderung ein Befehl zum Speichern der fertigen endgültigen Antwort entsprechend dem Antwortkennzeichner im Cachespeicher an das Antwortzwischenspeichersystem übertragen. Während der Erzeugung der endgültigen Antwort wird im Schritt S7 ein Antwortauffrischvorsatz erzeugt. Der Antwortauffrischvorsatz wird zusammen mit einer vorläufigen Antwort im Schritt S8 an den Client rückübertragen.
  • Nach Ablauf des Zeitwertes im Antwortauffrischvorsatz überträgt der Client im Schritt S9 eine nachfolgende Anforderung der URL. Auf den Empfang im Schritt S1 hin werden die Schritte S2 bis S4 wiederholt. Insbesondere wird das Sitzungsobjekt erhalten, der Antwortkennzeichner wird erzeugt, und es wird festgestellt, ob die URL zuvor vom Client angefordert wurde. Da die URL zuvor vom Client angefordert wurde, wird im Schritt S10 der Cachespeicher überprüft, um festzustellen, ob die endgültige Antwort auf die Anforderung fertig ist. Ist dies der Fall, wird die endgültige Antwort aus dem Cachespeicher abgerufen und im Schritt S11 an den Client rückübertragen. Falls die endgültige Antwort noch nicht fertig ist, wird im Schritt S7 ein neuer Antwortauffrischvorsatz erzeugt und im Schritt S8 mit einer neuen vorläufigen Antwort an den Client rückübertragen. Der Prozess kann weiterhin wiederholt werden, bis die endgültige Antwort an den Client rückübertragen wird.
  • Es muss verstanden werden, dass die vorliegende Erfindung in Form von Hardware, Software oder einer Kombination aus Hardware und Software realisiert werden kann. Jede Art von Computer/Computersystem(en) – oder eine andere zum Ausführen der hierin beschriebenen Verfahren geeignete Vorrichtung – ist geeignet. Eine typische Kombination aus Hardware und Software könnte ein Universalcomputersystem mit einem Computerprogramm sein, das, wenn es geladen und ausgeführt wird, die entsprechenden hierin beschriebenen Verfahren ausführt. Alternativ könnte ein Computer für eine spezifische Verwendung, der spezialisierte Hardware zum Ausführen einer oder mehrerer der funktionellen Aufgaben der Erfindung enthält, verwendet werden. Die vorliegende Erfindung kann außerdem in ein Computerprogrammprodukt eingebettet werden, das alle entsprechenden Merkmale umfasst, die die Ausführung der hierin beschriebenen Verfahren ermöglichen, und das – wenn es in ein Computersystem geladen wird – diese Verfahren ausführen kann. Computerprogramm, Softwareprogramm, Programm oder Software bedeuten in der vorliegenden Erfindung einen beliebigen Ausdruck in einer beliebigen Sprache, einem beliebigen Code oder einer beliebigen Schreibweise eines Satzes von Befehlen, die dafür vorgesehen sind, ein System mit der Fähigkeit zur Datenverarbeitung zu veranlassen, eine bestimmte Funktion direkt oder nach einem oder beiden der folgenden Vorgänge auszuführen: (a) Umsetzung in eine andere Sprache, einen anderen Code oder eine andere Schreibweise; und/oder (b) Wiedergabe in einer anderen materiellen Form.
  • Die vorhergehende Beschreibung der bevorzugten Ausführungsformen dieser Erfindung dient der Veranschaulichung und Beschreibung. Sie soll weder erschöpfend sein noch die Erfindung auf die genaue beschriebene Form begrenzen, und offensichtlich sind viele Änderungen und Varianten möglich. Es ist vorgesehen, dass solche für Fachleute offensichtlichen Änderungen und Varianten im Anwendungsbereich dieser Erfindung enthalten sind, wie sie durch die begleitenden Ansprüche definiert wird.

Claims (13)

  1. Verfahren zur asynchronen Verarbeitung von Anforderungen, das die folgenden Schritte umfasst: Erhalten (S2) eines Sitzungsobjekts für eine Anforderung nach einer von einem Client empfangenen Verweisadresse (Uniform Resource Locator – URL); Erzeugen (S3) eines Antwortkennzeichners auf der Grundlage eines Sitzungskennzeichners und der URL; Feststellen (S4), ob die URL zuvor vom Client auf der Grundlage des Antwortkennzeichners angefordert wurde; gekennzeichnet durch Erzeugen eines Antwortauffrischvorsatzes, der einen Zeitwert enthält, um den Client zum automatischen Übertragen einer anschließenden Anforderung der URL zu veranlassen.
  2. Verfahren nach Anspruch 1, das außerdem den folgenden Schritt umfasst: Übertragen einer vorläufigen Antwort auf die Anforderung und des Antwortauffrischvorsatzes an den Client.
  3. Verfahren nach Anspruch 1 oder Anspruch 2, das außerdem den folgenden Schritt umfasst: Übertragen der Anforderung an ein Antwortzwischenspeichersystem mit einer Anweisung zum Zwischenspeichern einer endgültigen Antwort auf die Anforderung entsprechend dem Antwortkennzeichner.
  4. Verfahren nach irgendeinem vorhergehenden Anspruch, das außerdem die folgenden Schritte umfasst: vor dem Erzeugungsschritt Feststellen, ob eine endgültige Antwort auf die Anforderung fertig ist; und Übertragen der endgültigen Antwort an den Client, falls die endgültige Antwort fertig ist, wobei der Antwortauffrischvorsatz nicht erzeugt und mit der vorläufigen Antwort an den Client übertragen wird, falls die endgültige Antwort fertig ist.
  5. Verfahren nach irgendeinem vorhergehenden Anspruch, das außerdem die folgenden Schritte umfasst: Beginnen der Erzeugung einer endgültigen Antwort auf die Anforderung; und Speichern der endgültigen Antwort in einem Cachespeicher entsprechend dem Antwortkennzeichner, wenn die endgültige Antwort fertig ist.
  6. Verfahren nach Anspruch 5, das außerdem die folgenden Schritte umfasst: Empfangen einer nachfolgenden Anforderung nach der URL vom Client nach Ablauf des Zeitwertes im Antwortauffrischvorsatz; Erhalten des Sitzungsobjekts; Erzeugen des Antwortkennzeichners; Feststellen, ob die URL zuvor auf der Grundlage des Antwortkennzeichners angefordert wurde; Überprüfen des Cachespeichers auf die endgültige Antwort auf die Anforderung auf der Grundlage des Antwortkennzeichners; und Übertragen der endgültigen Antwort an den Client, falls die endgültige Antwort fertig ist, wobei ein neuer Antwortauffrischvorsatz erzeugt und mit einer neuen vorläufigen Antwort an den Client übertragen wird, falls die endgültige Antwort nicht fertig ist.
  7. verfahren nach irgendeinem der Ansprüche 3 bis 6, das außerdem den folgenden Schritt umfasst: Überprüfen eines Cachespeichers auf die endgültige Antwort auf die Anforderung auf der Grundlage des Antwortkennzeichners, falls die URL zuvor vom Client angefordert wurde.
  8. System zur asynchronen Verarbeitung von Anforderungen, das Folgendes umfasst: eine Objektkomponente (52) zum Erhalten eines Sitzungsobjekts für eine Anforderung nach einer von einem Client empfangenen Verweisadresse (Uniform Resource Locator – URL); eine Antwortkennzeichnerkomponente (54) zum Erzeugen eines Antwortkennzeichners auf der Grundlage eines Sitzungskennzeichners und der URL; eine Anforderungsprüfkomponente (56) zum Feststellen, ob die URL zuvor vom Client angefordert wurde; gekennzeichnet durch eine Vorsatzerzeugungskomponente (60) zum Erzeugen eines Antwortauffrischvorsatzes, der einen Zeitwert enthält, um den Client zum automatischen Übertragen einer anschließenden Anforderung der URL zu veranlassen.
  9. System nach Anspruch 8, das außerdem eine Ausgabekomponente (68) zum Übertragen des Antwortauffrischvorsatzes und einer vorläufigen Antwort auf die Anforderung an den Client umfasst.
  10. System nach Anspruch 8 oder Anspruch 9, das außerdem eine Antwortzwischenspeicherungskomponente (66) zum Speichern einer endgültigen Antwort auf die Anforderung in einem Cachespeicher entsprechend dem Antwortkennzeichner umfasst.
  11. System nach irgendeinem der Ansprüche 8 bis 10, das außerdem eine Cachespeicherprüfkomponente (58) zum Überprüfen eines Cachespeichers auf eine endgültige Antwort auf die Anforderung auf der Grundlage des Antwortkennzeichners umfasst, wobei die endgültige Antwort an den Client übertragen wird, falls sie fertig ist.
  12. System nach irgendeinem der Ansprüche 8 bis 11, das außerdem Folgendes umfasst: eine Eingabekomponente (50) zum Empfangen einer nachfolgenden Anforderung der URL vom Client nach Ablauf des Zeitwertes im Antwortauffrischvorsatz; ein Mittel zum Erhalten des Sitzungsobjekts; ein Mittel zum Erzeugen des Antwortkennzeichners; ein Mittel zum Feststellen, ob die URL zuvor auf der Grundlage des Antwortkennzeichners angefordert wurde; ein Mittel zum Überprüfen des Cachespeichers auf die endgültige Antwort auf die Anforderung auf der Grundlage des Antwortkennzeichners; und ein Mittel zum Übertragen der endgültigen Antwort an den Client, falls die endgültige Antwort fertig ist, wobei ein neuer Antwortauffrischvorsatz erzeugt und mit einer neuen vorläufigen Antwort an den Client übertragen wird, falls die endgültige Antwort nicht fertig ist.
  13. Computerprogrammprodukt, das ein Programmcodemittel umfasst, das für die Ausführung aller Schritte nach irgendeinem der Ansprüche 1 bis 7 geeignet ist, wenn das Programm in einem Computer ausgeführt wird.
DE602004002783T 2003-07-31 2004-07-15 Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen Active DE602004002783T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US632073 1996-04-15
US10/632,073 US7349968B2 (en) 2003-07-31 2003-07-31 Method, system and program product for asynchronously processing requests
PCT/EP2004/051509 WO2005013579A1 (en) 2003-07-31 2004-07-15 Method, system and program product for asynchronously processing requests

Publications (2)

Publication Number Publication Date
DE602004002783D1 DE602004002783D1 (de) 2006-11-23
DE602004002783T2 true DE602004002783T2 (de) 2007-08-16

Family

ID=34104275

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004002783T Active DE602004002783T2 (de) 2003-07-31 2004-07-15 Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen

Country Status (9)

Country Link
US (2) US7349968B2 (de)
EP (1) EP1649662B1 (de)
JP (1) JP4755590B2 (de)
KR (1) KR100737298B1 (de)
CN (1) CN1830192B (de)
AT (1) ATE342626T1 (de)
DE (1) DE602004002783T2 (de)
IL (1) IL173423A0 (de)
WO (1) WO2005013579A1 (de)

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343413B2 (en) 2000-03-21 2008-03-11 F5 Networks, Inc. Method and system for optimizing a network by independently scaling control segments and data flow
EP1466261B1 (de) 2002-01-08 2018-03-07 Seven Networks, LLC Verbindungsarchitektur für ein mobilnetzwerk
CA2406713C (en) * 2002-10-04 2009-06-30 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for relaying session information from a portal server
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7349968B2 (en) * 2003-07-31 2008-03-25 International Business Machines Corporation Method, system and program product for asynchronously processing requests
US7685258B2 (en) * 2004-05-21 2010-03-23 Bea Systems, Inc. Disconnectible applications
US7809837B2 (en) * 2004-10-20 2010-10-05 Bea Systems, Inc. User interface for configuring web services for remote portlets
US7792969B2 (en) * 2004-10-20 2010-09-07 Bea Systems, Inc. Message interface for configuring web services for remote portlets
WO2006045102A2 (en) 2004-10-20 2006-04-27 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
US7788340B2 (en) * 2004-11-22 2010-08-31 Bea Systems Inc. System and method for event based interportlet communications
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7640296B2 (en) * 2004-12-21 2009-12-29 Sap Ag Mapping of a content request for a cache server
US8001456B2 (en) * 2005-02-28 2011-08-16 International Business Machines Corporation Methods for maintaining separation between markup and data at a client
US7752633B1 (en) * 2005-03-14 2010-07-06 Seven Networks, Inc. Cross-platform event engine
US20060230032A1 (en) * 2005-04-06 2006-10-12 Brankov Branimir I Multi-fielded Web browser-based searching of data stored in a database
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US9218329B2 (en) 2005-06-30 2015-12-22 International Business Machines Corporation Independent submission of forms in a portal view
US8214731B2 (en) 2005-06-30 2012-07-03 International Business Machines Corporation Independently refreshing portlet content in a portal view
US8069166B2 (en) * 2005-08-01 2011-11-29 Seven Networks, Inc. Managing user-to-user contact with inferred presence information
US20070153495A1 (en) * 2005-12-29 2007-07-05 Wang Michael Dongxue Illumination mechanism for mobile digital imaging
US8271602B2 (en) 2006-01-11 2012-09-18 Oracle International Corporation System and method for conversation based on web service addressing
US20070162560A1 (en) * 2006-01-11 2007-07-12 Bea Systems, Inc. System and method for asynchronous request response
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US7937361B2 (en) * 2006-04-28 2011-05-03 Research In Motion Limited Method of reflecting on another device a change to a browser cache on a handheld electronic device, and associated device
US7987231B2 (en) 2006-06-09 2011-07-26 Global Information Solutions, Inc. Facilitating interaction between web browsers
US20080001717A1 (en) * 2006-06-20 2008-01-03 Trevor Fiatal System and method for group management
CN101166129A (zh) * 2006-10-20 2008-04-23 华为技术有限公司 获取应用服务器标识信息的方法、终端、设备和系统
US9112808B2 (en) * 2007-02-06 2015-08-18 At&T Intellectual Property Ii, L.P. Devices, systems, and methods for providing data
KR100862354B1 (ko) * 2007-04-10 2008-10-13 전자부품연구원 비동기 검색 환경을 지원하는 멀티미디어 검색 방법
CN101296176B (zh) * 2007-04-25 2010-12-22 阿里巴巴集团控股有限公司 一种基于群集的数据处理方法和装置
US8693494B2 (en) * 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8185610B2 (en) * 2007-12-04 2012-05-22 International Business Machines Corporation Method for client-side aggregation of asynchronous, context-sensitive request operations for java server pages (JSP)
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) * 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
KR101183675B1 (ko) 2009-06-23 2012-09-17 경기대학교 산학협력단 비동기 웹서비스에 기반한 회신 처리 방법 및 장치
US8566531B2 (en) * 2009-08-21 2013-10-22 Google Inc. System and method of selectively caching information based on the interarrival time of requests for the same information
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8335819B2 (en) * 2009-12-31 2012-12-18 Nokia Corporation Method and apparatus for providing client-side caching
US9141625B1 (en) 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
US10015286B1 (en) 2010-06-23 2018-07-03 F5 Networks, Inc. System and method for proxying HTTP single sign on across network domains
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
GB2495066B (en) 2010-07-26 2013-12-18 Seven Networks Inc Mobile application traffic optimization
GB2495877B (en) 2010-07-26 2013-10-02 Seven Networks Inc Distributed implementation of dynamic wireless traffic policy
PL3407673T3 (pl) 2010-07-26 2020-05-18 Seven Networks, Llc Koordynacja ruchu w sieci komórkowej pomiędzy różnymi aplikacjami
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
EP2633667B1 (de) 2010-10-29 2017-09-06 F5 Networks, Inc System und verfahren zur on-the-fly-protokollkonvertierung bei der ermittlung von richtliniendurchsetzungsinformationen
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
CN103620576B (zh) 2010-11-01 2016-11-09 七网络公司 适用于移动应用程序行为和网络条件的缓存
US8166164B1 (en) 2010-11-01 2012-04-24 Seven Networks, Inc. Application and network-based long poll request detection and cacheability assessment therefor
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US8484314B2 (en) * 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
CN103404193B (zh) 2010-11-22 2018-06-05 七网络有限责任公司 调校数据传输以优化为通过无线网络的传输建立的连接
EP3422775A1 (de) 2010-11-22 2019-01-02 Seven Networks, LLC Optimierung von ressourcenabfrageintervallen zur zufriedenstellenden beantwortung von anfragen auf mobilen vorrichtungen
WO2012094675A2 (en) 2011-01-07 2012-07-12 Seven Networks, Inc. System and method for reduction of mobile network traffic used for domain name system (dns) queries
US10135831B2 (en) 2011-01-28 2018-11-20 F5 Networks, Inc. System and method for combining an access control system with a traffic management system
EP2700019B1 (de) 2011-04-19 2019-03-27 Seven Networks, LLC Soziale zwischenspeicherung für gemeinsame nutzung und verwaltung von vorrichtungsressourcen
US8621075B2 (en) 2011-04-27 2013-12-31 Seven Metworks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
GB2496537B (en) 2011-04-27 2014-10-15 Seven Networks Inc System and method for making requests on behalf of a mobile device based on atmoic processes for mobile network traffic relief
US9246819B1 (en) 2011-06-20 2016-01-26 F5 Networks, Inc. System and method for performing message-based load balancing
EP2737742A4 (de) 2011-07-27 2015-01-28 Seven Networks Inc Automatische erzeugung und verteilung von richtlinieninformationen über bösartigen mobilverkehr in einem drahtlosen netzwerk
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
WO2013086214A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A system of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
WO2013090821A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
WO2013090834A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
EP2792188B1 (de) 2011-12-14 2019-03-20 Seven Networks, LLC Mobilfunknetzbenachrichtigung und nutzungsanalysesystem sowie verfahren mittels aggregation von daten in einem verteilten verkehrsoptimierungssystem
US9270766B2 (en) 2011-12-30 2016-02-23 F5 Networks, Inc. Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof
WO2013103988A1 (en) 2012-01-05 2013-07-11 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
US9203864B2 (en) 2012-02-02 2015-12-01 Seven Networks, Llc Dynamic categorization of applications for network access in a mobile network
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9231879B1 (en) 2012-02-20 2016-01-05 F5 Networks, Inc. Methods for policy-based network traffic queue management and devices thereof
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
EP2853074B1 (de) 2012-04-27 2021-03-24 F5 Networks, Inc Verfahren zur optimierung von inhaltsdienstanfragen und vorrichtungen dafür
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US20140177497A1 (en) 2012-12-20 2014-06-26 Seven Networks, Inc. Management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US8750123B1 (en) 2013-03-11 2014-06-10 Seven Networks, Inc. Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
WO2015122197A1 (ja) * 2014-02-17 2015-08-20 日本電気株式会社 画面描画システム、画面描画方法及びポータルクライアント
JP6373025B2 (ja) * 2014-03-20 2018-08-15 シャープ株式会社 情報処理装置、情報処理システム、情報処理方法、及びコンピュータプログラム
US10015143B1 (en) 2014-06-05 2018-07-03 F5 Networks, Inc. Methods for securing one or more license entitlement grants and devices thereof
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
US10122630B1 (en) 2014-08-15 2018-11-06 F5 Networks, Inc. Methods for network traffic presteering and devices thereof
CN105635083A (zh) * 2014-11-14 2016-06-01 航天信息股份有限公司 基于服务器和客户端架构的业务处理方法及业务处理系统
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US20160306780A1 (en) * 2015-04-20 2016-10-20 International Business Machines Corporation Non-disruptive method for page rendering in a portal when a performance constraint is not fulfilled
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US9720693B2 (en) * 2015-06-26 2017-08-01 Microsoft Technology Licensing, Llc Bulk allocation of instruction blocks to a processor instruction window
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US10791088B1 (en) 2016-06-17 2020-09-29 F5 Networks, Inc. Methods for disaggregating subscribers via DHCP address translation and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10540282B2 (en) 2017-05-02 2020-01-21 International Business Machines Corporation Asynchronous data store operations including selectively returning a value from cache or a value determined by an asynchronous computation
US10437724B2 (en) * 2017-05-02 2019-10-08 International Business Machines Corporation Providing data values in a timely fashion using asynchronous data store operations including selectively returning a value from a cache or a value determined by an asynchronous computation
US10972453B1 (en) 2017-05-03 2021-04-06 F5 Networks, Inc. Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US11122083B1 (en) 2017-09-08 2021-09-14 F5 Networks, Inc. Methods for managing network connections based on DNS data and network policies and devices thereof
CN110995817B (zh) * 2019-11-27 2022-05-20 广州华多网络科技有限公司 请求回调方法、装置及客户端设备
US11271968B2 (en) 2020-03-04 2022-03-08 International Business Machines Corporation Zero round trip time transmission for anticipatory request messages

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2313524A (en) 1996-05-24 1997-11-26 Ibm Providing communications links in a computer network
US6253252B1 (en) 1996-07-11 2001-06-26 Andrew Schofield Method and apparatus for asynchronously calling and implementing objects
US5845074A (en) 1996-11-22 1998-12-01 E-Parcel, Llc Smart internet information delivery system having a server automatically detects and schedules data transmission based on status of clients CPU
US6070184A (en) * 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
CA2220578A1 (en) 1997-11-10 1999-05-10 Northern Telecom Limited Distributed service network
US6362836B1 (en) 1998-04-06 2002-03-26 The Santa Cruz Operation, Inc. Universal application server for providing applications on a variety of client devices in a client/server network
US6026424A (en) 1998-02-23 2000-02-15 Hewlett-Packard Company Method and apparatus for switching long duration tasks from synchronous to asynchronous execution and for reporting task results
US6055564A (en) 1998-03-11 2000-04-25 Hewlett Packard Company Admission control where priority indicator is used to discriminate between messages
US6157941A (en) 1998-03-18 2000-12-05 Oracle Corporation Architecture for client-server communication over a communication link
US7103666B2 (en) 2001-01-12 2006-09-05 Siemens Medical Solutions Health Services Corporation System and user interface supporting concurrent application operation and interoperability
US20020099795A1 (en) 2001-01-19 2002-07-25 Robert Betros System and method for maintaining two-way asynchronous notification between a client and a web server
US20030206192A1 (en) * 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
JP2003091504A (ja) * 2001-09-18 2003-03-28 Itfor Inc 双方向通信ネットワークにおける識別情報認証方法及びその通信システム並びにプログラム
US6687792B2 (en) * 2001-09-27 2004-02-03 Siemens Information & Communication Networks, Inc. Method and system for selectively caching web elements
US6766422B2 (en) * 2001-09-27 2004-07-20 Siemens Information And Communication Networks, Inc. Method and system for web caching based on predictive usage
US7076544B2 (en) * 2002-04-08 2006-07-11 Microsoft Corporation Caching techniques for streaming media
US20030225885A1 (en) * 2002-05-31 2003-12-04 Comverse, Ltd. Caching for limited bandwidth networks
US7051161B2 (en) * 2002-09-17 2006-05-23 Nokia Corporation Memory admission control based on object size or request frequency
US7349968B2 (en) * 2003-07-31 2008-03-25 International Business Machines Corporation Method, system and program product for asynchronously processing requests

Also Published As

Publication number Publication date
EP1649662B1 (de) 2006-10-11
US7349968B2 (en) 2008-03-25
EP1649662A1 (de) 2006-04-26
DE602004002783D1 (de) 2006-11-23
JP4755590B2 (ja) 2011-08-24
WO2005013579A1 (en) 2005-02-10
US20050027869A1 (en) 2005-02-03
US20080140774A1 (en) 2008-06-12
CN1830192B (zh) 2010-09-15
US7756982B2 (en) 2010-07-13
CN1830192A (zh) 2006-09-06
KR100737298B1 (ko) 2007-07-09
KR20060060654A (ko) 2006-06-05
JP2007500889A (ja) 2007-01-18
ATE342626T1 (de) 2006-11-15
IL173423A0 (en) 2006-06-11

Similar Documents

Publication Publication Date Title
DE602004002783T2 (de) Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen
DE60015423T2 (de) Verfahren und Vorrichtung zur Objektwiedergabe in einem Netzwerk
DE60130633T2 (de) Gesicherte Internet-Zwischenablage
DE60028561T2 (de) Bereitstellung von kundendiensten, die daten aus datenquellen abrufen, wobei die datenquellen die vom kunden geforderten formate nicht notwendigerweise unterstützen
DE69832786T2 (de) Vorrichtung und verfahren zur identifizierung von klienten die an netzwer-sites zugreifen
DE60110614T2 (de) Verfahren und vorrichtung zur prüfung eines inhaltservers
DE69736045T2 (de) Verfahren zum Übertragen und Darstellen von Datenseiten in einem Datennetzwerk
DE60119249T2 (de) Netzwerkgeräteverwaltungsverfahren und Netzwerkgeräte
DE69633564T2 (de) Zugangskontrolle und überwachungssystem für internetserver
DE60113868T2 (de) Kartennetzwerkschnittstelle, Netzwerkkonferenz-Endgeräteeinrichtung und Netzwerkkonferenzsystem
DE60313567T2 (de) Zugriffsrelayvorrichtung
DE602004006308T2 (de) Verfahren zum umlenken von client-anforderungen zu web-diensten
DE69636869T2 (de) Server mit automatischer Menüladefunktion
DE10050172A1 (de) Systeme, Verfahren und Computerprogrammprodukte zur Überprüfung eines für die Anzeige in pervasive Computereinheiten angepassten Web-Inhaltes
EP1887484A2 (de) Verfahren zum Vorabübertragen strukturierter Datenmengen zwischen einer Clienteinrichtung und einer Servereinrichtung
DE202011110893U1 (de) Verwaltung mehrfacher Anmeldungen über einen Einzelbrowser
DE112013003300T5 (de) Schrittweise Vorbereitung von Videos auf die Lieferung
DE60017488T2 (de) Verfahren zum Steuern des Abrufs von Information mit einer vom Datentyp abhängigen Strategie um die Antwortzeit für die Verbraucher zu verringern
DE602004007983T2 (de) System und Verfahren zur Unterstützung von nicht standardisierten MIME-Typen
DE10352400A1 (de) Netzwerkdienst-Abfangvorrichtung
DE10040986B4 (de) Zusammenarbeitssystem, Zusammenarbeits-Server, Verfahren zur Übertragung einer Dokumentendatei, Speichermedium und Programmübertragungsvorrichtung
EP1620810A2 (de) Verfahren und anordnung zur einrichtung und aktualisierung einer benutzeroberfl che zum zugriff auf informationsseiten in ein em datennetz
DE10132038A1 (de) Automatisierungssystem und Verfahren zur Anlagenvisualisierung
DE112006001427T5 (de) Sicherheitssystem für ein persönliches Internetkommunikationsgerät
DE60132298T2 (de) System und Verfahren zur Datenübertragung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)