DE602004002783T2 - Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen - Google Patents
Verfahren, system und programmprodukt zum asynchronen verarbeiten von anforderungen Download PDFInfo
- 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
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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer 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 von1 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 System10 zum asynchronen Verarbeiten einer Anforderung gezeigt. Unter Verwendung der vorliegenden Erfindung können der Client12 und der Server14 einen beliebigen Typ von computerunterstützten Systemen darstellen. Beispielsweise könnte es sich bei dem Client12 und/oder dem Server14 um einen Personal Computer, eine Arbeitsplatzrechner, einen Laptop-Computer, einen Taschencomputer usw. handeln. Im Allgemeinen tauscht der Client12 über ein Netz Daten mit dem Server14 aus. Wie an späterer Stelle ausführlicher beschrieben wird, kann der Datenaustausch zwischen dem Client12 und dem Server14 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 Server14 ein Anwendungsserver, beispielsweise ein Portalserver (portal server), der Portalseiten an den Client12 überträgt. In jedem Fall bedient ein Benutzer16 einen Web-Browser18 im Client12 , um eine Webseite von einem Server14 anzufordern. Der Server14 erzeugt die Webseite (z.B. eine endgültige Antwort auf die Anforderung), indem er Inhalte aus den verschiedenen Inhaltsquellen20 erhält. Sobald die Webseite erzeugt worden ist, wird sie an den anfordernden Client12 rückübertragen. - Wie gezeigt wird, umfasst der Server
14 im Allgemeinen eine Zentraleinheit (central processing unit – CPU)22 , einen Speicher24 , einen Bus26 , Ein-/Ausgabe- (E/A-) Schnittstellen28 , externe Einheiten/Ressourcen30 und eine Speichereinheit32 . Die CPU22 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 Speicher24 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 Datencachespeicher40 , ein Datenobjekt usw. Ähnlich wie die CPU22 kann der Speicher24 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/Ressourcen30 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 Bus26 stellt eine Datenübertragungsverbindung zwischen jeder der Komponenten im Server14 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 Speichereinheit32 als solche könnte eine oder mehrere Speichereinheiten beinhalten, beispielsweise ein Magnetplattenlaufwerk oder ein optisches Plattenlaufwerk. In einer anderen Ausführungsform enthält die Speichereinheit32 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 Server14 ü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 Server14 und der Client12 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 Client12 einen Internet-Diensteanbieter nutzen, um eine Verbindung mit dem Server14 einzurichten. - Im Speicher
24 werden ein Anforderungsverarbeitungssystem36 , Servlets/Portlets38 und ein Cachespeicher40 gezeigt. Im Allgemeinen ermöglicht das Anforderungsverarbeitungssystem36 die asynchrone Verarbeitung einer Anforderung vom Client12 , ohne dass eine Änderung oder ein Vorgang auf Seiten des Client12 oder des Browser18 erforderlich wird. Außerdem muss verstanden werden, dass das Anforderungsverarbeitungssystem36 einige oder alle Komponenten von aktuellen Portal- oder Anwendungsserverprogrammen enthalten kann. Beispielsweise könnte das Anforderungsverarbeitungssystem36 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 und2 im ganzen wird die Lehre der vorliegenden Erfindung ausführlicher beschrieben. Es muss im Voraus verstanden werden, dass die Ausführungsform des in2 gezeigten Anforderungsverarbeitungssystems36 lediglich der Veranschaulichung dienen soll. Die Teilsysteme als solche könnten in Form von mehr oder weniger Teilsystemen realisiert werden. Beispielsweise können das Eingabesystem50 und das Ausgabesystem68 in einem einzigen „Datenübertragungssystem" kombiniert werden. Unter Verwendung der vorliegenden Erfindung wird in jedem Fall eine vom Client12 übertragene Anforderung vom Eingabesystem50 empfangen. Auf den Empfang hin erhält das Objektsystem52 ein der Sitzung zwischen dem Client12 und dem Server14 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 Objektsystem52 das Sitzungsobjekt und speichert dieses in der Speichereinheit32 . Falls die Sitzung hingegen zuvor erzeugt wurde, kann das Objektsystem52 das Sitzungsobjekt aus der Speichereinheit32 abrufen. Unabhängig davon erzeugt das Antwortkennzeichnersystem54 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 Client12 angefordert wurde. Insbesondere greift das Anforderungsprüfsystem56 auf eine „Anforderungs"-Tabelle im Sitzungsobjekt zu. Falls der Antwortkennzeichner darin aufgelistet ist, bedeutet dies, dass die URL zuvor vom Client12 angefordert wurde. In diesem Fall überprüft das Cachespeicherprüfsystem58 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 Cachespeicher40 befindet. Falls die endgültige Antwort fertig ist, wird sie über das Ausgabesystem68 an den Client12 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 Client12 angefordert), überträgt es die Anforderung mit einem Befehl an das Antwortzwischenspeichersystem66 . Der Befehl gibt an, dass die endgültige Antwort auf die Anforderung entsprechend dem Antwortkennzeichner im Cachespeicher40 gespeichert werden muss. In etwa zur gleichen Zeit beginnt das Antworterzeugungssystem64 mit der Erzeugung einer endgültigen Antwort. In einer typischen Ausführungsform ruft das Antworterzeugungssystem64 ein oder mehrere Servlets/Portlets38 (1 ) auf, die den entsprechenden Inhalt aus den Inhaltsquellen20 abrufen. Diesbezüglich könnte es sich bei den Servlets/Portlets38 um Standard- oder Fernportlets (z.B. Web-Dienste für Fernportale) handeln, während es sich bei den Inhaltsquellen20 um unabhängige Organisationen, Datenstrukturen, Speichereinheiten usw. handeln könnte. Während der Erzeugung der endgültigen Antwort erzeugt das Vorsatzerzeugungssystem60 in jedem Fall einen Antwortauffrischvorsatz, der einen Zeitwert enthält, um den Client12 zum automatischen Übertragung einer anschließenden Anforderung derselben URL zu veranlassen. Der Zeitwert kann vom Programmierer44 (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 Client12 und dem Server14 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 Ausgabesystem68 an den Client rückübertragen. Ähnlich wie die Zeitwerte kann die vorläufige Antwort vom Programmierer44 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 Antwortzwischenspeichersystem66 diese entsprechend dem Antwortkennzeichner im Cachespeicher40 , so dass ein Querverweis auf diese problemlos möglich ist. - Der Client
12 empfängt die vorläufige Antwort und den Antwortauffrischvorsatz im Browser18 . Nach Ablauf des Zeitwertes im Antwortauffrischvorsatz überträgt der Browser18 automatisch eine anschließende Anforderung der URL an den Server14 . Insbesondere unter HTTP kann der Browser18 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 Benutzers16 automatisch zu erzeugen und zu übertragen. Dementsprechend ermöglicht der Antwortauffrischvorsatz eine asynchrone Anforderungsverarbeitung ohne Änderung des Client12 oder des Browser18 . - Die nachfolgende Antwort wird vom Eingabesystem
50 empfangen. Ähnlich wie bei der vorhergehenden Anforderung erhält das Objektsystem52 das entsprechende Sitzungsobjekt. Da dies eine nachfolgende Antwort ist, muss das Sitzungsobjekt bereits vorhanden sein. Dementsprechend kann das Objektsystem52 dieses aus der Speichereinheit32 abrufen. Nach dem Erhalt des Sitzungsobjekts wird der Antwortkennzeichner vom Antwortkennzeichnersystem54 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üfsystem56 fest, ob die URL zuvor angefordert wurde. Insbesondere überprüft das Anforderungsprüfsystem56 die Anforderungstabelle im Sitzungsobjekt. Da die URL zuvor vom Client12 angefordert wurde, muss der Antwortkennzeichner in der Anforderungstabelle aufgelistet sein. Dementsprechend überprüft das Cachespeicherprüfsystem58 den Cachespeicher40 , um festzustellen, ob die endgültige Antwort fertig ist. Insbesondere prüft das Cachespeicherprüfsystem58 das Vorhandensein der endgültigen Antwort unter Verwendung des Antwortkennzeichners. Falls die endgültige Antwort fertig ist, wird sie vom Cachespeicherprüfsystem58 aus dem Cachespeicher40 abgerufen und über das Ausgabesystem68 zur Anzeige im Browser18 an den Client12 übertragen. Falls die endgültige Antwort jedoch noch nicht fertig ist, erzeugt das Vorsatzerzeugungssystem60 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 Ausgabesystem68 an den Client12 übertragen. Nach Ablauf des Zeitwertes im neuen Antwortauffrischvorsatz überträgt der Client12 eine weitere Anforderung der URL, die auf eine ähnliche Weise verarbeitet wird. - Mit Bezugnahme auf
3 wird nun ein Flussdiagramm100 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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. - 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. - 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. - 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. - 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. - 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.
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)
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)
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 |
-
2003
- 2003-07-31 US US10/632,073 patent/US7349968B2/en not_active Expired - Fee Related
-
2004
- 2004-07-15 DE DE602004002783T patent/DE602004002783T2/de active Active
- 2004-07-15 CN CN2004800217662A patent/CN1830192B/zh active Active
- 2004-07-15 WO PCT/EP2004/051509 patent/WO2005013579A1/en active IP Right Grant
- 2004-07-15 EP EP04766236A patent/EP1649662B1/de active Active
- 2004-07-15 KR KR1020067000039A patent/KR100737298B1/ko not_active IP Right Cessation
- 2004-07-15 JP JP2006521568A patent/JP4755590B2/ja active Active
- 2004-07-15 AT AT04766236T patent/ATE342626T1/de not_active IP Right Cessation
-
2006
- 2006-01-30 IL IL173423A patent/IL173423A0/en active IP Right Grant
-
2008
- 2008-02-20 US US12/034,426 patent/US7756982B2/en not_active Expired - Lifetime
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) |