Request routing system for and method of request routing
AssigneeInternational Business Machines Corporation
InventorJim Miller-Cushon
Life of this patent
Estimating the term…
Abstract
A request router manager receives information of one or more objects associated with the request. Each object belongs to an object class. One or more objects have one or more routing hints assigned to the objects. The request router manager groups the associated objects into one or more object sets based on the object class and the routing hints of the objects, and evaluates predefined routing rules based on the object sets to determine a destination server group name that identifies a destination server group for the request. The request is forwarded to the destination server group based on the destination server group name.
Claims19
A request routing system for routing requests issued by clients to servers, the request routing system comprising:
- multiple request dispatchers, each request dispatcher being associated with one or more servers, the request dispatchers being grouped into one or more groups such that each group of dispatchers forms a server group, each server group having a name, each dispatcher being capable of routing a request to a dispatcher of a server group named in the request;
- a computer;
- a router manager executable by the computer, the router manager having:
- a request information handler executable by the computer to receive information of one or more objects associated with the request, each object belonging to an object class, one or more objects having one or more routing hints assigned to the objects, and to return a destination server group name which identifies a destination server group for the request, wherein at least one of the one or more objects is a package that includes values that are to be included in a generated report, wherein the one or more routing hints include one or more package hints that identify the package, and wherein the request comprises a request for the values within the package that are to be included in the generated report;
- an object set handler executable by the computer to group the associated objects into one or more object sets based on the object class, the one or more package hints, and the routing hints of the objects;
- and
- a server group selector executable by the computer to evaluate routing rules based on the object sets to determine the destination server group name;
- and
- a request manager having:
- an object handler to send the information of objects associated with the request to the router manager;
- and
- a request modifier to receive the destination server group name, and add it to the request.
A request router manager for managing routing of requests issued by clients to servers, the request router manager comprising:
- a computer;
- a request information handler executable by the computer to receive information of one or more objects associated with a request, each object belonging to an object class, one or more objects having one or more routing hints assigned to the objects, and to return a destination server group name which identifies a destination server group for the request, wherein at least one of the one or more objects is a package that includes values that are to be included in a generated report, wherein the one or more routing hints include one or more package hints that identify the package, wherein the request comprises a request for values within the package that are to be included in the generated report;
- an object set handler executable by the computer to group the associated objects into one or more object sets based on the object class, the one or more package hints, and the routing hints of the objects;
- and
- a server group selector executable by the computer to evaluate routing rules based on the object sets to determine the destination server group name such that the request is sent to the destination server group.
A method of routing a request from a client to a group of servers, the method comprising:
- receiving information of one or more objects associated with the request, each object belonging to an object class, one or more objects having one or more routing hints assigned to the objects, wherein at least one of the one or more objects is a package that includes values that are to be included in a generated report, wherein the one or more routing hints include one or more package hints that identify the package, and wherein the request comprises a request for the values within the package that are to be included in the generated report;
- grouping, by at least one computer, the associated objects into one or more object sets based on the object class, the one or more package hints, and the routing hints of the objects;
- evaluating, by the at least one computer, predefined routing rules based on the object sets to determine a destination server group name that identifies a destination server group for the request;
- and
- forwarding the request to the destination server group based on the destination server group name.
A computer readable memory device storing computer readable code for execution by a computer to:
- receive, with a request information handler, information of one or more objects associated with a request, each object belonging to an object class, one or more objects having one or more routing hints assigned to the objects, wherein at least one of the one or more objects is a package that includes values which are to be included in a generated report, wherein the one or more routing hints include one or more package hints that identify the package, and wherein the request comprises a request for the values within the package that are to be included in the generated report;
- group, with an object set handler, the associated objects into one or more object sets based on the object class, the one or more package hints, and the routing hints of the objects;
- evaluate, with a server group selector, predefined routing rules based on the object sets to determine a destination server group name that identifies a destination server group for the request;
- and
- forward, with a request manager the request to the destination server group based on the destination server group name.
Dependencies are inferred from the claim text.