US6345292B1 - Web page rendering architecture - Google Patents
Web page rendering architecture Download PDFInfo
- Publication number
- US6345292B1 US6345292B1 US09/205,127 US20512798A US6345292B1 US 6345292 B1 US6345292 B1 US 6345292B1 US 20512798 A US20512798 A US 20512798A US 6345292 B1 US6345292 B1 US 6345292B1
- Authority
- US
- United States
- Prior art keywords
- clips
- level
- level cache
- clip
- server
- 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 - Lifetime
Links
- 238000009877 rendering Methods 0.000 title abstract description 7
- 238000000034 method Methods 0.000 claims description 18
- 238000013507 mapping Methods 0.000 claims description 8
- 235000014510 cooky Nutrition 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 2
- 230000015654 memory Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013144 data compression Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Definitions
- This invention relates generally to web pages, and more particularly to a rendering architecture for web pages.
- a user may desire more specific information. For example, a user may desire the information returned from a given weather page to be relevant to the user's location. As another example, a user may desire that the information returned from a technical support page be relevant to only the applications installed on the user's computer.
- server-side scripting such as what are known as Common Gateway Interface (CGI) programs
- CGI Common Gateway Interface
- server-side scripting is expensive computationally speaking, because of run-time parsing and interpretation that must be performed for every request.
- objects are often instantiated and released repeatedly, which reduces performance, and the code itself is intermingled with display elements in HyperText Markup Language (HTML) format, which makes maintenance more difficult.
- HTML HyperText Markup Language
- Still other methodologies include reliance on database look-ups and attempts to cache previous function calls and the content returned from those calls.
- any server-side code that relies upon database look-ups as part of their rendering process for web pages generally is also costly, and does not scale well.
- Previous attempts to cache function calls and the content returned therefrom have frequently been hampered by too much complexity and were generally not amenable to being scaled.
- a system includes a first server, a first-level cache, a second server, a second-level cache and one or more provider objects.
- the first server receives a request from a requester for a web page.
- the web page has a number of clips in an arrangement.
- the server determines the clips and the arrangement based on a key.
- the first-level cache which is at the first server, stores the clips from which the first server is to assemble the web page.
- the second server populates the first-level cache with any of the clips not yet stored there.
- the second-level cache which is at the second server, stores the clips from which the second server is to populate the first-level cache.
- the provider object or objects are at the second server, and populate the second-level cache with any of the clips not yet stored there.
- the key is based on information supplied by the user, such that the information returned is personalized based thereon.
- Content may be constantly updated from different sources, by interface with the provider objects.
- High performance is obtained in part by caching commonly used page fragments, which may be assembled in different ways depending on the key.
- the architecture is extensible and maintainable because suppliers of contents can easily be added or modified, by adding or modifying the provider objects.
- the modification of content by adding, changing, or removing suppliers of content does not typically require the redevelopment of other components of the system. Types of personalization also can be easily added or modified.
- the invention includes systems, methods, computers, and computer-readable media of varying scope. Besides the embodiments, advantages and aspects of the invention described here, the invention also includes other embodiments, advantages and aspects, as will become apparent by reading and studying the drawings and the following description.
- FIG. 1 shows a diagram of the hardware and operating environment in conjunction with which embodiments of the invention may be practiced
- FIG. 2 shows a block diagram of a system according to one embodiment of the invention
- FIG. 3 shows a block diagram of a part of a system according to one embodiment of the invention in more detail.
- FIG. 4 shows a flowchart of a method according to an embodiment of the invention.
- FIG. 1 a diagram of the hardware and operating environment in conjunction with which embodiments of the invention may be practiced is shown.
- the description of FIG. 1 is intended to provide a brief, general description of suitable computer hardware and a suitable computing environment in conjunction with which the invention may be implemented.
- the invention is described in the general context of computer-executable instructions, such as program modules, being executed by a computer, such as a personal computer.
- program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
- the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PC's, minicomputers, mainframe computers, and the like.
- the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices.
- the exemplary hardware and operating environment of FIG. 1 for implementing the invention includes a general purpose computing device in the form of a computer 20 , including a processing unit 21 , a system memory 22 , and a system bus 23 that operatively couples various system components including the system memory to the processing unit 21 .
- a processing unit 21 There may be only one or there may be more than one processing unit 21 , such that the processor of computer 20 comprises a single central-processing unit (CPU), or a plurality of processing units, commonly referred to as a parallel processing environment.
- the computer 20 may be a conventional computer, a distributed computer, or any other type of computer; the invention is not so limited.
- the system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the system memory may also be referred to as simply the memory, and includes read only memory (ROM) 24 and random access memory (RAM) 25 .
- ROM read only memory
- RAM random access memory
- a basic input/output system (BIOS) 26 containing the basic routines that help to transfer information between elements within the computer 20 , such as during start-up, is stored in ROM 24 .
- the computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29 , and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.
- a hard disk drive 27 for reading from and writing to a hard disk, not shown
- a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29
- an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.
- the hard disk drive 27 , magnetic disk drive 28 , and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32 , a magnetic disk drive interface 33 , and an optical disk drive interface 34 , respectively.
- the drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the computer 20 . It should be appreciated by those skilled in the art that any type of computer-readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), and the like, may be used in the exemplary operating environment.
- a number of program modules may be stored on the hard disk, magnetic disk 29 , optical disk 31 , ROM 24 , or RAM 25 , including an operating system 35 , one or more application programs 36 , other program modules 37 , and program data 38 .
- a user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and pointing device 42 .
- Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
- These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB).
- a monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48 .
- computers typically include other peripheral output devices (not shown), such as speakers and printers.
- the computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer 49 . These logical connections are achieved by a communication device coupled to or a part of the computer 20 ; the invention is not limited to a particular type of communications device.
- the remote computer 49 may be another computer, a server, a router, a network PC, a client, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 20 , although only a memory storage device 50 has been illustrated in FIG. 1 .
- the logical connections depicted in FIG. 1 include a local-area network (LAN) 51 and a wide-area network (WAN) 52 .
- LAN local-area network
- WAN wide-area network
- Such networking environments are commonplace in office networks, enterprise-wide computer networks, intranets and the Internal, which are all types of networks.
- the computer 20 When used in a LAN-networking environment, the computer 20 is connected to the local network 51 through a network interface or adapter 53 , which is one type of communications device.
- the computer 20 When used in a WAN-networking environment, the computer 20 typically includes a modem 54 , a type of communications device, or any other type of communications device for establishing communications over the wide area network 52 , such as the Internal.
- the modem 54 which may be internal or external, is connected to the system bus 23 via the serial port interface 46 .
- program modules depicted relative to the personal computer 20 may be stored in the remote memory storage device. It is appreciated that the network connections shown are exemplary and other means of and communications devices for establishing a communications link between the computers may be used.
- the computer in conjunction with which embodiments of the invention may be practiced may be a conventional computer, a distributed computer, or any other type of computer; the invention is not so limited.
- a computer typically includes one or more processing units as its processor, and a computer-readable medium such as a memory.
- the computer may also include a communications device such as a network adapter or a modem, so that it is able to communicatively couple other computers.
- the system includes a user browser 100 , a first server 102 , and a second server 104 .
- the first server 102 receives a request from the user browser 100 for a web page.
- the user browser 100 is thus a requester (the user of the browser 100 may also be considered the requester).
- the user browser 100 is connected to the first server 102 in one embodiment by an Internet technology, such as the Internet, an intranet, etc.
- the user browser 100 is a computer program or other technology that is able to display web pages, such as the Microsoft Internet Explorer browser.
- the web page requested by the user browser 100 is identified by a Universal Resource Locator (URL) address.
- the web page is made up of a number of HyperText Markup Language (HTML) clips, in a given arrangement.
- the first server 102 determines the clips and the arrangement for the web page based on a key identified in FIG. 2 as personalization 108 .
- the key is derived by the server 102 from a local file stored at the requester, as well as the web page requested by the requestor.
- the local file may be what is known in the art as a cookie file, which is read by the browser 100 on the local PC (the requestor), and sent to the server 102 in the cookie portion of an HTTP header, as part of a web page GET request, as known within the art. Furthermore, the web page requested by the requestor is itself identified by its Universal Resource Locator (URL) address.
- the server 102 has an Internet Server Application Programming Interface (ISAPI) 106 and a first-level cache 110 .
- ISAPI Internet Server Application Programming Interface
- the ISAPI 106 based on the web page requested and the personalization 108 , assembles HTML clips (i.e., it determines the necessary HTML clips specified by the personalization 108 ) as stored in the first-level cache 110 according to the arrangement specified by the personalization 108 and the web page requested. As it receives the HTML clips, or in another embodiment once all the HTML clips have been retrieved, the server 102 returns them to the user browser 100 for display thereon. The server 102 may also return the completed web page.
- This personalization occurs as follows. Depending on the URL address of the web page requested, the ISAPI 106 references a data structure in extensible Markup Language (XML) format that specifies different HTML clips for that web page. Furthermore, the cookie file stored by the user browser 100 determines which of those HTML clips are to be used to return to the user browser 100 .
- the XML data structures may be cached.
- personalization data is retrieved from the cookie file, or in another embodiment a personalization identification (such as GUID, as known within the art), that enables the ISAPI 106 to retrieve the user's personalization data from a server-side store (as may be cached by the cache 110 or another cache that will be described).
- the personalization data is used to determine which categories and clips are shown on the custom page being built, the order in which categories and clips are displayed, and the contents of those clips that are personalized.
- a weather clip may display the local weather forecast, depending on the user's zip code.
- the clips are requested from the first-level cache 110 .
- the cache key contains the following information: the identification of the provider, and name value pair parameters that communicate sufficient information to the provider object so that it is able to generate the HTML clip.
- the XML description of the web pages makes the architecture of the invention in one embodiment easily extensible.
- the XML describes parameters and how to look them up for a given user request.
- This information is passed to one or more caches and in one embodiment to a provider object and possibly eventually to a provider object, which contain preformed HTML clips corresponding to the cache request. That is, the caches contain pre-formed HTML clips, while the provider objects generate these clips from HTML templates and raw data.
- changes in the XML allow the system to easily add or remove content providers, or change the personalization parameters being used for a given content provider.
- the first-level cache at the first server 102 thus stores the clips from which the first server 102 is to assemble the web page.
- the caching scheme is a high-performance distributed cache.
- the caching system is efficient, such that search time is decreased, the ability to handle higher peak load per machine is increased, and the cost per search is reduced (indicating high locality within the cache).
- the caching scheme is fast, robust (having a minimum number of external failures resulting in the failure of the cache), complete (such that all highly recurring query results are stored), current (no item stays in the cache longer than a given time limit, unless otherwise specified), intelligent (having flexible caching policies), and reusable (that is, scalable).
- the caching scheme is based on a threading model, such that multiple user threads are allowed.
- the caching scheme utilizes an indexing model known in the art as a direct-chained caching model; the cache content has a limited lifetime (record expiration model); the caching scheme is also based on a record access model providing for record protection (locking) when multiple threads add, read, delete and update index entries in parallel; and, the caching scheme utilizes data compression; the cache has very intensive heap memory use.
- the invention is not necessarily so limited, however.
- the second server 104 If a particular clip requested by the ISAPI 106 is not in the first-level cache 110 , the cache 110 requests the clip from the second server 104 .
- the second server 104 therefore populates the first-level cache with any of the clips not yet stored at the first-level cache.
- the second server 104 includes a second-level cache 112 , a third-level provider interface 114 , as well as one or more provider objects, such as a generic object 116 , a stock object 118 , and a weather object 120 .
- the second-level cache 112 stores the clips from which the second server 104 is to populate the first-level cache 110 of the first server 102 .
- the cache 112 provides a service that responds to requests from the server 102 when clips are requested that are not in the first-level cache 110 .
- the cache 112 then returns clips.
- the caching scheme is a high-performance distributed cache, as has been described. That is, desirably, the caching scheme is efficient, such that search time is decreased, the ability to handle higher peak load per machine is increased, and the cost per search is reduced (indicating high locality within the cache).
- the caching scheme is fast, robust (having a minimum number of external failures resulting in the failure of the cache), complete (such that all highly recurring query results are stored), current (no item stays in the cache longer than a given time limit, unless otherwise specified), intelligent (having flexible caching policies), and reusable (that is, scalable).
- the caching scheme is based on a threading model, such that multiple user threads are allowed.
- the caching scheme utilizes an indexing model known in the art as a direct-chained caching model; the cache content has a limited lifetime (record expiration model); the caching scheme is also based on a record access model providing for record protection (locking) when multiple threads add, read, delete and update index entries in parallel; and, the caching scheme utilizes data compression; the cache has very intensive heap memory use.
- the cache 112 requests the clip from the provider interface 114 .
- the provider interface 114 maps the clip requested to the correct provider object.
- Each provider object at the second server 104 thus populates the second-level cache 112 with any of the clips not yet stored at the second-level cache 112 . Therefore, the interface 114 may direct the clip request to a generic object 116 , a stock object 118 , or a weather object 120 , in the embodiment of FIG. 2, although the invention is not necessarily so limited.
- the clip is stored in the second-level cache 112 , provided to and also stored in the first-level cache 110 , and ultimately provided to the ISAPI 106 . Therefore, when the ISAPI 106 requests an HTML clip, three situations may occur. If the cache 110 has the clip stored therein, it immediately returns the clip to the ISAPI 106 . If the cache 110 does not have the clip, but the cache 112 does, then the cache 112 returns the clip to the cache 110 , which stores the clip and returns it to the ISAPI 106 .
- the provider interface 114 obtains the clip from one of the provider objects, returns it to the cache 112 where the clip is stored, and the cache 112 provides it to the cache 110 , which also stores the clip and returns it to the ISAPI 106 .
- the provider interface 114 receives a message from a provider object that the content stored in the cache 112 is outdated, and the interface 114 removes the old information from the cache.
- a provider object tells the provider interface 114 which directories/files it wants to know about that may change. Then the provider interface 114 listens to file change notifications and signals each provider object if it previously told the provider interface 114 that it cares about a particular file. At this time, the provider object reinitializes itself and may indicate (if content truly has changed) to provider interface 114 that content has changed.
- the cache 112 then notifies the cache 110 of the first server 102 that the content needs to be updated, and cache 110 also removes the old information from the cache.
- this clip is generated by a provider object, and repopulated through the caches 112 and 110 .
- the second-level cache may periodically notify the first-level cache that one or more clips stored at the first level cache are outdated, such that they are deleted from the first-level cache.
- Scalability is provided by embodiments of the invention. While only one first server 102 and one second server 104 are shown in FIG. 2, there may be many first servers 102 to a given second server 104 . There may also be many second servers 104 . In this manner, servers may be added as needed for performance and other reasons.
- the first server 102 may be considered part of a first level to receive a request from a requester for a web page having a plurality of clips in an arrangement, where the first level determines the clips and the arrangement based on a key, and caches the clips from which the web page is assembled.
- the second server 104 may be considered part of a second level to populate the first level with any of the clips not yet cached by the first level and to cache the clips from which the first level is populated.
- the system of an embodiment of the invention may be scalable and extensible in that there may be more than one provider object and/or parser, such that not all of the provider objects and/or parsers are present in the system when it is first configured.
- the later-added provider objects and/or parsers can be added to the system without requiring redevelopment or changing of the already present provider objects and/or parsers.
- the provider objects and parsers can be Component Object Model (COM) objects, although the invention is not so limited.
- COM Component Object Model
- FIG. 3 a part of a system according to an embodiment of the invention is shown in more detail.
- the second server 104 as in FIG. 2, is again shown, with constituent parts the second-level cache 112 , the provider interface 114 , and the provider objects 116 , 118 and 120 .
- Reference to FIG. 3 is made to describe the manner by which the objects 116 , 118 and 120 retrieve data and/or generate HTML clips, which are then provided to the interface 114 .
- the operation of the second server 104 , the second-level cache 112 , and the provider 114 in FIG. 3 is consistent with that as has been described in conjunction with FIG. 2 .
- the provider objects 116 , 118 and 120 of FIG. 3 include a generic object 116 , and two particular objects, the stock object 118 and the weather object 120 .
- the invention is not necessarily limited to any given number of provider objects, nor a type of provider objects.
- the particular objects are specific objects particular to a given type of data from which a clip is generated.
- the provider objects utilize the cache-key, and generate the HTML clip corresponding to this key from data provided by the content fetcher 200 .
- this is accomplished with a mapping file, one or more files containing HTML fragments, and the data files delivered by the content fetcher 200 .
- the mapping file allows for the key to be mapped to the correct HTML files on disk without this mapping being built into the provider object itself, to support easy modification and extensibility without code redevelopment.
- provider objects may be restricted in how long they take to respond, since a user (requestor) may have to wait while the clip is being built (e.g., a duration of four milliseconds or shorter).
- the generic object 116 uses in one embodiment a mapping file, HTML files, and text data files delivered by the content fetcher 200 .
- the generic object 116 is utilized for many content providers, which will be described.
- the mapping file provides sufficient flexibility for the object 116 to be used, for example, for all news headline providers, sports headline or sports score providers, as such providers are known within the art, and other content providers that have a small well-defined set of XML data files that can be merged into preauthored HTML fragments. Given the key, the object 116 is able to return the requested clip.
- the stock object 118 in one embodiment directly retrieves information from a financial information server, maintains an internal cache of at least some requested stock and securities data, and uses HTML files and data merging to produce HTML sub-clips for an individual stock quote.
- the XML file describes how then to assemble a provider header, a body of one or more stock sub-clips, and a provider footer, to maximize the cacheability of the stock data, given the large number of permutations that may be found in user stock lists.
- the stock object does not use the fetcher.
- the weather object 120 in one embodiment uses a mapping file, HTML files, and text data files delivered by the content fetcher 200 . Thus, given a requestor's location (for example, by zip code), the object 120 is able to return a clip containing a weather forecast for that area.
- the provider objects interface with the content fetcher 200 via the file system 202 .
- the file system 202 is the storage space for the HTML, text and data files, such as a hard drive of a computer, although the invention is not so limited.
- the content fetcher 200 provides the provider objects with data from which any of the clips not yet stored at the second-level cache 112 are generated. It also supplies updates to content for clips that already have been stored at the second-level cache 112 and first level cache 110 .
- the content fetcher includes parsers 204 , a fetcher 206 , and a fetcher database 208 .
- the parsers 204 are in one embodiment objects, which parse the information retrieved by the fetcher 206 , and generate text data files and/or HTML files to be stored in the file system 202 for retrieval and use by the provider objects.
- the parsers 204 may be generic or specialized. Furthermore, parsers may be added to extend the system without any other components requiring redevelopment, which is an advantage of the invention.
- the fetcher 206 retrieves information from the external content providers 210 based on a set schedule set in the database 208 , where the schedule in one embodiment is independent of requests from provider objects.
- the fetcher 206 may determine based on the fetcher database 208 that a previously provided HTML clip now stored in one of the caches is out-of-date, and will fetch new data from an external content provider, providing (or, pushing) this information to the appropriate provider object via the appropriate parser 204 and the file system 202 .
- Each of the external content providers 210 can in one embodiment be a different web site providing the raw data fetched by the fetcher 206 and parsed by the parser 204 . Each of these content providers is thus to provide the content fetcher 200 with a specific part of the data from which clips not yet stored at the second-level cache (or, outdated clips) are generated.
- a third level may be considered that includes at least one of the provider interface 114 , the provider objects 116 , 118 and 120 , the content fetcher 200 , and the external content providers 210 .
- the computerized method is desirably realized at least in part as one or more programs running on a computer—that is, as a program executed from a computer-readable medium such as a memory by a processor of a computer.
- the programs are desirably storable on a computer-readable medium such as a floppy disk or a CD-ROM, for distribution and installation and execution on another (suitably equipped) computer.
- a user web browser i.e., a requester
- requests a desired web page In 400 , it is determined whether any personalization data exists for this requester. For example, in an embodiment of the invention where such data is stored in cookie files on the requester computer, the option exists to turn off cookie files, such that no personalization information can be stored. In such an instance, a static default web page is returned to the requester in 406 , and the method is finished in 408 .
- 406 and 408 are proceeded to in the case of a new user, who has not yet had an opportunity to personalize the service, or in the case of a returning user, who has decided not to personalize the service.
- all the clips necessary to build the web page are assembled according to an arrangement.
- a key based on a local file stored at the requester as well as the desired web page requested by the requestor is derived, and the necessary plurality of clips and the arrangement thereof is determined based on the key.
- For each of the clips first in 412 , it is determined whether the clip is stored in a first level cache. If it is, then in 414 the clip is returned to the requester, positioned as determined by the arrangement. If it is the last clip, then the method proceeds from 416 to 418 , where the method ends, until the requester requests another web page at 400 .
- a clip is not in the first-level cache, then in 422 it is determined whether the clip is stored in a second-level cache. If it is, then the clip is inserted into the first level cache (not specifically shown in the figure), and the method proceeds from 422 to 414 , where the clip is written out to the requester browser, as has been described. If the clip is not in the second-level cache, however, then in 424 the clip is obtained, for example, from a third level including a provider object. This is accomplished by the provider building the HTML clip in 426 from data identified in FIG. 4 as 428 . The clip is then inserted into both the first-level and the second-level cache, and the clip is written out to the requester browser in 414 , as has been described.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/205,127 US6345292B1 (en) | 1998-12-03 | 1998-12-03 | Web page rendering architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/205,127 US6345292B1 (en) | 1998-12-03 | 1998-12-03 | Web page rendering architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
US6345292B1 true US6345292B1 (en) | 2002-02-05 |
US20020016828A1 US20020016828A1 (en) | 2002-02-07 |
Family
ID=22760911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/205,127 Expired - Lifetime US6345292B1 (en) | 1998-12-03 | 1998-12-03 | Web page rendering architecture |
Country Status (1)
Country | Link |
---|---|
US (1) | US6345292B1 (en) |
Cited By (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010047518A1 (en) * | 2000-04-24 | 2001-11-29 | Ranjit Sahota | Method a system to provide interactivity using an interactive channel bug |
US20010056460A1 (en) * | 2000-04-24 | 2001-12-27 | Ranjit Sahota | Method and system for transforming content for execution on multiple platforms |
US20020010928A1 (en) * | 2000-04-24 | 2002-01-24 | Ranjit Sahota | Method and system for integrating internet advertising with television commercials |
US20020103974A1 (en) * | 2000-11-29 | 2002-08-01 | Giacomini Peter Joseph | Method and apparatus for economical cache population |
US20020103848A1 (en) * | 2000-11-29 | 2002-08-01 | Giacomini Peter Joseph | Distributed caching architecture for computer networks |
US20020112056A1 (en) * | 2000-06-27 | 2002-08-15 | Bernard Baldwin | Method and system for providing distributed functionaltiy and data analysis system utilizing same |
US20020138331A1 (en) * | 2001-02-05 | 2002-09-26 | Hosea Devin F. | Method and system for web page personalization |
US20020152197A1 (en) * | 2001-03-01 | 2002-10-17 | Stocker Jeffrey A. | Automatic generation of personal homepages for a sales force |
US20030004998A1 (en) * | 2001-06-29 | 2003-01-02 | Chutney Technologies, Inc. | Proxy-based acceleration of dynamically generated content |
US20030041077A1 (en) * | 2001-01-24 | 2003-02-27 | Davis Russell T. | RDX enhancement of system and method for implementing reusable data markup language (RDL) |
US20030142126A1 (en) * | 2000-01-04 | 2003-07-31 | International Business Machines Corporation | System and method for dynamically generating viewable graphics |
US20030188016A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user |
US20030188021A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for processing multiple fragment requests in a single message |
US20030188009A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments |
US20030191800A1 (en) * | 2001-12-19 | 2003-10-09 | International Business Machines Corporation | Method and system for a foreach mechanism in a fragment link to efficiently cache portal content |
US20030191812A1 (en) * | 2001-12-19 | 2003-10-09 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US20030217076A1 (en) * | 2002-05-15 | 2003-11-20 | Heptinstall Christian Elliot | System and method for rapid generation of one or more autonomous websites |
US6681298B1 (en) * | 2000-07-12 | 2004-01-20 | Powertv, Inc. | Hypertext markup language cache system and method |
US6691176B1 (en) * | 1999-11-04 | 2004-02-10 | Microsoft Corporation | Method for managing client services across browser pages |
US6704776B1 (en) * | 2000-06-30 | 2004-03-09 | Webtv Networks, Inc. | Selecting attribute based content for server applications |
US6781609B1 (en) * | 2000-05-09 | 2004-08-24 | International Business Machines Corporation | Technique for flexible inclusion of information items and various media types in a user interface |
US20050050456A1 (en) * | 2003-08-29 | 2005-03-03 | Dehamer Brian James | Method and apparatus for supporting XML-based service consumption in a web presentation architecture |
US20050076265A1 (en) * | 2003-10-01 | 2005-04-07 | Christina Hsu | Method and apparatus for supporting error handling in a web presentation architecture |
US20050076329A1 (en) * | 2003-10-01 | 2005-04-07 | Christina Hsu | Method and apparatus for supporting configuration of a web application in a web presentation architecture |
US20050076291A1 (en) * | 2003-10-01 | 2005-04-07 | Yee Sunny K. | Method and apparatus for supporting page localization management in a Web presentation architecture |
US20050076294A1 (en) * | 2003-10-01 | 2005-04-07 | Dehamer Brian James | Method and apparatus for supporting layout management in a web presentation architecture |
US20050086292A1 (en) * | 2003-10-01 | 2005-04-21 | Yee Sunny K. | Method and apparatus for supporting preprocessing in a Web presentation architecture |
US20050086664A1 (en) * | 2003-10-01 | 2005-04-21 | Sundaresan Sankar R. | Method and apparatus for transaction tracking in a web presentation architecture |
US20050091336A1 (en) * | 2003-10-01 | 2005-04-28 | Dehamer Brian J. | Method and apparatus for supporting cookie management in a web presentation architecture |
US20050204280A1 (en) * | 2002-05-23 | 2005-09-15 | Koninklijke Philips Electronics N.V. | Dynamic markup language |
US6954896B1 (en) * | 1999-09-03 | 2005-10-11 | Cisco Technology, Inc. | Browser-based arrangement for developing voice enabled web applications using extensible markup language documents |
US20050268248A1 (en) * | 2004-05-25 | 2005-12-01 | Microsoft Corporation | Content customization with resizability and context-sensitivity |
US7092997B1 (en) * | 2001-08-06 | 2006-08-15 | Digital River, Inc. | Template identification with differential caching |
US20060277157A1 (en) * | 2005-06-02 | 2006-12-07 | Robert Seidl | Database query construction and handling |
US20070005386A1 (en) * | 2005-04-14 | 2007-01-04 | Accenture Global Services, Gmbh | Content production maintenance tool for human and non-human activity tracking |
US20070005385A1 (en) * | 2005-04-14 | 2007-01-04 | Accenture Global Services, Gmbh | Dynamically triggering notifications to human participants in an integrated content production process |
US20070011340A1 (en) * | 2005-06-02 | 2007-01-11 | Robert Seidl | Deep clickflow tracking |
US20070112800A1 (en) * | 2005-06-03 | 2007-05-17 | Robert Seidl | Realtime database architecture |
US7249197B1 (en) * | 2000-10-20 | 2007-07-24 | Nortel Networks Limited | System, apparatus and method for personalising web content |
US20080028340A1 (en) * | 1999-05-21 | 2008-01-31 | E-Numerate Solutions, Inc. | Tree view for reusable data markup language |
US7343412B1 (en) * | 1999-06-24 | 2008-03-11 | International Business Machines Corporation | Method for maintaining and managing dynamic web pages stored in a system cache and referenced objects cached in other data stores |
US20080295092A1 (en) * | 2000-09-08 | 2008-11-27 | Dean Tan | Techniques for automatically installing and configuring database applications |
EP2002343A2 (en) * | 2006-03-08 | 2008-12-17 | Microsoft Corporation | Multi-cache cooperation for response output caching |
US20090083619A1 (en) * | 1999-05-21 | 2009-03-26 | E-Numerate Solutions, Inc. | Reusable data markup language |
US20100121983A1 (en) * | 1999-05-25 | 2010-05-13 | Realnetworks, Inc. | System and method for providing update information |
US7730154B2 (en) | 2001-12-19 | 2010-06-01 | International Business Machines Corporation | Method and system for fragment linking and fragment caching |
US7937369B1 (en) * | 2005-09-30 | 2011-05-03 | Emc Corporation | Data mover discovery of object extent |
US20120221932A1 (en) * | 2011-02-24 | 2012-08-30 | George Gleadall | Rendering web content using pre-caching |
US8935719B2 (en) | 2011-08-25 | 2015-01-13 | Comcast Cable Communications, Llc | Application triggering |
US9262383B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | System, method, and computer program product for processing a markup document |
US9262384B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | Markup language system, method, and computer program product |
US9268748B2 (en) | 1999-05-21 | 2016-02-23 | E-Numerate Solutions, Inc. | System, method, and computer program product for outputting markup language documents |
CN105608225A (en) * | 2016-01-20 | 2016-05-25 | 北京京东尚科信息技术有限公司 | Web page automatic layout method and device |
US9414114B2 (en) | 2013-03-13 | 2016-08-09 | Comcast Cable Holdings, Llc | Selective interactivity |
US20160373544A1 (en) * | 2015-06-17 | 2016-12-22 | Fastly, Inc. | Expedited sub-resource loading |
US20160373541A1 (en) * | 2002-04-17 | 2016-12-22 | At&T Intellectual Property I, L.P. | Web content customization via adaptation web services |
CN107038017A (en) * | 2016-02-03 | 2017-08-11 | 博雅网络游戏开发(深圳)有限公司 | The method and apparatus that rendering data is obtained |
US9788058B2 (en) | 2000-04-24 | 2017-10-10 | Comcast Cable Communications Management, Llc | Method and system for automatic insertion of interactive TV triggers into a broadcast data stream |
US9888292B2 (en) | 2000-04-24 | 2018-02-06 | Comcast Cable Communications Management, Llc | Method and system to provide interactivity using an interactive channel bug |
US10282172B2 (en) * | 2016-09-12 | 2019-05-07 | Adobe Inc. | Authoring and deploying television apps and pages in a content management system |
US11076205B2 (en) | 2014-03-07 | 2021-07-27 | Comcast Cable Communications, Llc | Retrieving supplemental content |
US11438442B1 (en) * | 2021-03-18 | 2022-09-06 | Verizon Patent And Licensing Inc. | Systems and methods for optimizing provision of high latency content by a network |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1269347A1 (en) | 2000-03-31 | 2003-01-02 | Kapow APS | Method of retrieving attributes from at least two data sources |
US20020188694A1 (en) * | 2001-06-07 | 2002-12-12 | Allen Yu | Cached enabled implicit personalization system and method |
US20030014439A1 (en) * | 2001-06-20 | 2003-01-16 | International Business Machines Corporation | Defining a markup language representation for state chart data |
US7171470B2 (en) | 2003-02-20 | 2007-01-30 | International Business Machines Corporation | Grid service scheduling of related services using heuristics |
EP1949262A1 (en) * | 2005-11-18 | 2008-07-30 | Kapow Technologies A/S | Method of performing web clipping, a web-clipping server and a system for web clipping |
WO2007131504A1 (en) * | 2006-05-15 | 2007-11-22 | Kapow Technologies R & D Aps | A method of rendering at least one element in a client browser |
US8185826B2 (en) * | 2006-11-30 | 2012-05-22 | Microsoft Corporation | Rendering document views with supplemental information content |
US9122650B1 (en) | 2007-11-14 | 2015-09-01 | Appcelerator, Inc. | Web server based on the same paradigms as web clients |
US8914774B1 (en) | 2007-11-15 | 2014-12-16 | Appcelerator, Inc. | System and method for tagging code to determine where the code runs |
US8954989B1 (en) | 2007-11-19 | 2015-02-10 | Appcelerator, Inc. | Flexible, event-driven JavaScript server architecture |
US8260845B1 (en) | 2007-11-21 | 2012-09-04 | Appcelerator, Inc. | System and method for auto-generating JavaScript proxies and meta-proxies |
US8566807B1 (en) | 2007-11-23 | 2013-10-22 | Appcelerator, Inc. | System and method for accessibility of document object model and JavaScript by other platforms |
US8719451B1 (en) | 2007-11-23 | 2014-05-06 | Appcelerator, Inc. | System and method for on-the-fly, post-processing document object model manipulation |
US8756579B1 (en) | 2007-12-03 | 2014-06-17 | Appcelerator, Inc. | Client-side and server-side unified validation |
US8806431B1 (en) | 2007-12-03 | 2014-08-12 | Appecelerator, Inc. | Aspect oriented programming |
US8819539B1 (en) | 2007-12-03 | 2014-08-26 | Appcelerator, Inc. | On-the-fly rewriting of uniform resource locators in a web-page |
US8938491B1 (en) | 2007-12-04 | 2015-01-20 | Appcelerator, Inc. | System and method for secure binding of client calls and server functions |
US8527860B1 (en) | 2007-12-04 | 2013-09-03 | Appcelerator, Inc. | System and method for exposing the dynamic web server-side |
US8639743B1 (en) | 2007-12-05 | 2014-01-28 | Appcelerator, Inc. | System and method for on-the-fly rewriting of JavaScript |
US8285813B1 (en) | 2007-12-05 | 2012-10-09 | Appcelerator, Inc. | System and method for emulating different user agents on a server |
US8335982B1 (en) | 2007-12-05 | 2012-12-18 | Appcelerator, Inc. | System and method for binding a document object model through JavaScript callbacks |
US20090254867A1 (en) * | 2008-04-03 | 2009-10-08 | Microsoft Corporation | Zoom for annotatable margins |
US8291079B1 (en) | 2008-06-04 | 2012-10-16 | Appcelerator, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
US20090307618A1 (en) * | 2008-06-05 | 2009-12-10 | Microsoft Corporation | Annotate at multiple levels |
US8880678B1 (en) | 2008-06-05 | 2014-11-04 | Appcelerator, Inc. | System and method for managing and monitoring a web application using multiple cloud providers |
US7596620B1 (en) | 2008-11-04 | 2009-09-29 | Aptana, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
CN102331985B (en) | 2010-07-12 | 2013-09-25 | 阿里巴巴集团控股有限公司 | Method and device for fragment nested caching of webpage |
US9282137B2 (en) | 2012-05-25 | 2016-03-08 | Microsoft Technology Licensing, Llc | Dynamic package creation for predictive page load optimization |
US8892684B2 (en) | 2012-05-25 | 2014-11-18 | Microsoft Corporation | Dynamic selection of resources for compression in a content delivery network |
US9160803B2 (en) * | 2012-06-21 | 2015-10-13 | International Business Machines Corporation | Web storage optimization |
US9781135B2 (en) | 2014-06-20 | 2017-10-03 | Microsoft Technology Licensing, Llc | Intelligent web page content blocking |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740430A (en) * | 1995-11-06 | 1998-04-14 | C/Net, Inc. | Method and apparatus for server-independent caching of dynamically-generated customized pages |
US5761662A (en) | 1994-12-20 | 1998-06-02 | Sun Microsystems, Inc. | Personalized information retrieval using user-defined profile |
US5913033A (en) * | 1996-12-20 | 1999-06-15 | International Business Machines Corporation | Apparatus and method for retrieving information using standard objects |
US5924116A (en) * | 1997-04-02 | 1999-07-13 | International Business Machines Corporation | Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node |
US5933849A (en) * | 1997-04-10 | 1999-08-03 | At&T Corp | Scalable distributed caching system and method |
US5983227A (en) * | 1997-06-12 | 1999-11-09 | Yahoo, Inc. | Dynamic page generator |
US6192382B1 (en) * | 1997-09-24 | 2001-02-20 | Mediaone Group, Inc. | Method and system for web site construction using HTML fragment caching |
US6278449B1 (en) | 1998-09-03 | 2001-08-21 | Sony Corporation | Apparatus and method for designating information to be retrieved over a computer network |
US6293402B1 (en) * | 1997-09-27 | 2001-09-25 | The Procter Gamble & Company | Sachet with increased content quantity |
-
1998
- 1998-12-03 US US09/205,127 patent/US6345292B1/en not_active Expired - Lifetime
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5761662A (en) | 1994-12-20 | 1998-06-02 | Sun Microsystems, Inc. | Personalized information retrieval using user-defined profile |
US5740430A (en) * | 1995-11-06 | 1998-04-14 | C/Net, Inc. | Method and apparatus for server-independent caching of dynamically-generated customized pages |
US5913033A (en) * | 1996-12-20 | 1999-06-15 | International Business Machines Corporation | Apparatus and method for retrieving information using standard objects |
US5924116A (en) * | 1997-04-02 | 1999-07-13 | International Business Machines Corporation | Collaborative caching of a requested object by a lower level node as a function of the caching status of the object at a higher level node |
US5933849A (en) * | 1997-04-10 | 1999-08-03 | At&T Corp | Scalable distributed caching system and method |
US5983227A (en) * | 1997-06-12 | 1999-11-09 | Yahoo, Inc. | Dynamic page generator |
US6192382B1 (en) * | 1997-09-24 | 2001-02-20 | Mediaone Group, Inc. | Method and system for web site construction using HTML fragment caching |
US6293402B1 (en) * | 1997-09-27 | 2001-09-25 | The Procter Gamble & Company | Sachet with increased content quantity |
US6278449B1 (en) | 1998-09-03 | 2001-08-21 | Sony Corporation | Apparatus and method for designating information to be retrieved over a computer network |
Non-Patent Citations (3)
Title |
---|
Anawat Chankhunthod et al., A Hierarchial Internet Object Cache, Computer Science Department of University of Southern California, 11 pages, Nov. 1995.* |
Evangelos P. Markatos et al., A Top-10 Approach to Prefetching the Web, INET 98, 15 pages, Jul. 1998.* |
Ton Verschuren et al., Web Caching Meshes: Hit or Miss?, INET 98, 17 pages, Jul. 1998. * |
Cited By (138)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047322B2 (en) | 1999-01-29 | 2015-06-02 | Oracle International Corporation | Techniques for automatically discovering a database device on a network |
US20110173156A1 (en) * | 1999-01-29 | 2011-07-14 | Oracle International Corporation | Techniques for automatically discovering a database device on a network |
US20090083619A1 (en) * | 1999-05-21 | 2009-03-26 | E-Numerate Solutions, Inc. | Reusable data markup language |
US20090089657A1 (en) * | 1999-05-21 | 2009-04-02 | E-Numerate Solutions, Inc. | Reusable data markup language |
US9262384B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | Markup language system, method, and computer program product |
US8489982B2 (en) | 1999-05-21 | 2013-07-16 | E-Numerate Solutions, Inc. | Reusable data markup language |
US8185816B2 (en) * | 1999-05-21 | 2012-05-22 | E-Numerate Solutions, Inc. | Combining reusable data markup language documents |
US9268748B2 (en) | 1999-05-21 | 2016-02-23 | E-Numerate Solutions, Inc. | System, method, and computer program product for outputting markup language documents |
US20080028340A1 (en) * | 1999-05-21 | 2008-01-31 | E-Numerate Solutions, Inc. | Tree view for reusable data markup language |
US9262383B2 (en) | 1999-05-21 | 2016-02-16 | E-Numerate Solutions, Inc. | System, method, and computer program product for processing a markup document |
US20100121983A1 (en) * | 1999-05-25 | 2010-05-13 | Realnetworks, Inc. | System and method for providing update information |
US9350950B2 (en) * | 1999-05-25 | 2016-05-24 | Intel Corporation | System and method for providing update information |
US7343412B1 (en) * | 1999-06-24 | 2008-03-11 | International Business Machines Corporation | Method for maintaining and managing dynamic web pages stored in a system cache and referenced objects cached in other data stores |
US20080155056A1 (en) * | 1999-06-24 | 2008-06-26 | International Business Machines Corporation | Technique for Maintaining and Managing Dynamic Web Pages Stored in a System Cache and Referenced Objects Cached in Other Data Stores |
US6954896B1 (en) * | 1999-09-03 | 2005-10-11 | Cisco Technology, Inc. | Browser-based arrangement for developing voice enabled web applications using extensible markup language documents |
US6691176B1 (en) * | 1999-11-04 | 2004-02-10 | Microsoft Corporation | Method for managing client services across browser pages |
US20030142126A1 (en) * | 2000-01-04 | 2003-07-31 | International Business Machines Corporation | System and method for dynamically generating viewable graphics |
US20080148146A1 (en) * | 2000-01-04 | 2008-06-19 | Julio Estrada | System and method for dynamically publishing a document in collaboration space responsive to room aesthetics and input text |
US7421659B2 (en) | 2000-01-04 | 2008-09-02 | International Business Machines Corporation | System and method for dynamically publishing a document in collaboration space responsive to room aesthetics and input text |
US7050079B1 (en) * | 2000-01-04 | 2006-05-23 | International Business Machines Corporation | System and method for dynamically generating viewable graphics |
US7930631B2 (en) | 2000-04-24 | 2011-04-19 | Tvworks, Llc | Method and system for transforming content for execution on multiple platforms |
US7702995B2 (en) * | 2000-04-24 | 2010-04-20 | TVWorks, LLC. | Method and system for transforming content for execution on multiple platforms |
US20010056460A1 (en) * | 2000-04-24 | 2001-12-27 | Ranjit Sahota | Method and system for transforming content for execution on multiple platforms |
US20020010928A1 (en) * | 2000-04-24 | 2002-01-24 | Ranjit Sahota | Method and system for integrating internet advertising with television commercials |
US10609451B2 (en) | 2000-04-24 | 2020-03-31 | Comcast Cable Communications Management, Llc | Method and system for automatic insertion of interactive TV triggers into a broadcast data stream |
US20010047518A1 (en) * | 2000-04-24 | 2001-11-29 | Ranjit Sahota | Method a system to provide interactivity using an interactive channel bug |
US7530016B2 (en) | 2000-04-24 | 2009-05-05 | Tv Works, Llc. | Method and system for transforming content for execution on multiple platforms |
US7783968B2 (en) | 2000-04-24 | 2010-08-24 | Tvworks, Llc | Method and system for transforming content for execution on multiple platforms |
US9699265B2 (en) | 2000-04-24 | 2017-07-04 | Comcast Cable Communications Management, Llc | Method and system for transforming content for execution on multiple platforms |
US20050108633A1 (en) * | 2000-04-24 | 2005-05-19 | Ranjit Sahota | Method and system for transforming content for execution on multiple platforms |
US20050108634A1 (en) * | 2000-04-24 | 2005-05-19 | Ranjit Sahota | Method and system for transforming content for execution on multiple platforms |
US20050114757A1 (en) * | 2000-04-24 | 2005-05-26 | Ranjit Sahota | Method and system for transforming content for execution on multiple platforms |
US20100333153A1 (en) * | 2000-04-24 | 2010-12-30 | Tvworks, Llc | Method and system for transforming content for execution on multiple platforms |
US9788058B2 (en) | 2000-04-24 | 2017-10-10 | Comcast Cable Communications Management, Llc | Method and system for automatic insertion of interactive TV triggers into a broadcast data stream |
US8296792B2 (en) | 2000-04-24 | 2012-10-23 | Tvworks, Llc | Method and system to provide interactivity using an interactive channel bug |
US20110191667A1 (en) * | 2000-04-24 | 2011-08-04 | Tvworks, Llc | Method and System for Transforming Content for Execution on Multiple Platforms |
US8667530B2 (en) | 2000-04-24 | 2014-03-04 | Tvworks, Llc | Method and system to provide interactivity using an interactive channel bug |
US9888292B2 (en) | 2000-04-24 | 2018-02-06 | Comcast Cable Communications Management, Llc | Method and system to provide interactivity using an interactive channel bug |
US7500195B2 (en) | 2000-04-24 | 2009-03-03 | Tv Works Llc | Method and system for transforming content for execution on multiple platforms |
US8667387B2 (en) | 2000-04-24 | 2014-03-04 | Tvworks, Llc | Method and system for transforming content for execution on multiple platforms |
US8650480B2 (en) | 2000-04-24 | 2014-02-11 | Tvworks, Llc | Method and system for transforming content for execution on multiple platforms |
US10742766B2 (en) | 2000-04-24 | 2020-08-11 | Comcast Cable Communications Management, Llc | Management of pre-loaded content |
US10171624B2 (en) | 2000-04-24 | 2019-01-01 | Comcast Cable Communications Management, Llc | Management of pre-loaded content |
US6781609B1 (en) * | 2000-05-09 | 2004-08-24 | International Business Machines Corporation | Technique for flexible inclusion of information items and various media types in a user interface |
US20020112056A1 (en) * | 2000-06-27 | 2002-08-15 | Bernard Baldwin | Method and system for providing distributed functionaltiy and data analysis system utilizing same |
US6968355B2 (en) * | 2000-06-27 | 2005-11-22 | Ubs Ag | Method and system for providing distributed functionaltiy and data analysis system utilizing same |
US6704776B1 (en) * | 2000-06-30 | 2004-03-09 | Webtv Networks, Inc. | Selecting attribute based content for server applications |
US6681298B1 (en) * | 2000-07-12 | 2004-01-20 | Powertv, Inc. | Hypertext markup language cache system and method |
US8849850B2 (en) | 2000-09-08 | 2014-09-30 | Oracle International Corporation | Techniques for automatically provisioning a database over a wide area network |
US20090043798A1 (en) * | 2000-09-08 | 2009-02-12 | Dean Tan | Techniques for automatically developing a web site |
US7739308B2 (en) | 2000-09-08 | 2010-06-15 | Oracle International Corporation | Techniques for automatically provisioning a database over a wide area network |
US8321457B2 (en) * | 2000-09-08 | 2012-11-27 | Oracle International Corporation | Techniques for automatically developing a web site |
US8478778B2 (en) | 2000-09-08 | 2013-07-02 | Oracle International Corporation | Techniques for automatically provisioning a database over a wide area network |
US7536686B2 (en) | 2000-09-08 | 2009-05-19 | Oracle International Corporation | Techniques for automatically installing and configuring database applications |
US20080295092A1 (en) * | 2000-09-08 | 2008-11-27 | Dean Tan | Techniques for automatically installing and configuring database applications |
US20080306883A1 (en) * | 2000-09-08 | 2008-12-11 | Jean-Louis Baffier | Techniques for automatically provisioning a database over a wide area network |
US7249197B1 (en) * | 2000-10-20 | 2007-07-24 | Nortel Networks Limited | System, apparatus and method for personalising web content |
US20020103848A1 (en) * | 2000-11-29 | 2002-08-01 | Giacomini Peter Joseph | Distributed caching architecture for computer networks |
US20020103974A1 (en) * | 2000-11-29 | 2002-08-01 | Giacomini Peter Joseph | Method and apparatus for economical cache population |
US20090222624A1 (en) * | 2000-11-29 | 2009-09-03 | Broadspider Networks, Inc. | Method and Apparatus For Economical Cache Population |
US20030041077A1 (en) * | 2001-01-24 | 2003-02-27 | Davis Russell T. | RDX enhancement of system and method for implementing reusable data markup language (RDL) |
US9600842B2 (en) | 2001-01-24 | 2017-03-21 | E-Numerate Solutions, Inc. | RDX enhancement of system and method for implementing reusable data markup language (RDL) |
US8527869B2 (en) | 2001-02-05 | 2013-09-03 | Cox Communications, Inc. | Method and system for web page personalization |
US20050204276A1 (en) * | 2001-02-05 | 2005-09-15 | Predictive Media Corporation | Method and system for web page personalization |
US20020138331A1 (en) * | 2001-02-05 | 2002-09-26 | Hosea Devin F. | Method and system for web page personalization |
US7739590B2 (en) * | 2001-03-01 | 2010-06-15 | Accenture Llp | Automatic generation of personal homepages for a sales force |
US20020152197A1 (en) * | 2001-03-01 | 2002-10-17 | Stocker Jeffrey A. | Automatic generation of personal homepages for a sales force |
US20030004998A1 (en) * | 2001-06-29 | 2003-01-02 | Chutney Technologies, Inc. | Proxy-based acceleration of dynamically generated content |
US7092997B1 (en) * | 2001-08-06 | 2006-08-15 | Digital River, Inc. | Template identification with differential caching |
US7987239B2 (en) | 2001-12-19 | 2011-07-26 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US20030188021A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for processing multiple fragment requests in a single message |
US8032586B2 (en) | 2001-12-19 | 2011-10-04 | International Business Machines Corporation | Method and system for caching message fragments using an expansion attribute in a fragment link tag |
US7730154B2 (en) | 2001-12-19 | 2010-06-01 | International Business Machines Corporation | Method and system for fragment linking and fragment caching |
US20070244964A1 (en) * | 2001-12-19 | 2007-10-18 | Challenger James R H | Method and system for caching message fragments using an expansion attribute in a fragment link tag |
US7587515B2 (en) * | 2001-12-19 | 2009-09-08 | International Business Machines Corporation | Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user |
US20030188016A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for restrictive caching of user-specific fragments limited to a fragment cache closest to a user |
US20030191812A1 (en) * | 2001-12-19 | 2003-10-09 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US20080005273A1 (en) * | 2001-12-19 | 2008-01-03 | Agarwalla Rajesh S | Method and system for caching role-specific fragments |
US7509393B2 (en) * | 2001-12-19 | 2009-03-24 | International Business Machines Corporation | Method and system for caching role-specific fragments |
US7426534B2 (en) * | 2001-12-19 | 2008-09-16 | International Business Machines Corporation | Method and system for caching message fragments using an expansion attribute in a fragment link tag |
US20030188009A1 (en) * | 2001-12-19 | 2003-10-02 | International Business Machines Corporation | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments |
US7412535B2 (en) * | 2001-12-19 | 2008-08-12 | International Business Machines Corporation | Method and system for caching fragments while avoiding parsing of pages that do not contain fragments |
US20030191800A1 (en) * | 2001-12-19 | 2003-10-09 | International Business Machines Corporation | Method and system for a foreach mechanism in a fragment link to efficiently cache portal content |
US10462247B2 (en) * | 2002-04-17 | 2019-10-29 | At&T Intellectual Property I, L.P. | Web content customization via adaptation web services |
US20160373541A1 (en) * | 2002-04-17 | 2016-12-22 | At&T Intellectual Property I, L.P. | Web content customization via adaptation web services |
US20030217076A1 (en) * | 2002-05-15 | 2003-11-20 | Heptinstall Christian Elliot | System and method for rapid generation of one or more autonomous websites |
US20050204280A1 (en) * | 2002-05-23 | 2005-09-15 | Koninklijke Philips Electronics N.V. | Dynamic markup language |
US20100122156A1 (en) * | 2002-05-23 | 2010-05-13 | Ambx Uk Limited | Dynamic markup language |
US20050050456A1 (en) * | 2003-08-29 | 2005-03-03 | Dehamer Brian James | Method and apparatus for supporting XML-based service consumption in a web presentation architecture |
US20050086292A1 (en) * | 2003-10-01 | 2005-04-21 | Yee Sunny K. | Method and apparatus for supporting preprocessing in a Web presentation architecture |
US20050091336A1 (en) * | 2003-10-01 | 2005-04-28 | Dehamer Brian J. | Method and apparatus for supporting cookie management in a web presentation architecture |
US20050076265A1 (en) * | 2003-10-01 | 2005-04-07 | Christina Hsu | Method and apparatus for supporting error handling in a web presentation architecture |
US20050076329A1 (en) * | 2003-10-01 | 2005-04-07 | Christina Hsu | Method and apparatus for supporting configuration of a web application in a web presentation architecture |
US20050076291A1 (en) * | 2003-10-01 | 2005-04-07 | Yee Sunny K. | Method and apparatus for supporting page localization management in a Web presentation architecture |
US20050076294A1 (en) * | 2003-10-01 | 2005-04-07 | Dehamer Brian James | Method and apparatus for supporting layout management in a web presentation architecture |
US20050086664A1 (en) * | 2003-10-01 | 2005-04-21 | Sundaresan Sankar R. | Method and apparatus for transaction tracking in a web presentation architecture |
US7146544B2 (en) | 2003-10-01 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus for supporting error handling in a web presentation architecture |
US20050268248A1 (en) * | 2004-05-25 | 2005-12-01 | Microsoft Corporation | Content customization with resizability and context-sensitivity |
US7836127B2 (en) * | 2005-04-14 | 2010-11-16 | Accenture Global Services Limited | Dynamically triggering notifications to human participants in an integrated content production process |
US20070005386A1 (en) * | 2005-04-14 | 2007-01-04 | Accenture Global Services, Gmbh | Content production maintenance tool for human and non-human activity tracking |
US20070005385A1 (en) * | 2005-04-14 | 2007-01-04 | Accenture Global Services, Gmbh | Dynamically triggering notifications to human participants in an integrated content production process |
US7734722B2 (en) * | 2005-06-02 | 2010-06-08 | Genius.Com Incorporated | Deep clickflow tracking |
US20060277157A1 (en) * | 2005-06-02 | 2006-12-07 | Robert Seidl | Database query construction and handling |
US7984058B2 (en) | 2005-06-02 | 2011-07-19 | Genius.Com Incorporated | Database query construction and handling |
US20070011340A1 (en) * | 2005-06-02 | 2007-01-11 | Robert Seidl | Deep clickflow tracking |
US8103690B2 (en) | 2005-06-03 | 2012-01-24 | Genius.Com | Realtime database architecture |
US20070112800A1 (en) * | 2005-06-03 | 2007-05-17 | Robert Seidl | Realtime database architecture |
US20160026654A1 (en) * | 2005-09-30 | 2016-01-28 | Emc Corporation | Data mover discovery of object extent |
US9135122B2 (en) * | 2005-09-30 | 2015-09-15 | Emc Corporation | Data mover discovery of object extent |
US9558203B2 (en) * | 2005-09-30 | 2017-01-31 | Emc Corporation | Data mover discovery of object extent |
US7937369B1 (en) * | 2005-09-30 | 2011-05-03 | Emc Corporation | Data mover discovery of object extent |
US20110173159A1 (en) * | 2005-09-30 | 2011-07-14 | Emc Corporation | Data mover discovery of object extent |
EP2002343A2 (en) * | 2006-03-08 | 2008-12-17 | Microsoft Corporation | Multi-cache cooperation for response output caching |
EP2002343A4 (en) * | 2006-03-08 | 2009-11-25 | Microsoft Corp | Multi-cache cooperation for response output caching |
US7685367B2 (en) | 2006-03-08 | 2010-03-23 | Microsoft Corporation | Multi-cache cooperation for response output caching |
US20120221932A1 (en) * | 2011-02-24 | 2012-08-30 | George Gleadall | Rendering web content using pre-caching |
US9065793B2 (en) * | 2011-02-24 | 2015-06-23 | Cbs Interactive Inc. | Rendering web content using pre-caching |
US8935719B2 (en) | 2011-08-25 | 2015-01-13 | Comcast Cable Communications, Llc | Application triggering |
US11297382B2 (en) | 2011-08-25 | 2022-04-05 | Comcast Cable Communications, Llc | Application triggering |
US11968419B2 (en) | 2011-08-25 | 2024-04-23 | Comcast Cable Communications, Llc | Application triggering |
US10735805B2 (en) | 2011-08-25 | 2020-08-04 | Comcast Cable Communications, Llc | Application triggering |
US9485547B2 (en) | 2011-08-25 | 2016-11-01 | Comcast Cable Communications, Llc | Application triggering |
US11665394B2 (en) | 2013-03-13 | 2023-05-30 | Comcast Cable Communications, Llc | Selective interactivity |
US12250428B2 (en) | 2013-03-13 | 2025-03-11 | Comcast Cable Communications, Llc | Selective interactivity |
US9414114B2 (en) | 2013-03-13 | 2016-08-09 | Comcast Cable Holdings, Llc | Selective interactivity |
US11877026B2 (en) | 2013-03-13 | 2024-01-16 | Comcast Cable Communications, Llc | Selective interactivity |
US12069348B2 (en) | 2014-03-07 | 2024-08-20 | Comcast Cable Communications, Llc | Retrieving supplemental content |
US11076205B2 (en) | 2014-03-07 | 2021-07-27 | Comcast Cable Communications, Llc | Retrieving supplemental content |
US11736778B2 (en) | 2014-03-07 | 2023-08-22 | Comcast Cable Communications, Llc | Retrieving supplemental content |
US11070608B2 (en) * | 2015-06-17 | 2021-07-20 | Fastly, Inc. | Expedited sub-resource loading |
US11445005B2 (en) | 2015-06-17 | 2022-09-13 | Fastly, Inc. | Expedited sub-resource loading |
US20160373544A1 (en) * | 2015-06-17 | 2016-12-22 | Fastly, Inc. | Expedited sub-resource loading |
CN105608225A (en) * | 2016-01-20 | 2016-05-25 | 北京京东尚科信息技术有限公司 | Web page automatic layout method and device |
CN107038017A (en) * | 2016-02-03 | 2017-08-11 | 博雅网络游戏开发(深圳)有限公司 | The method and apparatus that rendering data is obtained |
CN107038017B (en) * | 2016-02-03 | 2019-06-14 | 博雅网络游戏开发(深圳)有限公司 | The method and apparatus that rendering data obtains |
US10282172B2 (en) * | 2016-09-12 | 2019-05-07 | Adobe Inc. | Authoring and deploying television apps and pages in a content management system |
US20220303349A1 (en) * | 2021-03-18 | 2022-09-22 | Verizon Patent And Licensing Inc. | Systems and methods for optimizing provision of high latency content by a network |
US11438442B1 (en) * | 2021-03-18 | 2022-09-06 | Verizon Patent And Licensing Inc. | Systems and methods for optimizing provision of high latency content by a network |
Also Published As
Publication number | Publication date |
---|---|
US20020016828A1 (en) | 2002-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6345292B1 (en) | Web page rendering architecture | |
US20020091789A1 (en) | Scalable computing system for presenting customized aggregation of information | |
US7194506B1 (en) | Method and system for cache management of locale-sensitive content | |
US7024452B1 (en) | Method and system for file-system based caching | |
US7660816B2 (en) | Use of browser cookies to store structured data | |
US7509404B2 (en) | Methods and systems for partial page caching of dynamically generated content | |
US6021426A (en) | Method and apparatus for dynamic data transfer on a web page | |
US9703885B2 (en) | Systems and methods for managing content variations in content delivery cache | |
US7155489B1 (en) | Acquiring web page information without commitment to downloading the web page | |
US20030004998A1 (en) | Proxy-based acceleration of dynamically generated content | |
US6192382B1 (en) | Method and system for web site construction using HTML fragment caching | |
US8972998B2 (en) | Processing annotation requests using multithreaded constituent task and independent input/output tasks | |
USRE39184E1 (en) | Identifying, processing and caching object fragments in a web environment | |
US9836445B2 (en) | Dynamic page generator | |
KR101013046B1 (en) | How to prefetch and cache client side portlets, system and computer program products | |
US9111003B2 (en) | Scalable derivative services | |
US20020078087A1 (en) | Content indicator for accelerated detection of a changed web page | |
CN1339747A (en) | System and method for high speed buffer storage file information | |
US6766313B1 (en) | System and method for caching and retrieving information | |
US20030191858A1 (en) | Response time of transformed documents based on caching and dynamic transformation | |
Signer et al. | A personal assistant for Web database caching | |
Gordon et al. | Bluejay: a browser for linear units in Java | |
Buford | A Transfer Protocol for an Open Hyperdocument Model Server | |
KR20010003611A (en) | Caching method using prefetched brand-new documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:DAUGHERTY, BRIAN R.;BECK, MARC T.;CLORE, DONALD J.;REEL/FRAME:009743/0984;SIGNING DATES FROM 19990112 TO 19990120 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034541/0001 Effective date: 20141014 |