CA2696481A1 - Content server latency determination - Google Patents
Content server latency determination Download PDFInfo
- Publication number
- CA2696481A1 CA2696481A1 CA2696481A CA2696481A CA2696481A1 CA 2696481 A1 CA2696481 A1 CA 2696481A1 CA 2696481 A CA2696481 A CA 2696481A CA 2696481 A CA2696481 A CA 2696481A CA 2696481 A1 CA2696481 A1 CA 2696481A1
- Authority
- CA
- Canada
- Prior art keywords
- content
- server
- user interface
- performance
- publisher
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 claims description 53
- 230000004044 response Effects 0.000 claims description 22
- 238000009877 rendering Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 6
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
A performance of a publisher server, a first content server, and a second content server is determined. Latency time information is determined based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
Description
CONTENT SERVER LATENCY DETERMINATION
FIELD
This disclosure relates to information retrieval.
BACKGROUND
Content displayed on a web page can be generated by one or more content item servers in response to content item requests that are generated during the rendering of the web page by a client device. The content item requests can be generated synchronously with respect to the rendering of the web page. Likewise, the content items received in response to the content item requests can be processed synchronously with respect to the rendering of the web page. For example, when a web page is rendered, JavaScript may execute and request an advertisement from a first content server. In turn, the first content server may request an advertisement from a second content server. If the advertisement is retrieved synchronously, the rendering of the web page is delayed until a requested advertisement is received from a content server. Once the advertisement is received and rendered, e.g., displayed on the web page, the rendering of the remainder of the web page resumes.
A drawback of synchronous content item retrieval is that if a content item server is slow, then the rendering of the remainder of the web page will be delayed. To mitigate the potential effects of synchronous content item processing, web page publishers attempt to identify the source of the delay, i.e., the content item server that may be slow or temporarily inoperable, and to calculate the total latency times. However, it is often a complex task to compile the multiple HTTP requests and responses from the rendering of a web page in order to calculate the latency times associated with the different servers. For example, the multiple HTTP requests and responses can look unfamiliar, as they do not appear on the web page itself, but are returned by the first content server. Furthermore, if it is determined that a particular server, e.g., the second content server, is the source of the delay, it is difficult to demonstrate the delay to the operator of the second content server.
SUMMARY
According to some implementations, a performance of a publisher server, a first content server, and a second content server is determined. Latency time information is determined based on the publisher server performance, the first content server performance, and the second content server performance. The latency time information can represent a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
According to some implementations, a Uniform Resource Locator (URL) of a document containing a reference to a script with a first behavior can be specified, wherein a first argument is added to the URL. The URL of the document containing a reference to the script with a second behavior can be specified, wherein a second argument is added to the URL. The document containing the script is received in response to the requests. The script with the first behavior is executed to determine a publisher server latency time, and the script with the second behavior is executed to determine a first content server latency time. A
second content server latency time is determined based on the publisher server latency time and the first content server latency time.
According to some implementations, a system includes a processor configurable to determine a performance associated with a publisher server, a first content server, and a second content server. A client device is configurable to determine latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server. According to some implementations, a system includes a processor configurable to request content from one or more remote locations, wherein the content includes computer executable instructions to determine latency information associated with the request. An interface that is operatively coupled to the processor is configurable to display the latency information, the latency information including latency times associated with the one or more remote locations associated with the display of the content in the interface.
According to some implementations, content is requested, wherein the request is a Uniform Resource Locator (URL) directed to the content, and the URL includes an added argument. The requested content can be loaded into a content page in a first user interface.
A second user interface can then be displayed. One or more content items associated with the content page can then be displayed in the second user interface in accordance with the argument added to the URL. In addition, one or more attributes associated with the one or more content items can be displayed in the second user interface.
According to some implementations, a first portion of a content page can be loaded in a first user interface, where the first portion includes content received from a publisher server.
FIELD
This disclosure relates to information retrieval.
BACKGROUND
Content displayed on a web page can be generated by one or more content item servers in response to content item requests that are generated during the rendering of the web page by a client device. The content item requests can be generated synchronously with respect to the rendering of the web page. Likewise, the content items received in response to the content item requests can be processed synchronously with respect to the rendering of the web page. For example, when a web page is rendered, JavaScript may execute and request an advertisement from a first content server. In turn, the first content server may request an advertisement from a second content server. If the advertisement is retrieved synchronously, the rendering of the web page is delayed until a requested advertisement is received from a content server. Once the advertisement is received and rendered, e.g., displayed on the web page, the rendering of the remainder of the web page resumes.
A drawback of synchronous content item retrieval is that if a content item server is slow, then the rendering of the remainder of the web page will be delayed. To mitigate the potential effects of synchronous content item processing, web page publishers attempt to identify the source of the delay, i.e., the content item server that may be slow or temporarily inoperable, and to calculate the total latency times. However, it is often a complex task to compile the multiple HTTP requests and responses from the rendering of a web page in order to calculate the latency times associated with the different servers. For example, the multiple HTTP requests and responses can look unfamiliar, as they do not appear on the web page itself, but are returned by the first content server. Furthermore, if it is determined that a particular server, e.g., the second content server, is the source of the delay, it is difficult to demonstrate the delay to the operator of the second content server.
SUMMARY
According to some implementations, a performance of a publisher server, a first content server, and a second content server is determined. Latency time information is determined based on the publisher server performance, the first content server performance, and the second content server performance. The latency time information can represent a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
According to some implementations, a Uniform Resource Locator (URL) of a document containing a reference to a script with a first behavior can be specified, wherein a first argument is added to the URL. The URL of the document containing a reference to the script with a second behavior can be specified, wherein a second argument is added to the URL. The document containing the script is received in response to the requests. The script with the first behavior is executed to determine a publisher server latency time, and the script with the second behavior is executed to determine a first content server latency time. A
second content server latency time is determined based on the publisher server latency time and the first content server latency time.
According to some implementations, a system includes a processor configurable to determine a performance associated with a publisher server, a first content server, and a second content server. A client device is configurable to determine latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server. According to some implementations, a system includes a processor configurable to request content from one or more remote locations, wherein the content includes computer executable instructions to determine latency information associated with the request. An interface that is operatively coupled to the processor is configurable to display the latency information, the latency information including latency times associated with the one or more remote locations associated with the display of the content in the interface.
According to some implementations, content is requested, wherein the request is a Uniform Resource Locator (URL) directed to the content, and the URL includes an added argument. The requested content can be loaded into a content page in a first user interface.
A second user interface can then be displayed. One or more content items associated with the content page can then be displayed in the second user interface in accordance with the argument added to the URL. In addition, one or more attributes associated with the one or more content items can be displayed in the second user interface.
According to some implementations, a first portion of a content page can be loaded in a first user interface, where the first portion includes content received from a publisher server.
A second user interface can then be displayed. A second portion of the content page can be loaded in the second user interface, where the second portion includes one or more content items received from one or more content servers. In addition, one or more attributes associated with the one or more content items can be displayed in the second user interface.
According to some implementations, a system includes a publisher server configurable to transmit a first portion of a content page to a client device, wherein the first portion includes publisher content. Additionally, one or more content servers can be configurable to transmit a second portion of the content page to the client device, where the second portion includes one or more content items. The client device can be configurable to load the first portion of the content page in a first user interface, load the second portion of the content page in a second user interface, and display one or more attributes associated with the one or more content items in the second user interface.
According to some implementations, a system includes a client device configurable to save a copy of one or more content items associated with a content page received from one or more content servers. Additionally, a processor is configurable to generate a user interface;
generate a combined source code for the one or more saved content items; and insert the combined source code into the user interface.
According to some implementations, a system includes a publisher server configurable to capture one or more content item identifications associated with one or more content items. A server processor is configurable to generate a user interface; generate a request to a first content server requesting the one or more content items associated with the one or more content item identifications; and render the one or more content items into the user interface.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram of an example system for requesting content from a content server.
Fig. 2 is an example process for determining latency contributions.
Fig. 3 is another example process for determining latency contributions.
Fig. 4 illustrates an example interface displaying the output of NoFetch mode.
Fig. 5 illustrates an example interface displaying the output of NoRender mode.
Fig. 6 is an example process for determining a source of latency issues.
Fig. 7 is an example process for determining the latency time associated with one or more content servers.
According to some implementations, a system includes a publisher server configurable to transmit a first portion of a content page to a client device, wherein the first portion includes publisher content. Additionally, one or more content servers can be configurable to transmit a second portion of the content page to the client device, where the second portion includes one or more content items. The client device can be configurable to load the first portion of the content page in a first user interface, load the second portion of the content page in a second user interface, and display one or more attributes associated with the one or more content items in the second user interface.
According to some implementations, a system includes a client device configurable to save a copy of one or more content items associated with a content page received from one or more content servers. Additionally, a processor is configurable to generate a user interface;
generate a combined source code for the one or more saved content items; and insert the combined source code into the user interface.
According to some implementations, a system includes a publisher server configurable to capture one or more content item identifications associated with one or more content items. A server processor is configurable to generate a user interface; generate a request to a first content server requesting the one or more content items associated with the one or more content item identifications; and render the one or more content items into the user interface.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram of an example system for requesting content from a content server.
Fig. 2 is an example process for determining latency contributions.
Fig. 3 is another example process for determining latency contributions.
Fig. 4 illustrates an example interface displaying the output of NoFetch mode.
Fig. 5 illustrates an example interface displaying the output of NoRender mode.
Fig. 6 is an example process for determining a source of latency issues.
Fig. 7 is an example process for determining the latency time associated with one or more content servers.
Fig. 8 is another example process for determining the latency time associated with one or more content servers.
Fig. 9 is another example process for determining the latency time associated with one or more content servers.
Fig. 10 is an illustration of an example user interface.
DETAILED DESCRIPTION
Fig. 1 is a block diagram of an example system 10 for requesting content from one or more content servers. In one implementation, the content may include advertisements, and the content servers can be content servers. Different types of content can also be requested.
In one implementation, a client system 100 is configured to view content (e.g., visit web pages) accessible through a network, e.g., the Internet. The client system 100 can, for example, be a web browser, or a computing device executing network navigation software, etc. A web address (e.g., Uniform Resource Locator (URL)) visited by the client system 100 can be resolved to identify a publisher 102, e.g. a server, hosting a corresponding web page.
In this example, a client system 100 can send a web page content request 104 to the publisher 102 for the web page content 106. The publisher 102, in response to the request, provides the web page content 106 to the client system 100 as, e.g., an HTML document containing JavaScript. The web page content 106 can include one or more content presentations. In an implementation, the content presentations can include advertisement slots for advertisements to be served by a content server. Other content presentations can also be used.
The web page content 106 provided by the publisher 102 includes a reference to a set of instructions 108. In an implementation, the instructions 108 include storing instructions 108a, timing instructions 108b and request instructions 108c that are used to render and present the requested content, e.g., advertisements. In an implementation, the instructions 108 are provided by a first content server 134, e.g., a content server, and are stored at the client system 100, such as in a cache associated with a web browser.
The web page content 106 can define content slots 112 - 120 that are configured to display content from the one or more content servers. In an implementation, the content slots 112 - 120 are advertisement slots that are defined within HTML tags. The instructions 108 generate content requests 122 - 130 that are issued to request content to fill the content slots 112 to 120. In an implementation, the requests 122 to 130 are stored in a data store 132, such as a buffer 132, and then sent to the content server 134 in one or more requests 136.
Fig. 9 is another example process for determining the latency time associated with one or more content servers.
Fig. 10 is an illustration of an example user interface.
DETAILED DESCRIPTION
Fig. 1 is a block diagram of an example system 10 for requesting content from one or more content servers. In one implementation, the content may include advertisements, and the content servers can be content servers. Different types of content can also be requested.
In one implementation, a client system 100 is configured to view content (e.g., visit web pages) accessible through a network, e.g., the Internet. The client system 100 can, for example, be a web browser, or a computing device executing network navigation software, etc. A web address (e.g., Uniform Resource Locator (URL)) visited by the client system 100 can be resolved to identify a publisher 102, e.g. a server, hosting a corresponding web page.
In this example, a client system 100 can send a web page content request 104 to the publisher 102 for the web page content 106. The publisher 102, in response to the request, provides the web page content 106 to the client system 100 as, e.g., an HTML document containing JavaScript. The web page content 106 can include one or more content presentations. In an implementation, the content presentations can include advertisement slots for advertisements to be served by a content server. Other content presentations can also be used.
The web page content 106 provided by the publisher 102 includes a reference to a set of instructions 108. In an implementation, the instructions 108 include storing instructions 108a, timing instructions 108b and request instructions 108c that are used to render and present the requested content, e.g., advertisements. In an implementation, the instructions 108 are provided by a first content server 134, e.g., a content server, and are stored at the client system 100, such as in a cache associated with a web browser.
The web page content 106 can define content slots 112 - 120 that are configured to display content from the one or more content servers. In an implementation, the content slots 112 - 120 are advertisement slots that are defined within HTML tags. The instructions 108 generate content requests 122 - 130 that are issued to request content to fill the content slots 112 to 120. In an implementation, the requests 122 to 130 are stored in a data store 132, such as a buffer 132, and then sent to the content server 134 in one or more requests 136.
In an implementation, the first content server 134 processes the received individual or combined requests 136 and returns identified content 138 to the client system 100. In another implementation, the first content server 134 processes the received individual or combined requests 136 from the client system 100 and sends a combined response 137 to the client system 100. For example, the response can be in HTML or JavaScript. The combined response 137 to the client system 100 from the first content server 134 can instruct the client system 100 to send one or more requests 140 to a second content server 142 requesting content items. The second content server 142 can then, for example, return identified content 144 to the client system 100. The identified content 138 and/or 144 can then be displayed as part of the publisher's web page in the corresponding content slots, e.g., content slots 112, 114 and 116.
An example of the first content server 134 can include a GoogleTM content server.
Requests can be made to the GoogleTM content server to fill content slots on the web page with advertisements. In turn, the GoogleTM content server can identify and provide advertisements, or the GoogleTM content server can requests advertisements from the second content server 142, i.e., a third party content server. While reference is made to only two content servers 134 and 142, more than two content servers can provide content to a single web page.
When the client system 100 requests content from the publisher 102, the first content server 134, and/or the second content server 142, latency delays can occur.
For example, the latency delays can be related to a variety of issues, such as a slow network speed, the publisher server 102 is slow, the first content server 134 is slow, and/or the second content server 142 is slow. A user of the client system 100 can only see a total latency time it takes for the web page to load. Therefore, determining the latency delay contributions attributed to the publisher server 102, first content server 134, and second content server 142 can be difficult to demonstrate.
As described in the example above, a total latency time (L) to display a web page can be attributed to the speed of the network, the publisher server 102 speed (L1), which includes network latency time, the first content server 134 speed (L2), and the second content server 142 speed (L3). Therefore, by way of example, the calculation for the total latency time can be determined by L = L1 + L2 + U.
With reference to Fig. 2, in accordance with some implementations, an example process 200 to determine latency contributions begins with determining a performance of a publisher server (step 202). To determine the performance of the publisher server 102, a request for content from a publisher server 102 can be made by including an argument (or other indicator) with the request. For example, the argument "google_nofetch"
can be added to the URL of a web page content location as follows:
http://www.webpage.com?googlenofetch to implement a NoFetch mode.
A document associated with the requested URL can be received from a content location. The document can include web page content, media, text, a downloadable file, etc.
The performance, i.e., a latency time, associated with the publisher server 102 can be determined. In some implementations, the content serving (e.g., JavaScript) tags within the web page content 106 implement diagnostic logic. For example, a script file within the web page content 106 can test for various conditions, such as the latency time associated with the publisher server 102, and write information to a user interface.
In a NoFetch mode, a script file within the web page content 106 can prevent the retrieval of content items from the first content server 134, i.e., requests made to the first content server 134 for advertisements. For example, any requests transmitted to the first content server 134 can be replaced with a NO-OP instruction, such that they do nothing (other than generating a debug trace). Therefore, running in NoFetch mode can establish a baseline performance for the publisher server 102 for a web page, i.e., a NoFetch latency time (L1) a user would experience if the publisher did not add any advertisements to the web page.
Next, a performance associated with the first content server 134 is determined (step 204). To determine the performance of the first content server 134, an argument (or other indicator) can be included with the URL of a web page location. For example, the argument "googlenorender" can be added to the URL of a web page content location as follows:
http://www.webpage.com?google_norender to implement a NoRender mode.
In some implementations, the content serving (e.g., JavaScript) tags within the web page content 106 implement diagnostic logic. For example, a script file within the web page content 106 can test for various conditions, such as the performance, i.e., the latency time, associated with the first content server 134, and write information to a user interface.
In a NoRender mode, a script file within the web page content 106 can return content items from the first content server 134, i.e., requests can be sent to first content server 134 to retrieve advertisements. However, after the first content server 134 retrieves the advertisements, the script file can prevent the advertisements from being rendered on the web page. For example, instead of rendering the actual advertisement on the web page in content slots 112, 114 and 116, the code associated with the advertisement in the content slots 112, 114 and 116 is displayed. Therefore, running the NoRender mode can establish a performance, i.e., a latency time, for a first content server 134 to retrieve the advertisements, but not render them. The latency time associated with the first content server 134 can be calculated by subtracting the NoFetch latency time from the NoRender latency time, i.e., L2 = NoRender latency time - NoFetch latency time (L1).
In step 206, a performance of the second content server 142 can be determined.
To determine the performance of the second content server 142, a request for content from the first content server 134 can be made by requesting the URL of a web page content location, without an argument, as follows: http://www.webpage.com. The total page load time associated with requesting and rendering the URL is equivalent to the total latency time (L).
Thus, the latency time associated with the second content server 134 can be calculated by subtracting the NoRender latency time from the total latency time, i.e., L3 =
total latency time (L) - NoRender (L2).
After the performance of the publisher server, first content server, and second content server are determined, a determination of latency time information can be determined based on the publisher server performance, the first content server performance, and the second content server performance (step 208). The latency time information can represent a length of time to load content associated with each of the publisher server, the first content server, and the second content server. For example, a user interface can be spawned and information regarding the latency times attributed to the different components is written to the user interface. In some implementations, the user interface is created by JavaScript code that provides a separate browser window.
Fig. 3 is another example process 300 for determining latency contributions.
The example process 300 for determining the latency contributions begins with submitting a Uniform Resource Locator (URL) to request a document containing a reference to a script, the request including a first argument added to the URL (step 302). For example, the first argument "googlenofetch" can be added to the URL of a web page content location as follows: http://www.web page.com?googlenofetch to implement a NoFetch mode.
Next, the process 300 can submit the URL to request the document containing a reference to the script, the request including a second argument added to the URL (step 304).
For example, an argument "googlenorender" can be added to the URL of a web page content location as follows: http://www.web page.com?googlenorender to implement a NoRender mode.
In response to the requests in steps 302 and 304, the document containing the script can be received (step 306). After receiving the document, the script can be executed to determine the publisher server latency time and the first content server latency time in accordance with the first argument and the second argument (step 308). For example, the script can execute the NoFetch mode in accordance with the first argument, and the script can execute the NoRender mode in accordance with the second argument. Based on the publisher server latency time and the first content server latency time, a second content server latency time can be determined (step 310).
Fig. 4 illustrates an example interface 400 displaying the output of the script with the first behavior executing the NoFetch mode. Column 402 of Fig. 4 indicates the latency time associated with the executed instructions of the NoFetch mode. For example, the latency time is presented as a running time that increases as the script executes.
Column 404 of Fig.
4 provides a message type for the instructions that are being processed by the script executing the NoFetch mode. Column 406 of Fig. 4 provides a summary message indicating the instructions that are being processed by the script executing the NoFetch mode. In NoFetch mode, the executing script file within the web page content 106 can prevent the retrieval of advertisements from the one or more content servers. As indicated at 408 of Fig. 4, the script suppresses the fetching of the ads; therefore, the latency time information in NoFetch mode can be associated with the publisher server.
After executing the script with the first behavior, the script with the second behavior can be executed to determine the first content server latency time (step 310).
The script with the second behavior can execute the NoRender mode. Fig. 5 illustrates an example interface 500 displaying the output of NoRender mode. Column 502 of Fig. 5 indicates the latency time associated with the script executing the NoRender mode. For example, the latency time is presented as a running time that increases as the script executes. Column 504 of Fig. 5 provides a message type for the instructions that are being processed by the script executing the NoRender mode. Column 506 of Fig. 5 provides a summary message indicating the instructions that are being processed by the script executing the NoRender mode. Running the NoRender mode can establish a performance for a first content server 134 to retrieve the advertisements, but not render them, as displayed at 508 of Fig. 5. The latency time associated with the first content server 134 can be calculated by subtracting the NoFetch latency time from the NoRender latency time, i.e., L2 = NoRender latency time -NoFetch latency time (L 1).
After running the document in NoFetch and NoRender mode, the second content server latency time can be determined based on the publisher server latency time and the first content server latency time. To determine the performance of the second content server 134, a request for content from the first content server 134 can be made by submitting the URL of a web page content location to the publisher server 102, without an argument, as follows:
http://www.web page.com. The total page load time associated with requesting and rendering the URL is substantially equivalent to the total latency time (L).
Thus, the latency time associated with the second content server 134 can be calculated by subtracting the NoRender latency time from the total latency time, i.e., L3 = total latency time (L) -NoRender latency time (L2).
Fig. 6 is an example process 600 for determining the source of a latency effect. Based on the determination of the latency times associated with a publisher server, a first content server, and a second content server, the source of the slow load times associated with a content page can be determined. If L1 is determined to be slow in decision step 602, then the source of the latency is most likely attributed to the publisher server 102 (step 604).
However, if L1 is determined to be fast in decision step 602, the process 600 moves to decision step 606. In decision step 606, if L2 is determined to be slow, then the source of the latency is most likely attributed to the first content server 134 (step 608).
If L2 is determined to be fast in decision step 606, the process 600 moves to decision step 610.
In decision step 610, if L3 is determined to be fast, latency with the content page load time can be deemed as low (L1, L2, and L3 are all determined to be fast) (step 612). However, if L3 is determined to be slow in decision step 610, then the source of the latency is most likely attributed to the second content server 142 (step 614).
Based on the example processes described above, it can be determined that the source of the latency is most likely attributed to the second content server 142.
Based on this determination, an example process 700 for determining the latency time associated with one or more content servers, such as the second content server 142, is illustrated in Fig. 7. First, content can be requested, wherein the request is a Uniform Resource Locator (URL) directed to the content, the URL comprising an added argument (step 702). The content received in response to the request can be loaded into a content page in a first user interface (step 704).
In one implementation, the content loaded into the content page can includes a first portion of content, where the first portion of content only includes content from a publisher server 702.
Next, a second user interface can be displayed (step 706). To display the second user interface, a document containing a script can be requested, where the request includes an indicator. For example, the request can be a Uniform Resource Locator (URL) directed to receive a document and the indicator is an argument added to the URL. The document can then, for example, be received in response to the request. The script can then be executed to display the second user interface in response to receipt of the indicator. For example, the second user interface can be a browser window that is separate from a browser window displaying the content page.
In another implementation, the first and second user interfaces can be displayed in the same interface. The first and second user interfaces can be rendered by a common browser on a common client device. For example, the first and second user interfaces can be rendered in a single user interface, such as a browser window, executing on the client device.
Subsequently, one or more content items e.g., advertisements, associated with the content page can be displayed in the second user interface in accordance with the argument added to the URL (step 708). In addition, one or more attributes for each content item in the second user interface can be displayed (step 710). For example, the displayed attributes can include a load time associated with each content item and a total load time.
In one implementation, displaying the one or more content items can be accomplished by utilizing a client-side implementation. For example, a copy of the one or more content items to be inserted into a content item slot can be received from one or more content servers and saved. An onload callback can then be registered for the content page.
During the onload callback, the second user interface is displayed, and a scan is made through the content item slots. After making a scan through the content item slots, all of the code, e.g., HTML code, associated with the content items can be combined. The combined HTML code can then be inserted into the second user interface and all of the content items can be generated.
In another implementation, displaying the one or more content items in the second user interface can be accomplished by utilizing a server-side implementation.
For example, one or more content item identifications associated with one or more content items can be captured with JavaScript. A second user interface can then be opened, and a request can be made to one or more content servers for the one or more content items by utilizing the one or more advertisement identifications. The one or more content items received from the one or more content servers can then, for example, be rendered in the second user interface. In an implementation, a load time associated with each content item can be displayed in the second user interface. In an implementation, a total load time can be displayed in the second user interface.
In some implementations, the source code associated with the second user interface can be saved. For example, the user can view and save the source code of the page in the second user interface. Saving the source code can be useful in demonstrating the latency of one or more content items to an operator of a content server responsible for the latency.
Specifically, the source code can be used to pinpoint which content item(s), i.e., advertisement(s), produce the most delay in load time. The source code can, for example, be emailed directly to the operator of the content server. The source code can then, for example, be loaded in a user interface, such as a browser, to demonstrate the latency with a particular content item(s).
Another example process 800 for determining the latency time associated with one or more content servers, such as the second content server 142, is illustrated in Fig. 8. After determining the source of latency associated with a content page, a first portion of a content page can be loaded in a first user interface, where the first portion includes content received from a publisher server (step 802). For example, the first portion of content may not include one or more content items from one or more content servers.
Next, a second user interface can be displayed (step 804). Subsequently, source code, i.e., HTML code, associated with a second portion of the content page can be displayed in the second user interface, where the second portion includes one or more content items received from one or more content servers (step 806). To display the source code, e.g., HTML code, associated with the one or more content items in the second user interface, a document containing a script can be requested, where the request includes an indicator.
For example, the request can be a Uniform Resource Locator (URL) directed to receive a document and the indicator is an argument added to the URL. The document can then, for example, be received in response to the request. The script can then be executed to display the second user interface including the source code associated with the one or more content items in response to receipt of the indicator.
For example, the argument "google_capturenorender" can be added to the URL of a web page content location as follows:
http://www.webpage.com?google_capture_norender.
In response, a second user interface can be displayed that contains the source code associated with the one or more content items. The source code can then, for example, be copied (step 808), pasted into an editor (step 810), and then saved to a file (step 812), such as a local HTML file. Thereafter a user interface, such as a browser or other user interface, can be utilized to open the file, e.g., the local HTML file, which contains the source code associated with the one or more content items (step 814). When opened, the file can render the one or more content items associated with the content page in the user interface (step 816). In addition, one or more attributes associated with the one or more content items can be displayed in the user interface (step 818). For example, the attributes can include a load time associated with each content item and a total load time associated with the one or more content items.
Fig. 9 is another example process 900 for determining the latency time associated with one or more content servers, such as the second content server 142. The process 900 begins by loading a first portion of a content page in a first user interface, where the first portion includes content received from a publisher server (step 902). For example, the portion of the content page loaded into the first user interface may not include content from one or more content servers. Next, a second user interface is displayed (step 904). For example, the second user interface can be a window, such as a pop-up window, that is displayed in addition to the first user interface.
A second portion of the content page can then, for example, be displayed in the second user interface, where the second portion includes one or more content items received from one or more content servers (step 906). In addition, one or more attributes associated with the one or more content items can be displayed in the second user interface (step 908).
For example, the attributes can include a load time associated with each content item and a total load time associated with the one or more content items.
Fig. 10 is an illustration of an example second user interface 1000 as described in the processes above. As described, one or more attributes associated with the one or more content items can be displayed in the second user interface 1000. In one implementation, location and size information 1002 associated with each content item can be displayed in the second user interface 1000. In another implementation, the content item 1004 can be displayed in the second user interface 1000. In another implementation, a load time 1006 associated with each advertisement can be displayed in the second user interface 1000. For example, an individual load time 1006 can be associated with the advertisement displayed with the location and size information 1002. In another implementation, a total load time 1006 can be displayed in the second user interface 1000.
The apparatus, methods, flow diagrams, and structure block diagrams described in this patent document may be implemented in computer processing systems including program code comprising program instructions that are executable by the computer processing system. Other implementations may also be used. Additionally, the flow diagrams and structure block diagrams described in this patent document, which describe particular methods and/or corresponding acts in support of steps and corresponding functions in support of disclosed structural means, may also be utilized to implement corresponding software structures and algorithms, and equivalents thereof.
This written description sets forth the best mode of the invention and provides examples to describe the invention and to enable a person of ordinary skill in the art to make and use the invention. This written description does not limit the invention to the precise terms set forth. Thus, while the invention has been described in detail with reference to the examples set forth above, those of ordinary skill in the art may effect alterations, modifications and variations to the examples without departing from the scope of the invention.
An example of the first content server 134 can include a GoogleTM content server.
Requests can be made to the GoogleTM content server to fill content slots on the web page with advertisements. In turn, the GoogleTM content server can identify and provide advertisements, or the GoogleTM content server can requests advertisements from the second content server 142, i.e., a third party content server. While reference is made to only two content servers 134 and 142, more than two content servers can provide content to a single web page.
When the client system 100 requests content from the publisher 102, the first content server 134, and/or the second content server 142, latency delays can occur.
For example, the latency delays can be related to a variety of issues, such as a slow network speed, the publisher server 102 is slow, the first content server 134 is slow, and/or the second content server 142 is slow. A user of the client system 100 can only see a total latency time it takes for the web page to load. Therefore, determining the latency delay contributions attributed to the publisher server 102, first content server 134, and second content server 142 can be difficult to demonstrate.
As described in the example above, a total latency time (L) to display a web page can be attributed to the speed of the network, the publisher server 102 speed (L1), which includes network latency time, the first content server 134 speed (L2), and the second content server 142 speed (L3). Therefore, by way of example, the calculation for the total latency time can be determined by L = L1 + L2 + U.
With reference to Fig. 2, in accordance with some implementations, an example process 200 to determine latency contributions begins with determining a performance of a publisher server (step 202). To determine the performance of the publisher server 102, a request for content from a publisher server 102 can be made by including an argument (or other indicator) with the request. For example, the argument "google_nofetch"
can be added to the URL of a web page content location as follows:
http://www.webpage.com?googlenofetch to implement a NoFetch mode.
A document associated with the requested URL can be received from a content location. The document can include web page content, media, text, a downloadable file, etc.
The performance, i.e., a latency time, associated with the publisher server 102 can be determined. In some implementations, the content serving (e.g., JavaScript) tags within the web page content 106 implement diagnostic logic. For example, a script file within the web page content 106 can test for various conditions, such as the latency time associated with the publisher server 102, and write information to a user interface.
In a NoFetch mode, a script file within the web page content 106 can prevent the retrieval of content items from the first content server 134, i.e., requests made to the first content server 134 for advertisements. For example, any requests transmitted to the first content server 134 can be replaced with a NO-OP instruction, such that they do nothing (other than generating a debug trace). Therefore, running in NoFetch mode can establish a baseline performance for the publisher server 102 for a web page, i.e., a NoFetch latency time (L1) a user would experience if the publisher did not add any advertisements to the web page.
Next, a performance associated with the first content server 134 is determined (step 204). To determine the performance of the first content server 134, an argument (or other indicator) can be included with the URL of a web page location. For example, the argument "googlenorender" can be added to the URL of a web page content location as follows:
http://www.webpage.com?google_norender to implement a NoRender mode.
In some implementations, the content serving (e.g., JavaScript) tags within the web page content 106 implement diagnostic logic. For example, a script file within the web page content 106 can test for various conditions, such as the performance, i.e., the latency time, associated with the first content server 134, and write information to a user interface.
In a NoRender mode, a script file within the web page content 106 can return content items from the first content server 134, i.e., requests can be sent to first content server 134 to retrieve advertisements. However, after the first content server 134 retrieves the advertisements, the script file can prevent the advertisements from being rendered on the web page. For example, instead of rendering the actual advertisement on the web page in content slots 112, 114 and 116, the code associated with the advertisement in the content slots 112, 114 and 116 is displayed. Therefore, running the NoRender mode can establish a performance, i.e., a latency time, for a first content server 134 to retrieve the advertisements, but not render them. The latency time associated with the first content server 134 can be calculated by subtracting the NoFetch latency time from the NoRender latency time, i.e., L2 = NoRender latency time - NoFetch latency time (L1).
In step 206, a performance of the second content server 142 can be determined.
To determine the performance of the second content server 142, a request for content from the first content server 134 can be made by requesting the URL of a web page content location, without an argument, as follows: http://www.webpage.com. The total page load time associated with requesting and rendering the URL is equivalent to the total latency time (L).
Thus, the latency time associated with the second content server 134 can be calculated by subtracting the NoRender latency time from the total latency time, i.e., L3 =
total latency time (L) - NoRender (L2).
After the performance of the publisher server, first content server, and second content server are determined, a determination of latency time information can be determined based on the publisher server performance, the first content server performance, and the second content server performance (step 208). The latency time information can represent a length of time to load content associated with each of the publisher server, the first content server, and the second content server. For example, a user interface can be spawned and information regarding the latency times attributed to the different components is written to the user interface. In some implementations, the user interface is created by JavaScript code that provides a separate browser window.
Fig. 3 is another example process 300 for determining latency contributions.
The example process 300 for determining the latency contributions begins with submitting a Uniform Resource Locator (URL) to request a document containing a reference to a script, the request including a first argument added to the URL (step 302). For example, the first argument "googlenofetch" can be added to the URL of a web page content location as follows: http://www.web page.com?googlenofetch to implement a NoFetch mode.
Next, the process 300 can submit the URL to request the document containing a reference to the script, the request including a second argument added to the URL (step 304).
For example, an argument "googlenorender" can be added to the URL of a web page content location as follows: http://www.web page.com?googlenorender to implement a NoRender mode.
In response to the requests in steps 302 and 304, the document containing the script can be received (step 306). After receiving the document, the script can be executed to determine the publisher server latency time and the first content server latency time in accordance with the first argument and the second argument (step 308). For example, the script can execute the NoFetch mode in accordance with the first argument, and the script can execute the NoRender mode in accordance with the second argument. Based on the publisher server latency time and the first content server latency time, a second content server latency time can be determined (step 310).
Fig. 4 illustrates an example interface 400 displaying the output of the script with the first behavior executing the NoFetch mode. Column 402 of Fig. 4 indicates the latency time associated with the executed instructions of the NoFetch mode. For example, the latency time is presented as a running time that increases as the script executes.
Column 404 of Fig.
4 provides a message type for the instructions that are being processed by the script executing the NoFetch mode. Column 406 of Fig. 4 provides a summary message indicating the instructions that are being processed by the script executing the NoFetch mode. In NoFetch mode, the executing script file within the web page content 106 can prevent the retrieval of advertisements from the one or more content servers. As indicated at 408 of Fig. 4, the script suppresses the fetching of the ads; therefore, the latency time information in NoFetch mode can be associated with the publisher server.
After executing the script with the first behavior, the script with the second behavior can be executed to determine the first content server latency time (step 310).
The script with the second behavior can execute the NoRender mode. Fig. 5 illustrates an example interface 500 displaying the output of NoRender mode. Column 502 of Fig. 5 indicates the latency time associated with the script executing the NoRender mode. For example, the latency time is presented as a running time that increases as the script executes. Column 504 of Fig. 5 provides a message type for the instructions that are being processed by the script executing the NoRender mode. Column 506 of Fig. 5 provides a summary message indicating the instructions that are being processed by the script executing the NoRender mode. Running the NoRender mode can establish a performance for a first content server 134 to retrieve the advertisements, but not render them, as displayed at 508 of Fig. 5. The latency time associated with the first content server 134 can be calculated by subtracting the NoFetch latency time from the NoRender latency time, i.e., L2 = NoRender latency time -NoFetch latency time (L 1).
After running the document in NoFetch and NoRender mode, the second content server latency time can be determined based on the publisher server latency time and the first content server latency time. To determine the performance of the second content server 134, a request for content from the first content server 134 can be made by submitting the URL of a web page content location to the publisher server 102, without an argument, as follows:
http://www.web page.com. The total page load time associated with requesting and rendering the URL is substantially equivalent to the total latency time (L).
Thus, the latency time associated with the second content server 134 can be calculated by subtracting the NoRender latency time from the total latency time, i.e., L3 = total latency time (L) -NoRender latency time (L2).
Fig. 6 is an example process 600 for determining the source of a latency effect. Based on the determination of the latency times associated with a publisher server, a first content server, and a second content server, the source of the slow load times associated with a content page can be determined. If L1 is determined to be slow in decision step 602, then the source of the latency is most likely attributed to the publisher server 102 (step 604).
However, if L1 is determined to be fast in decision step 602, the process 600 moves to decision step 606. In decision step 606, if L2 is determined to be slow, then the source of the latency is most likely attributed to the first content server 134 (step 608).
If L2 is determined to be fast in decision step 606, the process 600 moves to decision step 610.
In decision step 610, if L3 is determined to be fast, latency with the content page load time can be deemed as low (L1, L2, and L3 are all determined to be fast) (step 612). However, if L3 is determined to be slow in decision step 610, then the source of the latency is most likely attributed to the second content server 142 (step 614).
Based on the example processes described above, it can be determined that the source of the latency is most likely attributed to the second content server 142.
Based on this determination, an example process 700 for determining the latency time associated with one or more content servers, such as the second content server 142, is illustrated in Fig. 7. First, content can be requested, wherein the request is a Uniform Resource Locator (URL) directed to the content, the URL comprising an added argument (step 702). The content received in response to the request can be loaded into a content page in a first user interface (step 704).
In one implementation, the content loaded into the content page can includes a first portion of content, where the first portion of content only includes content from a publisher server 702.
Next, a second user interface can be displayed (step 706). To display the second user interface, a document containing a script can be requested, where the request includes an indicator. For example, the request can be a Uniform Resource Locator (URL) directed to receive a document and the indicator is an argument added to the URL. The document can then, for example, be received in response to the request. The script can then be executed to display the second user interface in response to receipt of the indicator. For example, the second user interface can be a browser window that is separate from a browser window displaying the content page.
In another implementation, the first and second user interfaces can be displayed in the same interface. The first and second user interfaces can be rendered by a common browser on a common client device. For example, the first and second user interfaces can be rendered in a single user interface, such as a browser window, executing on the client device.
Subsequently, one or more content items e.g., advertisements, associated with the content page can be displayed in the second user interface in accordance with the argument added to the URL (step 708). In addition, one or more attributes for each content item in the second user interface can be displayed (step 710). For example, the displayed attributes can include a load time associated with each content item and a total load time.
In one implementation, displaying the one or more content items can be accomplished by utilizing a client-side implementation. For example, a copy of the one or more content items to be inserted into a content item slot can be received from one or more content servers and saved. An onload callback can then be registered for the content page.
During the onload callback, the second user interface is displayed, and a scan is made through the content item slots. After making a scan through the content item slots, all of the code, e.g., HTML code, associated with the content items can be combined. The combined HTML code can then be inserted into the second user interface and all of the content items can be generated.
In another implementation, displaying the one or more content items in the second user interface can be accomplished by utilizing a server-side implementation.
For example, one or more content item identifications associated with one or more content items can be captured with JavaScript. A second user interface can then be opened, and a request can be made to one or more content servers for the one or more content items by utilizing the one or more advertisement identifications. The one or more content items received from the one or more content servers can then, for example, be rendered in the second user interface. In an implementation, a load time associated with each content item can be displayed in the second user interface. In an implementation, a total load time can be displayed in the second user interface.
In some implementations, the source code associated with the second user interface can be saved. For example, the user can view and save the source code of the page in the second user interface. Saving the source code can be useful in demonstrating the latency of one or more content items to an operator of a content server responsible for the latency.
Specifically, the source code can be used to pinpoint which content item(s), i.e., advertisement(s), produce the most delay in load time. The source code can, for example, be emailed directly to the operator of the content server. The source code can then, for example, be loaded in a user interface, such as a browser, to demonstrate the latency with a particular content item(s).
Another example process 800 for determining the latency time associated with one or more content servers, such as the second content server 142, is illustrated in Fig. 8. After determining the source of latency associated with a content page, a first portion of a content page can be loaded in a first user interface, where the first portion includes content received from a publisher server (step 802). For example, the first portion of content may not include one or more content items from one or more content servers.
Next, a second user interface can be displayed (step 804). Subsequently, source code, i.e., HTML code, associated with a second portion of the content page can be displayed in the second user interface, where the second portion includes one or more content items received from one or more content servers (step 806). To display the source code, e.g., HTML code, associated with the one or more content items in the second user interface, a document containing a script can be requested, where the request includes an indicator.
For example, the request can be a Uniform Resource Locator (URL) directed to receive a document and the indicator is an argument added to the URL. The document can then, for example, be received in response to the request. The script can then be executed to display the second user interface including the source code associated with the one or more content items in response to receipt of the indicator.
For example, the argument "google_capturenorender" can be added to the URL of a web page content location as follows:
http://www.webpage.com?google_capture_norender.
In response, a second user interface can be displayed that contains the source code associated with the one or more content items. The source code can then, for example, be copied (step 808), pasted into an editor (step 810), and then saved to a file (step 812), such as a local HTML file. Thereafter a user interface, such as a browser or other user interface, can be utilized to open the file, e.g., the local HTML file, which contains the source code associated with the one or more content items (step 814). When opened, the file can render the one or more content items associated with the content page in the user interface (step 816). In addition, one or more attributes associated with the one or more content items can be displayed in the user interface (step 818). For example, the attributes can include a load time associated with each content item and a total load time associated with the one or more content items.
Fig. 9 is another example process 900 for determining the latency time associated with one or more content servers, such as the second content server 142. The process 900 begins by loading a first portion of a content page in a first user interface, where the first portion includes content received from a publisher server (step 902). For example, the portion of the content page loaded into the first user interface may not include content from one or more content servers. Next, a second user interface is displayed (step 904). For example, the second user interface can be a window, such as a pop-up window, that is displayed in addition to the first user interface.
A second portion of the content page can then, for example, be displayed in the second user interface, where the second portion includes one or more content items received from one or more content servers (step 906). In addition, one or more attributes associated with the one or more content items can be displayed in the second user interface (step 908).
For example, the attributes can include a load time associated with each content item and a total load time associated with the one or more content items.
Fig. 10 is an illustration of an example second user interface 1000 as described in the processes above. As described, one or more attributes associated with the one or more content items can be displayed in the second user interface 1000. In one implementation, location and size information 1002 associated with each content item can be displayed in the second user interface 1000. In another implementation, the content item 1004 can be displayed in the second user interface 1000. In another implementation, a load time 1006 associated with each advertisement can be displayed in the second user interface 1000. For example, an individual load time 1006 can be associated with the advertisement displayed with the location and size information 1002. In another implementation, a total load time 1006 can be displayed in the second user interface 1000.
The apparatus, methods, flow diagrams, and structure block diagrams described in this patent document may be implemented in computer processing systems including program code comprising program instructions that are executable by the computer processing system. Other implementations may also be used. Additionally, the flow diagrams and structure block diagrams described in this patent document, which describe particular methods and/or corresponding acts in support of steps and corresponding functions in support of disclosed structural means, may also be utilized to implement corresponding software structures and algorithms, and equivalents thereof.
This written description sets forth the best mode of the invention and provides examples to describe the invention and to enable a person of ordinary skill in the art to make and use the invention. This written description does not limit the invention to the precise terms set forth. Thus, while the invention has been described in detail with reference to the examples set forth above, those of ordinary skill in the art may effect alterations, modifications and variations to the examples without departing from the scope of the invention.
Claims (40)
1. A method, comprising:
determining a performance of a publisher server;
determining a performance of a first content server;
determining a performance of a second content server; and determining latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
determining a performance of a publisher server;
determining a performance of a first content server;
determining a performance of a second content server; and determining latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
2. The method of claim 1, wherein the publisher server performance comprises:
a requesting time to retrieve publisher content from the publisher server; and a rendering time to render the publisher content.
a requesting time to retrieve publisher content from the publisher server; and a rendering time to render the publisher content.
3. The method of claim 1, wherein determining the performance of the publisher server comprises:
requesting a document containing a script, the request including an indicator;
receiving the document in response to the request; and executing the script to determine the publisher server performance in response to receipt of the indicator.
requesting a document containing a script, the request including an indicator;
receiving the document in response to the request; and executing the script to determine the publisher server performance in response to receipt of the indicator.
4. The method of claim 3, wherein the document is identified by a Uniform Resource Locator (URL) and the indicator is an argument added to the URL.
5. The method of claim, further comprising:
displaying a user interface; and displaying the publisher server performance in the user interface.
displaying a user interface; and displaying the publisher server performance in the user interface.
6. The method of claim 5, wherein displaying the publisher server performance comprises:
displaying running time information in the user interface representing a length of time to load content associated with the first content server.
displaying running time information in the user interface representing a length of time to load content associated with the first content server.
7. The method of claim 1, wherein the first content server performance comprises:
a first advertisement request time to request advertisements from the first content server; and a second advertisement request time to request advertisements from the second content server.
a first advertisement request time to request advertisements from the first content server; and a second advertisement request time to request advertisements from the second content server.
8. The method of claim 1, wherein determining the performance of the first content server comprises:
requesting a document containing a script, the request including an indicator;
receiving the document in response to the request; and executing the script to determine the first content server performance in response to receipt of the indicator.
requesting a document containing a script, the request including an indicator;
receiving the document in response to the request; and executing the script to determine the first content server performance in response to receipt of the indicator.
9. The method of claim 8, wherein the document is identified by a Uniform Resource Locator (URL) and the indicator is an argument added to the URL.
10. The method of claim 8, further comprising:
displaying a user interface; and displaying the first content server performance in the user interface.
displaying a user interface; and displaying the first content server performance in the user interface.
11. The method of claim 10, wherein displaying the first content server performance comprises:
displaying running time information in the user interface representing a length of time to load content associated with the first content server.
displaying running time information in the user interface representing a length of time to load content associated with the first content server.
12. The method of claim 1, wherein the second content server performance comprises:
a rendering time to render advertisements from at least one of the first content server and the second content server.
a rendering time to render advertisements from at least one of the first content server and the second content server.
13. A method, comprising:
requesting a document identified by a Uniform Resource Locator (URL), the document containing a reference to a script, the request including a first argument added to the URL;
requesting the document identified by the URL, the document containing a reference to the script, the request including a second argument added to the URL;
receiving the document containing the script;
executing the script to determine a publisher server latency time and a first content server latency time in accordance with the first argument and the second argument; and determining a second content server latency time based on the publisher server latency time and the first content server latency time.
requesting a document identified by a Uniform Resource Locator (URL), the document containing a reference to a script, the request including a first argument added to the URL;
requesting the document identified by the URL, the document containing a reference to the script, the request including a second argument added to the URL;
receiving the document containing the script;
executing the script to determine a publisher server latency time and a first content server latency time in accordance with the first argument and the second argument; and determining a second content server latency time based on the publisher server latency time and the first content server latency time.
14. The method of claim 13, further comprising:
displaying at least one of the publisher server latency time, the first content server latency time, and the second content server latency time in a user interface, the user interface including running time information representing a length of time to load content associated with at least one of the publisher server, the first content server, and the second content server.
displaying at least one of the publisher server latency time, the first content server latency time, and the second content server latency time in a user interface, the user interface including running time information representing a length of time to load content associated with at least one of the publisher server, the first content server, and the second content server.
15. A system, comprising:
a processor configurable to determine a performance associated with a publisher server, a first content server, and a second content server; and a client device configurable to determine latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
a processor configurable to determine a performance associated with a publisher server, a first content server, and a second content server; and a client device configurable to determine latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
16. The system of claim 14, wherein the processor is further configurable to:
request a document identified by a Uniform Resource Locator (URL), the document containing a script, the request including a first argument added to the URL;
request a document identified by the URL, the document containing the script, the request including a second argument added to the URL;
receive the document containing the script;
execute the script to determine the publisher server latency time and a first content server latency time in accordance with the first argument and the second argument; and determine the second content server latency time based on the publisher server latency time and the first content server latency time.
request a document identified by a Uniform Resource Locator (URL), the document containing a script, the request including a first argument added to the URL;
request a document identified by the URL, the document containing the script, the request including a second argument added to the URL;
receive the document containing the script;
execute the script to determine the publisher server latency time and a first content server latency time in accordance with the first argument and the second argument; and determine the second content server latency time based on the publisher server latency time and the first content server latency time.
17. The system of claim 14, wherein the client device is further configurable to display at least one of the publisher server performance, the first content server performance, and the second content server performance in a user interface, the user interface including running time information representing a length of time to load content associated with at least one of the publisher server, the first content server, and the second content server.
18. A system, comprising:
a processor configurable to request content from one or more remote locations, the content including computer executable instructions to determine latency information associated with the request; and an interface operatively coupled to the processor and configurable to display the latency information, the latency information including latency times associated with the one or more remote locations associated with the display of the content in the interface.
a processor configurable to request content from one or more remote locations, the content including computer executable instructions to determine latency information associated with the request; and an interface operatively coupled to the processor and configurable to display the latency information, the latency information including latency times associated with the one or more remote locations associated with the display of the content in the interface.
19. A computer-readable medium having instructions stored thereon, which, when executed by a processor, causes the processor to perform the operations of:
determining a performance associated with a publisher server;
determining a performance associated with a first content server;
determining a performance associated with a second content server; and determining latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
determining a performance associated with a publisher server;
determining a performance associated with a first content server;
determining a performance associated with a second content server; and determining latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
20. A system, comprising:
a means for determining a performance associated with a publisher server;
a means for determining a performance associated with a first content server;
a means for determining a performance associated with a second content server;
and a means for determining latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
a means for determining a performance associated with a publisher server;
a means for determining a performance associated with a first content server;
a means for determining a performance associated with a second content server;
and a means for determining latency time information based on the publisher server performance, the first content server performance, and the second content server performance, the latency time information representing a length of time to load content associated with each of the publisher server, the first content server, and the second content server.
21. A method, comprising:
requesting content, wherein the request is a Uniform Resource Locator (URL) directed to the content, the URL comprising an added argument;
loading the content into a content page in a first user interface;
displaying a second user interface;
displaying one or more content items associated with the content page in the second user interface, in accordance with the argument added to the URL; and displaying one or more attributes associated with the one or more content items in the second user interface.
requesting content, wherein the request is a Uniform Resource Locator (URL) directed to the content, the URL comprising an added argument;
loading the content into a content page in a first user interface;
displaying a second user interface;
displaying one or more content items associated with the content page in the second user interface, in accordance with the argument added to the URL; and displaying one or more attributes associated with the one or more content items in the second user interface.
22. The method of claim 21, wherein loading the content into a content page in a first user interface comprises:
loading a portion of the content page into the first user interface, the portion comprising content from a publisher server.
loading a portion of the content page into the first user interface, the portion comprising content from a publisher server.
23. The method of claim 21, wherein displaying a second user interface comprises:
receiving a document containing a script in response to the request for content; and executing the script to display the second user interface in response to receipt of the argument.
receiving a document containing a script in response to the request for content; and executing the script to display the second user interface in response to receipt of the argument.
24. The method of claim 21, wherein the one or more content items comprise one or more advertisements.
25. The method of claim 21, wherein displaying the one or more content items comprises:
saving a copy of the one or more content items received from one or more content servers; and displaying the one or more content items in the second user interface during the loading of the content page in a first user interface.
saving a copy of the one or more content items received from one or more content servers; and displaying the one or more content items in the second user interface during the loading of the content page in a first user interface.
26. The method of claim 21, wherein displaying one or more content items comprises:
capturing one or more identifications associated with the one or more content items;
opening a second user interface;
requesting the one or more content items from the one or more content servers utilizing the one or more identifications; and rendering the one or more content items in the second user interface.
capturing one or more identifications associated with the one or more content items;
opening a second user interface;
requesting the one or more content items from the one or more content servers utilizing the one or more identifications; and rendering the one or more content items in the second user interface.
27. The method of claim 21, wherein the attributes comprise:
an associated load time for each content item.
an associated load time for each content item.
28. The method of claim 21, wherein the attributes comprise:
a total load time associated with the one or more content items.
a total load time associated with the one or more content items.
29. The method of claim 21, further comprising:
displaying the source code associated with the one or more content items in the second user interface.
displaying the source code associated with the one or more content items in the second user interface.
30. The method of claim 29, further comprising:
saving the source code associated with the second user interface.
saving the source code associated with the second user interface.
31. The method of claim 30, further comprising:
loading the saved source code in a user interface; and rendering the one or more content items in the user interface.
loading the saved source code in a user interface; and rendering the one or more content items in the user interface.
32. A method, comprising:
loading a first portion of a content page in a first user interface, the first portion comprising content received from a publisher server;
displaying a second user interface;
loading a second portion of the content page in the second user interface, the second portion comprising one or more content items received from one or more content servers; and displaying one or more attributes associated with the one or more content items in the second user interface.
loading a first portion of a content page in a first user interface, the first portion comprising content received from a publisher server;
displaying a second user interface;
loading a second portion of the content page in the second user interface, the second portion comprising one or more content items received from one or more content servers; and displaying one or more attributes associated with the one or more content items in the second user interface.
33. The method of claim 32, wherein the attributes comprise:
an associated load time for each content item.
an associated load time for each content item.
34. The method of claim 32, wherein the attributes comprise:
a total load time associated with the one or more content items.
a total load time associated with the one or more content items.
35. A method, comprising:
loading a first portion of a content page in a first user interface, the first portion comprising content received from a publisher server;
displaying a second user interface;
displaying source code associated with a second portion of the content page in the second user interface, the second portion comprising one or more content items received from one or more content servers; and saving the source code in a file.
loading a first portion of a content page in a first user interface, the first portion comprising content received from a publisher server;
displaying a second user interface;
displaying source code associated with a second portion of the content page in the second user interface, the second portion comprising one or more content items received from one or more content servers; and saving the source code in a file.
36. The method of claim 35, further comprising:
opening the file in a user interface, wherein the user interface renders the source code in the file.
opening the file in a user interface, wherein the user interface renders the source code in the file.
37. A system, comprising:
a publisher server configurable to transmit a first portion of a content page to a client device, the first portion comprising publisher content;
one or more content servers configurable to transmit a second portion of the content page to the client device, the second portion comprising one or more content items;
the client device configurable to:
load the first portion of the content page in a first user interface;
load the second portion of the content page in a second user interface; and display one or more attributes associated with the one or more content items in the second user interface.
a publisher server configurable to transmit a first portion of a content page to a client device, the first portion comprising publisher content;
one or more content servers configurable to transmit a second portion of the content page to the client device, the second portion comprising one or more content items;
the client device configurable to:
load the first portion of the content page in a first user interface;
load the second portion of the content page in a second user interface; and display one or more attributes associated with the one or more content items in the second user interface.
38. A system, comprising:
a client device configurable to save a copy of one or more content items associated with a content page received from one or more content servers; and a processor configurable to:
generate a user interface;
generate a combined source code for the one or more saved content items; and insert the combined source code into the user interface.
a client device configurable to save a copy of one or more content items associated with a content page received from one or more content servers; and a processor configurable to:
generate a user interface;
generate a combined source code for the one or more saved content items; and insert the combined source code into the user interface.
39. A system, comprising:
a publisher server configurable to capture one or more content item identifications associated with one or more content items; and.
a server processor configurable to:
generate a user interface;
generate a request to a content server requesting the one or more content items associated with the one or more content item identifications; and render the one or more content items in the user interface.
a publisher server configurable to capture one or more content item identifications associated with one or more content items; and.
a server processor configurable to:
generate a user interface;
generate a request to a content server requesting the one or more content items associated with the one or more content item identifications; and render the one or more content items in the user interface.
40. A system, comprising:
a means for loading a first portion of a content page in a first user interface, the first portion comprising content received from a publisher server;
a means for displaying a second user interface;
a means for loading a second portion of the content page in the second user interface, the second portion comprising one or more content items received from one or more content servers; and a means for displaying one or more attributes associated with the one or more content items in the second user interface.
a means for loading a first portion of a content page in a first user interface, the first portion comprising content received from a publisher server;
a means for displaying a second user interface;
a means for loading a second portion of the content page in the second user interface, the second portion comprising one or more content items received from one or more content servers; and a means for displaying one or more attributes associated with the one or more content items in the second user interface.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/836,069 | 2007-08-08 | ||
US11/836,019 US8949405B2 (en) | 2007-08-08 | 2007-08-08 | Content server latency determination |
US11/836,019 | 2007-08-08 | ||
US11/836,069 US8429544B2 (en) | 2007-08-08 | 2007-08-08 | Content server latency demonstration |
PCT/US2008/072526 WO2009021138A2 (en) | 2007-08-08 | 2008-08-07 | Content server latency determination |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2696481A1 true CA2696481A1 (en) | 2009-02-12 |
Family
ID=40342048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2696481A Abandoned CA2696481A1 (en) | 2007-08-08 | 2008-08-07 | Content server latency determination |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP2186014A2 (en) |
JP (2) | JP5215393B2 (en) |
KR (1) | KR101616063B1 (en) |
CN (2) | CN103544215B (en) |
AU (1) | AU2008285354B2 (en) |
BR (1) | BRPI0815608A2 (en) |
CA (1) | CA2696481A1 (en) |
WO (1) | WO2009021138A2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5987012B2 (en) * | 2014-01-21 | 2016-09-06 | ヤフー株式会社 | Information providing device, terminal device, information providing method, information providing program, and information acquisition program |
CN103840977B (en) * | 2014-03-04 | 2017-10-20 | 中国联合网络通信集团有限公司 | A kind of Internet service service quality guarantee method and client |
US10165071B2 (en) * | 2016-01-15 | 2018-12-25 | Google Llc | Client-side activity monitoring |
JP7180451B2 (en) * | 2019-03-01 | 2022-11-30 | 日本電信電話株式会社 | Web quality estimation device and program |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010010059A1 (en) * | 1998-10-28 | 2001-07-26 | Steven Wesley Burman | Method and apparatus for determining travel time for data sent between devices connected to a computer network |
US6601098B1 (en) * | 1999-06-07 | 2003-07-29 | International Business Machines Corporation | Technique for measuring round-trip latency to computing devices requiring no client-side proxy presence |
US6405252B1 (en) * | 1999-11-22 | 2002-06-11 | Speedera Networks, Inc. | Integrated point of presence server network |
US7523181B2 (en) * | 1999-11-22 | 2009-04-21 | Akamai Technologies, Inc. | Method for determining metrics of a content delivery and global traffic management network |
US7058706B1 (en) * | 2000-03-31 | 2006-06-06 | Akamai Technologies, Inc. | Method and apparatus for determining latency between multiple servers and a client |
US7600014B2 (en) * | 2000-11-16 | 2009-10-06 | Symantec Corporation | Method and system for monitoring the performance of a distributed application |
JP2002163185A (en) * | 2000-11-24 | 2002-06-07 | Nippon Telegr & Teleph Corp <Ntt> | Method and device for contents distribution |
US7720958B2 (en) * | 2001-03-09 | 2010-05-18 | International Business Machines Corporation | Method and system for embedding correlated performance measurements for distributed application performance decomposition |
US20030217147A1 (en) * | 2002-05-14 | 2003-11-20 | Maynard William P. | Directing a client computer to a least network latency server site |
JP3908627B2 (en) * | 2002-08-21 | 2007-04-25 | 日本電信電話株式会社 | Web page transfer time estimation device, Web page transfer time estimation program, and computer readable recording medium recording Web page transfer time estimation program |
US8250201B2 (en) * | 2002-09-09 | 2012-08-21 | International Business Machines Corporation | Servlet monitoring tool |
US7296256B2 (en) * | 2003-10-20 | 2007-11-13 | International Business Machines Corporation | Method and apparatus for automatic modeling building using inference for IT systems |
CN1561036A (en) * | 2004-02-24 | 2005-01-05 | 华中科技大学 | Network station server performance test system based on TPC-W benchmark |
JP2005276074A (en) * | 2004-03-26 | 2005-10-06 | Hitachi Information Systems Ltd | Response time measuring displaying system and displaying method |
-
2008
- 2008-08-07 EP EP08797417A patent/EP2186014A2/en not_active Withdrawn
- 2008-08-07 CA CA2696481A patent/CA2696481A1/en not_active Abandoned
- 2008-08-07 JP JP2010520315A patent/JP5215393B2/en not_active Expired - Fee Related
- 2008-08-07 CN CN201310435865.6A patent/CN103544215B/en active Active
- 2008-08-07 CN CN2008801083269A patent/CN101809560B/en not_active Expired - Fee Related
- 2008-08-07 WO PCT/US2008/072526 patent/WO2009021138A2/en active Application Filing
- 2008-08-07 AU AU2008285354A patent/AU2008285354B2/en not_active Ceased
- 2008-08-07 BR BRPI0815608 patent/BRPI0815608A2/en not_active IP Right Cessation
- 2008-08-07 KR KR1020107002801A patent/KR101616063B1/en active IP Right Grant
-
2013
- 2013-02-28 JP JP2013038590A patent/JP5538584B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
BRPI0815608A2 (en) | 2015-03-24 |
JP5538584B2 (en) | 2014-07-02 |
EP2186014A2 (en) | 2010-05-19 |
CN101809560B (en) | 2013-09-25 |
AU2008285354A1 (en) | 2009-02-12 |
JP2013168156A (en) | 2013-08-29 |
KR101616063B1 (en) | 2016-04-27 |
JP5215393B2 (en) | 2013-06-19 |
CN101809560A (en) | 2010-08-18 |
AU2008285354B2 (en) | 2012-10-11 |
JP2010536100A (en) | 2010-11-25 |
WO2009021138A3 (en) | 2009-04-16 |
KR20100051651A (en) | 2010-05-17 |
CN103544215B (en) | 2017-01-04 |
WO2009021138A2 (en) | 2009-02-12 |
CN103544215A (en) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10911554B2 (en) | Method and system for tracking web link usage | |
JP6351611B2 (en) | Distributing and displaying page previews during page acquisition events | |
US8156419B2 (en) | Intelligent preloads of views and asynchronous loading of models using the MVC design pattern | |
KR101391894B1 (en) | content request optimization | |
US20160335680A1 (en) | Securing expandable display advertisements in a display advertising environment | |
US8949405B2 (en) | Content server latency determination | |
US9348939B2 (en) | Web site sectioning for mobile web browser usability | |
US20080040473A1 (en) | Enabling web analytics for interactive web applications | |
US8516041B1 (en) | Pre-fetching asynchronously requested content | |
US20100313129A1 (en) | Self-Expanding AD Unit | |
US20110010235A1 (en) | Method and System for Setting an Online Coupon Cookie | |
US20220078161A1 (en) | Method and apparatus for advertisement anti-blocking | |
JP5538584B2 (en) | Determining content server latency | |
CN104881452B (en) | Resource address sniffing method, device and system | |
US8429544B2 (en) | Content server latency demonstration | |
US10846361B2 (en) | User-specific customization of web pages | |
AU2012261599B2 (en) | Content server latency determination | |
JP7104091B2 (en) | Reduced latency when downloading electronic resources using multiple threads | |
US11909807B2 (en) | Local recording for demonstration of web-based software applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request |
Effective date: 20130801 |
|
FZDE | Dead |
Effective date: 20160805 |