The application enjoys the right of priority of the U.S. Provisional Application applied on June 1st, 2000 number 60/209,007.
Embodiment
The present invention has improved from the service quality (QOS) when downloading content object the network of the Internet.In one embodiment, client computer is confirmed preferred content switch complete list.When request content, this is preferably shown to offer the source server of selecting route into client computer, so that from the content switch of the QOS that is considered to provide enough or content server, download content.
In these figure, similar portions and/or characteristic have identical label.In addition, the different piece of same type can be distinguished with dash of label followed and one second label, and second label can be distinguished similar portions.If in instructions, only use first label, so, this description is applicable to the arbitrary similar portions with identical first label, and irrelevant with second label.
With reference to Fig. 1, the block diagram of a kind of embodiment ofcontent allocation system 100 has been shown among the figure.In this embodiment,content allocation system 100 comprises: an Active Directory 104, one ormore source servers 108; One ormore client computers 112, one ormore content switch 116, one or moreexternal source servers 118; The Internet 120 and one browse catalogue 124.Particularcustomer computing machine 112 is mutual with Active Directory 104, to select the downloaded contents object of being wanted.If to liking streaming video, it can be play in downloading process so, perhaps is being stored after a while.Content object can be the information of any kind that can from network, download, such as, audio frequency, video or data.Request and first-selected information to content object fromclient computer 112 together are forwarded to suitable source server 108.Wheresource server 108 decision from downloading this object.For enough QOS are provided,arbitrary content switch 116 or or evensource server 108 itself this object can both be provided.
Active Directory 104 can be the interface towards theclient computer 112 of chosen content object.Be used for can downloading from Active Directory 104 ofsource server 108, so that startcontent allocation system 100 with the software that is used forclient computer 112 alternatively.Inventory interface page or leaf or search interface page or leaf can be used for confirming the content object wanted.These interfaces keep with manner, so as not to sourceserver 108 on linking of content object be interrupted.Whencontent switch 116 need be from the content object ofsource server 108, Active Directory 104 can provide a path of getting back tosuitable source server 108.
Other embodiments can have a plurality of Active Directories.The user of system can divide in a plurality of Active Directories, so that distribute load.In addition, can use other Active Directories redundantly, make that if certain Active Directory off-line, other Active Directories can absorb this load so.
In some embodiments,source server 108 provides the source of content object, guides the user preferred source of content object into, and to Active Directory 104 directory information is provided.Source server 108 is introduced content object to system 100.Introduction relates to the source server supvr to making the selection of its content object that can use Active Directory 104.The supvr can be the people or the system of managed source server 108.The streaming feed-in of canned data or information before content object can comprise.According to the predetermined cycle,source server 108 provides the catalogue of the selected information of upgrading along with the content alteration on thesource server 108.
Source server 108 is confirmed the preferred source that willclient computer 112 be guided into, so that download content object.When client computer was redirected to the preferred source of information, the position of the copy of the first-selection table ofclient computer 112, the load of content switch and content object all was that 108 of source servers will be considered.One of this source can be thatsource server 108 is own, orcontent switch 116.
The userguides client computer 112 to seek the content object of being wanted and downloads this object subsequently.The person's of checking object broker software that utilization is downloaded from Active Directory 104,client computer 112 confirm to transmit with enough QOS thecontent switch 116 of content.The process of confirming to have thecontent switch 116 of enough QOS comprises, for example, receives the detecting information that when preparing preferred table, produces the content switch of optimum from those probably.If want the method that customizes, the user can revise the preferred table ofcontent switch 116 so.Whensource server 108 the decision content object the source time, utilize first-selected information that enough QOS are provided.
External source server 118 can be the additional source that can supply the content object ofclient computer 112 uses.In one embodiment,external source server 118 is connected withcontent switch 116.
Content switch 116 is Caches of content object.Manysuch content switch 116 are assigned to the different local of the Internet 120, in order to the cache content object.Information can be based on following consideration by high-speed cache, such as, based on the demand of user to information, based on the business of hoping the user-friendly source server of itscontent 108, or the user's of the QOS that improves based on needs business.The grouping ofcontent switch 116 can be in a cluster or is the demand service of 112 pairs of content objects of client computer individually.
When will the user of request content object does not find the fragment of content object of being asked or the content object of being asked fromcontent switch 116, turn to the other guide switch to ask this content object the request of content switch 116.Ifother guide switch 116 is this content object not also, inquire about Active Directory 104 so, be thesource server 108 in source of this content object to obtain, download this content object then therefrom.Whencontent switch 116 when collecting this content object,client computer 112 receives available beginning fragment.Content object can be stored inseveral content switch 116 by burst, and thecontent switch 116 of asking then will be retrieved these fragments, so that compile the whole contents object again by the requirement ofclient computer 112.
In some embodiments; When will the user of request content object does not find the fragment of content object of being asked or the content object of being asked fromcontent switch 116, can ask to retrieve the content object of being asked tooutside source server 118 bycontent switch 116.
Browsecatalogue 124 and be used for the inventory information thatsupplementary source server 108 reported.When for the user search content object, Active Directory 104 can show from the available content object ofsource server 108 and browse the other guide object thatcatalogue 124 is disclosed.Through traveling through this web, browsecatalogue 124 with these content objects and they ran into other information catalogues.For example, the keyword search of catalogue can be guided onsystem 100 user into any source server unavailable content object.Whenclient computer 112 was downloaded content objects, Active Directory 104 one of can chosencontent switch 116 comes this content object of high-speed cache.Browsecatalogue 124 although in this embodiment, only adopted one, but, other embodiments can adopt a plurality of catalogues of browsing that additional search results is provided.
The Internet 120 has comprised some servers that link through router.Data are divided into some groupings, and these groupings are passed the Internet 120 through being forwarded to next router from a router, until arriving the destination.Each grouping all possibly taked the different routes on the Internet, and arrives the destination in the different moment.In addition, some be grouped in the process of passing the Internet 120 maybe be because of the bandwidth of arbitrary router saturated losing.Along with the increase of hop count between the source of content object and the destination, undue postpone and the possibility of packet loss also increases.
When content object passed the path from the source to the destination through the Internet 120, the minimum bandwidth between any two routers in this path had been stipulated the maximum bandwidth in this path.Usually, 120 bandwidth to client computer have minimum bandwidth allocation from the Internet.In other occasions, certain forwarding of other between the router has minimum bandwidth.Hop count with minimum betweencontent switch 116 andclient computer 112 can improve the possibility that enough QOS are arranged atcontent switch 116 high speed cache contents objects.
Download content object with the desired data transfer rate that is no more than client computer data transfer rate of 120 and just think enough QOS to the Internet.The QOS of the maximum that the user can expect is decided by processing power and other factors of its network connection speed, its computing machine.Minimum QOS is subjective to be decided according to its desired quality in some limited field by the user.For example, the user with the connection of 400Kbps network and high-speed computer can select 28Kbps, 56Kbps or 128Kbps stream to be used for audio frequency and shear (chip), and in view of the above, the user selects 128Kbps stream.As long as the data transfer rate that client computer provides is in the 128-400Kbps scope, so, this stream just can have enough QOS.
Although above-mentioned embodiment mainly is used for the connection between various with the Internet 120, yet other embodiments can use the dedicated link of 120 outsides, the Internet.In addition, with regard to high-speed cache, encryption and compression were provided, system's 100 outside content objects also can have benefited fromsystem 100.
With reference to Fig. 2, a kind of block diagram of embodiment of the Active Directorypart 104 ofcontent allocation system 100 has been shown among the figure.Include in the Active Directory 104: 208, onecatalogue pages 212 of 204, one server managers of a DDNS server (DNS); Asearch page 216; Download 224, oneserver databases 228 of 220, one customer data bases of page or leaf for one; Acontent switch database 232 and a routing database 234.Content allocation system 100 is mutual with Active Directory 104, so that directory information is provided and helps to be the user downloaded content object to the user.
The user ofclient computer 112 still be the supvr ofsource server 108 all be the user concerning content allocation system 100.Software downloads to user and/or supvr from downloading page or leaf.The software that is used forclient computer 112 is optional in some embodiments, and it is used for improving QOS.The software that is used forsource server 108 make Active Directory 104 can updatesystem 100 available contents, and can guideclient computer 112 into preferred source, so that receive this content.
Client computer 112 joins the territory of Active Directory 104, to seek the content object of being wanted.According to first-selection, the user can usecatalogue page 212 orsearch page 216 to seek contentobject.Search page 216 can be traditional boolean search engine, is used to visit the catalogue of the content object that allsource servers 108 are provided and from the information of browsing catalogue 124.Other embodiments can only show after failing fromsource server 108, to search content from the information of browsingcatalogue 124, perhaps all omit from the information of browsing catalogue 124.The catalogue of the content object of allsource servers 108 is stored in theserver database 228.
Catalogue page 212 is pressed the possible content object of catalogue hierarchy layout of theme institute layout.For example, first page of some special topic that can show common care can be selected sports this user.In following one page as the next stage in this hierarchy, shown some sports, can select football this user.In the next stage again in this hierarchy, the user can select a holy repeatedly train of horses carrying goods of Ya Ge army, to check another page or leaf of associated content object link.
The supvr with this content catalogue, makescatalogue page 212 can suitably present this content on source server 108.According to website, catalogue or file, the supvr can be in the HTML SSI mark relevant with content object the catalogue of chosen content object.Be stored in the Active Directory after this classification obtains, make can be in different catalogues the rendering content object.In addition, the content object in the catalogue ofcatalogue page 212 can described and arrange to moderator (moderator).For example, moderator can some content object of mark, so that show more highlightedly and/or the comment of additional content objects.
The information thatserver manager 208 is preserved about all the elements object on allclient computers 112, allsource servers 108, allexternal source servers 118, all theelements switch 116 and the source server 108.Be stored in thecustomer data base 224 withclient computer 112 andsource server 108 relevant information.For each user relevant withclient computer 112, its full name, login name, password, unique identifiers, available token credit and other information all are stored in the customer data base 224.Thisdatabase 224 is also preserved: the time that source server was verified for 108 last time, the Internet protocol of source server 108 (IP) address, the port that the content manager server moves above that; The on-line state ofsource server 108; Banner URL, the title ofsource server 108, the description ofsource server 108; Usesource server 108 required credit or token or other record keeping pattern, with being connected of being allowed simultaneously or the person's of checking number.
Information about the content object of allsource servers 108 all is stored in the server database 228.For each content object, source server name, content object file name and path with inventory information, briefly describe and key word is preserved.During navigation directory and search page 212,216, queryingserver database 228 is so that provide content choice for the user.Whether in order current information to be kept in theserver database 228,server manager 208 is mutual withsource server 108 termly, with the up-to-date change of the catalogue that obtains content object and judgesource server 108 off-line.Ifsource server 108 off-lines, just being eliminated in theserver database 228, and the status information in the updatinguser data storehouse 224 with thesesource server 108 corresponding projects.
In some embodiments, even the project in theserver database 228 still keeps behindsource server 108 off-lines.Its state is updated, and be out of use to reflect the content relevant with this source server, but its information still is kept in the server database 228.If state is updated to online, the user that just presents to again at the search content object of information so.In some cases,source server 108 can show that it is with off-line a period of time to Active Directory 104.Suppose of short durationly during this period of time, so, Active Directory can be retained in information in theserver database 228, and does not appear to the user.
System 100 can with the complete list ofcontent switch 116 be kept in thecontent switch database 232 by server manager 208.In some embodiments,content switch database 232 can comprise the IP list address of allpossible content switch 116 in the content allocation system 100.In addition,content switch database 232 can also comprise some content switch fields relevant with each content switch 116.For example, can comprise content switch identifier, content switch website, content switch provider, content switch title, content switch position, content switch state, icon or other any information that want or necessary with eachcontent switch 116 relevant field in thecontent switch database 232.
Content switch identifier and content switch website identify theunique content switch 116 at certain content switch site place jointly.Content switch provider is the designator of the content switch side of being responsible for, such as XYZ company.Content name is a domain name, and the content switch position can be the geographical coordinate of content switch 116.In a routine embodiment,content switch database 232 comprises content switch identifier, content switch website, content switch IP address, content switch provider, content switch title, content switch position and the icon of eachcontent switch 116 in thecontent switch database 232.
Usually,content switch database 232 can be divided by the area, or divides by several different methods (comprise the QOS criterion or the reservation business criterion of improvement, but be not limited thereto).In addition,content switch database 232 can also comprise the tabulation of any useful or necessary information of Active Directory 104 optionally,source server 108 or other.
Content switch 116 in thesystem 100 provides state toserver manager 208 termly.Whencontent switch 116 is available maybe can not supply to use the time, its mode of operation is reported toserver manager 208, and is recorded in the content switch database 232.In some embodiments,content switch database 232 can comprise some additivity information, likecontent switch 116 loads, capacity, utilization factor and health status.
Routingdata storehouse 234 comprisesexternal source server 118 complete lists.In some embodiments,routing data storehouse 234 comprises sign, state and the organizational information relevant with external source server 118.Identification information can comprise the IP address and the domain name of external source server 118.Status information can comprise about the availability of external source server, load or other states.Organizational information can comprise optionallyexternal source server 118 complete lists.In one embodiment,routing data storehouse 234 comprises the IP address and the domain name of each external source server 118.In some embodiments, the method for theexternal source server 118 in the signrouting data storehouse 234 is a kind of mechanism thatexternal source server 118 andcontent allocation system 100 are interrelated.
Eachexternal source server 118 in the routing data storehouse all has the user name complete list, and these user names are allowed to utilizecontent switch 116 to visit the information about external source server 118.User name is unique as far as the user of client computer 112.Client computer is selected the complete list of theexternal source server 118 of route through the content exchange function for it and is provided for this client computer 112.Client computer 112 is used to from the information in routing data storehouse the user turned tocontent switch 116 again to the request of outside source server 118.Aftercontent switch 116 had been filled the content object fromexternal source server 118, bandwidth was unloaded tocontent switch 116 from external source server 118.The user can pay the expense of this enhanced services to the supvr of the owner of this content switch and/or source server.
Dynamic-dns 204 provides the source server name for each IP address of source server 108.The source server name has identified thesource server 108 on the Internet 120 uniquely.This information is stored in the customer data base 224.Content switch 116 does not know to provide for thiscontent switch 116 the IP address of thesource server 108 of content object, but knows the source server title.When the content object of thinking to obtain fromother guide switch 116 whencontent switch 116 or the fragment of content object are filled into its Cache; Inquiry dynamic-dns 204 is to confirm the being IP address or the domain name ofsource server 108 in source of this content object.If fromdynamic-dns 204, retrieve domain name, from DNS, retrieve so and this domain name corresponding IP address.
With reference to Fig. 3 A, a kind of block diagram of embodiment of thesource server part 108 ofcontent allocation system 100 has been shown among thefigure.Source server 108 is managed by the supvr, and forcontent allocation system 100 source of content object is provided.QOS is provided bysource server 108, thereby guides client computer into can effectively transmit required content object content switch 116.Include in the source server 108: 308, one content managers of 304, one content servers of acontent source 312, onelocal content catalogue 316, one location ofcontent databases 320, contentexchange machine information 324 and health-and-status checks 330.
Content offerssource server 108 by content source 304.Content source 304 can be live web video camera (live web cam), video or audio frequency feed-in, data object, data stream, video tape or audiotape, light or disk or other arbitrary content transfer mechanisms.Content object sendscontent server 308 to bycontent source 304, so that possibly distribute tosystem 100.
In eachcontent switch 116, for those content objects of wherein being preserved or the fragment of those content objects have been preserved time and date information.This time and date information makes can distinguish the content object with identical sources server name, pathname and filename.Other embodiments can utilize any unique word (such as, inspection and, CRC or hash code) come the unique identification content object.
All the elements object ofsource server 308 all is stored in the content server 308.The supvr can select a content object or several groups of content objects that will announce tosystem 100, and the other guide object that will not be suitable forsystem 100 is stayed in the content server 308.Some content objects are prudent files, and other content objects content that to be for example live web video cameras produced stream.The software ofoperation content server 308 can combine with the software ofcontent manager 312.
Content manager 312 is announced required content object tosystem 100, and guides the user intopreferential content switch 116, so that download the content object relevant with content manager 312.Under gerentocratic guiding,content manager 312 utilizes filename, catalogue or drive volume to select some content objects or several groups of content objects, so that announce to Active Directory 104.Some content object in thecontent server 308 can be excluded outside announcing, like this,system 100 just can not use these content objects.
The selected content object of announcing to system is stored in the local content catalogue 316.It is up-to-date thatcontent manager 312 keeps the project in thelocal content catalogue 316, because may not use or be updated with the corresponding object of those projects.For each project, content object file name and path with inventory information, briefly describe and key word is preserved.In case be linked intosystem 100,local content catalogue 316 is just sent toActive Directory 104 bycontent manager 312, to get into server database 228.The change oflocal content catalogue 316 is regularly sent toserver database 228, to keep directory information up-to-date as far as possible.Renewal can regularly be carried out, such as, whenever at a distance from two minutes and/or when in local content catalogue, changing.
Content manager 312 is also known the position of all fragments of the content object relevant with content manager 312.In case be linked intosystem 100,content manager 312 is got in touch with regard to state matters and each content switch 116.Content switch 116 is termly torelevant content manager 312 its content object of report or internal object fragments.Utilize this information,content manager 312 just can be guidedclient computer 112 into possibly have thecontent switch 116 of downloading used part or all of required content object.
The positional information of the content object that all thesecontent switch 108 are reported is kept in the location ofcontent database 320 by content manager.Through querycontents location database 320,content manager 312 can confirm to contain thecontent switch 116 of the fragment of content object or content object.In the routing procedure of content source, the appearance of this content object incertain content switch 112 can influence the Route Selection decision atclient computer 112.
Content switch information-storingdevice 324 has been preserved the information about all activity description switches 116.In case startsource server 108, thecontent switch database 232 in theActive Directory 104 just is downloaded in the content switch information-storing device 324.After startup, with all the elements switch 116 listed in the query contents exchangerinformation storer 324, to obtain status information as content exchange machine information 324.This status information comprise employed link simultaneously number, links total number, bandwidth availability ratio and Cache turnover rate (churn rate) when allowing.The Cache turnover rate is meant that gibberish remains in the time quantum in the Cache, the load of its expression Cache.For example, for thecontent switch 116 busier with respect to the memory space in the Cache, data are brought down stocks (flush) usually apace from Cache.Yet some embodiment possibly have anelasticity (sticky) content object, and this content object all still rests on a period of time in thecontent switch 116 regardless of operating position.
Content manager 312 intelligently will need theclient computer 112 of content object to guide the preferred source of this object into.The first-selected information thatclient computer 112 is provided is used to confirm the source of 112 preferred content objects of client computer.This information is used for guidingclient computer 112 into preferredcontent switch 116 with the load of the current location of content object and possible content switch, so that download this content object.
In some embodiments,content manager 312 can be controlled the visit to content object.Whenclient computer 112 attempts to download the content object relevant withcontent manager 312,, can show a dialog boxes for login so if the supvr has protected this content object.The user can input user name and/or password in dialog boxes for login, so thatclient computer 112 is redirected to the source of this content object.User name and/or password equally also are thatActive Directory 104 is required.Beforeclient computer 112 was redirected to this source, the log-on message the accepted complete list of being stored before in the firstreference source server 108 was checked user name and/or password or log-on message.Utilize this method, can control towhole source server 108 or to the visit of the volume on thesource server 108, catalogue or contents of object.
Some embodiment allowssource server 108 orActive Directory 104 that content object is preloaded onto in the content switch 116.Request to content object can be monitored to confirm demand.Available demand information, bill information and/or other items that need consider judge that which content object is preloaded onto in the content switch 116.Source server 108 orActive Directory 104 content object in can requestcontent switch 116 is so that be preloaded onto the there with them.These content objects can be asked termly, are loaded in the content switch to keep them, and like this, they can not load because of stagnation.
Health-and-status check 330 can be that hardware also can be software application, and it can provide the special domestic animal of operation of correlated source server 108.In one embodiment, health-and-status check 330 provides the single indication ofsource server 108 states.This single indication is the normalized value between 0 and 1, is used to represent a kind of comprehensive of source server characteristic.For example, it can comprise the request number that cpu load, cpu temperature, while linking number and/or source server are just sending.In another embodiment, health-and-status check 330 can be monitored the characteristic ofcontent switch 116, operation on anothercontent switch 116 orsource server 108 simultaneously.
Below with reference to Fig. 3 B, a kind of block diagram of embodiment of the externalsource server section 118 ofcontent allocation system 100 has been shown among the figure.Be outsideexternal source server 118 andsource server 108 different, content manager software is not installed in the external source server 118.Contain acontent server 308 and acontent source 304 in theexternal source server 118.
The supvr ofexternal source server 118 confirms one ormore client computers 112 that are authorized to throughcontent switch 116 received content objects.Routing data storehouse 234 is upgraded by the supvr, can pass throughcontent switch 116 accessed content objects to allow single client computer 112.Web page or leaf on the Active Directory provides an interface, so that will be input to about the information ofclient computer 112 in the routing data storehouse 234.Other embodiments can be operated the interface betweenexternal source server 118 and the routing data storehouse 234 automatically.
Client computer 112 is with local download of the renewal in routing data storehouse 234 and storage.The follow-up trial of visitexternal source server 118 can be redirected tocontent switch 116, so that be this request service.Guiding again like this makesexternal source server 118can client computer 112 be redirected tocontent switch 116, and need not the help of content manager software.
External source server 118 can specify one ormore content switch 116 to transmit the content object of external source server 118.Routing data storehouse 234 can be redirected to one or more thiscontent switch 116 with the client computer of subscribing.If client computer is allowed to use two or more thiscontent switch 116, so, on these two or more content switch, can carry out the client routing selecting analysis, make and can carry out grade classification the relative QOS between them.
The content object ofexternal source server 118 can be preloaded onto and be assigned to provide in the content switch of these content objects.Stand-by period when shortening request content object for the first time,Active Directory 104 can be browsedexternal source server 118, to confirm operational content object in this server 118.These available content objects can be added to be browsed in the catalogue 124.In case learn available content objects,Active Directory 104 is each content object of request from relevant content switch just, can each content object be loaded in the related content switch so that make.Like this, content object just can be preloaded onto in the relevant content switch.
With reference to Fig. 4 A, a kind of block diagram of embodiment of thecontent switch part 116 ofcontent allocation system 100 has been shown among thefigure.Content switch 116 content object that high-speedcache client computer 112 is asked under the control of content manager 312.Contain atracker 402 and acontent node 406 in the content switch 116.Tracker comprises acontent tracing device 404, health-and-status check 426, status information 420,416 and source server databases 424 of local content catalogue, andcontent node 406 comprises acontent controller 408 and acontent memorizer 412.
Health-and-status check 426 can be that hardware also can be software application, and it can provide the special domestic animal of operation of related content switch 116.In one embodiment, health-and-status check 426 provides the single indication ofcontent switch 116 states.This single indication is the normalized value between 0 and 1, is used to represent a kind of comprehensive of content switch characteristic, comprises cpu load for example, cpu temperature, the request number that just sending of linking number and content switch simultaneously.In another embodiment, health-and-status check 426 can be monitored the characteristic ofcontent switch 116, simultaneously in anothercontent switch 116,source server 108 or position operation.
Content memorizer 412 has been preserved and can fromcontent switch 116, have been downloaded to the content object in the client computer 112.Provide title and routing information and the filename of thesource server 108 of content object to be stored in thecontent memorizer 412 with content object.Through theInternet 120,client computer 112 is connected tocontent memorizer 412, and downloads content object file or data stream.Along with the fresh content object is added in thecontent memorizer 412, the raw content object will be eliminated.The term of life of content object (age) is relevant with the time that content object was visited last time.Some content object in thestorer 412 does not have term of life, and like this, these content objects will keep one period schedule time in storer 412.Source server 108 can arrangecontent switch 112 with content object one period schedule time of storage.
Whenclient computer 112 was asked a content object fromcontent memorizer 412, content object maybe current not installing in the content memorizer 412.Content memorizer 412 notifies this uncompleted request to content object to content controller 408.Content controller 408 is found inother guide switch 116 or from thecontent server 308 of initiating this content object and is lost content object or its fragment thatlacks.Content controller 408 can install in thecontent memorizer 412 losing the content object that lacks, and like this,client computer 112 just can be downloaded this information.
When mistake lacked content object in thecontent memorizer 412, whethercontent controller 408 was at first checkedother guide switch 116, can obtain to judge this object.Ifcontent switch 116 does not all have required content object, so, tocontent server 308 these content objects of inquiry of this information ofinitiation.Content memorizer 412 does not comprise the IP address of thecontent server 308 that starts, therefore, and to dynamic-dns 204 these information of inquiry.Given source server name, dynamic-dns 204 can provide the IP address, and like this,content controller 408 just can be asked this content object fromsuitable content server 308.
Current project and the status information ofcontent switch 116 ofcontent tracing device 404 in system's 100 report content storeies 412.Local content catalogue 416 records source server name, path and the filename of the fragment of each content object or content object in the content memorizer 412.Along with adding new projects in thecontent memorizer 412 and from wherein eliminating former project, local content catalogue 416 is updated.Whencontent manager 312 is connected withsystem 100, all theelements tracker 404 is sent an inquiry, be stored in thesecontent memorizers 412 to judge which content object fragment.Whencontent memorizer 412 is changed, the baseline that initial query providescontent tracing device 404 to upgrade.These changes can directly be sent out eachcontent manager 312 that stores in thecontent memorizer 412 to meaningful.In this course, utilize dynamic-dns 204 to confirm the corresponding IP of the source server name address with each content object.
Content tracing device 404 also provides the status information ofcontent switch 116 to content manager 312.Status information is sent to each thiscontent manager 312 through broadcasting or multicast mode by (for example, every at a distance from 5 minutes and/or when taking place to change) termly.Status information can comprise with current use in content switch the time link number, links total number, bandwidth availability ratio and Cache turnover rate when allowing.In other embodiments, status information can also place a center, and like this,content manager 312 is guidedclient computer 112 where into when downloading content object confirming, can inquire about in this center.
Content tracing device 404 is preserved source server database 424, so that thesource server 108 of activity in the tracker 100.After the system of being linked into, allsource servers 108 all identify himself to content tracker 404.Content tracing device 404 records source server name and IP address in the source server database 424.Dynamic-dns inquired about can provide the IP of given source server name the address.Ifsource server 108 with its imminent unavailability informingcontent tracker 404, if perhapscontent tracing device 404 can't be related to specific source server, will be eliminated the project of this source server so from source server database 424.In addition, also can fromcontent memorizer 412, eliminate, and local content catalogue 416 is updated with thesesource server 108 content corresponding.In some embodiments, this content object and content object fragment are not eliminated, and just are coupled with the delete flag when needing storage space.
In some embodiments,system 100 can commandcontent controller 408 obtains some predetermined content objects and it is retained in the content memorizer 412.The content object that expection will be used can be pre-installed, to satisfy the demands.Through to keeping watch on, can confirm the demand of certain content object from the click situation of search and those content objects of catalogue page 212,216.For example, can before broadcasting through Web TV, lose no time the content object relevant with this personality is loaded in thecontent memorizer 412 about personality's biography program.In addition, the user can also subscribe and a kind of content object is loaded into the business in some content switch 116.For example, predetermined internet program can be loaded, so that can conform to through the TV broadcasting that theInternet 120 is watched with the user, to replace TV broadcasting.This content can obtain subscribing user without delay.
With reference to Fig. 4 B, the block diagram of another kind of embodiment of thecontent switch part 116 ofcontent allocation system 100 has been shown among the figure.This embodiment comprises a plurality ofcontent nodes 406, and these nodes are connected with single tracking server 402.Content bus 428 makescontent node 406 can check that eachother guide storer 412 loses the content object that lacks to seek.Content bus 428 can also be connected with the other guide node in otherpositions.Content bus 428 can be also can not be partly to advance through theInternet 120.
With reference to Fig. 4 C, the block diagram of a kind of embodiment of thecontent switch website 432 that contains a plurality ofcontent switch servers 116 has been shown among the figure below.Evencontent switch website 432 comprises a plurality ofcontent switch servers 116, it might as well likesingle content switch 116 as far as system.The load ofcontent switch website 432 is assigned in the middle of these content switch servers 116.Switch 436 (such as 4 bit switches) can be distributed to thesecontent switch 116 with content object request, and automatic spool (spool) response is aggregated in theInternet 120.
Below with reference to Fig. 5, a kind of block diagram of embodiment of theclient computer part 112 ofcontent allocation system 100 has been shown among thefigure.Client computer 112 is communicated by letter with theInternet 120, so that send content to user.Contain in the client computer 112: 504, onecontent processing programs 508 of the person's of checking object broker, 512, one network interfaces 516 of first-selected information and masterserver Route Selection 520.
The software thatcontent processing program 508 is normally such is used for explaining or handling from theInternet 120 downloaded contents objects.The example ofcontent processing program 508 comprises web browser, FTP (FTP) software, examines visit (gopher) software, news (NNTP), mailer, streaming video player, non-stream media player and other software.Usually the Internet traffic of directly sending out to the Internet fromcontent processing program 508 is redirected to the person's of checkingobject broker 504.
The person's of checkingobject broker 504 is as the intermediary of theInternet 120 with content processing program 508.After the person's of checkingobject broker 504 was installed, it can confirm its general position with respect to the known point on the Internet 120.Provide thecontent switch 116 of the reasonable candidate of enough QOS to test to conduct, to confirm required hop count and the stand-by period between eachcontent switch 116 and the person's of the checking object broker 504.The weighting of the QOS factor (such as, hop count and the bandwidth that is reached) by record, and is sent tocontent manager 312 as metadata through the HTTP title as first-selectedinformation 512.
Other embodiments can be not only to transmit metadata through the HTTP title with the data channel of any kind.For example, metadata can be propagated through private port, IP address, URL, title or other logic channels.
First-selectedinformation 512 is results of the network analysis that carries out fromclient computer 112 angles.When the request content object, first-selectedinformation 512 is sent tocontent object manager 312, andcontent object manager 312 is again thatclient computer 112 is selected a suitable content switch 116.(for example every at a distance from one hour) utilizes automatic test mode to upgrade or upgrades first-selectedinformation 512 by the user with manual type termly.Former result is considered in follow-up test, so that consider preferred content switch effectively.For example, analyze for the first time and can check 100 content switch, and follow-up analysis can be got rid of the content switch of poor-performing, like this, only analyzes 50.
First-selectedinformation 512 comprisescontent switch 116 and the complete list of the relevant QOS value that analysis obtains according to client network.In some embodiments, can there be many paths to lead to external source server 118.These many paths can use port, IP address, identifier server (ID) and/or other mechanism to distinguish.The client network analysis can be used for confirming and lead toexternal source server 118 or any and have the relevant QOS value of every path in source of the content object of many paths.
After the user ofclient computer 112 has selected content object, the source server name is offered the person's of checking object broker 504.The person's of checkingobject broker 504 utilizes the source server name to inquire about dynamic-dns 204, to obtain the IP address of source server 108.In case learn the IP address,content processing program 508 is redirected to thecontent manager 312 of required contentobject.Content manager 312 transmits first-selected information, the feasible route that can choose suitable content switch 116.In this embodiment, first-selectedinformation 512 comprises preferred 10 content switch, but the user can adjust.
In some embodiments, as far as routing information, the person's of checkingobject broker 504 can be relevant with specific HTTP and and protocol-independent.Therefore, routing information can transmit according to HTTP, but actual routing information and protocol-independent.But, those of skill in the art can understand that the person's of checkingobject broker 504 can also be configured to work with other procotols as required.For example, the person's of checkingobject broker 504 can also be configured to wait according to FTP, NNTP, RTP, RTSP, SMTP or SHOUT and operate.
Client computer 112 comprises masterserver Route Selection 520 databases.This masterserver Route Selection 520 can comprise the information relevant with the addressable external source server ofclient computer 112 118.In one embodiment, masterserver Route Selection 520 is the parts in routing data storehouse 234 contained in theActive Directory 104.
Client computer 112 comprises anetwork interface 516, and this interface is connected the person's of checkingobject broker 504 with the Internet 120.The general example ofnetwork interface 516 comprises analog modem, DSL modulator-demodular unit, ISDN, cable modem, satellite modem, cellular modem etc.
In this embodiment, client computer is relevant with the domestic consumer.In other embodiments, client computer can be put digital movie for arenas and perhaps for the network user of company, hotel client or apartment content object is provided.
With reference to Fig. 6, the block diagram of a kind of embodiment ofcontent allocation system 600 has been shown among the figure.This Figure illustrates the data stream between the data block, and do not have to show transmission through the Internet 120.But, should be appreciated that in other embodiments and can use the Internet 120.In addition, this figure has also done some simplification to those pieces among Fig. 2-5 slightly, and for reduced graph 6, does not compriseexternal source server 118 among the figure and browsecatalogue 124.
Network interface 516 isclient computer 112 connections of 120 to theInternet.Client computer 112 is connected with search page 212,216 with catalogue, makes the user can select the downloaded contents object of wanting.When having selected content object, utilize dynamic-dns 204 thatclient computer 112 is redirected tosuitable source server 108 from Active Directory 104.First-selectedinformation 512 is transmitted tocontent manager 312, to help the source of its chosen content object.According to the selection thatcontent manager 312 is done, from one ofcontent switch 116 or fromcontent server 308, download content object.
Active Directory 104 carries out with other modules in thesystem 600alternately.Client computer 112 access catalog and search page 212,216 are with the chosen content object.Content tracing device 404 provides state and inventory information withcontent manager 312 respectively to server manager 208.Account information offersserver manager 208 by the supvr ofsource server 108 with by the user ofclient computer 112, to preserve customer data base 224.Redirecting by dynamic-dns 204 of 108 IP address offers the person's of checkingobject broker 504,content tracing device 404 andcontent controller 408 from the source server name to source server.
Source server 108 is communicated by letter withserver manager 208,client computer 112,content tracing device 404,content memorizer 412 and content controller 408.Local content catalogue 316 offersserver manager 208 fromcontent manager 312, so that keepserver database 228 to have current content information.First-selectedinformation 512 offerscontent manager 312 fromclient computer 112, so that simplify the selection in the source of content object.Content tracing device 404 is mutual withcontent manager 312, to understand in thecontent switch 116 having stored what content object.Content object is read fromcontent server 308 bycontent memorizer 412 orclient computer 112.
Content switch 116 also withsystem 600 in other modules mutual.Status information is provided forActive Directory 104 and/or content manager 312.Dynamic-dns is used for seeking the IP address of thesource server 108 that contains content object bycontent controller 408 and content tracing device 404.Whencontent memorizer 412 needed object, selected content switch can be got in touch with the other guide switch.If the other guide switch is this content object not also,content controller 408 is asked this object fromcontent server 308, so that be sent to selectedcontent memorizer 412.
With reference to Fig. 7 A-B, the process flow diagram of a kind of embodiment of the process that is used to user's allocation contents has been shown among the figure below.Before described process, user and supvr download and install the used software ofclient computer 112 andsource server 108 respectively.The supvr selects in content server will be to the content of system's 600 announcements.In order to confirm first-selectedinformation 512, whether the person's of checkingobject broker 504contiguous content switch 116 of inquiry automatically has enough QOS.
Said process is fromstep 704 beginning, and in this step, the user guides web browsingcontent handling procedure 508 into the catalogue or the search page 212,216 of Active Directory 104.In this embodiment, instep 708, the user utilizes boolean queries to come search engine on the query search page orleaf 216 to seekcontent object.In step 712, search engine can hit with acquisition bysearch server database 228, also can search for and browse catalogue 124.Perhaps, the user can navigation directory page orleaf 212 to seek the content object of being wanted.
Instep 716, search or catalogue page 212,216 demonstrate the link of each content object that the user can select.Each link all comprisessource server name 108, port, path and the title ofcontent object.In step 720, after providing available option, the user can select one of to link accordingly with wanting content object.The person's of checkingobject broker 504 inquiry dynamic-dns 204 are to confirm the IP address of the source server name in the link.In case learn the IP address, content processing program just is redirected to path and the filename in the IP address that from dynamic-dns 204, retrieves and the link.
Instep 724, incase client computer 112 is connected withcontent manager 312, first-selectedinformation 512 just is forwarded to contentmanager 312.In step 728 and 732,312 pairs ofcontent location databases 320 of content manager, first-selectedinformation 512 and status information are analyzed, with the source of the content object confirmingwill client computer 112 be redirected to.
Instep 736, judge that this source iscontent switch 116 or content server 308.Ifcontent manager 312 judges thatcontent server 308 can provide enough QOS or higher QOS, can select it so.In some embodiments, if thecontent switch 116 of the QOS that does not have to provide enough, so could only be withcontent server 308 as the source.If selectedcontent server 308, so instep 740,source server 108 provides content object forclient computer 112.
Ifcontent manager 312 chosencontent switches 116 hold content object request, socontent processing program 508 is redirected to selectedcontent memorizer 412, processing procedure proceeds in thestep 744 of Fig. 7B then.In step 744,content processing program 508 is the content object in the hyperlink request from contentmemorizer 412.In step 748 and 752, if the whole contents object all incontent memorizer 412, downloads to client computer with object so fromcontent memorizer 412.
Perhaps, lack, incontent memorizer 412, compile the whole copy of content object so if arbitrary fragment of content object is lost.The formation of whole contents object is transparent to theuser.In step 756 and 760,content controller 408 inquiry other guide switches 116 have the scarce fragment of mistake of this content object to judge which contentswitch.In content memorizer 412, content object is compiled from the beginning to the end again, like this, can obtain the beginning part as early as possible, so thatclient computer 112 is downloaded.
Instep 764, retrieve from eachcontent switch 116 with iterative manner and lose to lack fragment, up to the whole contents object all in content memorizer 412.If theother guide switch 116 not mistake of this content object lacks fragment, instep 768,query source server 108 lacks fragment to seek to lose so.Dynamic-dns 204 is inquired about, confirmed the IP address of the source server name of thiscontent object.In step 772, dynamic-dns 204 is guidedcontent controller 408 into thesource server 108 with thiscontent object.In step 776, from thecontent server 308 of thissource server 108, download and to lose scarce fragment.Processing procedure turns back to step 748, lacks fragment with the mistake of retrieving any other.
The process of this search fragment is proceeded with iterative manner, all is copied in thecontent memorizer 412 up to the scarce fragment of lose.Lose to lack fragment although this embodiment is retrieved these successively, yet other embodiments can judge that these lose the position that lacks fragment, and concurrently, they are retrieved by any order or by the inferior ordered pair that finds.
With reference to Fig. 8, the block diagram of a kind of embodiment of the person's of checkingobject broker 504 has been shown among the figure below.The person's of checkingobject broker 504 comprises following function: 852, one Presentation Functions of 850, one weighted function of a path evaluation device or routine 854; 858, one decompressing functions 860 of 856, one standard web of look-ahead logic function access function; A decipher function 862; 866, one security functions 864 of an e-business capability, with one with the person's of checkingobject broker 504 in the main functionality 868 that is connected of various other functions.Should be appreciated that the above-mentioned listed possible function that is contained in the person's of checkingobject broker 504 is illustrative, those of skill in the art can recognize can also have other functions relevant with the person's of checkingobject broker 504.
All pass through the agency that it flows because the person's of checkingobject broker 504 is content objects that all person of checking asks, therefore can realize look-ahead logic function 856.In one embodiment, look-ahead logic function 856 can expect that user's the next one is browsed or move, and before user's actual request, obtains relevant browsing information and be stored in the client computer 112.Keep the information obtain in advance, up to user's actual request this information.If look-ahead logic function 856 is expected wrong user's the next one is browsed, the data that obtain in advance of deletion so.For example, look-ahead logic function 856 can obtain the generic access page or leaf (as said with reference to Fig. 2) under the hierarchy ofcatalogue page 212 in advance.Through obtaining information in advance, look-ahead logic function 856 can shorten access latency.
In some embodiments, decompressing function 860 and decipher function 862 are provided.These functions 860,862 make and can the information that receive from the source server on theInternet 108,content switch 116, outsideformer server 118 or other any servers be decompressed and decipher.
For arbitrary user request, the person's of checkingobject broker 504 according to decompress 860 with the availability of deciphering 862 functions, can consult server on utilizing theInternet 120 carry out in the content object transport process the compression that will adopt and the mode of encryption.Therefore, no matter when surfing on theInternet 120 of user, the person's of checkingobject broker 504 can be told any associated server compression and cipher mode that it is supported.This does not also require that associated server will have special software, but, under the situation of identical compression, encryption and security function that associated server support and the person's of checkingobject broker 504 are supported, can improve QOS.Should be appreciated that and to adopt many communication mechanisms to decompress and decipher.For example, can adopt FTP, NNTP, RTP, RTSP or SMTP.
In one embodiment, deciphering reconciliation compression negotiation utilizes HTTP to realize.Specifically, realize this negotiation through the expanded HTTP title.
In addition, in some embodiments, as far as the user, can forbid decompressing function 860 and one of decipher function 862, perhaps the two is all forbidden.If the user is forbidden each function 860,862, so, the person's of checkingobject broker 504 will not consult to use disable function.
In some embodiments, the person's of checkingobject broker 504 comprises security function 864.Security function 864 can allow or denied access suitably the time.Specifically, security function 864 provides control, so that only be commissioned system authorization, could content object be deciphered.For example, only be connected withclient computer 112 and security function 864 has been reported under the situation of condition of contact through the person's of checkingobject broker 504 at the hardware device of specific hardware locking-type, the system of being commissioned just can authorize and accept and/or data decryption.
In some embodiments, the person's of checkingobject broker 504 comprises e-business capability 866.E-business capability 866 can be combined closely with resident e-commerce engine on the Internet 120.Utilize e-business capability 866, can be the user a kind of mechanism of buying content object is provided.For example, the token credit of being stored in thecustomer data base 224 can be used as the credit of usingsource server 108, so that download content object.
In addition do not check that person'sobject broker 504 also comprises standard web access function 858, this function provides being positioned at the visit of the internet domain outside the content allocation system 100.In one embodiment; When the person's of checkingobject broker 504 received the user to the content object that comes from the territory outside thecontent allocation system 100 fromcontent processing program 508 and asks, standard web access function 858 judged whether this content object was kept in theclient computer 112 in the past.If the content object of being asked had been preserved in the past, so, return the content object of being preserved, to satisfy user's request through standard web access function 858.If the content object of being asked was not preserved in the past, so, transmit user's request through standard web access function 858, the retrieval of content object just looks like thatcontent processing program 508 has directly been visited theInternet 120 then.
Below, contrast the process flow diagram of the person's of checking object broker background application 900 as shown in Figure 9, path evaluation device 850, weighted function 852 and Presentation Function or routine 854 are described.Background application 900 utilizes the various person's of checkingobject broker 504 functions to confirm to provide forclient computer 112 content switch that meets therequirements 116 of enough QOS.Thecontent switch 116 that meets the requirements is stored in the storer as first-selectedinformation 512, is sent tocontent object manager 312 subsequently.
With reference to Fig. 9, start at 980 o'clock and install 982, and operation shows routine 854.Installing 982 can comprise: the graphic memory in request and theinitialization client computer 112, initialization agency and operation show routine 854.In addition, installation 982 can also comprise any process of initialization graphic presentation or agency.
Installing after 982, carrying out information request and receive 984.During information request and reception 984, thecontent switch database 232 in theActive Directory 104 is downloaded to client computer 112.As stated,content switch database 232 can be divided by the area, or divides by several different methods (comprise the QOS criterion or the reservation business criterion of improvement, but be not limited thereto).Therefore, in some embodiments, information request with receive 984 and make to retrieve and only contain geographical going up and thecontent switch database 232 of thecontent switch 116 thatclient computer 112 is nearest.For example, institute's content retrievedswitch database 232 can only comprise thecontent switch 116 that is positioned at the North America.In other embodiments, information request with receive 984 and make can retrieve only to contain and support particular subscription professional or owing to thecontent switch database 232 of thecontent switch 116 of specific provider.Perhaps,content switch database 232 can be confined to owing to the ad hoc internet service provider or support specific protocol or even the content switch of content object is provided with language-specific.In also having some embodiments, information request makes with reception 984 can retrieve thecontent switch database 232 that comprises allpossible content switch 116.
In some embodiments, information request also comprises certain part of asking and receiving the routing data storehouse 234 of the routing information that containsexternal source server 118 with reception 984.Institute's receiving unit in routing data storehouse 234 is stored in the storer ofclient computer 112, as masterserver Route Selection 520.
In other usages, can be used for producing a demonstration for the user through information request and the information that reception 984 is provided.For example, in some embodiments, can be used as a figured part that offers the user through Presentation Function or routine 854 as the location fix that a part provided and the icon information of content switch database 232.This diagrammatic representation can illustrate to the user can be in other the local resulting contents on thecontent allocation system 100 or on the Internet 120.In addition, diagrammatic representation can also illustrate the various paths fromclient computer 112 to a plurality of content switch 116.In a kind of particular embodiment, the physical location ofcontent switch 116 andsource server 108 overlaps on the world map that is shown to the user.
Except using thecontent switch databases 232, can be used to execution route QOS assessment 986 from the information ofcontent switch database 232 through Presentation Function 854.Specifically, the QOS in eachcontent switch 116 of appointment or the path between the node can be determined and be stored in the storer ofclient computer 112 inclient computer 112 and thecontent switch database 232.
Should be appreciated that through information request and a kind of method that is used for confirmingpossible content switch 116 that received 984 received content switches, 116 complete list exemplary illustrations.In other embodiments, can obtain possible content object source complete list, such ascontent switch 116,external source server 118 andsource server 108, or the complete list that utilizes the person's of checkingobject broker 504 to be edited.This table can be based on the understanding to the resulting person's of checkingobject broker 504 during the inside ofcontent allocation system 100 or outside early stage content object transmit.
In one embodiment, tocontent switch database 232 in listed all the elements switch 116 relevant paths carry out path QOS assessment 986.At first, analyze withcontent switch database 232 in the relevant path of listed first content switch 116.Then, in step 988, judge whether also provide anothercontent switch 116 in the content switch database 232.If provide anothercontent switch 116, so, assess the path of this content switch 116.This process is carried out always, up tocontent switch database 232 in listed all the elements switch 116 all carried out path QOS assessment 986.Should be appreciated that QOS assessment in path can be directed against any content object source or transmission node carry out, and may not be confined to assesscontent switch 116 and source server 108.It is also understood that transmission node can be acontent switch 116, or other can store and transmit the server of content object.It is also understood that the term path has comprised Route Selection as assessing relevant used situation with path QOS.
In other embodiments, only assess a sub-set of content switch listed in thecontent switch database 232 116.A sub-set of only assessing thecontent switch 116 in thecontent switch database 232 can provide more effective path QOS assessment 986.Knowing that thereby somecontent switch 116 can not provide under the situation that enough QOS are unworthy assessing, and can reach the efficient of this raising.Therefore, for example, be positioned at the North America and realize that content switch outside the North America can not provide under the situation of enough QOS, only carries out path QOS assessment 986 to thecontent switch 116 that is positioned at the North America atclient computer 112.
Perhaps, realizing thatdissimilar content switch 116 possibly provide under the situation of similar business, can carry out path QOS assessment 986 based on website.Specifically, arelevant content switch 116 of represented eachcontent switch website 432 in assessment and the content switch database 232.In view of the above, can judge that whichcontent switch website 432 possibly provide enough QOS.Subsequently, analyze thecontent switch 116 relevant one by one with the content switch website that enough QOS possibly is provided by judgement 432.Like this, just can not assess thecontent switch 116 relevant with the content switch website that QOS can not be provided 432.
In another embodiment, only carry out path QOS assessment 986 to thecontent switch 116 of supporting specific protocol.Perhaps, thecontent switch 116 that only is directed against certaincontent switch website 432 place (at least onecontent switch 116 of thesewebsite 432 places is supported specific protocols) carries out path QOS assessment 986.
In addition, in some embodiments, carry out a path QOS assessment 986 to 116 of certain content switches.Therefore, have atcertain content switch 116 under the situation of a plurality of IP address, port or title, only carry out path QOS assessment 986 to IP address, port or a title.This has got rid of the redundancy assessment during the path QOS assessment 986.Yet, should be appreciated that and realizing under the situation that has different QOS, also can carry out path QOS assessment 986 to a plurality of IP address, port or the title ofsame content switch 116.
Which subclass of thecontent switch 116 in the chosencontent switch database 232 is assessed, the criterion that can be provided based onclient computer 112 and based onActive Directory 104,content switch 116,source server 108 and/or client computer experience that the user provided.
In one embodiment, path QOS assessment 986 can fully utilize following network analysis method and accomplish, and these methods comprise (but being not limited thereto): traceroute; Through the bandwidth test that file transmits, server health-and-status check, server load/resource inspection; (ping) agreement ping; The path difference, net circle's gateway protocol (BGP) routing information and port responses time.
Traceroute comprises any such analysis: return and be grouped in the route of being taked betweencertain content switch 116 and the client computer 112.Usually, traceroute will return the IP address of the number of times of the forwarding of walking, the forwarding of walking and betweenclient computer 112 andcontent switch 116, walk the required time.
The bandwidth test that transmits through file comprises any such analysis: the bulk information of carrying out betweencontent switch 116 and theclient computer 112 transmits.During transmitting in batch, draw the various indexes of performance, comprise that completion transmits the required time (but being not limited thereto) in batch.Usually, the data randomness that is transmitted betweencontent switch 116 and theclient computer 112 is very big.This randomness of data has reduced the influence to any compression that occurs betweenclient computer 112 and thecontent switch 116.
Packet InterNet Groper comprises any such analysis: the response thatclient computer 112 is waited for fromcontent switch 116 tocertain content switch 116 transmission information and client computer 112.Usually, diminish agreement (promptly do not guarantee respond agreement) through UDP or any other and carry out Packet InterNet Groper.Whether Packet InterNet Groper can be used to the inspection content switch and can use.In addition, receive and to reply the required time and can be used as the indication of QOS.
Server health-and-status check and server load/resource inspection can comprise any such analysis: confirm the various trial methods about health status, load and the available resources ofcontent switch 116,source server 108 or other transmission nodes.Usually, query contents switch 116 is to confirm various operating characteristics; Comprise (but being not limited thereto): average and peak C PU load, cpu temperature is for solving the number of pages that the high-speed cache mistake is transmitted between hard drives and RAM;Content switch 116 sends the speed of read and write operation to hard drives, andcontent switch 116 current request numbers of serving are visited the average user number of this content switch; The while linking number, the I/O speed ofcontent switch 116, the average content object length of fromcontent switch 116, being asked; The capacity of the local storage (comprise RAM and hard drives storer) relevant withcontent switch 116; Contained average content object length in the local storage, contained content object number in the local storage, content object remains in the averaging time in the local storage; In local storage, can not find occurrence rate and other any indication and/or status informations of makeing mistakes of the situation of content object.
Utilize the health-and-status check 330,426 relevant, can confirm above-mentioned trial method withcertain content switch 116 or source server 108.In one embodiment, health-and-status check 330,426 is respectively the software application oncontent switch 116 or the source server 108.When the person's of checkingobject broker 504 was inquired about, health-and-status check 330,426 can provide: cpu load, cpu temperature, linking number andcontent switch 116 orsource server 108 current request numbers of serving simultaneously.In some embodiments, the person's of checkingobject broker 504 is through HTTP query contents objectexchange machine 116, with retrieval server health-and-status check trial method.Yet, should be noted that those of skill in the art can know many mechanism that are used for access server health status trial method, comprise FTP, NNTP, RTP, RTSP, SHOUT, SMTP (but being not limited thereto), or being connected through specified port and this node.
In other embodiments, the state request of 504 pairs of health-and-status checks of the person's of checking object broker 330,426 has caused a single state sign that returned.This a single state sign is between 0 and 1, and 1 representes undesirable feature and the fine characteristic of 0 expression.Good and undesirable feature is confirmed as the ability or the possibility of content object Cache according tocontent switch 116 or other transmission nodes.Therefore, in one embodiment, value is that 0.9 sign is represented and can not content object this locality be kept at the 116 1 elongated segment times of content switch.Value is that 0.2 sign representes to preserve the one elongated segment time of content object.
In order to confirm this a single state sign, can monitor and comprehensive many machine characteristics.In one embodiment; The a single state sign has comprehensively comprised following properties: average cpu load; The capacity of the local storage relevant withcontent switch 116, contained average content object length in the local storage, content object remains in the averaging time in the local storage.These independent characteristics comprehensively can be used to evaluate the ability of content switch as the VPN Content cache device.In order comprehensively to be unique identification, at first each characteristic all is normalized into the predetermined number percent that uses level with these characteristics.Normalization realizes like this, i.e. 100% the express possibility best characteristic value that reaches and the poorest characteristic value of 0 expression.Then, normalized value multiply by the predetermined percentage of total Status Flag, product value is added up to form a unique identification between 1 and 0.Should be appreciated that also can utilize characteristic some other gather and form unique identification.For example, the I/O speed of can be the comprehensively average cpu load of a kind of embodiment, cpu temperature, the average user number that is connected with the source and content switch forms this unique identification.
An example that forms unique identification is provided below; Comprising: peaked 90% cpu load; Be normalized to 20% average content object length; The contained capacity that is normalized to 30% local storage in the local storage is normalized to average content object length contained in 80% the local storage and is normalized to 50% content object and remains in the averaging time in the local storage.These normalizing values can be added up to like this, and are identical so that each characteristic plays a part in unique identification.So each normalized value multiply by 20% and is added up to, to form this unique identification.Therefore, this unique identification is 54% promptly 0.54 in this example.Should be appreciated that this example and embodiment are only just illustrative, can also adopt some other method that a plurality of characteristics are comprehensively become unique identification.
The BGP routing information comprises any information that the result returned as net circle's gateway protocol analysis.Usually, this information is relevant with the path topology structure, and it comprises that autonomous system (AS) path attribute and AS transmit next time, but is not limited thereto.
The path difference comprises any such analysis: confirm to be used to connect bandwidth or the difference of stand-by period between the alternative path ofcontent switch 116 andclient computer 112.
The port responses time comprises any such analysis: the indication of port responses is provided.Usually, this test provides the relevant information of response time withcontent switch 116 ports.For example, the port time can comprise any such analysis: confirming to transmit length is the zero required time of message.Usually, the result that report distance of zero mark degree transmits is as the switch message count of per second.The switch number of per second can be used to infer the stand-by period ofcontent switch 116.
Should be appreciated that any said method can comprehensively be used to provide the QOS in a path that is used to connectcontent switch 116 andclient computer 112 or the indicated value of transmission quality.In addition, any said method can combine with other network analysis methods provides QOS assessment 986.For example, in one embodiment, can fully utilize Packet InterNet Groper, traceroute and health-and-status check QOS is provided assessment.
In another embodiment, all said methods comprehensively are used for confirming QOS.In order to confirm QOS, every kind of method all is performed, and the QOS factor of every kind of method all is returned.Then, from the QOS factor of the whole bag of tricks by normalization and added up to, to form the single-qos factor in each path of being analyzed.Can carry out identical weighting to the whole bag of tricks and come these QOS factors of normalization.
For example, in one embodiment, following normalization and total have appearred; Wherein: (1) traceroute returns 9 forwardings; (2) bandwidth test that transmits through file returns 300ms, and (3) server health-and-status check returns thehealthy value 1 of expression, and 65% average cpu load is returned in (4) server load/resource inspection; (5) the BGP routing information returns and transmits for 4 times and (6) port responses time is returned 45ms.In addition; Each rreturn value and predetermined maximum are separately compared, these predetermined maximums for example are again: (1) traceroute is 30 forwardings, and (2) are 500ms through the bandwidth test that file transmits; (3) the server health-and-status check is 1; (4) server load/resource inspection is 100%, and (5) BGP routing information is that 6 forwardings and (6) port responses time are 100ms.
For normalization and total, each rreturn value all will be divided by they predetermined maximums separately.Therefore, traceroute obtains 0.33, and the bandwidth test that transmits through file obtains 0.6, and the server health-and-status check obtains 1, and server load/resource inspection obtains 0.65, and the BGP routing information obtains 0.75, and the port responses time obtains 0.45.Then, with obtaining 3.78 after all these normalized values totals, as total QOS factor.Then, utilize this QOS factor to come moredifferent content switch 116 again.
In other embodiments, the value of returning from every kind of method was carried out different weightings earlier before adding up to.Weighting coefficient can be provided by the user, to influence the QOS factor of being returned.This embodiment value from last instance capable of using is described; In last instance, the normalized value that returns from the whole bag of tricks is: (1) traceroute is 0.33, and (2) are 0.6 through the bandwidth test that file transmits; (3) the server health-and-status check is 1; (4) server load/resource inspection is 0.65, (5) BGP routing information be 0.75 and (6) port responses time be 0.45.In order to continue explanation, adopt following weighting coefficient: traceroute is 1, and the bandwidth test that transmits through file is 3, and the server health-and-status check is 1, and server load/resource inspection is 4, and the BGP routing information is 1, and the port responses time is 3.Each normalized value multiply by its weighting coefficient separately just can be obtained: (1) traceroute is 0.33; (2) bandwidth test that transmits through file is 1.8; (3) the server health-and-status check is 1; (4) server load/resource inspection is 2.6, (5) BGP routing information be 0.75 and (6) port responses time be 1.35.Then, with obtaining 7.83 after all these normalized values totals, as total QOS factor.Then, utilize this QOS factor to come more different content switch 116 again.
Except weighting coefficient was provided, the user can also artificialselection content switch 116 preset order, and singleacceptable content switch 116 perhaps only is provided, one of this two can replace the automatic analysis of path QOS assessment 986 effectively.Therefore; The user can obtain any required result through one of following method: the QOS factor that producescontent switch 116 fully automatically; Artificial weight path QOS assessment 986 provides requiredcontent switch 116 complete lists to obtain being directed against the QOS factor thatcontent switch 116 is returned, perhaps to replace analyzing automatically.
In some embodiments, can utilize a sub-set of said method to carry out againlimited content switch 116 being carried out meticulous QOS analysis after rough QOS analyzes, accomplish multilayer path QOS assessment 986.This multi-layer analysis has been owing to avoided that the content switch that enough QOS can not be provided is carried out meticulous QOS and analyzed, thereby improved the efficient of path QOS assessment 986.Correspondingly, in a routine embodiment, use Packet InterNet Groper and traceroute all the elements switch contained in thecontent switch database 232 116 is carried out rough QOS analysis.Then, utilize the server health-and-status check to analyze, to providing thecontent switch 116 of the predetermined number (preferably less than 25) of enough QOS to assess according to rough QOS as meticulous QOS.The result that meticulous QOS analyzes has confirmed those content switch that enough QOS are provided 116.Should be appreciated that can use each method any comprehensively carries out meticulous or rough QOS and analyze.In addition, it is also understood that meticulous or rough QOS analysis itself can comprise multi-layer analysis.
After possible path being carried out path QOS assessment 986 and the QOS factor in each assessment path being stored in the storer ofclient computer 112, thecontent switch 116 differentiation priority ranking 990 that these are relevant with the assessmentpath.Content switch 116 is distinguished priority ranking according to the determined QOS factor in the path QOS assessment 986.According to the QOS factor, the content switch of predetermined number can be selected, sort and preserved as first-selected information 512.In one embodiment, first-selectedinformation 512 comprises preferred 10content switch 116.
As stated, in the other embodiment, can be to may not being that path QOS assessment is carried out in any content object source ofcontent switch 116 and source server 108.In this case, first-selectedinformation 512 can comprise content object source,source server 108 andcontent switch 116.
First-selectedinformation 512 comprisescontent switch 116 complete lists that enough QOS are provided, and wherein this QOS is determined by the network analysis that carries out fromclient computer 112 angles.Analyze QOS fromclient computer 112 angles, can improve QOS.
In some embodiments, first-selectedinformation 512 is used for forming a sub-set of 986 content switch that will analyze 116 of path QOS assessment.For example, can test in samewebsite content switch 116 that exist or relevant with same provider (in contained content switch 116) as first-selected information 512.Therefore, in subsequent path QOS assessment 986, only reappraise the content switch ofenough QOS 116 most possibly is provided.Perhaps, path QOS assessment 986 can have been analyzedcontent switch 116 contained in the first-selectedinformation 512 and theother guide switch 116 in thecontent switch database 232 that is added to since forming first-selectedinformation 512 last time.In these methods, can utilize the experience of the person's of checkingobject broker 504 to realize more effective path QOS assessment 986.Should be appreciated that above-mentioned embodiment is illustrative, also have many algorithms to can be used to chosencontent switch 116, to improve the efficient of path QOS assessment 986.For example, the operation in advance of path QOS assessment 986 can be returned the very poor result ofcertain content switch 116, and this content switch will never be analyzed, but predetermined being rejected.In some embodiments, this predetermined refusal can be accomplished by the user is artificial.
The result that can show 992 path QOS assessment 986 for the user.In some embodiments, display result can lure that the user remains on the desktop ofclient computer 112 the operation person of checkingobject broker 504 application programs always into, and helps the user in the selection of change weighted function 852 with manual control content switch 116.In one embodiment, Presentation Function 854 especially also provides an area map, and it has explained some forwardings betweenclient computer 112 and the selectedcontent switch 116 and the statistics that some describe operating characteristic.
Except upgrading the first-selectedinformation 512 starting at 980 o'clock, can also ask 994 or upgrade first-selectedinformation 512 according to the time interval 996 according to the user.In one embodiment, upgrade first-selectedinformation 512 with the time interval 996 that was set to 3600 seconds.
Except with reference to the described background application of Fig. 9; The person's of checkingobject broker 504 can also provide foregrounding; Comprise (but being not limited thereto): serve user's request, and serve the ecommerce request from the content object incontent allocation system 100,external source server 118 and the Internet 120.Specifically, the person's of checkingobject broker 504 can be handled like the front and combine e-business capability 866 described ecommerce requests.
The process flow diagram of a kind of embodiment of the reference person's of checking object broker requestedservice 1000 is as shown in Figure 10 described the visit to the content object incontent allocation system 100,external source server 118 and the Internet 120.With reference to Figure 10, the user that the person's of checkingobject broker 504 receives a content object asks 1010.In one embodiment, visitcontent allocation system 100 through content processing program 508.Specifically,content processing program 508 sends the request to content object according to user command.Request to content object asks 1010 to be sent to the person's of checkingobject broker 504 as the user.
Ask 1010 in case receive the user, can the 504 judgement content allocation system visits 1020 of the person's of checking object broker satisfy received user asks 1010.In one embodiment, can judge with known comparing through the user being asked 1010 source position withcontent allocation system 100 relevant source positions tabulations.If the user asks 1010 source position to meet certain source position relevant withcontent allocation system 100, so, contentallocation system visit 1020 can be satisfied this request.Correspondingly, carrying out content allocation system professional 1030 satisfies the user and asks 1010.
In some embodiments, the person's of checkingobject broker 504 can be carried out content allocation system professional 1030 through first-selectedinformation 512 being sent to source server 108.Utilize first-selectedinformation 512,source server 108 select can for the user ask 1010 enough QOS are providedcontent switch 116 or source server108.So source server 108 is sent to the person's of checkingobject broker 504 with the address of selectedcontent switch 116 or source server 108.In one embodiment,source server 108 is dynamically write HTML, so that the address of selectedcontent switch 116 orsource server 108 is provided to the person's of checking object broker 504.Then, the person's of checkingobject broker 504 is consulted compatible compression, encryption and security with selectedcontent switch 116 or source server 108.In another embodiment, the person's of checkingobject broker 504 can utilize first-selectedinformation 512 chosencontent switch 116 in person, the content object of being asked to provide.
The person's of checkingobject broker 504 asks 1010 through asking content object in selectedcontent switch 116 or thesource server 108 to satisfy the user.When the content object of being asked was received, the person's of checkingobject broker 504 provided decompression, deciphering and security according to the form of being consulted.Therefore, through being sent to sourceserver 108 with specificclient computing machine 112 relevant information,source server 108 just can select to provide thecontent switch 116 of enough QOS.Select through analyzing fromclient computer 112 angles, can realize that meticulousr QOS analyzes, thereby obtain better QOS with content switch.
Ask 1010 if contentallocation system visit 1020 can't be satisfied the user, so, next the person's of checkingobject broker 504 just judges that can externalsource server access 1040 satisfy this user and ask 1010.In one embodiment, can compare through the domain name of theexternal source server 118 of the user being asked provided in domain name indicated in 1010 and the masterserver Route Selection 520 and judge.If the user asks domain name indicated in 1010 to meet the domain name of certainexternal source server 118, so, can satisfy the user from thisexternal source server 118 that meets through execution externalsource server service 1050 and ask 1010.Correspondingly, carrying out externalsource server service 1050 satisfies the user and asks 1010.In other embodiments, the user asks 1010 can comprise directory name, machine name, IP address or the one other identification symbol that can compare with the respective identifier of contained external source server in the masterserver Route Selection 520.
In one embodiment, the person's of checking object broker 504 is accomplished external source server service 1050 through visiting known content switch 116, so that the content object that comes from the external source server 118 that is met is provided.Therefore, the person's of checking object broker 504 asks 1010 to be redirected to this content switch 116 from the external source server 118 that is met the user.This external source server 118 that guides concerning being met again all is transparent with content processing program 508.In some embodiments, the person's of checking object broker 504 is consulted compatible compression, encryption and security with selected content switch 116.And satisfying the user according to the compression of being consulted, encryption and security, content switch 116 asks 1010.Under the situation of the content object that does not have at content switch 116 to be asked, content switch 116 is asked required content object from the external source server 118 that is met.No matter which kind of situation, the content object of being asked all offers client computer 112 by content switch 116.When the content object of being asked was received, the person's of checking object broker 504 provided decompression, deciphering and security according to the form of being consulted.Therefore, through coming service users request 1010, safeguard that the content object provider of external source server 118 need not bear the task of allocation contents object by content switch 116.
In another embodiment, the person's of checkingobject broker 504 can be carried out externalsource server service 1050 through first-selectedinformation 512 is sent to source server 108.Utilize first-selectedinformation 512,source server 108 select can for the user ask 1010 enough QOS are providedcontent switch 116 or source server 108.Source server 108 is sent to the person's of checkingobject broker 504 with the address of selectedcontent switch 116 orsource server 108.
So the person's of checkingobject broker 504 satisfies the user through request content object from selectedcontent switch 116 orsource server 108 asks 1010.Selectedcontent switch 116 orsource server 108 are asked required content object from theexternal source server 118 that is met, ask 1010 through providing the content object of being asked to satisfy the user to the person's of checkingobject broker 504 subsequently.Therefore, through the business that is applicable toclient computer 112 is provided, can obtain better QOS.In addition, through coming service users request 1010, safeguard that the content object provider ofexternal source server 118 need not bear the task of allocation contents object bycontent switch 116.
Ask 1010 if externalsource server access 1040 or contentallocation system visit 1020 all can not be satisfied the user, ask 1010 to be sent to theInternet 120 user so.In one embodiment, as reference standard web access function 858 described modes handle through 1060 be sent to theInternet 120 the user ask 1010.
With reference to Figure 11, a kind of embodiment of the method that is used for the content betweentracing source server 108 and thecontent switch 116 has been shown among the figure.Although this figure has mainly explained mutual between single source server and the single content switch, yet, should be appreciated that each source server can get in touch with many content switch, and each content switch can be got in touch also with many source servers.Thesystem 600 that makes alternately between allsource servers 108 and all the elements switch 116 can the keeping track of content object segmentation.
This process is in off-line or can not user mode begins from content switch andsource server.In step 1104,content switch 116 is just available after beginning operation.When for the first time available,content switch 116 is idle, and waits forclient computer 112 request contents.When having satisfied the request ofclient computer 112,content memorizer 412 makes itself fill the fragment of some content objects or content object.
Instep 1108, thesource server 108 of this embodiment begins operation andavailable.Source server 108 is announced its local content catalogue toActive Directory 104, and all the elements tracker insystem 600 404 identifies himself.Thecontent switch database 232 of thecontent switch 116 of operation can supply inquiry to use, and makes thatcontent manager 312 is learnt the address ofcontent tracing device 404.
Eachcontent switch 116 is all preserved the source server database 424 of thesource server 108 of getting in touch with it.Beforesource server 108 off-lines,source server 108 is attempted getting in touch with all the elements switch 116, so that to the change of thesecontent switch 116 these states of circular.Thesource server 108 of off-line will be eliminated from source server database 424.As long as it issource server 108 fails thecontent switch 116 of transmit status is responded, that thissource server 108 just is considered to off-line and from source server database 424, eliminate.
Whenevercontent switch 116 preparation off-lines, it just attempts 600 circulars to system.Source server 108 with fragment of some content objects or content object obtains circular, and like this, the contentexchange machine information 324 in eachsource server 108 can keep up-to-date with location of content database 320.In addition,Active Directory 104 also obtains circular, and therefore,content switch database 232 will accurately reflect thecontent switch 116 thatsystem 600 can use.
Instep 1112, eachcontent tracing device 404 of being got in touch in thestep 1108 all with status information 420 with comeresponse contents manager 312 withcontent manager 312 relevant any content objects.Becausecontent manager 312 has been just online, therefore, any content object from thecontent server 308 relevant withcontent manager 312 can not be arranged in content memorizer 412.Content manager 312 will be preserved as contentexchange machine information 324 from the status information 420 of eachcontent switch 116 that responds.In different embodiment, the status information of being reported 420 can have also and can not have content inventory information 416.When selectingclient computer 112 to the route in the source of content object, this contentexchange machine information 324 is used for judging the load of the content switch of being considered.Each content tracing device 400 utilizes status information to upgrade allactivity description managers 312 termly, makes that contentexchange machine information 324 is up-to-date.When in another embodiment,content tracing device 404 can great changes occur in state rather than the status information 420 of renewal is provided termly.
Instep 1116,content manager 312 is guidedclient computer 112 intocontent switch 116 to satisfy the request to content object.Before guidingclient computer 112 again,content manager 312 is confirmed the preferred source that the certain content switch is this content object.If be not the whole contents object all inpreferred content switch 116, so, instep 1120, the content object fragment that lacks is lost incontent controller 408 retrievals.In case the beginning part from the content object ofcontent switch 116 is available,client computer 112 begins to download this content object.
Content tracing device 404 termly or the content object and/or the content object fragment of when occur changing, in all theelements manager 312 reportcontent storeies 412, being stored.Local content catalogue 416 has been stored the content object preserved in thecontent memorizer 412 and/or the complete list of contentobject fragment.In step 1124, the content object that instep 1120, possibly replenish is repaid to the source server that this content object is provided at first 108.Eachsource server 108 that has about the information ofcontent memorizer 412 all receives the report fromcontent tracing device 404.
After a while, instep 1128, the more information in the local content catalogue 416 is sent tocontent manager 312 from content tracingdevice 404.In step 1132, the expiration of timer will start this report, and but, other embodiments can also be reported this information when occurring changing.According to the report of all the elements switch 116,content manager 312 is stored in positional information in the location of content database 320.Content manager is to inquiry in future ofcontent location database 320, makes to know that current thiscontent manager 312 that maintains of whichcontent switch 116 wants any content object thatclient computer 112 is redirected to.
Whencertain content manager 312 had been issued in the report of status information 420 and/or content inventory information 416,content tracing device 404 judged whether thiscontent manager 312 is accepting this information.If content manager is received information, so, processing procedure turns back tostep 1116, at this another content object of request.
Ifcontent manager 312 is off-line for example, the information ofcontent tracing device 404 reports is not accepted so.After attempting through the contact of several times failure possibly,content tracing device 404 can conclude that justcontent manager 312 can notuse.In step 1136, detect thecontent manager 312 that does not have response.Through local content inventory information 416 is inquired about, can confirm any content object relevant with these out of use content managers 312.Fromcontent memorizer 412, eliminate these associated content object so that be fresh content object slot milling, perhaps, these content objects are coupled with the delete flag when needing storage space.Should be noted that in said process the content tracing device can be inquired about dynamic-dns 204, so that convert the source server name to the IP address.
Below with reference to Figure 12, a kind of process flow diagram of embodiment that is used for information is sent to from content manager the process of server manager has been shown among the figure.Shown in flowchart text mutual betweenActive Directory 104 and the single source server 108.Yet, should be appreciated thatActive Directory 104 can be in a similar fashion and the multiple source server interaction, so that expand inserver database 228 electronic directory with these source servers catalogues.The user utilizes search page or catalogue page example to come queryingserver database 228.
This process is fromstep 1204 beginning, and in this step,content manager 312 provides status information to servermanager 208.In step 1208,server manager 208 receiving status informations also are stored in the customer data base 224.Customer data base 224 has been preserved the information about allsource servers 108 of current active in thesystem 600.
The frequency of the information of thelocal content catalogue 316 of eachsource server 108 repayment ofserver manager 208controls.In step 1210, control the frequency that each source server is reportedlocal content catalogue 316 by theserver manager 208 that the repayment time interval is provided to content manager 312.Load or utilization factor toActive Directory 104 are analyzed, adoptable amount of bandwidth during with the information in definite update service device database 228.Confirm situation according to this load, select the repayment time interval and send it to content manager 312.In one embodiment, repayment was set as two minutes in the time interval usually, if but this time interval can extend during the Active Directory overload.
Eachsource server 108 is preserved the selectedlocal content catalogue 316 that is used for to all the elements object of system's 600 announcements ofsupvr.Content manager 312 is got in touch to report that local content made a catalogue at 316 o'clock withserver manager 208 for the first time, and all items of thiscatalogue 316 all will be sent out.In subsequent contact, only to report the change part oflocal content catalogue 316, to save bandwidth.In the other embodiment, each contact can be reported whole localcontent catalogue.In step 1216,server manager 208 receives the change part oflocal content catalogue 316 or local content catalogue, and with this information stores in server database 228.Even during the repayment time interval,local content catalogue 316 does not change, andsource server 108 is also got in touch withserver manager 208, makes to know that thissource server 108 is still available.
Whetherserver manager 208 detects has anysource server 108 maybe be because thissource server 108 off-lines or otherwise can not use and stop to get in touch with it.Instep 1220,server manager 208 is provided with a timeout value for this source server 108.In this embodiment, this timeout value can be made as three times of the repayment time interval, but also can adopt other multiples.Can be timeout value a counter is set, be used for confirming when counter reaches timeout value.
If counter has reached timeout value instep 1224, so, instep 1236,Active Directory 104 is eliminated all references of thesesource servers 108, perhaps quotes the delete flag that adds when needing the space for these.Suppose thatsource server 108 does not begin contact before the timeout value if counter reaches, thissource server 108 can not use so.Fromserver database 228, eliminate with thelocal content catalogue 316 corresponding projects of thissource server 108, and fromcustomer data base 224 project of thissource server 108 of elimination.Through from database 224,228, eliminating these projects, all can't see and the linking of the content object relevant with thissource server 108 with the Any user that catalogue or search page 212,216 connect.In addition, can, counter be coupled with delete flag after reaching timeout value withlocal contents directory 316 corresponding projects.When the other guide object needed the space, the content object that is added with delete flag can be rewritten.
If as confirming in thestep 1228 thatsource server 108 is got in touch,Active Directory 104 knows thatsource server 108 works well so.This contact has caused storing the resetting of counter of timeout value.Processing procedure turns back tostep 1210, and at this, updateservice device database 228 is also confirmed the new repayment time interval.This process constantly circulates, and is storing up to sourceserver 108 to fail before the counter expiration of timeout value till the report.
With reference to Figure 13, illustrated among the figure and be used for by a kind of embodiment ofcontent manager 312 to the process flow diagram of the process ofserver manager 208 publish information.The supvr of source server is downloaded software from the download page orleaf 220 of Active Directory 104.This software is installed in the source server 108.Here, content object is available oncontent server 308 with static form or liquid form.Said process is fromstep 1304 beginning, and in this step, source server begins operation, with preparing content object and install software.
In 1308, the supvr accomplishes the artificial selection process, with the chosen content object.In this course, can a sub-set be used forsystem 600 with the content object in the content server 308.Selected content object is fed in thelocal content catalogue 316.
When getting in touch withActive Directory 104 for the first time, instep 1308 and 1312,content manager 312 will be sent toserver manager 208 about the information ofsource server 108, so that get into customer data base 224.Get in touch withActive Directory 104 for the first time if this is acontent manager 312, so, the supvr possibly provide some information that is transmitted.The subsequent contact withcustomer data base 224 is preserved and be provided with to the information that the supvr replenished.
Instep 1316,content manager 312 is got in touch withserver manager 208, to announce the information in the local contentcatalogue 316.In step 1320,server manager 208 obtainslocal content catalogue 316 and inserver database 228, all forms a project for each content object.Present to the user's of search content catalogue and search page in expression at 212,216 o'clock, can use these contents ofserver database 228.
The frequency of all itslocal content catalogues 316 ofsource server 108 reports ofserver manager 208 controls.Ifserver manager 208 overload, so, the repayment duration that givescontent manager 312 can extend.Server manager 208 can also be repaid when detecting the variation oflocal content catalogue 316 by request content manager 312.In this embodiment, the repayment duration is to be interval time two minutes, and instep 1324, is provided forcontent manager 312.
Beforeserver manager 208 repayment,content manager 312 is waited for expiration interval time in step 1328.In case timer expiration, the just content object in thescans content server 308 is to judge whether that tacklinglocal content catalogue 316 changes.In case instep 1332, done change, processing procedure just turns back tostep 1316, at this, announceslocal content catalogue 316 toserver database 228 once more.When getting in touch for the first time, whole local content catalogue can be provided instep 1316, and in subsequent contact, only to provide the change part to come lastest imformation, to reduce the length of information.
With reference to Figure 14, the block diagram of a kind of embodiment ofcontent switch 116 has been shown among the figure below, it shows a plurality of providers that connect through different port one 408.Article three,data path 1404 is separated by the Internet protocol port one 408 ofcontent switch 116 in logic.Theseport ones 408 are used for multichannel and separate theselogical data paths 1408, although they possibly share common pipeline physically.Utilize a plurality ofport ones 408, can regulate the portfolio relevant with theseport ones 408.
For example,content switch 116 can be used to provide the content object of external source server 118.The supvr of external source server possibly hope portfolio is distributed to three bandwidth providers.Port A 1408-A can be associated with the A of provider, and port B 1408-B can be associated with the B of provider, and port C 1408-C can be associated with the C of provider.Content switch can be monitored the activity of arbitrary these ports, and to provider's this information of report, makes provider to make out the bill suitably for theexternal source server 118 that has carried bandwidth.
The request ofclient computer 112 can be assigned to port one 408 according toexternal source server 118 determined schemes, so that between provider, distribute bandwidth.In one embodiment, eachclient computer 112 passes through threeport ones 408 circularly according to weighted function.In another embodiment, each client computer is assigned with and uses different port ones 408.In also having a kind of embodiment, confirm that the QOS of each port one 408 will influence the selection of the port one 408 thatclient computer 112 is used.Utilize these technology, theclient computer 112 in thesystem 600 can influence the amount of bandwidth of buying from each provider.
With reference to Figure 15, the block diagram of the another kind of embodiment ofcontent switch 116 has been shown among the figure, it shows a plurality of providers that connect through different address 1508.In this embodiment, threeIP addresses 1508 are used for distinguishing each other in logic three data paths 1504.Although logical data path is mainly estimated to be used for to separate bandwidth by provider, yet logical data path can also be separated subclass of safe class, content object or the like.
Below with reference to Figure 16, a kind of classification of embodiment that the grouping of provider 1604 andcontent switch 116 has been shown among the figure is represented.In this embodiment, two bandwidth providers 1604 are arranged.Each provider 1604 also has a sharing site 1608-2 except separately website 1608-1,1608-3.Website 1608 is physical locations that one or more servers 1612 are housed, and corresponding with thesingle content switch 116 that possibly contain a plurality of servers 1612.
Each server 1612-3 among the sharing site 1608-2 has separately IP address 1616-3, the 1616-4 of each provider 1604 of sharing this website 1608-2.These two IP address 1616-3,1616-4 make and can logical separation send out the portfolio to given sharing site 1602-2.Logical separation makes and can belong to each provider 1604 to content object request and the bandwidth of serving for these requests, although all portfolios possibly shared same physical pipeline sometimes.Some embodiment can keep the portfolio relevant with each provider physically separating through IP address 1616 is filtered.In this case, can between provider 1604, distribute bandwidth.
Below with reference to Figure 17, the classification of another kind of embodiment that the grouping of provider and content switch has been shown among the figure is represented.In this embodiment, port one 716 is used for distinguishing the logical data path of server 1612.In serving the website 1608-2 of a plurality of providers 1604, port one 1716-3 is associated with the 11604-1 of provider, and port 21716-4 is associated with the 21604-2 of provider.In some embodiments, each provider can have a series of ports that are associated with it rather than the single general-purpose port on the Servers-all.
According to the above, advantages more of the present invention are conspicuous.By means of content manager, client computer can influence the process that judgement can provide the content switch of enough quality.In addition, can also guide client computer into selected content switch with dynamical fashion.This improvement of the present invention provides the QOS that improves.
In addition, can also adopt distortion more of the present invention and alter mode.For example, some embodiment can announce when the variation in the local content catalogue takes place, as long as timer not expiration interval time.In case the situation of change of detecting just stores them in the Active Directory into, can reduce the possibility of link interruption like this.
Although the present invention is described with reference to its some specific embodiments, yet these embodiments just are not to limit the present invention for explanation, and scope of the present invention can only be confirmed by the Rights attached thereto claim.