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.