Embodiments of the current disclosure provide for a method for accelerating webpage rendering. The method includes: identifying a resource used in a first visit to a webpage, where the webpage is hosted at a first-party domain; determining that the resource has an address value structured to cause a client computing device to obtain the resource from a third-party domain; and generating a computer-readable modification instruction that modifies the address value for the resource, where the modified address value is structured to cause the client computing device to obtain the resource from the first-party domain for a second visit to the webpage.
In anticipation of a client device establishing a connection over a network with a remote host service, a pre-connect module generates a connection request (referred to herein as a “pre-connect request”) on behalf of the client device and sends the pre-connect request to the remote host server. The remote server responds with a connection response (referred to herein as a “pre-connect response”), which is pre-positioned on the client-side of the network along with information for generating a later connection request that is in material respects the same as the pre-connect request. Then, when the client device later seeks to establish a connection with the remote host server, the client device determines whether it has in local storage generation information for generating a connection request to the remote host server. If so, the client device uses the generation information to generate a connection request that is in material respects the same as the pre-connect request. An interceptor on the client-side of the network intercepts connection requests and determines whether a corresponding pre-connect response is locally stored. If so, the interceptor sends the locally stored pre-connect response as a complete response to the intercepted request, which can be discarded.
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
Embodiments seek to improve prefetch hinting using time-dependent, machine-generated hints. Some embodiments operate in context of client machines in communication hinting machines that can develop information about whether and how resources are used in network transactions over time by collecting “resource samples.” Each resource sample can identify rendering status information of a resource at a sample time. The time-based samples can be used to compute time-based probabilities for the resources, indicating, for example, the likelihood of a resource being used to render a web page at some subsequent time. Time-dependent hints can be generated as a function of the time-based probabilities, and the time-dependent hints can be used to improve prefetching by optimizing the hinting information with respect to a particular request time (e.g., the prefetching hints for rendering a web page can be generated in a manner that accounts for when the web page is being rendered).
G06F 40/14 - Documents en configuration arborescente
G06F 16/951 - IndexationTechniques d’exploration du Web
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/958 - Organisation ou gestion de contenu de sites Web, p. ex. publication, conservation de pages ou liens automatiques
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
09 - Appareils et instruments scientifiques et électriques
38 - Services de télécommunications
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for providing content
delivery network (CDN) services that accelerate, optimize,
stream and organize third party web content for optimized
flow to end users; downloadable computer software for
providing access to a global computer network, delivering
third party web content, and streaming multimedia content;
downloadable computer software for monitoring, optimizing,
and controlling online traffic to computer servers,
providing http proxy services, content delivery network
(CDN) services, network traffic load balancing services, web
acceleration services, hinting services, real-user
monitoring services, secure tunneling network services, and
cloud storage services for electronic data via virtual and
non-virtual servers to others; downloadable computer
software for web content filtering, video adaptation,
transmission control protocol (TCP) optimization, web
optimization, mobile content delivery networks (CDN)
capability and interoperability and enterprise tunneling
through servers and cloud networks. Providing user access to a global computer network;
electronic data transmission; electronic transmission of
data and documents via computer terminals and electronic
devices; providing user access to computer programmes in
data networks; telecommunications services for providing
multiple-user access to a global computer network; providing
private and secure real time electronic communication over a
computer network; streaming of audio, visual, text, video
and audiovisual material on the internet. Software as a service (SAAS) services featuring software for
providing content delivery network (CDN) services that
accelerate, optimize, stream and organize third party web
content for optimized flow to end users; software as a
service (SAAS) services featuring software for monitoring,
optimizing, and controlling online traffic to computer
servers, providing http proxy services, content delivery
network (CDN) services, network traffic load balancing
services, web acceleration services, hinting services,
real-user monitoring services, secure tunneling network
services, and cloud storage services for electronic data via
virtual and non-virtual servers to others; software as a
service (SAAS) services featuring software for web content
filtering, video adaptation, transmission control protocol
(TCP) optimization, web optimization, mobile content
delivery networks (CDN) capability and interoperability and
enterprise tunneling through servers and cloud networks;
computer services, namely, monitoring, testing, analyzing,
and reporting on the Internet traffic control and content
control of the web sites of others; technical consulting
services in the fields of datacenter architecture, public
and private cloud computing solutions, and evaluation and
implementation of internet technology and services;
technology advisory services related to web infrastructure.
09 - Appareils et instruments scientifiques et électriques
38 - Services de télécommunications
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for providing content
delivery network (CDN) services that accelerate, optimize,
stream and organize third party web content for optimized
flow to end users; downloadable computer software for
providing access to a global computer network, delivering
third party web content, and streaming multimedia content;
downloadable computer software for monitoring, optimizing,
and controlling online traffic to computer servers,
providing http proxy services, content delivery network
(CDN) services, network traffic load balancing services, web
acceleration services, hinting services, real-user
monitoring services, secure tunneling network services, and
cloud storage services for electronic data via virtual and
non-virtual servers to others; downloadable computer
software for web content filtering, video adaptation,
transmission control protocol (TCP) optimization, web
optimization, mobile content delivery networks (CDN)
capability and interoperability and enterprise tunneling
through servers and cloud networks. Providing user access to a global computer network;
electronic data transmission; electronic transmission of
data and documents via computer terminals and electronic
devices; providing user access to computer programmes in
data networks; telecommunications services for providing
multiple-user access to a global computer network; providing
private and secure real time electronic communication over a
computer network; providing user access to global computer
networks; streaming of audio, visual, text, video and
audiovisual material on the internet. Software as a service (SAAS) services featuring software for
providing content delivery network (CDN) services that
accelerate, optimize, stream and organize third party web
content for optimized flow to end users; software as a
service (SAAS) services featuring software for monitoring,
optimizing, and controlling online traffic to computer
servers, providing http proxy services, content delivery
network (CDN) services, network traffic load balancing
services, web acceleration services, hinting services,
real-user monitoring services, secure tunneling network
services, and cloud storage services for electronic data via
virtual and non-virtual servers to others; software as a
service (SAAS) services featuring software for web content
filtering, video adaptation, transmission control protocol
(TCP) optimization, web optimization, mobile content
delivery networks (CDN) capability and interoperability and
enterprise tunneling through servers and cloud networks;
computer services, namely, monitoring, testing, analyzing,
and reporting on the Internet traffic control and content
control of the web sites of others; technology advisory
services related to web infrastructure; technical consulting
services in the fields of datacenter architecture, public
and private cloud computing solutions, and evaluation and
implementation of internet technology and services.
The present invention relates to systems, apparatus, and methods of using usage data to determine the dependency structures of a web application, including dependency structures between follow-on objects of an initial object in a web transaction. In one embodiment, an input URL and associated dynamic response data are analyzed for such nested or dependent relationships. In further embodiments, analysis of these relationships are used to improve prefetching operations to lower overall page load times.
H04L 67/02 - Protocoles basés sur la technologie du Web, p. ex. protocole de transfert hypertexte [HTTP]
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
Providing user access to a global computer network; Electronic data transmission; Electronic transmission of data and documents via computer terminals and electronic devices; Providing user access to computer programmes in data networks; Telecommunications services for providing multiple-user access to a global computer network; Providing private and secure real time electronic communication over a computer network; Providing user access to global computer networks; Streaming of audio, visual, text, video and audiovisual material on the Internet
Providing user access to a global computer network; Electronic data transmission; Electronic transmission of data and documents via computer terminals and electronic devices; Providing user access to computer programmes in data networks; Telecommunications services for providing multiple-user access to a global computer network; Providing private and secure real time electronic communication over a computer network; Providing user access to global computer networks; Streaming of audio, visual, text, video and audiovisual material on the Internet
09 - Appareils et instruments scientifiques et électriques
38 - Services de télécommunications
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
(1) Downloadable computer software for providing content delivery network (CDN) services that accelerate, optimize, stream and organize third party web content for optimized flow to end users; downloadable computer software for providing access to a global computer network, delivering third party web content, and streaming multimedia content; downloadable computer software for monitoring, optimizing, and controlling online traffic to computer servers, providing http proxy services, content delivery network (CDN) services, network traffic load balancing services, web acceleration services, hinting services, real-user monitoring services, secure tunneling network services, and cloud storage services for electronic data via virtual and non-virtual servers to others; downloadable computer software for web content filtering, video adaptation, transmission control protocol (TCP) optimization, web optimization, mobile content delivery networks (CDN) capability and interoperability and enterprise tunneling through servers and cloud networks. (1) Providing user access to a global computer network; electronic data transmission; electronic transmission of data and documents via computer terminals and electronic devices; providing user access to computer programmes in data networks; telecommunications services for providing multiple-user access to a global computer network; providing private and secure real time electronic communication over a computer network; streaming of audio, visual, text, video and audiovisual material on the internet.
(2) Software as a service (SAAS) services featuring software for providing content delivery network (CDN) services that accelerate, optimize, stream and organize third party web content for optimized flow to end users; software as a service (SAAS) services featuring software for monitoring, optimizing, and controlling online traffic to computer servers, providing http proxy services, content delivery network (CDN) services, network traffic load balancing services, web acceleration services, hinting services, real-user monitoring services, secure tunneling network services, and cloud storage services for electronic data via virtual and non-virtual servers to others; software as a service (SAAS) services featuring software for web content filtering, video adaptation, transmission control protocol (TCP) optimization, web optimization, mobile content delivery networks (CDN) capability and interoperability and enterprise tunneling through servers and cloud networks; computer services, namely, monitoring, testing, analyzing, and reporting on the Internet traffic control and content control of the web sites of others; technical consulting services in the fields of datacenter architecture, public and private cloud computing solutions, and evaluation and implementation of internet technology and services; technology advisory services related to web infrastructure.
09 - Appareils et instruments scientifiques et électriques
38 - Services de télécommunications
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
(1) Downloadable computer software for providing content delivery network (CDN) services that accelerate, optimize, stream and organize third party web content for optimized flow to end users; downloadable computer software for providing access to a global computer network, delivering third party web content, and streaming multimedia content; downloadable computer software for monitoring, optimizing, and controlling online traffic to computer servers, providing http proxy services, content delivery network (CDN) services, network traffic load balancing services, web acceleration services, hinting services, real-user monitoring services, secure tunneling network services, and cloud storage services for electronic data via virtual and non-virtual servers to others; downloadable computer software for web content filtering, video adaptation, transmission control protocol (TCP) optimization, web optimization, mobile content delivery networks (CDN) capability and interoperability and enterprise tunneling through servers and cloud networks. (1) Providing user access to a global computer network; electronic data transmission; electronic transmission of data and documents via computer terminals and electronic devices; providing user access to computer programmes in data networks; telecommunications services for providing multiple-user access to a global computer network; providing private and secure real time electronic communication over a computer network; providing user access to global computer networks; streaming of audio, visual, text, video and audiovisual material on the internet.
(2) Software as a service (SAAS) services featuring software for providing content delivery network (CDN) services that accelerate, optimize, stream and organize third party web content for optimized flow to end users; software as a service (SAAS) services featuring software for monitoring, optimizing, and controlling online traffic to computer servers, providing http proxy services, content delivery network (CDN) services, network traffic load balancing services, web acceleration services, hinting services, real-user monitoring services, secure tunneling network services, and cloud storage services for electronic data via virtual and non-virtual servers to others; software as a service (SAAS) services featuring software for web content filtering, video adaptation, transmission control protocol (TCP) optimization, web optimization, mobile content delivery networks (CDN) capability and interoperability and enterprise tunneling through servers and cloud networks; computer services, namely, monitoring, testing, analyzing, and reporting on the Internet traffic control and content control of the web sites of others; technology advisory services related to web infrastructure; technical consulting services in the fields of datacenter architecture, public and private cloud computing solutions, and evaluation and implementation of internet technology and services.
09 - Appareils et instruments scientifiques et électriques
38 - Services de télécommunications
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for providing content delivery network (CDN) services that accelerate, optimize, stream and organize third party web content for optimized flow to end users; Downloadable computer software for providing access to a global computer network, delivering third party web content, and streaming multimedia content; Downloadable computer software for monitoring, optimizing, and controlling online traffic to computer servers, providing http proxy services, content delivery network (CDN) services, network traffic load balancing services, web acceleration services, hinting services, real-user monitoring services, secure tunneling network services, and cloud storage services for electronic data via virtual and non-virtual servers to others; Downloadable computer software for web content filtering, video adaptation, transmission control protocol (TCP) optimization, web optimization, mobile content delivery networks (CDN) capability and interoperability and enterprise tunneling through servers and cloud networks Providing user access to a global computer network; Electronic data transmission; Electronic transmission of data and documents via computer terminals and electronic devices; Providing user access to computer programmes in data networks; Telecommunications services for providing multiple-user access to a global computer network; Providing private and secure real time electronic communication over a computer network; Streaming of audio, visual, text, video and audiovisual material on the Internet Software as a service (SAAS) services featuring software for providing content delivery network (CDN) services that accelerate, optimize, stream and organize third party web content for optimized flow to end users; Software as a service (SAAS) services featuring software for monitoring, optimizing, and controlling online traffic to computer servers, providing http proxy services, content delivery network (CDN) services, network traffic load balancing services, web acceleration services, hinting services, real-user monitoring services, secure tunneling network services, and cloud storage services for electronic data via virtual and non-virtual servers to others; Software as a service (SAAS) services featuring software for web content filtering, video adaptation, transmission control protocol (TCP) optimization, web optimization, mobile content delivery networks (CDN) capability and interoperability and enterprise tunneling through servers and cloud networks; Computer services, namely, monitoring, testing, analyzing, and reporting on the Internet traffic control and content control of the web sites of others; Technical consulting services in the fields of datacenter architecture, public and private cloud computing solutions, and evaluation and implementation of internet technology and services; Technology advisory services related to web infrastructure
12.
SYSTEMS, METHODS, AND APPARATUSES FOR IDENTIFYING SIGNIFICANT WEBPAGE EVENTS AND TUNING WEB BROWSER HINTS
Webpage performance is optimized with techniques that identify essential resources needed for rendering significant events and optimizing hints for the essential resources.
Web page loading may be improved by leveraging structural similarities across pages within a domain. Web pages are categorized into page types, and representative samples are analyzed to identify common and unique blocking resources. Real user monitoring data is used to refine these resource lists. When a page is requested, predicted blocking resources are used to generate optimization hints, improving loading performance and scalability for large websites.
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
14.
SCALING LEARNING OF RENDERING HINTS FOR A DOMAIN COMPRISING NUMEROUS WEB PAGES
Web page loading may be improved by leveraging structural similarities across pages within a domain. Web pages are categorized into page types, and representative samples are analyzed to identify common and unique blocking resources. Real user monitoring data is used to refine these resource lists. When a page is requested, predicted blocking resources are used to generate optimization hints, improving loading performance and scalability for large websites.
The present disclosure relates to prefetching dynamic URLs. For example, one disclosed method includes the steps of receiving breadcrumb information from a first client device, the breadcrumb information comprising a dynamic URL, a dynamically-generated value, and an indication of a method of generating the dynamically-generated value; determining a template for the dynamic URL based on the dynamically-generated value and the method of generating the dynamically-generated value; receiving a request for a hint for the URL; and in response to receiving the request for the hint from a second client device, transmitting the template for the dynamic URL to the second client device.
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
09 - Appareils et instruments scientifiques et électriques
38 - Services de télécommunications
42 - Services scientifiques, technologiques et industriels, recherche et conception
Produits et services
Downloadable computer software for providing content delivery network (CDN) services that accelerate, optimize, stream and organize third party web content for optimized flow to end users; Downloadable computer software for providing access to a global computer network, delivering third party web content, and streaming multimedia content; Downloadable computer software for monitoring, optimizing, and controlling online traffic to computer servers, providing http proxy services, content delivery network (CDN) services, network traffic load balancing services, web acceleration services, hinting services, real-user monitoring services, secure tunneling network services, and cloud storage services for electronic data via virtual and non-virtual servers to others; Downloadable computer software for web content filtering, video adaptation, transmission control protocol (TCP) optimization, web optimization, mobile content delivery networks (CDN) capability and interoperability and enterprise tunneling through servers and cloud networks Providing user access to a global computer network; Electronic data transmission; Electronic transmission of data and documents via computer terminals and electronic devices; Providing user access to computer programmes in data networks; Telecommunications services for providing multiple-user access to a global computer network; Providing private and secure real time electronic communication over a computer network; Providing user access to global computer networks; Streaming of audio, visual, text, video and audiovisual material on the Internet Software as a service (SAAS) services featuring software for providing content delivery network (CDN) services that accelerate, optimize, stream and organize third party web content for optimized flow to end users; Software as a service (SAAS) services featuring software for monitoring, optimizing, and controlling online traffic to computer servers, providing http proxy services, content delivery network (CDN) services, network traffic load balancing services, web acceleration services, hinting services, real-user monitoring services, secure tunneling network services, and cloud storage services for electronic data via virtual and non-virtual servers to others; Software as a service (SAAS) services featuring software for web content filtering, video adaptation, transmission control protocol (TCP) optimization, web optimization, mobile content delivery networks (CDN) capability and interoperability and enterprise tunneling through servers and cloud networks; Computer services, namely, monitoring, testing, analyzing, and reporting on the Internet traffic control and content control of the web sites of others; Technology advisory services related to web infrastructure; Technical consulting services in the fields of datacenter architecture, public and private cloud computing solutions, and evaluation and implementation of internet technology and services
The present invention relates to systems, apparatus, and methods of using usage data to determine the dependency structures of a web application, including dependency structures between follow-on objects of an initial object in a web transaction. In one embodiment, an input URL and associated dynamic response data are analyzed for such nested or dependent relationships. In further embodiments, analysis of these relationships are used to improve prefetching operations to lower overall page load times.
H04L 67/02 - Protocoles basés sur la technologie du Web, p. ex. protocole de transfert hypertexte [HTTP]
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
Embodiments seek to protect privacy of potentially sensitive client resources in web transactions using crowd-disambiguation. Crowd-disambiguation machines can aggregate information about resources from multiple clients as resource fingerprints, and can use the fingerprints to provide crowd-sourced services in a privacy-protected manner. For example, embodiments can communicate a resource fingerprint as a fully ambiguated resource instance (FARI) and a partially disambiguated resource instance (PDRI). When one (or few) clients communicates the resource fingerprint, the identity of the resource remains obfuscated from the crowd-disambiguation machine. As more clients communicate fingerprints for the same resource (e.g., identified by the matching FARIs), respective, differently generated PDRIs of those fingerprints enable the crowd-disambiguation machine to resolve further portions of the resource, ultimately permitting the resource to be revealed and considered non-private (e.g., for use in hint generation or other crowd-sourced services).
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p. ex. par clés ou règles de contrôle de l’accès
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
H04L 9/06 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p. ex. système DES
H04L 47/70 - Contrôle d'admissionAllocation des ressources
H04L 47/83 - Contrôle d'admissionAllocation des ressources basée sur la prédiction d'utilisation
Once resolved, a random-value universal resource locator (RV-URL) identifies a resource on a host server and constitutes an instruction to a local device executing a network transaction to fetch the resource. Embodiments of the invention resolve and pre-fetch an RV-URL from a remote host server and then pre-position, on a client-side of a communications link to the remote server, both resolution information indicating how the RV-URL was resolved and the pre-fetched resource. Later, when the client device is executing a network transaction and encounters an RV-URL, the client device determines whether resolution information for the RV-URL is locally stored. If so, the client device uses the resolution information to resolve the RV-URL to the same value that was used during pre-fetch. The client device then sends a request for the resolved RV-URL. The request is intercepted on the client-side of the communications link, where it is determined whether a locally cached pre-fetched resource corresponds to the intercepted request. If so, the locally cached pre-fetched resource is provided to the local device as a complete response to the request, which can then be discarded.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 67/60 - Ordonnancement ou organisation du service des demandes d'application, p. ex. demandes de transmission de données d'application en utilisant l'analyse et l'optimisation des ressources réseau requises
Embodiments seek to improve prefetch hinting using time-dependent, machine-generated hints. Some embodiments operate in context of client machines in communication hinting machines that can develop information about whether and how resources are used in network transactions over time by collecting “resource samples.” Each resource sample can identify rendering status information of a resource at a sample time. The time-based samples can be used to compute time-based probabilities for the resources, indicating, for example, the likelihood of a resource being used to render a web page at some subsequent time. Time-dependent hints can be generated as a function of the time-based probabilities, and the time-dependent hints can be used to improve prefetching by optimizing the hinting information with respect to a particular request time (e.g., the prefetching hints for rendering a web page can be generated in a manner that accounts for when the web page is being rendered).
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
G06F 16/951 - IndexationTechniques d’exploration du Web
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/958 - Organisation ou gestion de contenu de sites Web, p. ex. publication, conservation de pages ou liens automatiques
G06F 40/14 - Documents en configuration arborescente
A method of rendering a web page that includes: receiving, by a client computing device, a first hint identifying a first web object transaction for obtaining a first web object of a plurality of web objects of the web page; and initiating, by the client computing device, the first web object transaction to obtain the first web object. The method further includes: receiving, by the client computing device, the web page; and rendering, by the client computing device, the web page utilizing the first web object.
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
A method of loading a web page that includes: receiving, by a client computing device over a communications network, hint information that identifies a first plurality of child objects associated with a web page; prefetching, by the client computing device over the communications network, one or more of the first plurality of child objects identified in the hint information; and receiving, by the client computing device over the communications network, the web page, wherein the web page identifies a second plurality of child objects. The method further includes: loading, by the client computing device, the web page, the loading including: loading one or more of the second plurality of child objects that are prefetched child objects of the first plurality of child objects. The metho further includes fetching, over the communications network, and loading one or more of the second plurality of child objects that are non-prefetched child objects.
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
Methods, apparatuses, and systems for improving utilization of a communications system (e.g., a satellite communications system) are provided, using delayed reliability techniques as part of a multicast transport protocol. Embodiments may operate in a client-server context, in which the server-side of the communication link multicasts data to requesting users and to users where the data is being speculatively prepositioned. Requesting users may implement reliability checks to verify receipt of complete data in response to the request while user systems where data is being speculatively prepositioned may receive multicast reliability information in response to reliability requests from other users, but may not request replacement of missing or corrupted data themselves until a request is made for the data by that system.
H04L 1/08 - Dispositions pour détecter ou empêcher les erreurs dans l'information reçue par émission répétée, p. ex. système Verdan
H04L 12/18 - Dispositions pour la fourniture de services particuliers aux abonnés pour la diffusion ou les conférences
H04L 43/0823 - Erreurs, p. ex. erreurs de transmission
H04L 65/612 - Diffusion en flux de paquets multimédias pour la prise en charge des services de diffusion par flux unidirectionnel, p. ex. radio sur Internet pour monodiffusion [unicast]
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
H04N 21/24 - Surveillance de procédés ou de ressources, p. ex. surveillance de la charge du serveur, de la bande passante disponible ou des requêtes effectuées sur la voie montante
H04N 21/6375 - Signaux de commande émis par le client et dirigés vers les éléments du serveur ou du réseau pour demander une retransmission
In anticipation of a client device establishing a connection over a network with a remote host service, a pre-connect module generates a connection request (referred to herein as a “pre-connect request”) on behalf of the client device and sends the pre-connect request to the remote host server. The remote server responds with a connection response (referred to herein as a “pre-connect response”), which is pre-positioned on the client-side of the network along with information for generating a later connection request that is in material respects the same as the pre-connect request. Then, when the client device later seeks to establish a connection with the remote host server, the client device determines whether it has in local storage generation information for generating a connection request to the remote host server. If so, the client device uses the generation information to generate a connection request that is in material respects the same as the pre-connect request. An interceptor on the client-side of the network intercepts connection requests and determines whether a corresponding pre-connect response is locally stored. If so, the interceptor sends the locally stored pre-connect response as a complete response to the intercepted request, which can be discarded.
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
25.
Accelerating hint information in web page transactions
Accelerating hint information in web page transactions is described. A root request is observed as part of a web page transaction and hint information is retrieved responsive to observing the root request. The hint information includes child object identifiers associated with the root object for the client system to prefetch prior to loading the root object. Prior to observing a response to the root request, the hint information is provided to the client system.
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
Embodiments seek to improve prefetch hinting using time-dependent, machine-generated hints. Some embodiments operate in context of client machines in communication hinting machines that can develop information about whether and how resources are used in network transactions over time by collecting “resource samples.” Each resource sample can identify rendering status information of a resource at a sample time. The time-based samples can be used to compute time-based probabilities for the resources, indicating, for example, the likelihood of a resource being used to render a web page at some subsequent time. Time-dependent hints can be generated as a function of the time-based probabilities, and the time-dependent hints can be used to improve prefetching by optimizing the hinting information with respect to a particular request time (e.g., the prefetching hints for rendering a web page can be generated in a manner that accounts for when the web page is being rendered).
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
G06F 16/951 - IndexationTechniques d’exploration du Web
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/958 - Organisation ou gestion de contenu de sites Web, p. ex. publication, conservation de pages ou liens automatiques
G06F 40/14 - Documents en configuration arborescente
The present invention relates to systems, apparatus, and methods of using usage data to determine the dependency structures of a web application, including dependency structures between follow-on objects of an initial object in a web transaction. In one embodiment, an input URL and associated dynamic response data are analyzed for such nested or dependent relationships. In further embodiments, analysis of these relationships are used to improve prefetching operations to lower overall page load times.
H04L 67/02 - Protocoles basés sur la technologie du Web, p. ex. protocole de transfert hypertexte [HTTP]
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
Embodiments seek to improve web page loading time using server-machine-driven hint generation for based on client-machine-driven feedback. For example, client computers having page renderers are in communication with content servers and hinting processors. The hinting processors can use hinting feedback from multiple page rendering instances to automatically generate hints for optimizing loading and/or rendering of those pages. In some implementations, in response to page requests from the page renderers, content servers can request hints from hinting processors and send those hints to the requesting page renderers for use in improving the page loading experience. In other implementations, in response to page requests from the page renderers, content servers can instruct the requesting page renderers to contact an appropriate hinting processor and to retrieve appropriate hints therefrom for use in improving the page loading experience.
Embodiments seek to protect privacy of potentially sensitive client resources in web transactions using crowd-disambiguation. Crowd-disambiguation machines can aggregate information about resources from multiple clients as resource fingerprints, and can use the fingerprints to provide crowd-sourced services in a privacy-protected manner. For example, embodiments can communicate a resource fingerprint as a fully ambiguated resource instance (FARI) and a partially disambiguated resource instance (PDRI). When one (or few) clients communicates the resource fingerprint, the identity of the resource remains obfuscated from the crowd-disambiguation machine. As more clients communicate fingerprints for the same resource (e.g., identified by the matching FARIs), respective, differently generated PDRIs of those fingerprints enable the crowd-disambiguation machine to resolve further portions of the resource, ultimately permitting the resource to be revealed and considered non-private (e.g., for use in hint generation or other crowd-sourced services).
H04L 9/06 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p. ex. système DES
H04L 47/70 - Contrôle d'admissionAllocation des ressources
The present invention relates to systems, apparatus, and methods of accelerating web transactions. One embodiment includes observing, with a web browser plug-in operating on a computer, at least a portion of a first web page transaction in a web browser operating on the computer. A web browser module may be used to identify transaction information from the observing of the at least a portion of the first web page transaction. The browser may communicate transaction information to a prefetching system in a communication separate from the first web page transaction; and the transaction information may be used to perform a prefetch operation.
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
Methods, apparatuses, and systems for improving utilization of a communications system (e.g., a satellite communications system) are provided, using delayed reliability techniques as part of a multicast transport protocol. Embodiments may operate in a client-server context, in which the server-side of the communication link multicasts data to requesting users and to users where the data is being speculatively prepositioned. Requesting users may implement reliability checks to verify receipt of complete data in response to the request while user systems where data is being speculatively prepositioned may receive multicast reliability information in response to reliability requests from other users, but may not request replacement of missing or corrupted data themselves until a request is made for the data by that system.
H04L 1/08 - Dispositions pour détecter ou empêcher les erreurs dans l'information reçue par émission répétée, p. ex. système Verdan
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
H04L 12/18 - Dispositions pour la fourniture de services particuliers aux abonnés pour la diffusion ou les conférences
H04N 21/6375 - Signaux de commande émis par le client et dirigés vers les éléments du serveur ou du réseau pour demander une retransmission
H04N 21/835 - Génération de données de protection, p. ex. certificats
H04L 65/612 - Diffusion en flux de paquets multimédias pour la prise en charge des services de diffusion par flux unidirectionnel, p. ex. radio sur Internet pour monodiffusion [unicast]
H04N 21/24 - Surveillance de procédés ou de ressources, p. ex. surveillance de la charge du serveur, de la bande passante disponible ou des requêtes effectuées sur la voie montante
H04L 43/0823 - Erreurs, p. ex. erreurs de transmission
The present invention relates to systems, apparatus, and methods of using usage data to determine the dependency structures of a web application, including dependency structures between follow-on objects of an initial object in a web transaction. In one embodiment, an input URL and associated dynamic response data are analyzed for such nested or dependent relationships. In further embodiments, analysis of these relationships are used to improve prefetching operations to lower overall page load times.
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
H04L 67/02 - Protocoles basés sur la technologie du Web, p. ex. protocole de transfert hypertexte [HTTP]
H04L 67/568 - Stockage temporaire des données à un stade intermédiaire, p. ex. par mise en antémémoire
H04L 67/563 - Redirection de flux de réseau de données
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
H04L 67/5682 - Politiques ou règles de mise à jour, de suppression ou de remplacement des données stockées
The present invention relates to systems, apparatus, and methods of accelerating web transactions. One embodiment includes observing, with a web browser plug-in operating on a computer, at least a portion of a first web page transaction in a web browser operating on the computer. A web browser module may be used to identify transaction information from the observing of the at least a portion of the first web page transaction. The browser may communicates transaction information to a prefetching system in a communication separate from the first web page transaction; and the transaction information may be used to perform a prefetch operation.
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
34.
Browser optimization through user history analysis
The present invention relates to systems, apparatus, and methods of using real user history data to improve prefetching for a web page transaction. In one potential embodiment a method includes a proxy server observing a first web page transaction that has a first root HTTP request, a first root HTTP response, at least one child HTTP request, and at least one child HTTP response. The server may then extract a parameter from the web page transaction and correlating the parameter with the child HTTP request. In a later web page transaction, the parameter may be used to predict the child HTTP being requested even when the web page transactions are different.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
35.
Faster web browsing using HTTP over an aggregated TCP transport
The present invention relates to systems, apparatus, and methods of using connection models to optimize web page transactions. In certain embodiments, latency and download speed data may be associated with a unique identifier for a connection to create a model, and this information may be used to assign certain objects that are part of a web page transaction to certain connections based on the connection model for each connection. In further potential embodiments, dependency structures in a web transaction may further be identified and used with connection models to optimize web page transactions.
Embodiments seek to improve web page loading time using server-machine-driven hint generation for based on client-machine-driven feedback. For example, client computers having page renderers are in communication with content servers and hinting processors. The hinting processors can use hinting feedback from multiple page rendering instances to automatically generate hints for optimizing loading and/or rendering of those pages. In some implementations, in response to page requests from the page renderers, content servers can request hints from hinting processors and send those hints to the requesting page renderers for use in improving the page loading experience. In other implementations, in response to page requests from the page renderers, content servers can instruct the requesting page renderers to contact an appropriate hinting processor and to retrieve appropriate hints therefrom for use in improving the page loading experience.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
37.
Utilizing page information regarding a prior loading of a web page to generate hinting information for improving load time of a future loading of the web page
Embodiments of the invention include methods in which a browsing assistance module receives page information regarding a prior loading of a web page by a first web browser. The first web browser can be one of a plurality of web browsers in communication with the browsing assistance module. The page information can identify child universal resource locators (URLs) fetched by the first web browser as part of the prior loading of the web page. The browsing assistance module can then generate hinting information from the page information. The hinting information can comprise page loading instructions, which can aid the web browsers shorten a load time of a future loading of the web page. The hinting information can be stored in association with an identification of the web page. The web browsers can download the hinting information in conjunction with a future loading of the web page or a related web page by the web browsers.
The present invention relates to systems, apparatus, and methods of scanning a response to a first HTTP request for a web page in order to identify a web object for prefetching, and using a static tracker to identify and improve results. In one potential alternative embodiment, after a response is scanned a web object may be prefetched to a proxy server prior to a browser requesting the web object. The proxy server may observe one or more HTTP requests that are associated with the response to the first HTTP request for the web page and measure the success of the prefetching. After success is measured for the specific instance of the web object and the web page, a success rate for prefetching or not prefetching the web object as associated with the web page may be updated.
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
H04L 12/26 - Dispositions de surveillance; Dispositions de test
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
G06F 16/951 - IndexationTechniques d’exploration du Web
39.
Machine-driven crowd-disambiguation of data resources
Embodiments seek to protect privacy of potentially sensitive client resources in web transactions using crowd-disambiguation. Crowd-disambiguation machines can aggregate information about resources from multiple clients as resource fingerprints, and can use the fingerprints to provide crowd-sourced services in a privacy-protected manner. For example, embodiments can communicate a resource fingerprint as a fully ambiguated resource instance (FARI) and a partially disambiguated resource instance (PDRI). When one (or few) clients communicates the resource fingerprint, the identity of the resource remains obfuscated from the crowd-disambiguation machine. As more clients communicate fingerprints for the same resource (e.g., identified by the matching FARIs), respective, differently generated PDRIs of those fingerprints enable the crowd-disambiguation machine to resolve further portions of the resource, ultimately permitting the resource to be revealed and considered non-private (e.g., for use in hint generation or other crowd-sourced services).
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p. ex. par clés ou règles de contrôle de l’accès
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 9/06 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p. ex. système DES
H04L 12/911 - Contrôle d’admission au réseau et allocation de ressources, p.ex. allocation de bande passante ou renégociation en cours de communication
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
40.
Hint model updating using automated browsing clusters
Embodiments seek to improve prefetch hinting by using automated browsing clusters to generate and update hinting models used for machine-generated hints. For example, hinting machines can include browsing clusters that autonomously fetch web pages in response to update triggers (e.g., client web page requests, scheduled web crawling, etc.) and generate timing and/or other hinting-related feedback relating to which resources were used to load the fetched web pages. The hinting machines can use the hinting feedback to generate and/or update hinting models, which can be used for machine-generation of hints. Some embodiments can provide preliminary hinting functionality in response to client hinting requests, for example, when hinting models for a requested page are insufficient (e.g., unavailable, outdated, etc.). For example, without having a sufficient hinting model in place, the hinting machine can fetch the page to generate preliminary hinting feedback, which it can use to machine-generate preliminary hints.
G06F 16/954 - Navigation, p. ex. en utilisant la navigation par catégories
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
The present invention relates to systems, apparatus, and methods for improving web transactions using cache hints. In various embodiments, cache hints may be information for optimizing and extending the use of cached objects based on web transaction information from system users. This may enable indirect updates to caching directives, and may allow a proxy to respond to If-None-Match or If-Modified-Since requests using information from cache hints instead of prefetched information from a content provider.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
42.
Assisted browsing using page load feedback information and hinting functionality
The present application relates to systems, apparatus, and methods of accelerating web transactions. One embodiment includes a method including observing at least a portion of a web page transaction between a computer system and a content server, the web page transaction comprising: a root request for a root web resource, a root response, and at least one child request for a child resource; identifying feedback information based on the observing; communicating the feedback information to a browser assistance server in a communication separate from the web page transaction; transmitting, to the browser assistance server, information regarding a target web page associated with the web page transaction; receiving hint information from the browser assistance server in response to transmitting the information regarding the target web page, the hint information based on the feedback information; and performing a prefetch operation using the hint information.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
43.
Faster web browsing using HTTP over an aggregated TCP transport
The present invention relates to systems, apparatus, and methods of using connection models to optimize web page transactions. In certain embodiments, latency and download speed data may be associated with a unique identifier for a connection to create a model, and this information may be used to assign certain objects that are part of a web page transaction to certain connections based on the connection model for each connection. In further potential embodiments, dependency structures in a web transaction may further be identified and used with connection models to optimize web page transactions.
The present invention relates to systems, apparatus, and methods of accelerating web transactions. One embodiment includes observing, with a web browser plug-in operating on a computer, at least a portion of a first web page transaction in a web browser operating on the computer. A web browser module may be used to identify transaction information from the observing of the at least a portion of the first web page transaction. The browser may communicates transaction information to a prefetching system in a communication separate from the first web page transaction; and the transaction information may be used to perform a prefetch operation.
G06F 15/167 - Communication entre processeurs utilisant une mémoire commune, p. ex. boîte aux lettres électronique
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
The present invention relates to systems, apparatus, and methods of scanning a response to a first HTTP request for a web page in order to identify a web object for prefetching, and using a static tracker to identify and improve results. In one potential alternative embodiment, after a response is scanned a web object may be prefetched to a proxy server prior to a browser requesting the web object. The proxy server may observe one or more HTTP requests that are associated with the response to the first HTTP request for the web page and measure the success of the prefetching. After success is measured for the specific instance of the web object and the web page, a success rate for prefetching or not prefetching the web object as associated with the web page may be updated.
In anticipation of a client device establishing a connection over a network with a remote host service, a pre-connect module generates a connection request (referred to herein as a “pre-connect request”) on behalf of the client device and sends the pre-connect request to the remote host server. The remote server responds with a connection response (referred to herein as a “pre-connect response”), which is pre-positioned on the client-side of the network along with information for generating a later connection request that is in material respects the same as the pre-connect request. Then, when the client device later seeks to establish a connection with the remote host server, the client device determines whether it has in local storage generation information for generating a connection request to the remote host server. If so, the client device uses the generation information to generate a connection request that is in material respects the same as the pre-connect request. An interceptor on the client-side of the network intercepts connection requests and determines whether a corresponding pre-connect response is locally stored. If so, the interceptor sends the locally stored pre-connect response as a complete response to the intercepted request, which can be discarded.
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
The present disclosure relates to prefetching dynamic URLs. For example, one disclosed method includes the steps of receiving breadcrumb information from a first client device, the breadcrumb information comprising a dynamic URL, a dynamically-generated value, and an indication of a method of generating the dynamically-generated value; determining a template for the dynamic URL based on the dynamically-generated value and the method of generating the dynamically-generated value; receiving a request for a hint for the URL; and in response to receiving the request for the hint from a second client device, transmitting the template for the dynamic URL to the second client device.
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
The present invention relates to systems, apparatus, and methods of using usage data to determine the dependency structures of a web application, including dependency structures between follow-on objects of an initial object in a web transaction. In one embodiment, an input URL and associated dynamic response data are analyzed for such nested or dependent relationships. In further embodiments, analysis of these relationships are used to improve prefetching operations to lower overall page load times.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
Methods, apparatuses, and systems for improving utilization of a communications system (e.g., a satellite communications system) are provided, using delayed reliability techniques as part of a multicast transport protocol. Embodiments may operate in a client-server context, in which the server-side of the communication link multicasts data to requesting users and to users where the data is being speculatively prepositioned. Requesting users may implement reliability checks to verify receipt of complete data in response to the request while user systems where data is being speculatively prepositioned may receive multicast reliability information in response to reliability requests from other users, but may not request replacement of missing or corrupted data themselves until a request is made for the data by that system.
H04N 21/24 - Surveillance de procédés ou de ressources, p. ex. surveillance de la charge du serveur, de la bande passante disponible ou des requêtes effectuées sur la voie montante
H04L 12/26 - Dispositions de surveillance; Dispositions de test
Embodiments seek to improve prefetch hinting using time-dependent, machine-generated hints. Some embodiments operate in context of client machines in communication hinting machines that can develop information about whether and how resources are used in network transactions over time by collecting “resource samples.” Each resource sample can identify rendering status information of a resource at a sample time. The time-based samples can be used to compute time-based probabilities for the resources, indicating, for example, the likelihood of a resource being used to render a web page at some subsequent time. Time-dependent hints can be generated as a function of the time-based probabilities, and the time-dependent hints can be used to improve prefetching by optimizing the hinting information with respect to a particular request time (e.g., the prefetching hints for rendering a web page can be generated in a manner that accounts for when the web page is being rendered).
G06F 16/951 - IndexationTechniques d’exploration du Web
G06F 40/14 - Documents en configuration arborescente
G06F 16/958 - Organisation ou gestion de contenu de sites Web, p. ex. publication, conservation de pages ou liens automatiques
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
51.
Hint model updating using automated browsing clusters
Embodiments seek to improve prefetch hinting by using automated browsing clusters to generate and update hinting models used for machine-generated hints. For example, hinting machines can include browsing clusters that autonomously fetch web pages in response to update triggers (e.g., client web page requests, scheduled web crawling, etc.) and generate timing and/or other hinting-related feedback relating to which resources were used to load the fetched web pages. The hinting machines can use the hinting feedback to generate and/or update hinting models, which can be used for machine-generation of hints. Some embodiments can provide preliminary hinting functionality in response to client hinting requests, for example, when hinting models for a requested page are insufficient (e.g., unavailable, outdated, etc.). For example, without having a sufficient hinting model in place, the hinting machine can fetch the page to generate preliminary hinting feedback, which it can use to machine-generate preliminary hints.
G06F 16/954 - Navigation, p. ex. en utilisant la navigation par catégories
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
52.
Machine-driven crowd-disambiguation of data resources
Embodiments use crowd disambiguation techniques to protect the privacy of potentially sensitive client resources in web transactions. Crowd disambiguation servers can aggregate information about resources, such as URLs, accessed by clients, in the form of resource fingerprints submitted by the clients. Said resource fingerprints can be used to provide crowd-sourced services in a privacy-protected manner. For example, in some embodiments a fingerprint of a URL visited by a client can be communicated to the server as both a fully ambiguated resource instance (FARI) and a partially disambiguated resource instance (PDRI). When only one client, or a limited number of clients, has communicated a certain resource fmgerprint, the underlying identity of the resource, in this case the URL, remains obfuscated from the crowd disambiguation server, which lacks sufficient information to reconstruct it. As more clients communicate fmgerprints for the same resource (as identified, for example, by the FARIs), the corresponding PDRIs, which are different from client to client, enable the crowd disambiguation server to gradually reconstruct further portions of the resource, ultimately permitting the entire resource to be reconstructed. In that case, the resource is considered non-private, and can be further used e.g., in hint generation or other crowd-sourced services.
G06F 21/00 - Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
G06F 21/62 - Protection de l’accès à des données via une plate-forme, p. ex. par clés ou règles de contrôle de l’accès
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 9/06 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité l'appareil de chiffrement utilisant des registres à décalage ou des mémoires pour le codage par blocs, p. ex. système DES
H04L 12/911 - Contrôle d’admission au réseau et allocation de ressources, p.ex. allocation de bande passante ou renégociation en cours de communication
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
53.
Acceleration of online certificate status checking with an internet hinting service
Examples for acceleration of online certificate status checking with an Internet hinting service are disclosed. For example, one method includes receiving, by a computing device from a hinting server, hint information comprising certificate information; receiving, from a remote computing device, a certificate in response to a request to establish secure communications with the remote computing device; and determining a validity of the certificate based on the certificate information.
H04L 9/32 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
Once resolved, a random-value universal resource locator (RV-URL) identifies a resource on a host server and constitutes an instruction to a local device executing a network transaction to fetch the resource. Embodiments of the invention resolve and pre-fetch an RV-URL from a remote host server and then pre-position, on a client-side of a communications link to the remote server, both resolution information indicating how the RV-URL was resolved and the pre-fetched resource. Later, when the client device is executing a network transaction and encounters an RV-URL, the client device determines whether resolution information for the RV-URL is locally stored. If so, the client device uses the resolution information to resolve the RV-URL to the same value that was used during pre-fetch. The client device then sends a request for the resolved RV-URL. The request is intercepted on the client-side of the communications link, where it is determined whether a locally cached pre-fetched resource corresponds to the intercepted request. If so, the locally cached pre-fetched resource is provided to the local device as a complete response to the request, which can then be discarded.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
The present invention relates to systems, apparatus, and methods of using usage data to determine the dependency structures of a web application, including dependency structures between follow-on objects of an initial object in a web transaction. In one embodiment, an input URL and associated dynamic response data are analyzed for such nested or dependent relationships. In further embodiments, analysis of these relationships are used to improve prefetching operations to lower overall page load times.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
56.
Methods and systems for implementing a cache model in a prefetching system
The present invention relates to systems and methods of enhancing prefetch operations. One potential method comprises fetching an object from a page on a web server. The method may further include storing, at a proxy server, caching instructions for the fetched object. The proxy server may be connected with the client and the object is cached at the client. Furthermore, the method may include identifying a prefetchable reference to the fetched object in a subsequent web page and using the caching instructions stored on the proxy server to determine if a fresh copy of the object will be requested by the client. Further, the method may include, based on the determination that the object will be requested, sending a prefetch request for the object using an If-Modified-Since directive, and transmitting a response to the If-Modified-Since directive prefetch request to a proxy client. The proxy client may then either serve the response to the client or a copy of the object stored at the proxy client, depending on the request for the object from the client.
In anticipation of a client device establishing a connection over a network with a remote host service, a pre-connect module generates a connection request (referred to herein as a "pre-connect request") on behalf of the client device and sends the pre-connect request to the remote host server. The remote server responds with a connection response (referred to herein as a "pre-connect response"), which is pre-positioned on the client-side of the network along with information for generating a later connection request that is in material respects the same as the pre-connect request. Then, when the client device later seeks to establish a connection with the remote host server, the client device determines whether it has in local storage generation information for generating a connection request to the remote host server. If so, the client device uses the generation information to generate a connection request that is in material respects the same as the pre-connect request. An interceptor on the client-side of the network intercepts connection requests and determines whether a corresponding pre-connect response is locally stored. If so, the interceptor sends the locally stored pre-connect response as a complete response to the intercepted request, which can be discarded.
H04L 12/12 - Dispositions pour la connexion ou la déconnexion à distance de sous-stations ou de leur équipement
H04L 12/16 - Dispositions pour la fourniture de services particuliers aux abonnés
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
H04L 67/141 - Configuration des sessions d'application
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
In anticipation of a client device establishing a connection over a network with a remote host service, a pre-connect module generates a connection request (referred to herein as a "pre-connect request") on behalf of the client device and sends the pre-connect request to the remote host server. The remote server responds with a connection response (referred to herein as a "pre-connect response"), which is pre-positioned on the client-side of the network along with information for generating a later connection request that is in material respects the same as the pre-connect request. Then, when the client device later seeks to establish a connection with the remote host server, the client device determines whether it has in local storage generation information for generating a connection request to the remote host server. If so, the client device uses the generation information to generate a connection request that is in material respects the same as the pre-connect request. An interceptor on the client-side of the network intercepts connection requests and determines whether a corresponding pre-connect response is locally stored. If so, the interceptor sends the locally stored pre-connect response as a complete response to the intercepted request, which can be discarded.
H04L 12/12 - Dispositions pour la connexion ou la déconnexion à distance de sous-stations ou de leur équipement
H04L 12/16 - Dispositions pour la fourniture de services particuliers aux abonnés
H04L 67/1097 - Protocoles dans lesquels une application est distribuée parmi les nœuds du réseau pour le stockage distribué de données dans des réseaux, p. ex. dispositions de transport pour le système de fichiers réseau [NFS], réseaux de stockage [SAN] ou stockage en réseau [NAS]
H04L 67/141 - Configuration des sessions d'application
H04L 67/5681 - Pré-extraction ou pré-livraison de données en fonction des caractéristiques du réseau
Embodiments seek to improve prefetch hinting using time-dependent, machine-generated hints. Some embodiments operate in context of client machines in communication hinting machines that can develop information about whether and how resources are used in network transactions over time by collecting "resource samples." Each resource sample can identify rendering status information of a resource at a sample time. The time-based samples can be used to compute time-based probabilities for the resources, indicating, for example, the likelihood of a resource being used to render a web page at some subsequent time. Time-dependent hints can be generated as a function of the time-based probabilities, and the time-dependent hints can be used to improve prefetching by optimizing the hinting information with respect to a particular request time (e.g., the prefetching hints for rendering a web page can be generated in a manner that accounts for when the web page is being rendered).
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
G06F 16/957 - Optimisation de la navigation, p. ex. mise en cache ou distillation de contenus
G06F 16/958 - Organisation ou gestion de contenu de sites Web, p. ex. publication, conservation de pages ou liens automatiques
The present invention relates to systems, apparatus, and methods of parsing a script within an HTML page. The method includes receiving a script object, where the script object includes text. The method further includes parsing the text of the script object for tokens and comparing the parsed tokens with a valid tokens list to determine locations within the text of the script object that include potential universal resource locators (URLs). The method includes parsing before and after the determined locations until complete URLs are constructed, and forwarding the complete URLs to a detector. The detector then determines whether the complete URLs are valid. The method then sends object retrieval requests to websites associated with the valid complete URLs.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
Embodiments seek to improve prefetch hinting by using automated browsing clusters to generate and update hinting models used for machine-generated hints. For example, hinting machines can include browsing clusters that autonomously fetch web pages in response to update triggers (e.g., client web page requests, scheduled web crawling, etc.) and generate timing and/or other hinting-related feedback relating to which resources were used to load the fetched web pages. The hinting machines can use the hinting feedback to generate and/or update hinting models, which can be used for machine-generation of hints. Some embodiments can provide preliminary hinting functionality in response to client hinting requests, for example, when hinting models for a requested page are insufficient (e.g., unavailable, outdated, etc.). For example, without having a sufficient hinting model in place, the hinting machine can fetch the page to generate preliminary hinting feedback, which it can use to machine-generate preliminary hints.
The present invention relates to systems, apparatus, and methods for improving web transactions using cache hints. In various embodiments, cache hints may be information for optimizing and extending the use of cached objects based on web transaction information from system users. This may enable indirect updates to caching directives, and may allow a proxy to respond to If-None-Match or If-Modified-Since requests using information from cache hints instead of prefetched information from a content provider.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
63.
ACCELERATION OF ONLINE CERTIFICATE STATUS CHECKING WITH AN INTERNET HINTING SERVICE
Examples for acceleration of online certificate status checking with an Internet hinting service are disclosed. For example, one method includes receiving, by a computing device from a hinting server, hint information comprising certificate information; receiving, from a remote computing device, a certificate in response to a request to establish secure communications with the remote computing device; and determining a validity of the certificate based on the certificate information.
H04L 9/32 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
Embodiments use crowd disambiguation techniques to protect the privacy of potentially sensitive client resources in web transactions. Crowd disambiguation servers can aggregate information about resources, such as URLs, accessed by clients, in the form of resource fingerprints submitted by the clients. Said resource fingerprints can be used to provide crowd-sourced services in a privacy-protected manner. For example, in some embodiments a fingerprint of a URL visited by a client can be communicated to the server as both a fully ambiguated resource instance (FARI) and a partially disambiguated resource instance (PDRI). When only one client, or a limited number of clients, has communicated a certain resource fingerprint, the underlying identity of the resource, in this case the URL, remains obfuscated from the crowd disambiguation server, which lacks sufficient information to reconstruct it. As more clients communicate fingerprints for the same resource (as identified, for example, by the FARIs), the corresponding PDRIs, which are different from client to client, enable the crowd disambiguation server to gradually reconstruct further portions of the resource, ultimately permitting the entire resource to be reconstructed. In that case, the resource is considered non-private, and can be further used e.g., in hint generation or other crowd-sourced services.
The present disclosure relates to prefetching dynamic URLs. For example, one disclosed method includes the steps of receiving breadcrumb information from a first client device, the breadcrumb information comprising a dynamic URL, a dynamically-generated value, and an indication of a method of generating the dynamically-generated value; determining a template for the dynamic URL based on the dynamically-generated value and the method of generating the dynamically-generated value; receiving a request for a hint for the URL; and in response to receiving the request for the hint from a second client device, transmitting the template for the dynamic URL to the second client device.
G06F 16/955 - Recherche dans le Web utilisant des identifiants d’information, p. ex. des localisateurs uniformisés de ressources [uniform resource locators - URL]
Embodiments described herein relate to systems and methods for local name resolution in network communications. Particular embodiments may enable a device resolution request to include a name that identifies the user device issuing the resolution request. A proxy server may accept the resolution request, and respond with a service internet protocol address that is customized to that user device, such that compatible user devices on the same local area network will each receive a different service IP address. When the proxy server receives traffic on a particular service IP address from a local area network, the proxy server may identify the compatible device even if a network address translation device has adjusted the requesting IP address for the device. Particular implementations may enable acceleration of HTTPS communications by the proxy server, or other such benefits.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/12 - Dispositions, appareils, circuits ou systèmes non couverts par un seul des groupes caractérisés par le terminal de données
The present invention relates to systems, apparatus, and methods of scanning a response to a first HTTP request for a web page in order to identify a web object for prefetching, and using a static tracker to identify and improve results. In one potential alternative embodiment, after a response is scanned a web object may be prefetched to a proxy server prior to a browser requesting the web object. The proxy server may observe one or more HTTP requests that are associated with the response to the first HTTP request for the web page and measure the success of the prefetching. After success is measured for the specific instance of the web object and the web page, a success rate for prefetching or not prefetching the web object as associated with the web page may be updated.
The present invention relates to systems, apparatus, and methods of using real user history data to improve prefetching for a web page transaction. In one potential embodiment a method includes a proxy server observing a first web page transaction that has a first root HTTP request, a first root HTTP response, at least one child HTTP request, and at least one child HTTP response. The server may then extract a parameter from the web page transaction and correlating the parameter with the child HTTP request. In a later web page transaction, the parameter may be used to predict the child HTTP being requested even when the web page transactions are different.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
The present invention relates to systems, apparatus, and methods of enhancing prefetcher functionality by scanning responses object requests. In certain embodiments, prefetching is improved by identifying references to container objects or sections of container objects at a proxy server. When URLs are identified as part of a container object, a prefetching determination or adjustment to a prefetching decision is made according to the identification of the reference for a subset of URLs identified by the reference to the container object. For example, prefetching of URLs located in cascading style sheet (CSS) files may be restricted to a subset of URLs which are identified by a CSS rule.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
The present invention relates to systems, apparatus, and methods of modeling a hierarchical object relationship in a hypertext mark-up language (HTML) context. In some embodiments, a probabilistic determination is made of parentage of content objects being requested over a communications system. In certain embodiments, the content objects are intercepted by a proxy server as part of a prefetching system. When parentage is uncertain, a system may identify a plurality of nodes that are potential parent/root nodes for the content object, associate a likelihood with each parent/root node, and establish a potential parent/root node as the parent for the purposes of a prefetching. Various embodiments use referrers where reliable, supplemented or supplanted by other techniques (e.g., “rootable” URL determinations) to model the object hierarchies and parent/root relationships.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
The present invention relates to systems, apparatus, and methods of parsing a script within an HTML page. The method includes receiving a script object, where the script object includes text. The method further includes parsing the text of the script object for tokens and comparing the parsed tokens with a valid tokens list to determine locations within the text of the script object that include potential universal resource locators (URLs). The method includes parsing before and after the determined locations until complete URLs are constructed, and forwarding the complete URLs to a detector. The detector then determines whether the complete URLs are valid. The method then sends object retrieval requests to websites associated with the valid complete URLs.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 17/22 - Manipulation ou enregistrement au moyen de codes, p.ex. dans une séquence de caractères de texte
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
A profile-based scheduler is disclosed. In other embodiments, the profile-based scheduler may profile previously accessed websites and/or FTP sites. In doing so, the profile may compile bandwidth requirements for all such profiled websites and/or FTP sites within a lookup table. When a website and/or FTP site is accessed, the profiler may grant the bandwidth associated with the website or FTP site within the lookup table. In some embodiments, the profiler may create entries not only based on websites and/or FTP sites but may also profile users, TCP connections, web browser configurations and/or web browser types.
Embodiments seek to improve web page loading time using server-machine-driven hint generation for based on client-machine-driven feedback. For example, client computers having page renderers are in communication with content servers and hinting processors. The hinting processors can use hinting feedback from multiple page rendering instances to automatically generate hints for optimizing loading and/or rendering of those pages. In some implementations, in response to page requests from the page renderers, content servers can request hints from hinting processors and send those hints to the requesting page renderers for use in improving the page loading experience. In other implementations, in response to page requests from the page renderers, content servers can instruct the requesting page renderers to contact an appropriate hinting processor and to retrieve appropriate hints therefrom for use in improving the page loading experience.
The present invention relates to systems, apparatus, and methods of accelerating web transactions. One embodiment includes observing, with a web browser plug-in operating on a computer, at least a portion of a first web page transaction in a web browser operating on the computer. A web browser module may be used to identify transaction information from the observing of the at least a portion of the first web page transaction. The browser may communicates transaction information to a prefetching system in a communication separate from the first web page transaction; and the transaction information may be used to perform a prefetch operation.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
The present invention relates to systems, apparatus, and methods of scanning a response to a first HTTP request for a web page in order to identify a web object for prefetching, and using a static tracker to identify and improve results. In one potential alternative embodiment, after a response is scanned a web object may be prefetched to a proxy server prior to a browser requesting the web object. The proxy server may observe one or more HTTP requests that are associated with the response to the first HTTP request for the web page and measure the success of the prefetching. After success is measured for the specific instance of the web object and the web page, a success rate for prefetching or not prefetching the web object as associated with the web page may be updated.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
The present invention relates to systems, apparatus, and methods of accelerating web transactions. One embodiment includes method of optimizing web browser page loads in a network communication system where a hint request is transmitted from a user computer to an optimization server based on a user browsing indicator associated with a root HTTP request, receiving, at the user computer, a set of hints associated with the root object in response to the transmission of the hint request, and modifying, using the user computer, a page load process involving the root object using the set of hints. Additional embodiments involve analyzing web page transactions using a browser plug in module to identify feedback information and prefetch web objects in conjunction with a smart manifest file or browsing hint information associated with the web page transaction.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04L 29/06 - Commande de la communication; Traitement de la communication caractérisés par un protocole
The present invention relates to systems, apparatus, and methods of enhancing prefecher functionality by scanning responses object requests. In certain embodiments, prefetching is improved by identifying references to container objects or sections of container objects at a proxy server. When URLs are identified as part of a container object, a prefetching determination or adjustment to a prefetching decision is made according to the identification of the reference for a subset of URLs identified by the reference to the container object. For example, prefetching of URLs located in cascading style sheet (CSS) files may be restricted to a subset of URLs which are identified by a CSS rule.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
Methods, apparatuses, and systems for improving utilization of a communications system (e.g., a satellite communications system) are provided, using delayed reliability techniques as part of a multicast transport protocol. Embodiments may operate in a client-server context, in which the server-side of the communication link multicasts data to requesting users and to users where the data is being speculatively prepositioned. Requesting users may implement reliability checks to verify receipt of complete data in response to the request while user systems where data is being speculatively prepositioned may receive multicast reliability information in response to reliability requests from other users, but may not request replacement of missing or corrupted data themselves until a request is made for the data by that system.
H04L 1/08 - Dispositions pour détecter ou empêcher les erreurs dans l'information reçue par émission répétée, p. ex. système Verdan
H04L 12/18 - Dispositions pour la fourniture de services particuliers aux abonnés pour la diffusion ou les conférences
H04N 21/24 - Surveillance de procédés ou de ressources, p. ex. surveillance de la charge du serveur, de la bande passante disponible ou des requêtes effectuées sur la voie montante
H04N 21/6375 - Signaux de commande émis par le client et dirigés vers les éléments du serveur ou du réseau pour demander une retransmission
Systems and methods are described for event-driven predictive scheduling of a return link of a communications system. Embodiments detect an event (e.g., a packet) on a forward link that may indicate future usage of the return link. The event is then associated with an event model that characterizes the event, and the event model is further associated with a predictive model. Scheduling of the return link is implemented and/or adjusted according to the predictive model. For example, return link allocations are adjusted by one or more amounts (e.g., one or more grants are allocated or bandwidth is adjusted by a certain amount) and at one or more designated timing offsets according to the predictive model. According to various embodiments, the predictive model is generated by tracking feedback from the return link and/or by scanning packets on the forward link.
The present invention relates to systems, apparatus, and methods of parsing a script within an HTML page. The method includes receiving a script object, where the script object includes text. The method further includes parsing the text of the script object for tokens and comparing the parsed tokens with a valid tokens list to determine locations within the text of the script object that include potential universal resource locators (URLs). The method includes parsing before and after the determined locations until complete URLs are constructed, and forwarding the complete URLs to a detector. The detector then determines whether the complete URLs are valid. The method then sends object retrieval requests to websites associated with the valid complete URLs.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 17/22 - Manipulation ou enregistrement au moyen de codes, p.ex. dans une séquence de caractères de texte
H04L 9/32 - Dispositions pour les communications secrètes ou protégéesProtocoles réseaux de sécurité comprenant des moyens pour vérifier l'identité ou l'autorisation d'un utilisateur du système
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
The present invention relates to systems, apparatus, and methods of utilizing delta coding in acceleration proxy servers. The method including storing, at a proxy server, a plurality of dictionary pages within a page storage disk and indexing, at the proxy server, the plurality of dictionary pages with fingerprint identifiers. The fingerprint identifiers are configured to uniquely identify data strings within each of the plurality of dictionary pages. The method further includes receiving, at the proxy server, a data request. The request includes a plurality of fingerprints associated with the requested data.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 17/00 - Équipement ou méthodes de traitement de données ou de calcul numérique, spécialement adaptés à des fonctions spécifiques
82.
Optimizer-to-link layer interface using dynamic buffering
Systems and methods are described for communicating overhead data in a way that complies with applicable protocols while using return-link bandwidth more efficiently, for example, by providing a shared memory at an interface between lower layers and higher layers of a protocol stack. In one exemplary configuration, a shared dynamic buffer is provided at the interface between a closely coupled client optimizer and link layer of a user system. For example, the dynamic buffer is used to supplement or replace the FIFO queue typically at the interface between Layers 2 and 3 of the OSI protocol stack for the TCP protocol. The client optimizer continually and efficiently maintains current status data in the shared memory (e.g., ACK or NACK data, FEC data, partial packets, etc.). This status data can be uploaded by the link layer according to upload bandwidth allowances granted by a protocol partner.
The present invention relates to systems and methods of enhancing prefetch operations. One potential method comprises fetching an object from a page on a web server. The method may further include storing, at a proxy server, caching instructions for the fetched object. The proxy server may be connected with the client and the object is cached at the client. Furthermore, the method may include identifying a prefetchable reference to the fetched object in a subsequent web page and using the caching instructions stored on the proxy server to determine if a fresh copy of the object will be requested by the client. Further, the method may include, based on the determination that the object will be requested, sending a prefetch request for the object using an If-Modified-Since directive, and transmitting a response to the If-Modified-Since directive prefetch request to a proxy client. The proxy client may then either serve the response to the client or a copy of the object stored at the proxy client, depending on the request for the object from the client.
Methods, apparatuses, and systems for improving utilization of a communications system (e.g., a satellite communications system) are provided, using delayed reliability techniques as part of a multicast transport protocol. Embodiments may operate in a client-server context, in which the server-side of the communication link multicasts data to requesting users and to users where the data is being speculatively prepositioned. Requesting users may implement reliability checks to verify receipt of complete data in response to the request while user systems where data is being speculatively prepositioned may receive multicast reliability information in response to reliability requests from other users, but may not request replacement of missing or corrupted data themselves until a request is made for the data by that system.
H04L 12/28 - Réseaux de données à commutation caractérisés par la configuration des liaisons, p. ex. réseaux locaux [LAN Local Area Networks] ou réseaux étendus [WAN Wide Area Networks]
H04N 21/835 - Génération de données de protection, p. ex. certificats
H04N 21/6375 - Signaux de commande émis par le client et dirigés vers les éléments du serveur ou du réseau pour demander une retransmission
H04N 21/24 - Surveillance de procédés ou de ressources, p. ex. surveillance de la charge du serveur, de la bande passante disponible ou des requêtes effectuées sur la voie montante
Systems and methods are described for accelerating a user experience involving transactions with a remote file server by identifying and prefetching simple message block (SMB) requests. Embodiments exploit applications' usage of certain SMB request offset value patterns to reliably prefetch SMB requests. Requests from a user to a remote file server are intercepted by a proxy server disposed in the communications network relatively local to the file server. When a known SMB request offset value is detected and other conditions are met, a set of other SMB request offset values is prefetched by the proxy server according to a predetermined pattern. These prefetched requests may be sent, along with the original request, in a single transaction over the communications link from the proxy server to the requesting user (e.g., via a proxy client associated with the requesting user).
G06F 15/167 - Communication entre processeurs utilisant une mémoire commune, p. ex. boîte aux lettres électronique
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 15/173 - Communication entre processeurs utilisant un réseau d'interconnexion, p. ex. matriciel, de réarrangement, pyramidal, en étoile ou ramifié
G06F 15/177 - Commande d'initialisation ou de configuration
86.
Methods and systems for utilizing delta coding in acceleration proxy servers
The present invention relates to systems, apparatus, and methods of utilizing delta coding in acceleration proxy servers. The method including storing, at a proxy server, a plurality of dictionary pages within a page storage disk and indexing, at the proxy server, the plurality of dictionary pages with fingerprint identifiers. The fingerprint identifiers are configured to uniquely identify data strings within each of the plurality of dictionary pages. The method further includes receiving, at the proxy server, a data request. The request includes a plurality of fingerprints associated with the requested data.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 17/00 - Équipement ou méthodes de traitement de données ou de calcul numérique, spécialement adaptés à des fonctions spécifiques
87.
Network accelerator for controlled long delay links
A communication system for providing network access over a shared communication link is disclosed. The communication system includes a user access point, a network access point and a communications link. The user access point is coupled to one or more user terminals that access a remote network. The network access point is coupled to the remote network. The communications link couples the user access point and the network access point. The communications link is at last partially controlled by the network access point, which monitors information passed between the remote network and the user access point to create an estimate of future usage of the communications link by the user access point based on the information. The network access point allocates communications link resources for the user access point based on the estimate.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
H04N 7/20 - Adaptations pour la transmission sur une bande de fréquence du domaine des GHz, p. ex. par satellite
Methods and systems for implementing acceleration through a packet encapsulation protocol tunnel, are described. The method includes establishing a packet encapsulation protocol tunnel between a first network endpoint and a second network endpoint, sending packets with a packet encapsulation protocol tunnel header from the first network endpoint to the second network endpoint, and removing the packet encapsulation protocol tunnel headers from the packets. The method further includes storing the packet encapsulation protocol tunnel headers in a storage memory, performing acceleration on the packets, and retrieving the packet encapsulation protocol tunnel headers from the storage memory. Further, the method includes replacing the packet encapsulation protocol tunnel headers on the packets, and sending the packets with the packet encapsulation protocol tunnel headers through the packet encapsulation protocol tunnel to the second endpoint.
H04L 12/28 - Réseaux de données à commutation caractérisés par la configuration des liaisons, p. ex. réseaux locaux [LAN Local Area Networks] ou réseaux étendus [WAN Wide Area Networks]
A profile-based scheduler is disclosed. In other embodiments, the profile-based scheduler may profile previously accessed websites and/or FTP sites. In doing so, the profile may compile bandwidth requirements for all such profiled websites and/or FTP sites within a lookup table. When a website and/or FTP site is accessed, the profiler may grant the bandwidth associated with the website or FTP site within the lookup table. In some embodiments, the profiler may create entries not only based on websites and/or FTP sites but may also profile users, TCP connections, web browser configurations and/or web browser types.
The present invention relates to systems, apparatus, and methods of determining whether to abort a prefetch operation. Embodiments include accumulator functionality for accumulating object data prior to making an abort determination. Certain embodiments compress the accumulated data to more accurately reflect the cost of pushing the data to the client as part of the prefetch operation. Accumulation and/or compression of the data may provide sufficient data relating to the size of the object to make a useful prefetch abort determination, even where the size of the object cannot be otherwise determined (e.g., from the object data header). Other embodiments store accumulated data (e.g., in compressed or uncompressed form) for use in further optimizing prefetch operations. For example, if an accumulated prefetch is aborted before the object is forwarded to the client, and the client later requests the object, the object may be pushed to the client from server-side storage, rather than retrieving (e.g., and compressing) the object from the content server redundantly.
G06F 15/173 - Communication entre processeurs utilisant un réseau d'interconnexion, p. ex. matriciel, de réarrangement, pyramidal, en étoile ou ramifié
The present invention relates to methods, apparatus, and systems for providing peer-to-peer network acceleration. The system includes a content server configured to transfer content based on received requests for content. The system further includes a proxy server coupled with the content server. The proxy server is configured to receive content from the content server and to forward the received content. Furthermore, the system includes client systems coupled with the proxy server. The client systems each include a personal byte cache and are configured to receive content from the proxy server, to store content in the personal byte caches, to synchronize the personal byte caches with each of the plurality of client system's portions of a shared byte cache, and to retrieve content from the shared byte cache.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 15/173 - Communication entre processeurs utilisant un réseau d'interconnexion, p. ex. matriciel, de réarrangement, pyramidal, en étoile ou ramifié
92.
Methods and systems for peer-to-peer app-level performance enhancing protocol (PEP)
The present invention relates to methods, apparatus, and systems for providing peer-to-peer network acceleration. The system includes content servers and clients. Each of the clients is capable of functioning as a proxy server. A client generates a request for content, and the requesting client determines which of the content servers contains the requested content. The requesting client then determines that one of the clients is in a position to retrieve the requested content on the content server at lower latency than the requesting client. The client then functions as a proxy server for the requesting client, and the requesting client receives the requested content from the client acting as a proxy server.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
93.
Methods and systems for user interface event snooping and prefetching
The present invention relates to systems, apparatus, and methods for utilizing user interface (UI) snooping to optimize network connections. The method includes accessing, by a client proxy running on a client system, a UI events queue. The UI events queue is stored on the client system. The method further includes identifying events within the UI events queue. The identifying includes filtering the events for events to be optimized. The method further includes, based on the identified events, determining at least one command, and optimizing the at least one command, and executing the optimized command.
G06F 3/00 - Dispositions d'entrée pour le transfert de données destinées à être traitées sous une forme maniable par le calculateurDispositions de sortie pour le transfert de données de l'unité de traitement à l'unité de sortie, p. ex. dispositions d'interface
G06F 13/38 - Transfert d'informations, p. ex. sur un bus
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
G06F 15/177 - Commande d'initialisation ou de configuration
The present invention relates to systems and methods of accelerating network traffic. The method includes receiving a plurality of network packets and setting a threshold for a buffer. The threshold indicates a low water mark for the buffer. The method further includes storing the plurality of network packets in the buffer at least until the buffer's capacity is full, removing packets from the buffer, and transmitting the removed packets via a downstream link to an associated destination. Furthermore, the method includes that in response to removing packets from the buffer such that the buffer's capacity falls below the threshold, receiving additional packets and storing the additional packets at least until the buffer's capacity is full.
The present invention relates to systems and methods of enhancing prefetch operations. The method includes fetching an object from a page on a web server. The method further includes storing, at a proxy server, caching instructions for the fetched object. The proxy server is connected with the client and the object is cached at the client. Furthermore, the method includes identifying a prefetchable reference to the fetched object in a subsequent web page and using the caching instructions stored on the proxy server to determine if a fresh copy of the object will be requested by the client. Further, the method includes, based on the determination that the object will be requested, sending a prefetch request for the object using an If-Modified-Since directive, and transmitting a response to the If-Modified-Since directive prefetch request to a proxy client.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
96.
Methods and systems for presentation layer redirection for network optimization
The present invention relates to systems, apparatus, and methods of intercepting commands at an application presentation layer. The method includes intercepting, at a proxy client, a command issued by an application to a network resource before the command is converted into a corresponding protocol command. The method further includes forwarding a simplified command of the corresponding protocol command to a proxy server, and converting, at the proxy server, the simplified command into the corresponding protocol command. Further, the method includes transmitting the corresponding protocol command to the network resource and receiving a response from the network resource, such that, the response corresponds to the protocol. The method further includes transmitting a confirmation message to the proxy client upon completion of the corresponding protocol command and transmitting the confirmation message to the application.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
97.
Server message block (SMB) security signatures seamless session switch
The present invention relates to systems, apparatus, and methods of securely transmitting data between a client and a server. The method includes receiving an initial security message from the client. The security message is to establish security between the server and the client. Further, the client's security parameters are set to enabled and not required. The method further includes forwarding the initial security message to the server and intercepting a security response from the server. The response includes security data and security parameters set to enabled and required. The method includes extracting the security data from the security response, and using the security data to establish a secure socket connection between the proxy server and the server. Furthermore, the method alters the request by changing the security parameters to not enabled and not required, and transmits the altered request and establishes a non-secure socket connection.
The present invention relates to systems, apparatus, and methods of parsing a script within an HTML page. The method includes receiving a script object, where the script object includes text. The method further includes parsing the text of the script object for tokens and comparing the parsed tokens with a valid tokens list to determine locations within the text of the script object that include potential universal resource locators (URLs). The method includes parsing before and after the determined locations until complete URLs are constructed, and forwarding the complete URLs to a detector. The detector then determines whether the complete URLs are valid. The method then sends object retrieval requests to websites associated with the valid complete URLs.
G06F 15/16 - Associations de plusieurs calculateurs numériques comportant chacun au moins une unité arithmétique, une unité programme et un registre, p. ex. pour le traitement simultané de plusieurs programmes
99.
Methods and systems for performing a prefetch abort operation for network acceleration
The present invention relates to systems, apparatus, and methods of determining whether to abort a prefetch operation. The method includes receiving a prefetched object downloaded from a content server, and checking the prefetched object to determine the prefetched object's size. The method further includes determining a probability of use of the prefetched object, checking a link between a server and a client to determine the link's bandwidth, and checking the link between the server and the client to determine the link's latency. In addition, the method includes, based on at least one of the size of the prefetched object, the probability of use of the prefetched object, the bandwidth of the link, and the latency of the link, determining whether to forward the prefetched object to the client.
G06F 15/173 - Communication entre processeurs utilisant un réseau d'interconnexion, p. ex. matriciel, de réarrangement, pyramidal, en étoile ou ramifié
G06F 17/30 - Recherche documentaire; Structures de bases de données à cet effet
H04L 29/08 - Procédure de commande de la transmission, p.ex. procédure de commande du niveau de la liaison
100.
Methods and systems for bandwidth measurement techniques
The present invention relates to systems, apparatus, and methods of measuring bandwidth of a network connection. The method includes establishing a network connection between a sending terminal and a receiving terminal. The method further includes inserting a flag into a packet header for a packet. The flag is to indicate to the receiving terminal that a bandwidth measurement is in progress. The packet also includes a payload. The method further includes setting the flag in the packets header of the packet to true, and transmitting to the receiving terminal the packet. The method then sums arrival times of the packet and the payload for the packet, and calculates the bandwidth measurement of the network connection by dividing the summed payload value by the summed arrival times value.