CN103609074B - Ask to route using specific WEB - Google Patents

Ask to route using specific WEB Download PDF

Info

Publication number
CN103609074B
CN103609074B CN201280029563.2A CN201280029563A CN103609074B CN 103609074 B CN103609074 B CN 103609074B CN 201280029563 A CN201280029563 A CN 201280029563A CN 103609074 B CN103609074 B CN 103609074B
Authority
CN
China
Prior art keywords
request
network
router
web
web request
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.)
Expired - Fee Related
Application number
CN201280029563.2A
Other languages
Chinese (zh)
Other versions
CN103609074A (en
Inventor
A·霍普曼
E·福克斯
T·富特旺勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US13/163,140 external-priority patent/US20120102226A1/en
Priority claimed from PCT/US2011/054518 external-priority patent/WO2012054218A2/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN103609074A publication Critical patent/CN103609074A/en
Application granted granted Critical
Publication of CN103609074B publication Critical patent/CN103609074B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

Web request router is used to route the request of the content in network.Web request router is operated on universal computing device, is configured as receiving request, analysis request and routing requests to appropriate destination.Web request router can be configured as performing different method for routing and operations.For example, Web request router can be based on the following routes requests:The type of network traffics(For example, user/machine);Using specific logic, URL pattern and/or other programmed logics.The web request router can be configured as the proximities of the request based on determined by(For example, document, URL(URL), directory path, Website Hosting)To route the request.Web request router be also configured to perform QOS operation, such as audit, log recording, metering, to network traffics chokes, forbid network traffics etc..

Description

Ask to route using specific WEB
Background
Legacy network load balancer device is the very expensive special hardware for route requests.These equipment Can be configured to perform the 4th layer and the 7th layer route.7th layer is intensive performance, and the 4th floor is limited to the road for customizing request By behavior.With the growth of network, in fact it could happen that bottleneck, network traffics are caused to slow down.
General introduction
This general introduction be provided be in order to introduce in simplified form will be described in detail below in the selection that further describes Concept.This general introduction is not intended to identify the key feature or essential feature of theme required for protection, is intended to be used to help Determine the scope of theme required for protection.
Web request router is used to route the request of the content in network.Web request router is operated in On universal computing device, it is configured as receiving request, analysis request and routing requests to appropriate destination.Web request route Device can be configured as performing different method for routing and operations.For example, Web request router can be route based on the following asking Ask:The type of network traffics(For example, user/machine);Using specific logic, URL pattern and/or other programmed logics.Web Request router can be configured as the identified compatibility based on a request(For example, document, URL(URL)、 Directory path, Website Hosting, one or more attributes of bottom http protocol, such as cookie, user agent, HTTP editions This ... etc.)To route the request.Web request router is also configured to perform QOS operations, such as audit, daily record note Record, metering, to network traffics chokes, forbid network traffics etc..
Brief description
Fig. 1 is shown with the route system of web request router;
Fig. 2 is shown for using web request router in the network of the front-end and back-end server including online service The example system 200 of routes requests;
Fig. 3 is shown with the general view process of web request router routes requests;
Fig. 4 shows the different exemplary operations that can be performed by web request router;And
Fig. 5 shows illustrative Computer Architecture.
Describe in detail
The accompanying drawing of identical element is represented with reference to wherein identical label to describe each embodiment.
In general, program module includes performing particular task or realizes routine, program, the group of particular abstract data type Part, data structure and other types of structure.Also other computer system configurations, including portable equipment, multiprocessing can be used Device system, based on microprocessor or programmable consumer electronics, minicom, mainframe computer etc..It is also possible to use The DCE that wherein task is performed by the remote processing devices by communication network links.In DCE In, program module can be located in both local and remote memory storage devices.
Fig. 1 is shown with the route system of web request router.As illustrated, system 100 includes router 102, network Load balancer 104-105, web request router 110-112, back-end server 120-127 and cache 116.Can make With more or less router, network load balancer, web request router and back-end server.In addition, by system Some of function that component in 100 is provided can be performed by other assemblies.For example, load balance can be by a different meters Calculation equipment is performed, rather than use dedicated network load balancer(For example, web request router 110-112 and/or certain its His universal computing device).
The across a network route data of router 102 is grouped.In general, router 102 is come using the address in packet It is determined that where to forward the packet to network load balancer 104-105 or certain other purposes ground.
Load balancer 104-105 can be implemented as private network device, and/or the function that is provided of load balancer Partly/all can be by other computing devices(For example, web request router 110-112 or the other computing devices of certain group(Do not show Go out))To perform.According to an embodiment, when network load balancer is special load balancer, load balancer 104-105 It is operated in relatively low tcp/ip layer(For example, the 4th layer rather than the 7th layer)So that each load balancer can process more asking Ask.Load balancer 104-105 can also be operated in a different layers.For example, the load balancer can be l3 device, this sets It is standby to serve as route but perform balanced load.When load balancer receives request, the load balancer orients the request One of to available web request router.Distinct methods can be used to route the request to web request router(For example, circulation (round robin), based on load value, based on load value and other).Generally, conventional load balancer is that special hardware sets Standby, they are expensive compared with universal computing device.
Web request router 110-112 directs the request to one or more back-end servers 120-127.Web request road A kind of scalable request router is provided by device, it is operated in tcp/ip layer higher compared with dedicated network load balancer (For example, the 7th layer).According to an embodiment, web request router be implemented as Microsoft for Windows servers because Special net information service(IIS)The general-purpose computations server of middle operation.In general, IIS is a kind of flexible, safety and is easily managed For web hosting service(For example, from media flow transmission to web AHs)Web server.Web request router 110-112 It is cheap compared with specialized hardware computing device.For example, web request router may be implemented in low memory and treatment In the commodity server of specification.
Upon receiving a request, the web request router for receiving the request determines the destination of the request(For example, rear end Server 120-127).The web request router can perform different operations to determine destination.In general, web request road The destination that the request determines the request is parsed using http protocol by device.In most cases, institute in the request is used The main frame head specified(host-header)To select the back-end server and/or back-end server that are directed to the request Pond.Can be in cache(Such as cache 116)Middle lookup main frame head, and the lookup can relate to using some pre- set patterns Then.For example, when web request router receives the unified resource positioning of xxxx-yyyy.sharepoint.com forms(URL) During request, the web request router can search in the caches the xxxx part and yyyy any value be sent to it is same Group server.The web request router can also carry out other logics to determine the destination of the request.
The web request router can the compatibility based on the request orient the request.For example, the web request router Can be configured as creating/using the compatibility for the following:Permitted file, specific URL, directory path, file type, stand One or more attributes of point set, bottom http protocol, such as cookies, user agent, HTTP versions ..., etc..Example Such as, compatibility can be created and store(For example store in cache 116), the compatibility guiding web request router make The request to " document 1 " is serviced with back-end server 120, and the request to " Website Hosting 1 " is directed into back-end services Device 124 and 125.One or more back-end servers can be directed to create compatibility to receive and include match pattern in URL The relevant request of request(For example, the detectable URL of the web request router includes asking for pattern " WordViewer.aspx " Ask and based on the proximities to this pattern by the request be directed to this one or more specified by back-end server).Can create One proximities, the proximities is specified:Any request of a part including particular address or the address will be by the back-end services One or more in device are serviced.
The web request router can be configured as routeing the request based on the user for receiving from it the request.For example, one Individual or multiple users are directed into first group of back-end server and after one or more other users are directed into second group End server.According to an embodiment, it is based on(For example, received in cookie)Authentication information determines the user.The web please Seek router and can check cache 116 and/or certain other positions to be based on the request route and should ask from who was received Ask.
The web request router can be configured as the setting configured based on client come the dynamic road changed to asking By the setting for such as being received by the setting of client reception and/or from another computing device(For example, an application server and/ Or set by client).For example, the settable option of user:Differently it is route using client-based application Flow is testing new features.For example, being based on a cookie(Band is set to by client application outer), the web request router institute The request of reception can be routed to newer/different version of the software, so as to allow the administrator/user preview new edition This is without the redaction to be exposed to their other users.Set to change web request road according to client-based application Other purposes can be additionally used in by the route of device(For example, close beta team with verify new function without by the New function expose To real terminal user).In general, according to setting based on the value in client application, different user can be exposed to not Same content.
The web request router can determine that the type of network traffics(Based on user/based on machine/based on management)And The flow is route based on identified discharge pattern.For example, can be routed to for the flow based on user by the web request router First group of back-end server, is routed to second group of back-end server, and management flow is routed to again by the flow based on machine Another group of back-end server.The type that the web request router can also be based on network traffics is ranked the priority of request(For example, Flow based on user is endowed the priority higher than the flow based on machine).
Web request router is also configured to perform service quality(QOS)Operation.The web request router can also be held The many different operations of row(For example, metering network flow;Auditing the network flow;Record network traffics daily record;To network flow gauge Take and be controlled).For example, web request router is rejected by being confirmed as the network traffics from unauthorized source.With this side Formula, the back-end server does not receive the unauthorized flow and does not spend the time-triggered protocol unauthorized flow.The web request router Can also be based on the request chokes flow.For example, certain user can be limited to specific bandwidth/inner capacities.The web request route Device is also configured to for needing to the service using charging.For example, the web request router can be configured as record load Daily record simultaneously measures load(Both bandwidth in the quantity and both direction of request).Web request router can also be may be only Pay and chokes are carried out to those websites when there is unexpected popularity spike compared with the website of low discharge.
The web request router is also configured to be rerouted to request outside the network of the web request router And/or within another object ground.For example, the web request router may know that asked content has been moved to where, And this is not yet by domain name system(DNS)Reflected.In the case, the web request router may have access to the content from a high speed Caching 116(Or certain other positions)The position moved and before the DNS updates the position of the content by the request weight Newly it is routed to the position of the content.
The web request router can also be based on the moment of this day(time of the day)And/or be configured as receiving this Load route traffic on the back-end server of request.For example, during hour specified in the day, meeting specified conditions (For example, customer flow)Request be directed to first group of back-end server, and the request of condition is not satisfied is directed to Two groups of back-end servers.During other times, the web request router can routing traffic in the same way.Server it is negative Load can be also used for determining how route requests by web request router.The load can be directed to particular server and/or be directed to One group of server.For example, the load can be the average load across all/portion rear end server.Also other are can be used to bear Information carrying ceases(For example, peak load, in the average load ... in a few days not in the same time).The WRR can be configured as to the client End provides load information or does not provide load information.
Cache 116 can be configured as many different types of information that storage is used in route requests.For example, matching somebody with somebody Confidence ceases(It can be the millions of quick objects for changing)Be stored in the cache rather than be pushed to web please In seeking each of router.Web request router simply can be worth from the cache.Cache 116 can quilt It is configured to store routing table, the routing table can be used to determine and for specific request be routed to where.
Web request router can be used many different factors to assist to route the request, and such as back-end server is utilized Rate, request is received determining which back-end server to the linking number and overall performance of server.Web request router is also The application certain logic for route requests can be used.For example, based on document identifier and/or can be included in what is received User profile routes requests in request.
The web request router is also using one or more in some technologies(For example, circulation, based on load value, base In rear end to other returned load values of request, based on the load in cache or based on how soon sensing other responses Be returned)To determine the destination of request.
Fig. 2 is shown for using web request router in the network of the front-end and back-end server including online service The example system 200 of routes requests.Example system 200 include client 202 and 204, network 206, load balancer 208, Web request router 209, WFE servers 210,212,214, back-end server 216-219, and optional routing component 220.More or less client, WFE, back-end server, load balancer and network can be used.In addition, by system 200 Some of the function that is provided of component can be performed by other assemblies.For example, load balance can WFE and/or certain Plant execution in other computing devices.
In the exemplary embodiment, client 202 and 204 is that such as desktop computer, laptop computer, terminal are calculated The computing device of machine, personal digital assistant or cellular telephone apparatus.Client 202 and 204 may include input-output apparatus, in Central Processing Unit(“CPU”), data storage device and the network equipment.In this application, term client and client computer It is used interchangeably.
WFE210,212 and 214 can be by clients 202 and 204 via load balancer 208 and web request router 209 Accessed by network 206.One or more WFE can change.For example, can over time increase/delete/change one or more WFE.Back-end server 216-219 is addressable to WFE210,212 and 214.Load balancer 208 can be dedicated network Equipment and/or one or more generic server computers.Load balancer 208, web request router 209, routing component 220, WFE210,212 and 214 and back-end server 216-219 may include input-output apparatus, CPU (“CPU”), data storage device and the network equipment.In the exemplary embodiment, network 206 is internet, and the He of client 202 204 can remotely access WFE210,212 and 214 and be connected to the resource of WFE210,212 and 214.
In an example embodiment, system 200 is the system based on cloud online, based on browser.In system 200 In, one or more in back-end server 216-219 are sql servers, for example, from Raymond, Washington, United States The sql server of Microsoft.
WFE210,212 and 214 provide the interface between client 202 and 204 and back-end server 216-219.Load is flat Request from client 202 and 204 is directed to web request router by weighing apparatus 208.Load balancer 208 may include one Or multiple special hardwares and/or it is configured as performing the universal computing device of load balance.According to embodiment, load balance Device 208 is the specialized hardware load balancer terminated the 4th layer of TCP/IP junction.As discussed above, hardware load is put down Weighing apparatus can be operated in a different layers(Such as the 3rd layer).When load balancer need not perform a large amount for the treatment of, it can generally route Many more message.For example, treatment security socket layer(SSL)It is accessible many that connection can significantly decrease load balancer Individual request.Compared with higher level, load balancer can route many more requests in lower level(For example, at lower level The request of up to 5 times of reason).
Web request router 209 directs the request to WFE210,212 and 214, and using such as WFE utilization, arrive Which WFE servers reception client request the linking number of WFE and the factor of totality WFE performances determine.Similarly, web Request router 209 comes true using such as back-end server utilization rate, to the linking number of server and the factor of overall performance Fixed which back-end server receives request.Web request router 209 can be used for from certain in the unloading of load balancer 208 treatment A bit.For example, load balancer 208 may operate at relatively low tcp/ip layer(For example, the 3rd, 4 layers)To allow that it is more that it is processed Request.Web request router 209 is provided and may operate at tcp/ip layer higher(For example, the 7th layer)Scalable request road By device.Web request router can use the application certain logic for route requests.For example, document identifier can be based on And/or it is included in the user profile routes requests in the request for having received.When WFE changes to be occurred(For example, WFE be deleted/ Increase), the web request router storage on the WFE change change information so that the web request router stop to Flow is simultaneously directed to the WFE of new addition in due course for removed WFE transmitted traffics.
The example of client request can be the document for accessing storage on one of back-end server, and edit and storage is in rear end Server(Such as 216-219)On document, or by document storage on back-end server.When load balancer 208 passes through When network 206 receives client request, load balancer 208 directs the request in available web request router 209 It is individual.Web request router 209 determines which the reception client request in WFE servers 210,212 and 214.Similarly, WFE servers 210,212,214 and/or optional routing component 220 determine in back-end server 216-219 which or it is many Individual reception from WFE servers is asked.Back-end server can be configured as storing one or more tenants(That is customer)Number According to.
Client 202 and/or client 204 can change the route of web request router 209.For example, client 202 can In one option of the client-based interior setting of application, the option allows the client to be directed to different content(For example, application Redaction)To carry out testing/preview to it.Can also be from another computing device(For example, application server)Receive and set.
Web request router operates in the universal computing device of the decryption function of may include to be built into hardware(For example take Business device).For example, the built-in decoding capabilities of many CPU, the decoding capability can be used to assist in decoding security socket layer (SSL)Connection.Web request router is generally than the special load balancer for catenet(Such as load balancer 208) It is less expensive.Request can be processed using any number of web request router 209.During online service runs, web request The number of router can also be dynamically changed.For example, depending on service load, can dynamically dispose/remove it is more or Less web request router.
Web request router 209 can use the application certain logic for route requests.Can be based on being wrapped in request The information for including(For example, document identifier and/or user/document/address information)Routes requests.For example, request can be “…../wordviewer.aspxThe HTTP request of id=foo.docx " forms.Request is associated with specific application, and Including document identifier " foo.docx " as the part asked.Different applications can have different appealing structures.Typically For, the request being associated with application can include such as the following:Application message, user profile, lessee information, document Information etc..Many application requests have included can be used for the information routeing, without modification request with including can be used for what is route Additional information.In other words, web request router have on application how the application specific knowledge of request to create.Thus, due to Need not be created and stored in request using the available information that can have included in request, therefore additional information.
The route of request can be based on the title/type/path prefix of asked content(For example, request Zhong URL roads Certain part in footpath)/ Website Hosting/address(For example, foo.docx/ tenant 1/, LOC1/*.doc ...).For example, to specific All requests of document foo.docx are directed into single server to process the request to improve what its cache was responded Ability, and the request to very popular website is directed into one group of server.When single server treatment is to a document Request when, it usually can retrieve asked content from cached content, therefore save on time and calculating Resource.Once document has been requested, it can be cached on the server of initial management request.Due to text can be based on Shelves title routes requests, then the document be likely to be located in the cache of fixed server.Other application is specific Information can also be used for route requests, be route based on particular version, documentation release, application type applied etc..
Route to asking can also be based at least partially on other factors, such as:Based on non-user initiate request come Route(Robot(bot));The duplication of request(Multiple end points are routed to for debugging purpose);Geographical distribution(Across a network, across number According to Center Road by with obtain DNS propagate during high availability)Deng.
Document can also be cached in certain other positions, such as cache server(It is not shown)It is interior.At a high speed Caching server by retrieved in the previous request that is carried out from same client or other clients the content for having preserved come plus Speed request.Cache server continually stores requested resource to allow that they are provided more quickly.
Look-up table can be used to determine the destination of request.For example, look-up table can be stored in the data storage in network And/or cache(For example, cache 116)In.Purpose of the look-up table by web request router access to determine to ask Ground.For example, look-up table may include the position that customer name, document title and the document are stored.Web request router is used It is the position of the document searching data storage from the information asked and in look-up table.When the location of content in online service becomes During change, look-up table may be updated to cause web request router automatically by content-targeted to updated position.As discussed , for it is many different the reasons why can change location of content, the such as new deployment of machine, field, database, upgrade, separate number According to storehouse, defragmentation operation etc..
Fig. 3-4 is shown for the process using web request router route requests in on-line system.
When the discussion of the routine being presented herein is read, it should be appreciated that the logical operation of each embodiment is implemented as: (1) a series of computer implemented actions run in computing system or program module;And/or it is mutual in (2) computing system Machine logic circuits or circuit module even.This realization is the choosing depending on the performance requirement for realizing computing system of the invention Select problem.Therefore, logical operation that is illustrated and constituting embodiment described herein is variously referred to as operation, structure and sets Standby, action or module.These operation, structural device, action and modules can use software, firmware, special digital logic, Yi Jiqi Any combinations are realized.
Fig. 3 is shown with the general view process of web request router routes requests.
After a start operation, process 300 marches to the operation 310 for receiving request wherein.Be configured as please Ask the destination for being routed to suitable web request router one group of general commodity server at receive request.The destination can The inner/outer of the network to be resident in the web request router.The request is directed to storage in one or more machines On content.The content moveable position asked.For example, database can be copied to new position, tenant can be moved Can be disposed to a diverse location, new field.According to an embodiment, http protocol is observed in the request.
Flow direction operation 320, the request is parsed by web request router.The request can be parsed to obtain different types of letter Breath.For example, some requests can be parsed coming:Determine the title of the position in stem;The application that mark is associated with the request;Mark The title of document;Mark user;Determine the setting included in the request(That is, using specific route requests);The class of identification request Type(For example, user/machine/management);Mark address;Etc..Some information that can be resolved include application identification information, document Information, user profile, authentication information, security information, Customer Information etc..
Operation 330 is moved to, the web request router can perform other operations.The operation of many types can be programmed to by Web request router is performed.Web request router can create/use proximities.For example, can for document, Website Hosting, URL, Directory path etc. creates proximities.Web request router can also carry out various QOS operations(For example, metering network flow;Audit Network traffics;Record network traffics daily record;To Network account and refusal)(Related begged for to what other were operated referring to Fig. 4 By).
Operation 340 is moved to, it is determined that the destination of request.As discussed, many different types of information are can be used true Determine destination.According to an embodiment, the information on having what available content on each back-end server in network is stored in be looked into Look in table, the look-up table can be by the web request router access.The look-up table reflects the current location of data.It is real according to one Example is applied, as long as location of content changes just automatically updates look-up table, being accurately reflected in the information for look-up table is included is carried out There is the server of available content during request.According to an embodiment, the look-up table identifies one or more back-end servers, after this Hold server process particular document/URL/ addresses/user/Website Hosting.For example, a server can process first group of document, Another server process particular station set, another server process includes request of particular address, etc..By will be to identical The request of content is sent to identical machine, and the content would be possible to be stored in the cache of machine.If request is For another server without the content being cached, then then when the document is obtained, execution is obtained the server more Many steps.May be based on other information included in the request(For example, web request router is directed into the another of content The test request of one position)To determine destination.The destination of the request can also be forbidden.For example, it may be determined that one request with it is banned Requestor only is associated.
Operation 350 is moved to, identified destination is forwarded this request to, or refusal should when the request is prohibited Ask.The inner/outer of the network that the destination can be resident in the web request router.In some cases(For example, should Request is very big), the request can be streamed to destination.
Flow direction operation 360, when the request is forwarded to destination, a response is received from the destination and is returned to visitor Family end.The response can as received be returned and/or be changed before return.For example, load information, health degree are believed Breath etc. can be included in the response.In some cases(For example, the response is very big), the response can be streamed to client End.
Process then move to end block and return to process other actions.
Fig. 4 shows the different exemplary operations that can be performed by web request router.These exemplary operations are as an example There is provided, it is not intended to be restricted.0 or more in the operation of executable process 400.
Operation 410 shows to create/use proximities.Can be created for the following/determine proximities:Permitted file, text Part group, the part of specific URL, URL, particular category path, the part of directory path, using, application type, file type, stand One or more attributes of point set, bottom http protocol, cookies, user agent, HTTP versions etc..Proximities It can be the combination based on disparity items.For example, " document " that web request router will can be associated with address " Addr1 " The file association of type is to be stored at back-end server 1.
Operation 420 shows the route of application control.Route requests can be according to the setting received from client-based application. User and/or another computing device can be set come interim/permanent route for changing a request by changing.For example, user can make Test setting is set with client-based application, it causes the web request router will to be received from one or more users Request be routed to the different editions of application/content for the purpose of test.Web front end server or other computing devices Route can be changed.
Operation 430 is shown with web request router to perform QOS operations.Web request router can be configured as performing Various QOS operations(For example, metering network flow;Auditing the network flow;Record network traffics daily record;Determine network health degree;Prison Depending on network traffics;To Network account and it is controlled).Health degree can with the health degree of each in one group of machine and/ Or this group of holistic health degree of machine is related.For example, web request router can determine that average health degree score, the average health Degree score is based on from each value for obtaining in the machine.In this way, the health degree score value of single machine is not The mistake for providing the health degree score of the other machines in the group is understood(For example, a machine can be in height requirement, and Other machines in the group is really not so).
Operation 440 shows to stop unsuitable network traffics.For example, web request router is rejected by being confirmed as coming from The network traffics of unauthorized source.In this way, the back-end server do not receive the unauthorized flow do not spend time-triggered protocol should Unauthorized flow.
Operation 450 shows the route of the type based on network traffics.May depend on the request when from user, machine or The person request is management request differently route the request.For example, the request from user can be than the request from machine It is scheduled priority higher.The type that network traffics can be also based on is asked and creates proximities differently routeing this(For example, Flow based on user manages request to server 5 to server 1-3, the flow based on machine to server 3-4).According to One embodiment, the type of network traffics is the field determination from the request.
Operation 460 shows to route requests to multiple destinations.Request can be routed to more than one destination.Example Such as, it is the purpose of debugging, request can be routed to multiple destinations.
Operation 470 shows to re-route request during DNS is propagated.For content new position is moved to from a position Certain time period afterwards, the new position is not by domain name system(DNS)Reflection.During this DNS propagation time section, in DNS Before updating the position of the content, web request router can determine that the position of content(For example, from look-up table(Or certain other position Put))And the request is rerouted to the new position.The rerouting can be with across a network, across data-centric routing, Huo Zhelu By to another machine in consolidated network/data center.
Operation 480 shows time and/or current network property based on request(For example, load)Route.The web request Router can be based on the moment in a few days(time of the day)And/or it is configured as receiving the back-end server of the request On load route traffic.For example, during hour specified in the day, meeting specified conditions(For example, customer flow)'s Request is directed to first group of back-end server, and the request of condition is not satisfied is directed to second group of back-end server. During other times, the web request router can routing traffic in the same way.The load of server also can be by web request road It is used for determining how route requests by device.
With reference now to Fig. 5, the illustrative computer architecture of the computer 500 for utilizing in embodiments will be described.Fig. 5 institutes The Computer Architecture shown can be configured as server, desk-top or mobile computer, and including CPU 5 (“CPU”), including random access memory 9(“RAM”)And read-only storage(“ROM”)10 system storage 7 and will deposit Reservoir is coupled to CPU(“CPU”)5 system bus 12.
Basic input/output is stored in ROM10, the system is included to be contributed to such as during starting in computer The basic routine of transmission information between interior each element.Computer 500 also includes mass-memory unit 14, is operated for storing System 16, application program 10, data storage 24, file and the routing program 26 related to route requests.
Mass-memory unit 14 is by being connected to the bulk memory controller of bus 12(It is not shown)It is connected to CPU5. Mass-memory unit 14 and its associated computer-readable medium are the offer non-volatile memories of computer 500.Although this The description to computer-readable medium included in text is related to the mass-memory units such as hard disk or CD-ROM drive, but It is that computer-readable medium can be any usable medium that can be accessed by system 100.
Unrestricted as an example, computer-readable medium may include computer-readable storage medium and communication media.Computer Storage medium is included for storing the letter of such as computer-readable instruction, data structure, program module or other data etc Any method or technique of breath is come the volatibility realized and non-volatile, removable and irremovable medium.Computer Storage is situated between Matter includes, but not limited to RAM, ROM, Erasable Programmable Read Only Memory EPROM(“EPROM”), the read-only storage of electric erazable programmable Device(“EEPROM”), flash memory or other solid-state memory technologies, CD-ROM, digital versatile disc(“DVD”)Or other optical storages, Cassette, tape, disk storage or other magnetic storage apparatus, or can be used to storing information needed and can be by computer 500 Any other medium for accessing.
According to each embodiment, computer 500 can use the patrolling to remote computer of network 18 by such as internet Collect and be connected to operation in networked environment.Computer 500 can be connected to by being connected to the NIU 20 of bus 12 Network 18.Network connection can be wireless and/or wired.NIU 20 can also be used for being connected to other kinds of Network and remote computer system.Computer 500 can also be included for receiving and processing the input from multiple other equipments I/o controller 22, these equipment include keyboard, mouse or electronic stylus(It is not shown in FIG. 5).It is similar Ground, i/o controller 22 can be that display screen 28, printer or other types of output equipment provide output.
As mentioned briefly above, the Large Copacity that multiple program modules and data file can store in computer 500 is deposited In storage equipment 14 and RAM9, including it is suitable to the operating system 16 of the operation for controlling Net-connected computer, such as Redmond The Microsoft in cityCompanyOperating system.Mass-memory unit 14 and RAM9 can also store one or Multiple program modules.Specifically, mass-memory unit 14 and RAM9 can store the such as execution of routing program 26 and road By one or more application programs of the related task of request.
Described above, example and data are there is provided the manufacture to part of the invention and the comprehensive description for using.Cause Can without departing from the spirit and scope of the present invention to make many embodiments of the invention, so the present invention falls In scope of the following claims.

Claims (10)

1. a kind of method for routing requests to back-end server, including:
Request is received at web request router, the web request router is universal computing device;
At the web request router, the request is parsed, wherein parse the request to include explaining procotol and determining Destination including the request back-end server to be routed to, the destination determines in the following manner:
Lookup is performed to main frame head specified in the request, the main frame head be used to select the request Yao Bei roads By to the back-end server;And
It is determined that the type with the network traffics asked and be associated, wherein the type of the network traffics is customer flow and machine One in device flow, and based on the type of the identified network traffics come the priority of the request that is ranked to determine The priority of the request;And
The request is routed to identified destination.
2. the method for claim 1, it is characterised in that the request is received at the web request router to be included The request is received from load balancer, the load balancer is private network device.
3. method as claimed in claim 2, it is characterised in that the web request router unloading is by the load balancer The function of execution, including unloading it is following at least one:Explain the procotol of the request;Decrypt and ask what is be associated with described Safety;It is determined that the proximities being associated with the request and explanation FQDN (FQDN).
4. the method for claim 1, it is characterised in that the parsing request includes following at least one:It is determined that and institute The associated proximities of request is stated, wherein the proximities is associated with least one following:Document;Directory path; Website Hosting;And URL;Determine when the request is routed to the different versions for being currently running an application This back-end server so that the first request to content received from the first client be directed to the first destination and from the The second request to the content that two clients are received is directed to the second place;And come true using at least one following The fixed destination:Load on the time of the request and one group of back-end server.
5. the method for claim 1, it is characterised in that also including following to perform using the web request router At least one:Metering network flow;Auditing the network flow;Record network traffics daily record, to Network account and refusal Network traffics.
6. the method for claim 1, it is characterised in that be additionally included in content moved and domain name system (DNS) still The request is routed to the different nets using the web request router when not updating the position of a heterogeneous networks position Network position.
7. the method for claim 1, it is characterised in that also including based on from client device based on user should Change the route of the web request router with the change for receiving.
8. a kind of method for route requests, it is characterised in that including:
Receive the request to the content in network;Wherein described request is from special in the network at web request router With load balancer reception, wherein the web request router is one group the one of web request router in the network Point, the web request router includes that client can configure logical routing;
At the web request router, the request is parsed, wherein parse the request to include explaining procotol, and It is determined that the destination including the request back-end server to be routed to, the destination is to determine in the following manner 's:
Lookup is performed to main frame head specified in the request, the main frame head be used to select the request Yao Bei roads By to the back-end server;And
It is determined that the type with the network traffics asked and be associated, wherein the type of the network traffics is customer flow and machine One in device flow, and based on the type of the identified network traffics come the priority of the request that is ranked to determine The priority of the request;And
The request is routed to identified destination.
9. a kind of system for the route requests in online service, including:
Processor and computer-readable medium;
The operating environment for storing on the computer-readable medium and performing on the processor;
Storage is configured as the cache of the status information of web request router;
Web request router, the function that the web request router unloading is performed by load balancer, including unloading is following extremely One item missing:Decrypt the safety being associated with request;Explain FQDN (FQDN) and determine and the parent for asking and being associated Nearly property, wherein the web request router is coupled to network and the cache, the network and the cache are equal It is configured as performing action, the action includes:
Receive the request to the content in network;Wherein described request is from special in the network at web request router With load balancer reception, wherein the web request router is one group the one of web request router in the network Point, the web request router includes that client can configure logical routing;
At the web request router, the request is parsed, be institute wherein parse the request to include explaining procotol State network perform service quality (QOS) operation, including it is following at least one:Metering network flow;Auditing the network flow;Record net Network traffic log;To Network account and refusal network traffics;And after determining to include that the request to be routed to The destination of server is held, the destination determines in the following manner:
Lookup is performed to main frame head specified in the request, the main frame head be used to select the request Yao Bei roads By to the back-end server;And
It is determined that the type with the network traffics asked and be associated, wherein the type of the network traffics is customer flow and machine One in device flow, and based on the type of the identified network traffics come the priority of the request that is ranked to determine The priority of the request;And
The request is routed to identified destination.
10. system as claimed in claim 9, it is characterised in that the parsing request includes determining to ask to be associated with described Proximities, wherein the proximities with it is following at least one be associated:Document;Directory path;Website Hosting;And unified money Source finger URL.
CN201280029563.2A 2011-06-17 2012-06-16 Ask to route using specific WEB Expired - Fee Related CN103609074B (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US13/163,140 US20120102226A1 (en) 2010-10-20 2011-06-17 Application specific web request routing
US13/163,140 2011-06-17
PCT/US2011/054518 WO2012054218A2 (en) 2010-10-20 2011-10-02 Routing traffic in an online service with high availability
USPCT/US2011/054518 2011-10-02
PCT/US2012/042841 WO2012174499A2 (en) 2011-06-17 2012-06-16 Application specific web request routing

Publications (2)

Publication Number Publication Date
CN103609074A CN103609074A (en) 2014-02-26
CN103609074B true CN103609074B (en) 2017-05-31

Family

ID=47357794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280029563.2A Expired - Fee Related CN103609074B (en) 2011-06-17 2012-06-16 Ask to route using specific WEB

Country Status (3)

Country Link
EP (1) EP2721781A4 (en)
CN (1) CN103609074B (en)
WO (1) WO2012174499A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104270405A (en) 2014-08-29 2015-01-07 小米科技有限责任公司 Networking control method and device based on router
CN113489788B (en) * 2021-07-06 2024-01-30 广州华多网络科技有限公司 Data route control and data analysis processing method and device, equipment and medium
CN113691608B (en) * 2021-08-20 2024-02-06 京东科技信息技术有限公司 Traffic distribution method, device, electronic equipment and medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1750520A (en) * 2004-09-15 2006-03-22 无锡三通科技有限公司 Composite network communication device and its control method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7188188B1 (en) * 2000-05-12 2007-03-06 Webtv Networks, Inc. Methods and computer program products for providing network quality of service for World Wide Web applications
US8041814B2 (en) * 2001-06-28 2011-10-18 International Business Machines Corporation Method, system and computer program product for hierarchical load balancing
US7068600B2 (en) * 2002-04-29 2006-06-27 Harris Corporation Traffic policing in a mobile ad hoc network
US20040210663A1 (en) * 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
US7693996B2 (en) * 2006-03-06 2010-04-06 Vmware, Inc. Service level management system
US20090150565A1 (en) * 2007-12-05 2009-06-11 Alcatel Lucent SOA infrastructure for application sensitive routing of web services
US20090327460A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Application Request Routing and Load Balancing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1750520A (en) * 2004-09-15 2006-03-22 无锡三通科技有限公司 Composite network communication device and its control method

Also Published As

Publication number Publication date
WO2012174499A2 (en) 2012-12-20
EP2721781A2 (en) 2014-04-23
CN103609074A (en) 2014-02-26
WO2012174499A3 (en) 2013-02-28
EP2721781A4 (en) 2014-11-12

Similar Documents

Publication Publication Date Title
US10237363B2 (en) Content delivery network request handling mechanism with cached control information
US20190332979A1 (en) Mapping portal applications in multi-tenant environment
US11240289B2 (en) Apparatus and method for low-latency message request/response processing
US10116623B2 (en) Methods and systems for providing a token-based application firewall correlation
US8799322B2 (en) Policy driven cloud storage management and cloud storage policy router
US8370848B2 (en) Method and system for providing a client access to an external service via an application services platform
US9722886B2 (en) Management of cloud provider selection
US8935360B2 (en) Techniques for metadata-driven dynamic content serving
US20100005443A1 (en) System and Methods to Create a Multi-Tenancy Software as a Service Application
CN107690800A (en) Manage dynamic IP addressing distribution
CN103685590B (en) Obtain the method and system of IP address
CN106664321A (en) Placement policy-based allocation of computing resources
CN105144725A (en) Scalable content delivery network request handling mechanism
US20080243536A1 (en) Providing website hosting overage protection by storage on an independent data server
CN103873546A (en) Method and Apparatus for Controlling Data Storage Among Storage Centers
CN103329113A (en) Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method
US10623470B2 (en) Optimizing internet data transfers using an intelligent router agent
US20090210513A1 (en) Asynchronous automated routing of user to optimal host
US10360133B2 (en) Analyzing analytic element network traffic
CN103609074B (en) Ask to route using specific WEB
JP2021530043A (en) Accessing the client credential set using the key
US10044602B2 (en) Network failover and loop detection in hierarchical networks
US20180302487A1 (en) Concurrency reduction through publish-subscribe patterns
US20140040479A1 (en) Method for a self organizing load balance in a cloud file server network
US9654352B2 (en) Brokering data access requests and responses

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150727

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150727

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170531

Termination date: 20190616

CF01 Termination of patent right due to non-payment of annual fee