Computing environment arranged to support predetermined URL patterns
AssigneeApple Inc.
InventorDavid Koski
Life of this patent
Estimating the term…
Abstract
A computing environment for hosting web services and applications is disclosed. The computing resources of the computing environment can be managed, controlled or utilized to facilitate improved hosting of web services, such as hosting of websites. According to one aspect, Universal Resource Locators (URLs) can be programmatically defined and utilized to centralize URL descriptions which can be utilized by the computing resources. According to another aspect, customized load balancing can be provided for the computing environment.
Claims22
A method for processing a request at a computing system having a plurality of computers coupled to a network, the computing system supporting a plurality of applications, said method comprising:
- receiving an incoming request line comprising a Universal Resource Locator(URL);
- parsing the incoming request to determine one or more segments of the incoming request line;
- identifying a set of URL segments within the URL pertaining to the incoming request line;
- determining whether the set of URL segments match corresponding segments of any of a plurality of predetermined URL patterns which are provided in a data structure which includes a Trie, with the different segments of the plurality of predetermined URL patterns being branches or endpoints in the Trie;
- determining an appropriate one of the applications to receive the incoming request line based on the matching one of the predetermined URL patterns;
- directing the incoming request line to the determined application based on at least one of the determined segments of the incoming request line;
- receiving a response to the incoming request line from the determined application;
- and
- responding to the incoming request line with the response provided by the determined application.
A computing system having a plurality of server computers for supporting a website, comprising:
- a processor and a memory in each of the plurality of server computer;
- a plurality of applications configured to interface with a plurality of processes operable on a set of the server computers;
- and
- a load balancer operatively connected to direct an incoming request including a URL to one of said applications, wherein the load balancer is configured to,
- identify a set of URL segments within the URL pertaining to the incoming request,
- determine whether the set of URL segments match corresponding segments of any of a plurality of predetermined URL patterns stored in a data structure which includes a Trie, with the different segments of the plurality of predetermined patterns being branches or endpoints in the Trie, and
- determine the appropriate one of the applications to receive the incoming request based on the matching one of the predetermined URL patterns.
A computer readable medium, which is non-transitory, including at least executable computer program code tangibly embodied therein for processing a request to a computing system coupled to a network, where the computing system supports a plurality of applications, said computer readable medium comprising:
- computer program code for receiving an incoming request line comprising a Universal Resource Locator;
- computer program code for parsing the incoming request line containing a URL to determine one or more segments of the incoming request line;
- computer program code for identifying a set of URL segments within the URL pertaining to the incoming request line;
- computer program code for determining whether the set of URL segments match corresponding segments of any of a plurality of predetermined URL patterns which are provided in a data structure which includes a Trie, with the different segments of the plurality of predetermined patterns being branches or endpoints in the Trie;
- computer program code for determining an appropriate one of the applications to receive the incoming request based on the matching of one of the predetermined URL patterns;
- and
- computer program code for directing the incoming request line to the determined application.
A computer readable medium, which is non-transitory, including at least executable computer program code tangibly embodied therein for processing universal resource locators, said computer readable medium comprising:
- computer program code for parsing an incoming request containing a URL to determine one or more segments of the incoming request;
- computer program code for identifying a set of URL segments within the URL pertaining to the incoming request;
- computer program code for determining whether the set of URL segments match corresponding segments of any of a plurality of predetermined URL patterns which are provided in a data structure which includes a Trie, with the different segments of the plurality of predetermined patterns being branches or endpoints in the Trie;
- and
- computer program code for dispatching the incoming URL to an application for processing based on one of the predetermined URL patterns that matches the incoming URL.
Dependencies are inferred from the claim text.