Abstract:
Prioritizing delivery of different portions of images is disclosed, including: receiving a request for an image file; identifying a cluster of characterized images in an N-dimensional space to which the image file belongs; assigning a split point to the image file that is associated with the identified cluster of characterized images; and prioritizing a delivery of a first portion and a second portion of the image file based at least in part on the assigned split point.
Abstract:
A method of caching resources corresponding to a webpage on a client is disclosed. A hierarchy of a plurality of storage mechanisms available on the client is determined based at least in part on performance of the plurality of storage mechanisms. The hierarchy comprises a plurality of levels to which each storage mechanism may be assigned. A request to cache a first resource corresponding to a webpage is received. One of the plurality of storage mechanisms for caching the first resource is selected based at least in part on the hierarchy. The first resource is stored in the selected storage mechanism of the hierarchy.
Abstract:
A request for a resource of web content is received. It is determined whether the request identifies the resource using a transformed identifier that has been generated by transforming an original identifier of the resource. In the event it is determined that the request identifies the resource using the transformed identifier, the transformed identifier is translated back to the original identifier of the resource. The resource is obtained using the original identifier of the resource. The obtained resource is provided as a response to the request for the resource of web content.
Abstract:
A method of speeding up the delivery of a dynamic webpage is disclosed. A request for a webpage is received, the webpage including one or more dynamic components. A cached stub is sent in response to the request, wherein the cached stub includes components empirically determined as static components of the webpage, and wherein the cached stub includes a placeholder replacing at least a portion of a first dynamic component of the webpage. A script is injected in the cached stub that intercepts any access to the placeholder.
Abstract:
A method of speeding up the delivery of a dynamic webpage is disclosed. A request for a webpage is received, the webpage including one or more dynamic components. A cached stub is sent in response to the request, the cached stub including common components of the webpage that were empirically determined to be common components across multiple requests for the webpage. The request for the webpage is forwarded to an origin server. The webpage is received from the origin server. A difference between the cached stub and the webpage received from the origin server is determined. An instruction to correct the difference between the cached stub and the webpage received from the origin server is sent.
Abstract:
A method of delivering a webpage including dynamic content is disclosed. A request for the webpage directed to a third-party site is received. Likely components corresponding to the webpage is determined with a processor based at least in part on previous responses to similar requests. The determined likely components corresponding to the webpage are sent to a sender of the request. The webpage from the third-party site is received. The remaining components corresponding to the webpage are determined with the processor. The determined remaining components corresponding to the webpage are sent in response to the request.
Abstract:
A method of updating a document object model (DOM) is disclosed. A message is received from a web browser requesting for information to update the DOM. A dummy response message is sent to the web browser, wherein the dummy response message does not include the information to update the DOM, and wherein the dummy response message causes the web browser to create a dummy node in the DOM. A request message is received from a client as part of a client-server protocol, wherein the request message requests at least a portion of the information to be sent to the client. A first response message is sent including at least a portion of the information to the client, wherein the first response message is processed by the client to determine a first update to the DOM, and wherein the first update is applied to the DOM.
Abstract:
Expediting content delivery is disclosed. A request for content is received from a requestor. A cached component of the requested content that includes at least some cached executable content is identified. The cached component of the requested content is provided to the requestor for provisional execution. It is determined whether a change, if any, in the requested content may invalidate the provisional execution. In the event it is determined that the change in the requested content may invalidate the provisional execution, the requestor is instructed to abandon the provisional execution.
Abstract:
A method of distributing content to an application from a server is disclosed. The method includes detecting in a file to be sent to the application from the server that the application is directed to request one or more resources to be downloaded to the application. A network latency associated with the downloading of the one or more resources is determined. A subset of the one or more resources is selectively packaged based at least in part on the network latency. The selectively packaged subset of the one or more resources is sent to the application.