Autonomic content load balancing
First Claim
Patent Images
1. A system for providing autonomic content load balancing, comprising:
- a computer comprising a processor; and
instructions configured to execute, using the processor, to implement functions comprising;
defining a plurality of alternative versions of a Web page to be served;
defining, for the Web page, a plurality of factors, wherein the factors comprise at least one of;
processing load on a server that serves the Web page and traffic load on a network on which the Web page is served;
creating a mapping, for the Web page, between each of the alternative versions and particular values for each of the plurality of factors, thereby defining when each of the alternative versions is to be selected for serving;
specifying, in a markup language document defining the Web page, a syntax extension and a placeholder for a subsequently-selected one of the alternative versions, wherein the syntax extension comprises an identification of each of the defined factors;
subsequently receiving, at the server from a client, a request for the Web page; and
responsive to receiving the request, analyzing the syntax defining the Web page to determine whether the syntax extension is specified therein, and if so;
obtaining the identification of each of the defined factors from the specified syntax extension;
dynamically determining, by the server, a current value for each of the factors for which the identification is obtained;
consulting the mapping, using the dynamically determined current values, to determine which one of the alternative versions is selected for serving;
replacing the placeholder with the selected one of the alternative versions; and
serving the markup language document defining the Web page to the client as a response to the request.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for providing autonomic content load balancing. A programmatic selection is made from among alternative content versions based upon current conditions. Preferably, the alternative selectable versions specify content to be used in a Web page, and a version is selected responsive to receiving a request for the Web page. The selectable version may comprise the Web page, or a component of a Web page may have selectable versions. Optionally, the Web page may include more than one component with dynamically-selectable content. In this case, the versions may be selectable independently of one another.
-
Citations
7 Claims
-
1. A system for providing autonomic content load balancing, comprising:
-
a computer comprising a processor; and instructions configured to execute, using the processor, to implement functions comprising; defining a plurality of alternative versions of a Web page to be served; defining, for the Web page, a plurality of factors, wherein the factors comprise at least one of;
processing load on a server that serves the Web page and traffic load on a network on which the Web page is served;creating a mapping, for the Web page, between each of the alternative versions and particular values for each of the plurality of factors, thereby defining when each of the alternative versions is to be selected for serving; specifying, in a markup language document defining the Web page, a syntax extension and a placeholder for a subsequently-selected one of the alternative versions, wherein the syntax extension comprises an identification of each of the defined factors; subsequently receiving, at the server from a client, a request for the Web page; and responsive to receiving the request, analyzing the syntax defining the Web page to determine whether the syntax extension is specified therein, and if so; obtaining the identification of each of the defined factors from the specified syntax extension; dynamically determining, by the server, a current value for each of the factors for which the identification is obtained; consulting the mapping, using the dynamically determined current values, to determine which one of the alternative versions is selected for serving; replacing the placeholder with the selected one of the alternative versions; and serving the markup language document defining the Web page to the client as a response to the request. - View Dependent Claims (2, 3)
-
-
4. A computer program product for providing autonomic content load balancing, the computer program product embodied on one or more computer-readable media and comprising computer-readable program code for:
-
defining a plurality of alternative versions of a Web page to be served; defining, for the Web page, a plurality of factors, wherein the factors comprise at least one of;
processing load on a server that serves the Web page and traffic load on a network on which the Web page is served;creating a mapping, for the Web page, between each of the alternative versions and particular values for each of the plurality of factors, thereby defining when each of the alternative versions is to be selected for serving; specifying, in a markup language document defining the Web page, a syntax extension and a placeholder for a subsequently-selected one of the alternative versions, wherein the syntax extension comprises an identification of each of the defined factors; subsequently receiving, at the server from a client, a request for the Web page; and responsive to receiving the request, analyzing the syntax defining the Web page to determine whether the syntax extension is specified therein, and if so; obtaining the identification of each of the defined factors from the specified syntax extension; dynamically determining, by the server, a current value for each of the factors for which the identification is obtained; consulting the mapping, using the dynamically determined current values, to determine which one of the alternative versions is selected for serving; replacing the placeholder with the selected one of the alternative versions; and serving the markup language document defining the Web page to the client as a response to the request. - View Dependent Claims (5, 6)
-
-
7. A computer program product for providing autonomic content load balancing, the computer program product embodied on one or more computer-readable media and comprising computer-readable program code for:
-
defining, for a Web page comprising a plurality of different portions, a plurality of alternative versions for at least two of the portions; defining, for each of the at least two portions, a plurality of factors, wherein the factors comprise at least one of;
processing load on a server that serves the Web page and traffic load on a network on which the Web page is served;creating a mapping, for each of the at least two portions, between each of the alternative versions of that portion and particular values for each of the plurality of factors, thereby defining when each of the alternative versions of that portion is to be selected for serving; specifying, in a markup language document defining the Web page, a syntax extension for each of the at least two portions and a placeholder for a subsequently-selected one of the alternative versions of that portion, each of the syntax extensions comprising an identification of each of the factors defined for that portion and an identifier corresponding to that portion; subsequently receiving, at the server from a client, a request for the Web page; and responsive to receiving the request, analyzing the syntax defining the Web page to determine whether the syntax specifies any of the syntax extensions, and if so, processing each of the specified syntax extensions by; obtaining the identification of each of the defined factors, and the identifier corresponding to the portion, from the specified syntax extension; dynamically determining, by the server, a current value for each of the factors for which the identification is obtained; consulting the mapping for the portion to which the obtained identifier corresponds, using the dynamically determined current values, to determine which one of the alternative versions of that portion is selected for serving; replacing the placeholder for the portion to which the obtained identifier corresponds with the selected one of the alternative versions of that portion; and upon completion of processing each of the specified syntax extensions, serving the markup language document defining the Web page to the client as a response to the request.
-
Specification