CN100480999C - General dependency model for invalidating cache entries - Google Patents

General dependency model for invalidating cache entries Download PDF

Info

Publication number
CN100480999C
CN100480999C CNB2004100618956A CN200410061895A CN100480999C CN 100480999 C CN100480999 C CN 100480999C CN B2004100618956 A CNB2004100618956 A CN B2004100618956A CN 200410061895 A CN200410061895 A CN 200410061895A CN 100480999 C CN100480999 C CN 100480999C
Authority
CN
China
Prior art keywords
dependence
cache
computer system
content
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004100618956A
Other languages
Chinese (zh)
Other versions
CN1573690A (en
Inventor
A·W·史密斯
R·M·海华德
P·Y·-K·吴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1573690A publication Critical patent/CN1573690A/en
Application granted granted Critical
Publication of CN100480999C publication Critical patent/CN100480999C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching

Abstract

Systems, methods, and computer products for deriving custom cache dependencies are explained. A framework that includes an extensible cache dependency base class that can be used to derive custom cache dependency classes for invalidating cache entries on some custom condition is disclosed. In some embodiments, a Web page server includes a cache and the framework including the extensible cache dependency base. Methods are disclosed for causing a cache entry to be dependent on a customized cache dependency and for invalidating cache entries based on customized cache dependencies. For example, cache entries can depend on and be purged based on dependencies on database tables and Web services.

Description

The general dependence model of ineffective treatment cache bar purpose
Technical field
The present invention relates generally to management to the content of high-speed cache, relate in particular to extending cache dependence (dependency) thus class makes the developer can create self-defined high-speed cache dependence.
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.
Summary of the invention
The problem of above-mentioned correlation technique is overcome by principle of the present invention, the present invention is directed to be used for extending cache dependence class, makes the developer can create method, system and the computer program of self-defined high-speed cache dependence.Server computer system (as, comprise web page or leaf server) but visit extending cache dependence base class, but and from the derive high-speed cache dependence of customization of extending cache dependence base class.The high-speed cache dependence of customization can for example cause cache entries to depend on the variation of database table (as the SQL table) or web service.
The high-speed cache dependence of customization can comprise assembles dependence (aggregate dependency), thereby makes cache entries depend on many incidents.In part embodiment, but the function of the high-speed cache dependence of customization has covered the function of extending cache dependence base class.But extending cache dependence base class can comprise the notice dependence method of changeing, and monitor event (as, the variation in the database table) is announcement server computer system when incident occurring also.But extending cache dependence base class also can comprise the dependence method of disposal, discharges resource when cache entries removes from high-speed cache.
Server computer system will be sent to the content of subscriber's computer system from for example database or web service access.Server computer system is created the cache entries that the customized cache dependence is associated with the content of visit.Server computer system is inserted into cache entries in the high-speed cache, makes cache bar purpose validity (simultaneously also being the validity of the content of being visited) depend on the dependence of customization.Server computer system can use the Cache.Insert method that cache entries is inserted in the high-speed cache, and the Cache.Insert method has been specified the dependence for the example of the high-speed cache dependence of customization.
Can be with the cache entries ineffective treatment on the basis of customized cache dependence.Server computer system (as comprising web page or leaf server) receives the notice of the incident that monitoring occurs.Notice can change method from dependence, and this method is carried out as the result of the dependence of creating customized cache, and the monitoring incident related with the dependence of customized cache.As the response to notice, server computer system is with cache entries ineffective treatment (and removing).Server computer system calls the dependence method of disposal to discharge any resource that this cache entries uses.
Below describe, read following description and can remove these feature and advantage sets forth in detail additional features of the present invention and advantage, perhaps can be by practice of the present invention is partly acquired.The features and advantages of the present invention can realize and obtain by the instrument that particularly points out in the appended claims and combination.
Description of drawings
For describing can obtain mode above-mentioned and other advantage and feature of the present invention, the specific embodiment of middle explanation is described above the present invention of general description especially with reference to the accompanying drawings.Should be appreciated that these accompanying drawings have only described exemplary embodiments of the present invention, and therefore be not limitation, will describe additional features of the present invention and details by using accompanying drawing to its scope, in the accompanying drawing:
Fig. 1 has illustrated the example that realizes the web page or leaf server of server side scripts and self-defined high-speed cache dependence.
Shown in Figure 2 is the example flow diagram of an embodiment of the method that is used to make cache entries depend on self-defined dependence.
Shown in Figure 3 is the example flow diagram that is used for removing based on self-defined high-speed cache dependence an embodiment of cache bar purpose method.
Fig. 4 is the graphic representation that is adapted at wherein putting into practice the environment of each side of the present invention.
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.

Claims (30)

1. providing in the server computer system of web page or leaf to the request subscriber's computer system, described web page or leaf may comprise the content from the position of described server computer system outside, described server computer system comprises a high-speed cache, it stores the part of the content of the previous high-speed cache that receives from the position of described server computer system outside, a kind of method that is used to make cache entries to depend on the customization dependence, it is characterized in that, said method comprising the steps of:
But the step of visit extending cache dependence base class;
But from the derive step of customized cache dependence class of described extending cache dependence base class, described customized cache dependence class is used for realizing the customization dependence;
The step of the part of the content that visit will transmit to subscriber's computer system;
Create the cache bar purpose step related with the customized cache dependence; And
Described cache entries is inserted described high-speed cache so that described cache bar purpose validity depends on the step of described customization dependence.
2. the method for claim 1 is characterized in that, but the described step of visit extending cache dependence base class comprises:
Visit comprises the step of the high-speed cache dependence base class of notice dependence change method, and described step makes the class of deriving from described high-speed cache dependence base class can be by calling the removing function that described notice dependence change method realizes described high-speed cache dependence base class.
3. the method for claim 1, it is characterized in that, the described step that visit can be expanded high speed dependence base class comprises that visit comprises the step of the high-speed cache dependence base class of dependence method of disposal, and described step makes the class of deriving from described high-speed cache dependence base class discharge the resource that is taken by cache entries by calling described dependence method of disposal.
4. the method for claim 1, it is characterized in that, but comprise deriving and to realize causing the step that cache entries depends on the customized cache dependence class of database table from the derive described step of customized cache dependence class of described extending cache dependence base class.
5. the method for claim 1, it is characterized in that, but comprise deriving and to realize so that cache entries depends on the step of the customized cache dependence class of web service from the derive step of customized cache dependence class of described extending cache dependence base class.
6. the method for claim 1 is characterized in that, the described step of the part of the content that visit will transmit to subscriber's computer system comprises that visit will be included in the step of the part of the content in the web page or leaf.
7. the method for claim 1 is characterized in that, the described step of the part of the content that visit will transmit to subscriber's computer system comprises the step of visit from the part of the content of database table.
8. the method for claim 1 is characterized in that, the described step of the part of the content that visit will transmit to subscriber's computer system comprises the step of visit from the part of the content of web service.
9. the method for claim 1, it is characterized in that, create the described step of cache bar purpose that described customization dependence is associated with the part of the content of being visited and comprise that establishment makes content-dependent from database table in the cache bar purpose step of described database table.
10. the method for claim 1, it is characterized in that, create the described step of cache bar purpose that described customization dependence is associated with the part of the content of being visited and comprise and create the content-dependent that makes from database table in the cache bar purpose step of gathering dependence.
11. the method for claim 1, it is characterized in that, create the described step of cache bar purpose that described customization dependence is associated with the part of the content of being visited and comprise that establishment makes the cache bar purpose step of serving in described web from the content-dependent of web service.
12. the method for claim 1, it is characterized in that, described cache entries is inserted high-speed cache insert the cache bar purpose step that depends on database table so that the described step that described cache bar purpose validity depends on described customization dependence comprises.
13. the method for claim 1, it is characterized in that, described cache entries is inserted high-speed cache so that the described step that described cache bar purpose validity depends on described customization dependence comprises inserting and depend on the cache bar purpose step of assembling dependence.
14. the method for claim 1 is characterized in that, but does not need to specify the start time attribute to call the function of described extending cache dependence base class.
15. providing in the server computer system of web page or leaf to the request subscriber's computer system, described web page or leaf may comprise the content from the position of described server computer system outside, described server computer system comprises the high-speed cache of the part of the content that stores the high-speed cache that before receives from described server computer system outside, a kind ofly be used to remove cache bar purpose method, it is characterized in that, said method comprising the steps of:
The step of the one or more self-defined dependence condition that monitoring is associated with the example of customized cache dependence;
Determine whether to satisfy the step of described one or more self-defined dependence conditions;
The step of the indication of described one or more self-defined dependence conditions is satisfied in reception; And
As to receiving the response of described indication, on described server computer system, remove the step of cache entries.
16. method as claimed in claim 15 is characterized in that, the described step of the one or more self-defined dependence condition that monitoring is associated with the example of customized cache dependence comprises the step of monitor database table dependence.
17. method as claimed in claim 15 is characterized in that, the described step of the one or more self-defined dependence condition that monitoring is associated with the example of customized cache dependence comprises the step of monitoring web service dependence.
18. method as claimed in claim 15 is characterized in that, the described step of the one or more self-defined dependence condition that monitoring is associated with the example of customized cache dependence comprises the step of monitoring gathering dependence.
19. method as claimed in claim 15 is characterized in that, determines whether that the described step that satisfies described one or more self-defined dependence conditions comprises the step of determining whether tag entry increases.
20. method as claimed in claim 15 is characterized in that, determines whether that the described step that satisfies described one or more self-defined dependence conditions comprises the step that determines whether to satisfy the dependence condition related with assembling dependence.
21. method as claimed in claim 15, it is characterized in that call notification dependence change method when the described step that determines whether to satisfy described one or more self-defined dependence conditions is included in generation by a certain incident of the example appointment of customized cache dependence class.
22. method as claimed in claim 15, it is characterized in that the described step that receives the indication of satisfying described one or more self-defined dependence conditions comprises the step that receives the indication of satisfying described one or more self-defined dependence conditions from notice dependence change method.
23. method as claimed in claim 15 is characterized in that, comprises as the described step of the response that receives described indication being removed cache entries on described server computer system and removes the cache bar purpose step that depends on database table.
24. method as claimed in claim 15 is characterized in that, comprises as the described step of the response that receives described indication being removed cache entries on described server computer system and removes the cache bar purpose step that depends on the web service.
25. method as claimed in claim 15 is characterized in that, comprises removing as the described step of the response that receives described indication being removed cache entries on server computer system depending on the cache bar purpose step of assembling dependence.
26. method as claimed in claim 15 is characterized in that, it also comprises:
The step of the resource that release is consumed for the cache entries that keeps described removing.
27. method as claimed in claim 26, it is characterized in that, the described step of the resource that release is consumed for the cache entries that keeps described removing comprises calls the dependence method of disposal that is associated with the customized cache dependence, but described customized cache dependence is derived from extending cache dependence base class.
28. device that in server computer system, uses, described server computer system provides web page or leaf to the request subscriber's computer system, described web page or leaf may comprise the content from the position of described server computer system outside, described server computer system comprises the high-speed cache of the part of the content that stores the previous high-speed cache that receives from the position of described server computer system outside, it is characterized in that, described device is used to make cache entries to depend on the customization dependence, and this device comprises:
But the device of visit extending cache dependence base class;
But from the derive device of customized cache dependence class of described extending cache dependence base class, described customized cache dependence class is used to realize described customization dependence;
The device of the part of the content that visit will transmit to subscriber's computer system;
Establishment is with the cache bar purpose device of the part correlation connection of the content of described customization dependence and described visit; And
Described cache entries is inserted high-speed cache makes described cache bar purpose validity depend on the device of described customization dependence.
29. device that in server computer system, uses, described server computer system provides web page or leaf to the request subscriber's computer system, described web page or leaf may comprise the content from the position of described server computer system outside, described server computer system comprises the high-speed cache of the part of the content that stores the previous high-speed cache that receives from the position of described server computer system outside, it is characterized in that, described device is used to remove cache entries, and described device comprises:
The device of the one or more self-defined dependence condition that monitoring is associated with the example of customized cache;
Determine whether to satisfy the device of described one or more self-defined dependence conditions;
The device of the indication of described one or more self-defined dependence conditions is satisfied in reception; And
As the device of the response that receives described indication being removed cache entries on server computer system.
30. a web page or leaf server is characterized in that it comprises:
Processor, described processor comprises:
But the device of visit extending cache dependence base class;
But from the derive device of customized cache dependence class of described extending cache dependence base class, described customized cache dependence class is used to realize described customization dependence;
The device of the part of the content that visit will transmit to subscriber's computer system;
Establishment is with the cache bar purpose device of the part correlation connection of the content of described customization dependence and described visit; And
Described cache entries is inserted high-speed cache makes described cache bar purpose validity depend on the device of described customization dependence; And
One or more computer-readable mediums store following content on it:
High-speed cache;
Framework, wherein, described framework comprises:
But be used for the extending cache dependence base class derived from definition dependence class, wherein, described self-defined dependence class is used for defining at least one incident, and the appearance of described incident makes the cache entries that comprises in the described high-speed cache be eliminated.
CNB2004100618956A 2003-06-23 2004-06-23 General dependency model for invalidating cache entries Expired - Fee Related CN100480999C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/602,122 US7398304B2 (en) 2003-06-23 2003-06-23 General dependency model for invalidating cache entries
US10/602,122 2003-06-23

Publications (2)

Publication Number Publication Date
CN1573690A CN1573690A (en) 2005-02-02
CN100480999C true CN100480999C (en) 2009-04-22

Family

ID=33418618

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100618956A Expired - Fee Related CN100480999C (en) 2003-06-23 2004-06-23 General dependency model for invalidating cache entries

Country Status (10)

Country Link
US (1) US7398304B2 (en)
EP (1) EP1492024A1 (en)
JP (1) JP4629371B2 (en)
KR (1) KR20050000350A (en)
CN (1) CN100480999C (en)
AU (1) AU2004202328A1 (en)
BR (1) BRPI0402416A (en)
CA (1) CA2471990A1 (en)
MX (1) MXPA04006189A (en)
RU (1) RU2373567C2 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392348B2 (en) * 2003-08-06 2008-06-24 International Business Machines Corporation Method for validating remotely cached dynamic content web pages
US8312222B1 (en) 2002-12-13 2012-11-13 Open Text, S.A. Event-driven regeneration of pages for web-based applications
US8380932B1 (en) 2002-12-13 2013-02-19 Open Text S.A. Contextual regeneration of pages for web-based applications
US7818506B1 (en) * 2002-12-13 2010-10-19 Vignette Software Llc Method and system for cache management
US7188216B1 (en) * 2002-12-13 2007-03-06 Vignette Corporation Method and system for an extensible caching framework
US8463998B1 (en) 2002-12-13 2013-06-11 Open Text S.A. System and method for managing page variations in a page delivery cache
US8166114B2 (en) 2006-02-21 2012-04-24 Strangeloop Networks, Inc. Asynchronous context data messaging
US8037127B2 (en) 2006-02-21 2011-10-11 Strangeloop Networks, Inc. In-line network device for storing application-layer data, processing instructions, and/or rule sets
US20090254707A1 (en) * 2008-04-08 2009-10-08 Strangeloop Networks Inc. Partial Content Caching
US9906620B2 (en) 2008-05-05 2018-02-27 Radware, Ltd. Extensible, asynchronous, centralized analysis and optimization of server responses to client requests
US8041893B1 (en) 2008-09-09 2011-10-18 Vignette Software Llc System and method for managing large filesystem-based caches
US8868838B1 (en) 2008-11-21 2014-10-21 Nvidia Corporation Multi-class data cache policies
US9549039B2 (en) 2010-05-28 2017-01-17 Radware Ltd. Accelerating HTTP responses in a client/server environment
US20110060812A1 (en) * 2009-09-10 2011-03-10 Level 3 Communications, Llc Cache server with extensible programming framework
US20110231482A1 (en) * 2010-03-22 2011-09-22 Strangeloop Networks Inc. Automated Optimization Based On Determination Of Website Usage Scenario
US20120102134A1 (en) * 2010-10-21 2012-04-26 International Business Machines Corporation Cache sharing among branch proxy servers via a master proxy server at a data center
US9542501B2 (en) 2011-01-28 2017-01-10 Radware Ltd. System and method for presenting content in a client/server environment
US10157236B2 (en) 2011-05-23 2018-12-18 Radware, Ltd. Optimized rendering of dynamic content
US20120331410A1 (en) * 2011-06-27 2012-12-27 Fujitsu Technology Solutions Intellectual Property Gmbh Methods and systems for designing it services
WO2013038320A1 (en) * 2011-09-16 2013-03-21 Strangeloop Networks, Inc. Mobile resource accelerator
US10984175B2 (en) 2013-08-09 2021-04-20 Yottaa Inc. Systems and methods for dynamically modifying a requested web page from a server for presentation at a client
US9870349B2 (en) 2013-09-20 2018-01-16 Yottaa Inc. Systems and methods for managing loading priority or sequencing of fragments of a web object
US20160125029A1 (en) 2014-10-31 2016-05-05 InsightSoftware.com International Intelligent caching for enterprise resource planning reporting
EP3371707B1 (en) * 2015-11-04 2021-10-27 Samsung Electronics Co., Ltd. Systems and methods for implementing coherent memory in a multiprocessor system
US10922236B2 (en) * 2019-04-04 2021-02-16 Advanced New Technologies Co., Ltd. Cascade cache refreshing
US11269784B1 (en) * 2019-06-27 2022-03-08 Amazon Technologies, Inc. System and methods for efficient caching in a distributed environment
CN111787340A (en) * 2020-05-25 2020-10-16 天津车之家数据信息技术有限公司 Network live broadcast system and method
RU2754601C1 (en) * 2020-12-18 2021-09-03 Акционерное Общество "Крафтвэй Корпорэйшн Плс" Incremental saving method
CN113254055B (en) * 2021-06-29 2021-09-28 中航信移动科技有限公司 Invalid dependency deletion method and device, computer equipment and storage medium

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6078929A (en) * 1996-06-07 2000-06-20 At&T Internet file system
US5897634A (en) 1997-05-09 1999-04-27 International Business Machines Corporation Optimized caching of SQL data in an object server system
US6026413A (en) 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
US6493720B1 (en) 1998-01-26 2002-12-10 International Business Machines Corporation Method and system for synchronization of metadata in an information catalog
US6185598B1 (en) * 1998-02-10 2001-02-06 Digital Island, Inc. Optimized network resource location
EP0959416A3 (en) 1998-05-08 2005-08-10 International Business Machines Corporation Using database query technology for message subscriptions in messaging systems
US6185608B1 (en) 1998-06-12 2001-02-06 International Business Machines Corporation Caching dynamic web pages
US6606663B1 (en) * 1998-09-29 2003-08-12 Openwave Systems Inc. Method and apparatus for caching credentials in proxy servers for wireless user agents
US6304879B1 (en) * 1998-11-25 2001-10-16 Microsoft Corporation Dynamic data cache for object-oriented computing environments
US6405191B1 (en) 1999-07-21 2002-06-11 Oracle Corporation Content based publish-and-subscribe system integrated in a relational database system
US7096418B1 (en) * 2000-02-02 2006-08-22 Persistence Software, Inc. Dynamic web page cache
KR100372582B1 (en) 2000-02-23 2003-02-17 가부시키가이샤 히타치세이사쿠쇼 Method and system for data processing
US6996584B2 (en) * 2002-05-14 2006-02-07 Pervasive Software, Inc. System and method of maintaining functional client side data cache coherence

Also Published As

Publication number Publication date
KR20050000350A (en) 2005-01-03
US7398304B2 (en) 2008-07-08
BRPI0402416A (en) 2005-02-09
CN1573690A (en) 2005-02-02
EP1492024A1 (en) 2004-12-29
AU2004202328A1 (en) 2005-01-13
MXPA04006189A (en) 2005-04-19
US20050015463A1 (en) 2005-01-20
RU2373567C2 (en) 2009-11-20
CA2471990A1 (en) 2004-12-23
JP4629371B2 (en) 2011-02-09
AU2004202328A2 (en) 2005-01-13
JP2005018773A (en) 2005-01-20
RU2004118830A (en) 2005-12-10

Similar Documents

Publication Publication Date Title
CN100480999C (en) General dependency model for invalidating cache entries
EP1492027B1 (en) Registering for and retrieving database table change information that can be used to invalidate cache entries
US6424966B1 (en) Synchronizing crawler with notification source
US8768881B2 (en) RSS data-processing object
CN101853265B (en) System and method for refreshing cached data based on content update frequency
US8244701B2 (en) Using behavior data to quickly improve search ranking
US6557076B1 (en) Method and apparatus for aggressively rendering data in a data processing system
US20040059632A1 (en) Method and system for providing an advertisement based on an URL and/or a search keyword entered by a user
WO2020055514A1 (en) Dynamic application migration between cloud providers
US20040201618A1 (en) Streaming of real-time data to a browser
CN101425922B (en) Method and device for tracking and positioning change in web service updating process
CN101529415A (en) Offline execution of web based applications
CN101523393A (en) Locally storing web-based database data
CN101611422A (en) Web data usage platform
JP2012141682A (en) Advertisement information providing device
US7921199B1 (en) Method and system for event notification
JP6163742B2 (en) Product information providing apparatus and product information providing method
CN100489861C (en) Data searching method, system and device
JP2008158589A (en) Updated information notification device, and updated information notification program
CN113330432A (en) Asynchronous predictive caching of content listed in search results
US20110093589A1 (en) Determining usage of computing devices that store state information on host computer systems
JP2007310808A (en) Browsing place retrieval method, device and program
CN116546091B (en) Recommendation method, device, equipment and storage medium of streaming content
TW299543B (en) Browsing and control of systems management protocols via a web browser over the internet
JP2006227859A (en) System, program, and method for database management, and recording medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150512

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

Effective date of registration: 20150512

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Granted publication date: 20090422

Termination date: 20200623

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