Background technology
In modem computer systems and network system, data cache is the effective tool of a kind of quickening to request msg one side's data transfer.Generally speaking, data cache relates to and can be searched part fast in data and store the data which is asked continually.In one example, the data that are stored in the physical storage of computer system can be searched quickly than the data on the hard disk that is stored in computer system.This part ground is that hard disk has bigger data usually and searches the stand-by period owing to compare with physical storage.Equally, being stored in the hard disk or the data in the storer of server computer system can be more effectively more accessed than the data that are stored in the remote data base.In addition, use data in buffer to reduce and generate the needed calculated amount of content that is delivered to the request subscriber's computer system.
Modern network has made things convenient for the ability with the extensive transmitting digital information of all places.A kind of method that makes data can be used for transmitting is by creating a static file, and as html file, this document can be from downloaded to subscriber's computer system for checking.Static file can cache to multiple position, comprises server computer system, regional database or even in subscriber's computer system this locality.When the computer system static file was stored in the subscriber's computer system, subscriber's computer system all was instantaneous for searching and showing of all actual purpose.Even when static file directly is stored in the server computer system that is connected to subscriber's computer system (being commonly referred to output caching), can occur relatively apace the searching of content of high-speed cache.In addition, because its static characteristics, static file is high-speed cache for a long time, is unlimited in essence.
Unfortunately, static file can't comprise real-time or self-defined content.The frequent expectation interior content that perhaps forms that presents periodic variation from the calculating of other content or operation.Although this class content still can be by high-speed cache, however the value of the content of high-speed cache only in the limited duration effectively.Thus, must refresh high-speed cache and guarantee that data are effective.
The technology that a kind of web of assistance developer creates web page or leaf and web website is to use and operates in web page or leaf server, as the script or the modularization segment of the computer-executable code on the internet information server.Script is created dynamic and customizable web page or leaf among can embedding other html tag.Also can in script, be called as object the same, the same object that can in such as the program that writes among Visual Basic, JavaScript and the C#, be called based on these or other Languages.
Class is the object in the programming frameworks such as ASP.NET framework.The ASP.NET framework comprises that thousands of kinds of web page or leaf developers can be used for developing the class of web page or leaf.With with by the similar mode of directory path access file, the specific names space visits class by reference.For example, quoting of name space System.WinForms.Form provided the indication of the position of certain kinds.Class can be associated with attribute, time and method.Attribute can think some variable assignment in the respective class or setting (as, x=5).Incident is the sign that rises when incident occurs.Other class or other application can be read incident and be caused and take some steps.Method provide the function of calling respective class come execution in step (as, to the display device output data) mode.How the method definition provides function to external module.
Be the high-speed cache make things convenient for content and the performance that therefore improves web page or leaf server, programming framework can comprise and being used for from all places, as the class of retrieve data in file, database and the web server, and the class that is used for coming by various operations deal with data.In some environment, have and can create and store HTML code based on real time content to the web page or leaf server computer system (as the ASP server) of the access of these classes, this code is sent to subscriber's computer system under the situation of output caching.In other environment, web page or leaf server computer system can be on web page or leaf server computer system local ground cache content, as the XML file, make and need when each request comprise the web page or leaf of this content, not search or recomputate content.
Some programming frameworks allow web developer to create instruction, when carrying out this instruction, impel content to be stored in the high-speed cache.For example, for in high-speed cache, inserting clauses and subclauses, can carry out to give an order: Cache.Insert ([key], [value], [dependency]), wherein key is a cache bar purpose reference identifier, value is the value (or content) that is placed in the cache entries, dependency can choose independent variable wantonly, has defined the value that should when remove key from high-speed cache.Dependence is an example of class, as high-speed cache dependence (CacheDependency) class, can be used for making the high-speed cache value to depend on the appearance of specific incident.
Some programming frameworks are supported high-speed cache dependences, cause the value of high-speed cache to depend in time, file or the key word any.Time high-speed cache dependence makes the clauses and subclauses related with specific dependence be eliminated in the past at special time period.For example, the Cache.Insert instruction can followingly realize, makes data depend on the time:
Cache.Insert(strCacheKey,dataset,nothing,DateTime.Now.AddMinutes(60),TimeSpan.Zero,CacheItemPriority.High)
More clearly, Date.Time.Now.AddMinutes (60) instruction was removed the clauses and subclauses in the high-speed cache from high-speed cache after 60 minutes.The time high-speed cache dependence that use is provided with too shortly will cause removing high-speed cache too continually and increase frequently obtaining the cost of data or calculating the cost that will be stored in the data the high-speed cache from database.If be provided with time value oversize, become invalid risk when then having data in being stored in high-speed cache to be sent in the request subscriber's computer system.
The Cache.Insert instruction also can be used for realizing file high-speed cache dependence, removes cache entries when changing if make in specific file.In addition, Cache.Insert instruction can be used for realizing the key word dependence, makes when some are stored in and removes one or more cache entries when other high-speed cache value in the storer changes.Use the key word dependence, the variation of a high-speed cache value can make many high-speed cache values remove from high-speed cache.
Although above-mentioned three kinds of high-speed cache dependences: time, file and key word are useful keeping being stored in value in the high-speed cache aspect up-to-date, yet realize that the class of these dependences normally seals.Thereby web developer can't make cache entries depend on the incident of other type usually.This has hindered the high-speed cache dependence of various other types, and the high-speed cache dependence of these other types can make the management of high-speed cache become more effective in use.Therefore, the mechanism that is used to expand the type that can be used to ineffective treatment cache bar purpose dependence is very favorable.
Embodiment
The present invention prolongs and is used for extending cache dependence class, so that the developer can create system, the method and computer program product of self-defined high-speed cache dependence.But embodiments of the invention expand to a kind of extend type with the high-speed cache dependence, make the developer can develop themselves self-defined high-speed cache dependence.Server computer system visits (for example comprising web page or leaf server) the high-speed cache dependence (CacheDependency) of other customization but class can be from its extending cache dependence base class of deriving.But the high-speed cache dependence class of customization especially can be utilized the cache management feature of extending cache dependence base class.But by creating the high-speed cache dependence class that derives from extending cache dependence base class, the developer only needs (if any) seldom but but the knowledge that how to realize extending cache dependence base class is utilized the favorable characteristics of extending cache dependence base class.But extending cache dependence base class is abstract from developer's realization details.
And, but the developer can also visit the method for extending cache dependence base class, and this method can be handled the synchronous and cache resources management of high-speed cache.In addition, but extending cache dependence base class can back compatible, but the class that makes existing API can use the extending cache base class and derive.The example of this class API comprises Cache.Insert, Cache.Add and BasePartialCachingControl.Dependency.In addition, but the realization of the self-defined high-speed cache of deriving from the extending cache base class makes the developer need not to specify StartTime (start time) attribute should when begin the monitoring of high-speed cache with signaling.Although the developer can freely realize this attribute, it is unwanted.
But extending cache dependence base class comprises two other publicly available method, but makes the developer of customized cache dependence class can call the removing ability of extending cache dependence base class.First method is that the notice dependence changes (NotifyDependencyChanged) method.But this method is called by the class of deriving from extending cache dependence base class, but informs that extending cache dependence class dependence order changes.Second new method is that dependence is disposed (DependencyDispose) method.This method is an empty method, provides the class certain location of deriving is removed.In more detail, this method provides the location of instruction, if not this instruction customized cache dependence, but be placed in usually in the Dispose method of extending cache dependence base class.Thus, can discharge the employed resource of customized cache dependence, visit other module of this resource by needs and use.
The notice dependence changes (NotifyDependencyChanged) but method can be by calling from the customized cache dependence of extending cache dependence (CacheDependency) base class dependence.Thus, customized cache dependence class can make that cache entries depends in the database, on the data of web service or in view of the variation of arbitrary other reason.Thereby high-speed cache can be discerned invalid cache entries key word, and removes this key word (and corresponding contents) from high-speed cache.
In an illustrated examples, but the developer creates the self defined class " SqlCacheDependency " of deriving from extending cache dependence base class, comes the poll SQL database to determine whether that database has been made change.But SqlCacheDependency derives from the extending cache dependence base class in the programming framework.Therefore, class SqlCacheDependency can call notification dependence change method, makes server computer system remove the associative cache clauses and subclauses.
Use one embodiment of the present of invention, use and can realize the example of customized cache dependence to give an order:
10 If(Cache["Produce"]==null{
20 SqlConnection?Connection=new?SqlConnection([connectiondetails]);
30 SqlDataAdapter?ds=new?SqlDataAdapter("Product_GetProducts",connection);
…
40 SqlCaheDependency?dep=new?SqlCacheDependency("NorthWind","Products");
50 Cache.Insert("Product",ds,dep);
}
The row 10 of above-mentioned code checks in the high-speed cache whether clauses and subclauses " Product " have been arranged.If these clauses and subclauses not in high-speed cache, are then carried out the function in " if " statement.Row 20 is established to the connection of the database of wanting retrieve content.Row 30 uses " Product_GetProducts " methods from the database retrieve data and store the data to the variable " ds ".Be expert at 40, variable " dep " is assigned the dependence on " Products " table in " NorthWind " database.But this dependence is the customized cache dependence of deriving from extending cache dependence base class.Row 50 makes the data in the variable " ds " be inserted in the cache entries of being quoted by key word " Product " then, makes this cache entries depend on " dep ".
In this example, but SqlCacheDependency is the customized cache dependence of deriving from extending cache dependence base class.When but the class of deriving from the extending cache dependence is used as dependence, but server computer system is handled such example as the extending cache dependence.Therefore, but server computer system can respond the similar behavior of being showed by extending cache dependence base class, and in inside, and the class of deriving can realize its oneself peculiar function, as notified when data base querying changes.The customized cache dependence is SqlCacheDependency in this example, but has covered any method of extending cache dependence base class, obtains desired function.In this example,, will call the base.Notify.DependencyChanged method, and make server computer system remove the cache entries of quoting by key word " Product " when when SqlCacheDependency notification data library inquiry changes.
Although this example is described according to the database change dependence, importantly will remember, but the extensibility of extending cache dependence base class allows to create virtually arbitrary high-speed cache dependence that web developer can conceive.But adopt extended model, web developer can set up the self-defined dependence of arbitrary class, comprises the gathering dependence based on two or more dependences.For example, cache entries may depend on file and SQL table simultaneously.Show the realization of assembling dependence (aggregate dependency) to give an order.
70 if(Cache["Product-List"]==null{
80 SqlConnection?Connection=new?SqlConnection([connection?details]);
90 SqlDataAdapter?ds=new?SqlDataAdapter("Product_GetProducts",connection);
100 SqlCacheDependency?sqlDep=new?SqlCacheDependency("NorthWind","Products");
120 CacheDependency?dep=newAggregateCacheDependency(Server.MapPath("sales.xml"),sqlDep);
130 Cache.Insert("Product-List,ds,dep);
}
This code is similar to the code of above-mentioned label for row 10-50 except that row 120.Assemble the derive class of high-speed cache dependence by the high-speed cache dependence, promptly AggregateCacheDependency realizes.But this can be used for making clauses and subclauses in the high-speed cache to depend on file (sales.xml) simultaneously the and customization SqlCacheDependency that derives from extending cache dependence base class.But the class of deriving from extending cache dependence base class also can provide other customization function.That is, can develop the class of deriving and handle any one occurrence, method and the attribute that is used to realize customization function.For example, the class of deriving can be developed as start time (for example, when the designates cache dependence should begin to monitor the time of variation), the ability of supporting the gathering of dependence, support call back mechanism or the like.Therefore, but the developer is not limited to intrinsic incident, method and the attribute of extending cache dependence base class.
With reference now to Fig. 1,, shows the environment that is adapted at wherein putting into practice each side of the present invention.Fig. 1 describes server 100 and client computer 102, is connected to network by corresponding link 121 and 122 respectively.Server 100 can use the various protocols that comprises HTTP to communicate by letter by network 104 with client computer 102.Server 100 can be the ASP.NET server, can be to the form transmission dynamic content of client computer 102 with the dynamic web page or leaf.Server comprises various types of and module, but comprises extending cache dependence class 106 and customized cache dependence 114.Server 100 also comprises high-speed cache 110, may be arranged in physical storage or other arbitrary position easily of server 100.
Server 100 is coupled to database 112 by link 123.Database 112 can be arbitrary suitable data storehouse, for example SQL database or oracle database.In other embodiments of the invention, database 112 can be represented XML service or arbitrary other data source.
With explaining, client computer 102 is to the specific content of server 100 requests.For example, client computer 102 may be visited the URL to server 100 request web pages or leaves.Server 100 checks that the contents that high-speed caches 110 determine to be asked (as, data in the web page or leaf) are whether in high-speed cache 110.If this content is not in high-speed cache 110, then database interface module 108 can be to database 112 these contents of request.If suitable, database interface module 108 is searched and turned back to content as content 132.
Alternatively, the content of being asked may be from a certain database, as calculated value or certain processing of the content searched in the database 112.It is suitable that database interface module 108 may be calculated content or be treated to.Then content is sent to client 102, as form with one or more HTTP message.Also can use the Cache.Insert method that this content is added in the high-speed cache 110.But the Cache.Insert method is specified the self-defined dependence by customized cache dependence class 114 definition of deriving from extending cache dependence base class 106.
Because content is retained in the high-speed cache 110, it can more effectively be sent to the client computer of arbitrary this content of request.This content is retained in the high-speed cache 110, up to customized cache dependence class 114 call methods, as notice dependence change method.When call notification dependence change method, from high-speed cache, remove this content.Client computer need be obtained this content again and/or recomputate this content by database interface module 108 this requests for content subsequently from database 112.
When can changing, customized cache dependence class 114 removes high-speed cache 110 in database 112.In this example, may be resource-intensive although obtain data, yet on the other hand, change the less resource of use to database 112 polls from database 112.Database 112 can comprise the database of information table in the storage data storehouse 112, as database table 116.Another database table 117 also can comprise tag entry 118, indicates whether that the information in database table 116 has been made change.Database table 117 can comprise the mark of other table that has self-defined dependence in the database.In one embodiment, tag entry 118 can increase progressively, and makes each variation in the database table 116 make tag entry 118 incrementally increase its value.Can design customization high-speed cache dependence 114 remove cache entries during with the increase in detecting tag entry 118.
With reference now to Fig. 2,, shows the process flow diagram of the method that is used to insert the dependence clauses and subclauses.But the method for Fig. 2 comprises the step (step 202) of visit extending cache dependence base class.But step 202 can comprise server computer system visit extending cache dependence base class.For example, but server 100 can be visited extending cache dependence class 106.The addressable high-speed cache dependence classes 106 of server 100 as carry out by web page or leaf developer, other software developers develop or as the result of the instruction of the part of some program modules.
But the method for Fig. 2 comprises from the extending cache dependence base class customized cache dependence class (step 204) of deriving.Step 204 comprises that but server computer system is from the extending cache dependence base class customized cache dependence class of deriving.For example, but server 100 can be from the extending cache dependence base class 106 customization high speed dependence 114 of deriving.The server 100 customized cache dependence 114 of can deriving, as carry out by web developer, software developers develop or as the result of the instruction of the part of a certain program module, create the customized cache dependence.The server 100 customized cache dependence 114 of also can deriving from many sources, the source includes but not limited to: be connected to the external sensor of computing machine, as thermometer, as long as condition changes with regard to trigger event; Motion scoreboard program is as long as mark in a game changes with regard to trigger event; Network supervisor, as long as network configuration change (as computing machine add network to or from wherein removing) with regard to trigger event; And the catalogue program, as long as catalogue changes (as adding or the deletion personnel) with regard to trigger event.
The method of Fig. 2 comprises accessed content (step 206).Step 206 can comprise that the server computer system visit will be included in the content that is used in the web page or leaf to the subscriber's computer system transmission.For example, server 100 can be visited and will be included in the content that is used in the web page or leaf to client computer 102 transmission.Accessed content can comprise to be created or contents processing.Content can be visited from multiple different position, as, from database and web service.For example, server can be visited the data that are stored on the database 112.Database interface module 108 or other appropriate module be formatted data suitably, is used for being included in the web page or leaf.
The method of Fig. 2 comprises creates the cache bar purpose step (step 208) related with the customized cache dependence.Step 208 can comprise the server computer system establishment cache entries related with the customized cache dependence.For example, server 100 can be created the cache entries related with customized cache dependence 114.In one embodiment, the variable definition statement that cache entries is made by server 100 create (as, be similar to the row 50 of above-mentioned instruction).
The method of Fig. 2 comprises the step (step 210) that cache entries is inserted into high-speed cache.Step 210 can comprise that server computer system is inserted into cache entries the requested of server computer system.For example, server 100 can be inserted into cache entries in the high-speed cache 110.The clauses and subclauses of high-speed cache can be inserted in the high-speed cache, make the validity (also therefore also making the validity of the content of high-speed cache) of the clauses and subclauses of high-speed cache depend on the customization dependence.For example, server 100 can be inserted into cache entries in the high-speed cache 110 that depends on the dependence that is produced by customization high speed dependence 114.
With reference now to Fig. 3,, shows and be used to use the method for customized cache dependence the cache entries ineffective treatment.The method of Fig. 3 comprises the step (step 302) of monitoring by the self-defined dependence condition of the example setting of customization high speed dependence.Step 302 can comprise the self-defined dependence condition of server computer system monitoring by the example setting of the customized cache dependence class that realizes on server computer system.For example, server 100 can be monitored the self-defined dependence condition by the example setting of customized cache dependence class 114.Customization dependence condition can be the appearance of incident, the variation in the content that provides as the interior perhaps web service of database.For example, server 100 content change of can monitoring mark clauses and subclauses 118 coming monitor database table 16.When customized cache dependence class 114 is related with the gathering dependence, can monitor a plurality of self-defined dependence conditions.
The method of Fig. 3 comprises the step (step 304) that has determined whether to satisfy self-defined dependence condition.Step 304 can comprise that server computer system determines whether to have satisfied the self-defined dependence condition related with the dependence of customized cache.For example, server 100 can determine whether to satisfy the self-defined dependence condition related with customized cache dependence class 114.When customized cache dependence class 114 was related with the gathering dependence, server 100 can determine whether to satisfy each the self-defined dependence condition in a plurality of self-defined dependence conditions.
In certain embodiments, server 100 determines whether to have satisfied self-defined dependence condition by the tag entry (flag entry) that stores is compared with current tag entry.For example, server 100 can be compared the value of before searching and storing of tag entry 118 with the currency of tag entry 118.When tag entry 118 is when increasing progressively, customized cache dependence class 114 can with current tag entry 118 in database table 117 with before a certain the time be engraved in the tag entry that exists in the database table 117 and compare.If current tag entry 118 in table is engraved in tag entry in the database table 117 greater than time before a certain, then satisfy self-defined dependence condition (content change of database table 116).
When not satisfying self-defined dependence condition (step 304 is not), server 100 can be monitored self-defined dependence condition again.Can be with the self-defined dependence condition of designated time intervals (as per 5 seconds) repeat monitoring, up to satisfying one or more self-defined dependence conditions, as, the incident (step 304 be) of monitoring has appearred.
The method of Fig. 3 comprises indicates the step (step 306) that satisfies self-defined dependence condition.Step 306 can comprise the notice dependence change method that satisfies self-defined dependence condition to the server computer system indication.For example, the notice dependence change method of customized cache dependence class 114 can be when the content change of database 116 announcement server 100.Satisfy the notice of self-defined dependence condition and can will remove cache entries to server 100 indications.
The method of Fig. 3 comprises removes high-speed cache (step 308).Step 308 can comprise the cache entries on the server computer system removing server computer system.For example, server 100 can be removed cache entries from high-speed cache 110.The clauses and subclauses that can remove high-speed cache are as the response to the notice of accepting to satisfy the self-defined dependence condition related with the customized cache dependence.For example, server 100 can be removed the clauses and subclauses of the high-speed cache that depends on database table 116, as to accepting the response of the notice that tag entry 118 increases.After removing cache entries, computer system 100 can discharge to be consumed and keep cache bar purpose resource (as system storage).For example, server computer system 100 can call the dependence method of disposal related with customized cache dependence class 114 and discharges the cache bar purpose resource of storage from the content of database table 116.
Embodiments of the invention can comprise special use or multi-purpose computer, comprise various computer hardwares, as hereinafter going through.The embodiment that is within the scope of the present invention also comprises the computer-readable medium that is used to carry or store computer executable instructions or data structure thereon.This class computer-readable medium can be can be by any available media of universal or special computer access.As an example but not limitation, this class computer-readable medium comprise RAM, ROM, EEPROM, CD-ROM or other optical disc storage, disk storage or other magnetic storage apparatus, maybe can be used for computing machine can carry out or data structure carry or store the program code means of expectation also can be by any other medium of universal or special computer access.When communicating to connect (arbitrary hard wire, wireless or hard wire and wireless combination) by network or another when computing machine transmits or information is provided, computing machine suitably is considered as computer-readable medium with this connection.Therefore, arbitrary this class connects and suitably is called computer-readable medium.Above-mentioned combination also should be included in the scope of computer-readable medium.Computer executable instructions comprises, as, make multi-purpose computer, special purpose computer or dedicated treatment facility carry out the specific function or the instruction and data of group of functions.
Fig. 4 and following discussion provide the concise and to the point general description that is adapted at wherein realizing computing environment of the present invention.Although be not required, the present invention describes under the general linguistic context of computer executable instructions, and computer executable instructions such as program module are carried out by the computing machine in the network environment.Generally speaking, program module comprises routine, program, object, assembly, data structure or the like, carries out specific task or realizes specific abstract data type.Computer executable instructions, related data structures and program module have been represented the program code means of the step that is used to carry out the method that discloses here.The example of the corresponding actions of the function that the representative of the particular order of this class executable instruction or related data structures is used for realizing that this class step is described.
It will be appreciated by those skilled in the art that, the present invention can put into practice in having the network computing environment of polytype computer system configurations, and computer system configurations comprises personal computer, portable equipment, multicomputer system, microprocessor system or programmable consumer electronics, network PC, minicomputer, large scale computer or the like.The present invention also can put into practice in distributed computing environment, and wherein, task is carried out by the local and remote treatment facility that connects (perhaps by the hard wire link or by Radio Link or the combination by hard wire and Radio Link) by communication network.In distributed computing environment, program module can be arranged in local and remote memory storage device.
With reference to figure 4, be used to realize that example system of the present invention comprises the general-purpose computations device with conventional form of computers 420, comprise processing unit 421, system storage 422 and the sorts of systems assembly is comprised that system storage 422 is coupled to the system bus 423 of processing unit 421.System bus 423 can be any of some kinds of types of bus structure, comprises memory bus or Memory Controller, peripheral bus and the local bus that uses several types of bus structures.System storage comprises ROM (read-only memory) (ROM) 424 and random-access memory (ram) 425.Basic input/output (BIOS) 426 comprises as aid in the basic routine of transmission information between the element in the computing machine 420 when starting, and can be stored among the ROM 424.
The CD drive 430 that computing machine 420 also can comprise the magnetic hard disk drives 427 that is used for magnetic hard disk 439 is read and write, be used for the disc driver 428 that moveable magnetic disc 429 is read and write and be used for removable CD 431 is read and write as CD-ROM or other optical media.Magnetic hard disk drives 427, disc driver 428 and CD drive 430 are connected to system bus 423 by hard disk drive interface 432, disk drive interface 433 and CD drive interface 434 respectively.Driver and relevant computer-readable medium thereof provide the non-volatile memory of computer executable instructions, data structure, program module and other data for computing machine 420.Although example context described herein has adopted magnetic hard disk 439, moveable magnetic disc 429 and removable CD 431, yet also can use the computer-readable medium of other type that is used for storage data, comprise magnetic tape cassette, flash card, digital versatile disc, Bernoulli cassette disk, RAM, ROM or the like.
The program code means that comprises one or more program modules can be stored among hard disk 439, disk 429, CD 431, ROM 424 or the RAM 425, comprises operating system 435, one or more application program 436, other program module 437 and routine data 438.The user can pass through keyboard 440, sensing equipment 442 or other input equipment (not shown), as microphone, operating rod, game mat, satellite dish, scanner or the like to computing machine 420 input commands and information.These and other input equipment is connected to processing unit 421 by the serial port interface 446 that is coupled to system bus 423 usually.Alternatively, input equipment also can connect by other interface, as parallel port, game port or USB (universal serial bus) (USB).Monitor 447 or another display device also by interface, are connected to system bus 423 as video adapter 448.Except that monitor, personal computer generally includes other peripheral output device (not shown), as loudspeaker and printer.
Computer system 420 connectable to network are as office's scope or enterprise-wide. computer networks, Intranet and/or the Internet.Computer system 420 can be passed through this class network and external source, as remote computer system, remote application and/or remote data base swap data.
Computer system 420 comprises network interface 453, and computer system 420 receives data and/or sends data to external source from external source by this interface.As described in Figure 4, network interface 453 has made things convenient for by the exchanges data of link 451 with remote computer system 483.The part of link 451 expression networks, a node of remote computer system 483 expression networks.For example, remote computer 483 can be safeguarded the database that is provided for the content of the web page or leaf of structure on computer system 420.On the other hand, computer system 483 can be the server computer to the database request content of computer system 420 maintenances.
Similarly, computer system 420 comprises serial port interface 446, and computer system 420 receives data and/or sends data to external source from external source by this interface.Serial port interface 446 is coupled to modulator-demodular unit 454, and computer system 420 receives data and/or sends data to it from external source by modulator-demodular unit.Alternatively, modulator-demodular unit 454 can be wired data service Technical Interface Specification (" DOCSIS ") modulator-demodular unit or Digital Subscriber Line (" the DSL ") modulator-demodular unit that is connected to computer system 420 by suitable interface.Yet as described in Figure 4, serial port interface 446 and modulator-demodular unit 454 have made things convenient for by the exchanges data of link 452 with remote computer system 493.The part of link 452 expression networks, a node of remote computer system 493 expression networks.For example, remote computer system 493 can be the subscriber's computer system to computer system 420 request web pages or leaves.On the other hand, computer system 493 can be the server computer system that the web page or leaf is provided to computer system 420.
The present invention can implement with other specific forms under the situation that does not break away from its spirit or essential characteristic.Described embodiment only is illustrative in all respects, and nonrestrictive.Therefore, scope of the present invention by appended claims but not description above point out.All meaning and variations within the scope that are in the equivalence techniques scheme of claim are included within its scope.