Claims
- 1. A content and application delivery system comprising:
an origin web site having an origin web server, said origin web server having a first memory for storing a first version of a web content; an edge server communicating via a data network with said origin web server and a policy control server; said edge server having a second memory for storing a second version of said web content and deriving said second version from said origin web server according to directives of a service policy that resides at said policy control server, said edge server downloading said directives of said service policy from said policy control server via said data network; wherein a request of a user directed to said origin web site for a resource from said web content is redirected to said edge server, and responsive to said request a third version of said web content is provided to the user from said edge server, said third version being derived from said second version in accordance with said directives of said service policy.
- 2. The system according to claim 1, wherein said policy control server is said origin web server.
- 3. The system according to claim 1, wherein said directives of service policy are specified using an XML based language.
- 4. The system according to claim 3, wherein said directives of said service policy include a description of resources of said origin web site.
- 5. The system of claim 4 wherein said description of resources is specified using a resource definition framework, said resource definition framework having extensions comprising protocol, type, size, encoding convention, creation time, expiration time, keyword, target groups, an alternate URL for fetching said resources, and a location of a code for creating a dynamic resource;
wherein said description of resources includes at least one of said extensions.
- 6. The system according to claim 4 wherein said directives of said service policy include a description of users at a target site.
- 7. The system of claim 1 wherein communication between said edge server and at least one of said policy control server and said origin web server is effected using an http protocol or an https protocol.
- 8. The system of claim 1, wherein said origin web site comprises a plurality of origin web sites, and said first version is distributed in said plurality of origin web sites, defining thereby a distributed first version, said second version being derived from said distributed first version.
- 9. The system of claim 1 wherein said policy control server comprises a plurality of web servers.
- 10. The system of claim 9, wherein said web servers are said origin web server, said edge server and a server located at a third party site.
- 11. The system of claim 1, wherein said directives comprise a description of an edge server group associated with said origin web site.
- 12. The system of claim 11, wherein said description of an edge server group includes information concerning at least one of an organization type, geographical region, language, business relation to said origin web site, edge server hardware capabilities, edge server software capabilities, edge server security specifications, internet location and internet connection speed of members of said edge server group.
- 13. The system of claim 1, wherein said second version is derived from said first version by the steps of:
selecting resources from said first version according to predetermined criteria comprising at least one of a resource URL, time of resource generation, length, keyword list, target groups, data format, and key; transforming a selected resource in said second memory responsive to said directives, wherein said directives comprise a description of an edge server group associated with said origin web site to define a transformed selected resource; and storing said transformed selected resource in said second memory.
- 14. The system according to claim 13, wherein said second memory comprises a cache memory.
- 15. The system according to claim 13, wherein said predetermined criteria comprise a presence of updated resources in said first version that are absent in said second version.
- 16. The system according to claim 1, wherein said service policy differentiates a resource of said first version from a resource of said second version according to an attribute of said edge server and an attribute of at least one of said first resource and said second resource.
- 17. The system according to claim 16, wherein said attribute comprises at least one of a caching priority, caching validation, a caching invalidation, preposition at a predetermined time and preposition upon an occurrence of a predetermined event.
- 18. The system according to claim 1, wherein said service policy differentiates a resource of said second version from a resource in said third version according to at least one of attribute of the user, attribute of the edge server, request time and attribute of the resource.
- 19. The system according to claim 1, wherein one of said directives of said service policy instructs said edge server to redirect said request of said user to another web resource.
- 20. The system according to claim 19, wherein said another web resource is located at said origin web site.
- 21. The system according to claim 19, wherein said another web resource is external to said origin web site.
- 22. The system according to claim 19, wherein said request is redirected by sending an http redirect instruction from said edge server to said user.
- 23. The system according to claim 19, wherein said request is redirected to another resource by said edge server by modifying a URL portion of said request and loading the resource from the origin site.
- 24. The system according to claim 19, wherein said request is redirected according to an attribute of the user.
- 25. The system according to claim 1, wherein at least two of said first version, said second version, and said third version are identical.
- 26. The system according to claim 1, wherein a group of resources of said first version is stored in a compressed form, and a corresponding group of resources of said second version is uncompressed by said edge server according to said directives.
- 27. The system according to claim 26, wherein said group of resources of said first version is stored in a packed form, and said corresponding group of resources of said second version is unpacked by said edge server according to said directives.
- 28. The system according to claim 1, wherein a resource of said first version is in an encrypted form, and a corresponding resource of said second version is decrypted by said edge server according to said directives.
- 29. The system according to claim 1, wherein a resource of said first version is communicated by a first protocol to form a resource of said second version, wherein said resource of said second version is communicated by a second protocol to form a resource of said third version.
- 30. The system according to claim 29, wherein said first protocol is file transfer protocol and said second protocol is http.
- 31. The system according to claim 29, wherein said first protocol is identical to said second protocol, wherein parameters of said first protocol differ from parameters of said second protocol.
- 32. The system according to claim 1, wherein said resource has an action defined therein, and said edge server performs said action.
- 33. The system according to claim 32, wherein said action comprises execution of an application.
- 34. The system according to claim 33, wherein said application is a web form processing application; wherein in a first step said edge server communicates a form to be completed by the user; and
in a second step parameters of said form are transmitted from the user to said edge server.
- 35. The system according to claim 33, wherein said application is a user password processing application;
wherein in a first step said edge server triggers a password template to be filled by the user; and in a second step form parameters of said password template are transmitted from the user to said edge server.
- 36. The system according to claim 33, wherein instructions of said application cause said edge server to identify an attribute of said user that is included in said request and to return resources in said second memory of said edge server that are associated with a URL of said request and said attribute of said user.
- 37. The system according to claim 36, wherein said attribute is identified in a request header having a cookie, and said resources are defined in said directives of said service policy, wherein said directives are stored in said edge server.
- 38. The system according to claim 33, wherein said application is a user password processing application;
wherein said edge server forwards said request to said origin web server and delivers a user name and a user password to said origin web server; wherein responsive to said user name and said user password said resource is transmitted by said origin web server to said edge server.
- 39. The system according to claim 38, wherein said resource is held in a cache by said edge server.
- 40. The system according to claim 33, wherein said application is a web common gateway interface extension or a Java servlet.
- 41. The system according to claim 1 wherein the user is a member of a group, and responsive to said request said edge server authenticates a membership of the user in said group.
- 42. The system according to claim 1, wherein said edge server is in communication with an external web server via said data network, and a portion of said second version is obtained from said external web server according to said service policy.
- 43. The system according to claim 1, wherein said resource is received by said edge server from said origin web server and stored therein, wherein said resource is modified prior to being stored in said edge server responsive to attributes of said edge server, said user, and said resource that are specified in said directives of said service policy.
- 44. The system according to claim 43, wherein said resource is modified by replacement thereof with a second resource that is local to said edge server.
- 45. The system according to claim 43, wherein said resource is modified by combination thereof with a second resource that is local to said edge server.
- 46. The system according to claim 43, wherein said resource is a web page that is modified by an operation consisting of at least one of frame insertion, textual or graphic insertion, html code insertion, link modification, embedded object modification, and adaptation of said web page to requirements of a browser.
- 47. The system according to claim 46, wherein a first URL in an embedded link of said web page is modified to define a second URL having a domain name value such that a routing of said request using said second URL is directed to said edge server.
- 48. The system according to claim 1, wherein said request is modified according to edge server, user and resource attributes that are specified in said directives.
- 49. The system according to claim 48, wherein said request is modified by an operation consisting of at least one of an addition of user information to an http header of said request, adding a cookie to said request, modifying a URL of said request, modifying form content of said URL, modifying a body of said request, and adding password information to said URL.
- 50. The system according to claim 48 wherein said resource comprises a first URL, and said request is modified by an operation comprising modifying said first URL to define a second URL having a domain name value such that a routing of said request using said second URL omits said edge server.
- 51. The system according to claim 48, wherein said resource comprises a first URL, wherein in a first operation said first URL is modified to define a second URL having a domain name value such that a routing of said request using said second URL is directed to said edge server, and in a second operation said second URL is modified to define a third URL having a domain name value such that a routing of said request using said third URL omits said edge server.
- 52. The system according to claim 1 further comprising a DNS system associated with said data network, and said request is redirected by said DNS system;
wherein said DNS system resolves a domain name that is included in said request for said resource, and said DNS system provides the user with an address of one of said origin web server, another web server that can serve the resource and said edge server.
- 53. The system according to claim 52, wherein said service policy differentiates said first version from said second version according to at least one attribute of the user, attribute of the edge server, request time and attribute of the resource.
- 54. The system according to claim 52, wherein said service policy differentiates said second version from said third version according to at least one of an attribute of said user, an attribute of said edge server, a request time and an attribute of the resource.
- 55. The system according to claim 52, wherein at least two of said first version, said second version, and said third version are identical.
- 56. The system according to claim 52, wherein said first version is stored in a compressed form, and said second version is uncompressed by said edge server.
- 57. The system according to claim 52, wherein said resource has an action defined therein, and said edge server performs said action.
- 58. The system according to claim 57, wherein said action comprises execution of an application.
- 59. The system according to claim 52, wherein the user is a member of a group, and responsive to said request said edge server authenticates a membership of the user in said group.
- 60. The system according to claim 52, wherein said edge server is in communication with an external origin server via said data network, and a portion of said second version is obtained from said external origin server according to said service policy.
- 61. The system according to claim 52, wherein said second version is obtained by said edge server from said origin web server according to a modification of a URL, said modification designating a portion of said first version in said origin web server.
- 62. A computer implemented method of electronic commerce, comprising the steps of:
storing a first version of web content in a first server; implementing a service policy as control instructions that reside in said first server; transmitting said control instructions from said first server to a second server, wherein said control instructions reside in said first server; responsive to said control instructions, storing a second version of said web content in said second server; redirecting a first request of a first user directed to said first server for a first resource of said web content to said second server; providing said first user with a third version of said web content from said second server; redirecting a second request of a second user directed to said first server for a second resource of said web content to said second server in accordance with said control instructions; providing said second user with a fourth version of said web content from said second server in accordance with said control instructions; and associating said first user with said second user via a communication path extending through said second server.
- 63. The method according to claim 62, wherein said third version and said fourth version are identical.
- 64. The system according to claim 62, further comprising the step of differentiating said first version from said second version according to an attribute of said second server.
- 65. The system according to claim 62, further comprising the step of differentiating said second version from said third version according to a criterion consisting of at least one of an attribute of said user, an attribute of an edge server, a request time and an attribute of the resource.
- 66. The system according to claim 62, further comprising the steps of:
compressing said first version, downloading said first version from said first server to said second server; uncompressing said first version in said second server; and deriving said second version from said first version in said second server.
- 67. The system according to claim 62, wherein said first resource performs an action defined therein, said action comprising the step of executing of an application.
- 68. The system according to claim 67, wherein said step of executing an application comprises:
communicating a form to be completed by said first user; and accepting parameters of said form from said first user.
- 69. The system according to claim 67, wherein said step of executing an application comprises:
triggering a password template to be filled by said first user; and accepting parameters of said password template from said first user.
- 70. A domain name system, comprising:
a regional DNS server that is non-authoritative for an external domain name zone; a root DNS server; and an authoritative DNS server for said external domain name zone, said regional DNS server, said root DNS server, and said authoritative DNS server being linked via a data network; wherein in response to a DNS address resolution request for a name within said external domain name zone received from a client, said regional DNS server effects a first resolution of said DNS address resolution request into a first network address and communicates said first network address to said client, said first network address being different from a second network address that is configured in said authoritative DNS server, wherein said second network address comprises a second resolution of said DNS address resolution request in said external domain name zone.
- 71. The domain name system according to claim 70, wherein said first resolution effected by said regional DNS server is controlled by a policy control server that is linked to said data network.
- 72. The domain name system according to claim 70, further comprising an Edge DNS server linked to said data network.
- 73. The domain name system according to claim 72, wherein said regional DNS server conducts a zone forwarding procedure to said Edge DNS server for a domain name corresponding to said first resolution.
- 74. The domain name system according to claim 73, wherein said first resolution effected by said regional DNS server is controlled by a policy control server that is linked to said data network.
- 75. The domain name system according to claim 73, wherein responsive to said zone forwarding procedure said Edge DNS server returns said first resolution of said DNS address resolution request to said regional DNS server.
- 76. The domain name system according to claim 72, wherein said first network address is registered in said Edge DNS server in response to a DNS cache registration operation.
- 77. The domain name system according to claim 72, wherein a resolution table of said Edge DNS server is automatically derived from said regional non-authoritative DNS server responsive to a directive of said policy control server.
- 78. The domain name system according to claim 72, wherein said Edge DNS server comprises a plurality of Edge DNS servers, wherein in an event of a failure of a first one of said Edge DNS servers, a second one of said Edge DNS servers is substituted therefor.
- 79. A method of domain name resolution, comprising the steps of:
receiving a DNS address resolution request via a data network from a client for a name within an external domain name zone in a regional DNS server that is non-authoritative for said external domain name zone; obtaining a first resolution of said DNS address resolution request from an authoritative DNS server for said external domain name zone via said data network, defining a first network address, wherein said authoritative DNS server is linked to a root DNS server in said data network; effecting a second resolution of said DNS address resolution request in said regional DNS server, defining a second network address, wherein said second network address is different from said first network address; and communicating said second network address to said client via said data network.
- 80. The method according to claim 79, further comprising the steps of:
linking a policy control server in said data network; and controlling said second resolution according to a policy of said policy control server that corresponds to said name in said external domain name zone.
- 81. The method according to claim 80, wherein said policy control server resides in an origin server that corresponds to said name in said external domain name zone.
- 82. The method according to claim 80 wherein said policy controls said second resolution by specifying a domain name according to an operational criterion of an origin server in said data network.
- 83. A method of domain name resolution, comprising the steps of:
receiving a DNS address resolution request via a data network from a client for a name within an external domain name zone in a regional DNS server that is non-authoritative for said external domain name zone, wherein an authoritative DNS server is accessible in said data network by said regional DNS server, and said name is resolvable in said authoritative DNS server to effect a first resolution thereof, defining a first network address, and said authoritative DNS server is linked to a root DNS server in said data network; forwarding said DNS address resolution request from said regional DNS server to an Edge DNS server via said data network; instructing an edge server in said data network to periodically write a regional domain name DNS resolution into a resolution cache of said Edge DNS server, wherein a time-to-live interval of said regional domain name DNS resolution exceeds an interval between successive performances of said step of writing; responsive to said step of periodically writing, effecting a second resolution of said DNS address resolution request in said Edge DNS server, defining therein a second network address, wherein said second network address is different from said first network address; communicating said second network address from said Edge DNS server to said regional DNS server via said data network; to define an actual network address; and communicating said actual network address from said regional DNS server to said client via said data network.
- 84. The method according to claim 83, further comprising the steps of:
in an event of failure of said edge server to perform said step of periodically writing, obtaining said actual network address by querying said root DNS server to obtain said first resolution; and storing said first resolution in said Edge DNS server, to define said actual network address therein as said first network address.
- 85. The method according to claim 83, further comprising the steps of:
linking a policy control server in said data network; and controlling said second resolution according to a policy of said policy control server.
- 86. The method according to claim 85 wherein said second resolution is effected by an operation consisting of at least one of providing a local edge server network address, providing an origin site network address, and altering a time to live value for a cached resolution.
- 87. The method according to claim 85, wherein said policy control server resides in an origin server that corresponds to said name in said external domain name zone.
- 88. A method of domain name resolution, comprising the steps of:
receiving a DNS address resolution request via a data network from a client for a name within an external domain name zone in an regional DNS server that is nonauthoritative for a region said external domain name zone; wherein said name is mapped at an authoritative DNS server to a first network address, and said regional DNS server forwards said request to an Edge DNS server that is non-authoritative for said external domain name zone, said Edge DNS server defining a second network address, wherein said second network address is different from said first network address; communicating said second network address from said Edge DNS server to said regional DNS server via said data network; and communicating said second network address from said regional DNS server to said client via said data network.
- 89. The method according to claim 88, further comprising the steps of:
linking a policy control server in said data network; and controlling said second network address according to a policy of said policy control server.
- 90. A method of domain name resolution, comprising the steps of:
using an edge server, inserting registrations into an Edge DNS server for a name of a domain via a data network, wherein said Edge DNS server is configured as a master DNS server for said domain; receiving in a regional DNS server in said data network a DNS address resolution request via said data network from a client for said name of said domain; responsive to one of said registrations, effecting a resolution of said DNS address resolution request in said regional DNS server, to define a network address; and communicating said network address from said regional DNS server to said client via said data network.
- 91. The method according to claim 90, further comprising the steps of:
testing unavailability of said Edge DNS server; and responsive to said step of testing, redirecting entries of said regional DNS server to one of a root DNS server and an origin server in said data network.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the priority of Provisional Application No. 60/198,908, filed Apr. 20, 2000.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60198908 |
Apr 2000 |
US |
|
60232580 |
Sep 2000 |
US |