US20050216572A1 - System for delivery of dynamic content to a client device - Google Patents

System for delivery of dynamic content to a client device Download PDF

Info

Publication number
US20050216572A1
US20050216572A1 US11/125,199 US12519905A US2005216572A1 US 20050216572 A1 US20050216572 A1 US 20050216572A1 US 12519905 A US12519905 A US 12519905A US 2005216572 A1 US2005216572 A1 US 2005216572A1
Authority
US
United States
Prior art keywords
network
content
client device
user
dynamic
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.)
Abandoned
Application number
US11/125,199
Inventor
Michael Tso
David Romrell
Bikram Bakshi
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Priority to US11/125,199 priority Critical patent/US20050216572A1/en
Publication of US20050216572A1 publication Critical patent/US20050216572A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0277Online advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Definitions

  • the present invention relates generally to the field of data communications for personal computers (PCs), and in particular to a system for delivering content, such as targeted on-line advertising, to a client device, where such delivery is not in response to a specific request for such content.
  • PCs personal computers
  • the Internet is quickly becoming the preferred data communications medium for a broad class of computer users ranging from private individuals to large multi-national corporations. Such users now routinely employ the Internet to access information, distribute information, correspond electronically, and even conduct personal conferencing. An ever-growing number of individuals, organizations and businesses have established a presence on the Internet through “Web pages” on the World-Wide Web (“the Web”).
  • On-line advertisements are typically included as an integral part of the content on Web pages. This approach suffers from a variety of limitations. For example, users tend to follow hyperlinks and move from one Web page to another, much like “surfing” the channels on a television. Unfortunately, such user behavior reduces the impact of advertising, as advertisements generally require captive audiences to be most effective. There is currently no reliable method for ensuring an Internet user's attention.
  • Targeted advertising Yet another limitation of existing approaches to on-line advertising relates to difficulties in achieving so-called “targeted advertising,” wherein advertisements are specifically tailored to the recipient's interests and preferences.
  • Targeted advertising on the Internet has typically been attempted using a device known as a “cookie,” which is a data item used to maintain client-specific information, such as a marketing profile, accessible by facilities that do not necessarily communicate with one another.
  • a cookie stored on a client device may be accessed by any number of Web sites which that client device visits, assuming those Web sites are preconfigured to do so.
  • Unfortunately, propagating this type of functionality to the many thousands of Web sites on the Internet is impractical.
  • Another approach to targeted advertising on the Internet involves deriving profile information by analyzing the Web sites that particular users visit, as maintained in a standard logging device known as a “clickstream.” Again, however, there is no one widely-implemented mechanism for collecting clickstreams. Even for those Web sites so-equipped, the current state of the art requires the resource-intensive task of merging logs from all of the sites visited by a user.
  • On-line advertisements are typically limited in richness due to unacceptable additional latencies that would be introduced by large or highly-rich advertisements. Also, since advertisements must be rendered by a browser installed on the client device, advertisers are restricted with respect to the use of more sophisticated, non-standard data formats and compression techniques. Only those datatypes supported by the browser may be used.
  • An embodiment of the present invention is implemented in a method for presenting dynamic content to a user of a client device.
  • a requested data object is presented to a user.
  • Dynamic content is automatically presented to the user in addition to the presentation of the requested data object.
  • the dynamic content comprises information provided by a dynamic executable module running on the client device.
  • FIG. 1 is a schematic diagram illustrating a system for dynamic distribution of network content according to an embodiment of the present invention.
  • FIG. 2 is a flow diagram illustrating a method for dynamic distribution of network content according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram illustrating a system for dynamic distribution of network content by a browser according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram illustrating a system for dynamic distribution of network content by an enabled client device according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram illustrating a configuration in which an embodiment of the present invention may be implemented.
  • Embodiments of the present invention provide a system for the targeted distribution of dynamic content without the limitations of existing approaches, such as those described above.
  • embodiments of the present invention may be applied to on-line advertising in a manner that significantly improves over existing technology, particularly with respect to distribution, targeting, and feedback collection. It should be noted, however, that the scope of the present invention extends well beyond on-line advertising.
  • the same mechanisms and methods described herein may be advantageously applied to applications involving many different types of dynamic content including, but not limited to, subscription services (for example, news, weather, stock quotes), distribution of automatic software updates, or virtually any so-called “out of band” information (that is, information not directly associated with a user request which expects an immediate response, such as a deferred, periodic, or implicit user request).
  • dynamic content refers broadly to content that is not specifically requested by a user.
  • “dynamic content” refers broadly to content that is not specifically requested by a user.
  • a client device 1 may access a plurality of content servers 7 through a network device 4 .
  • Client device 1 includes a browser 2 , such as NetscapeTM, which enables a user of client device 1 to retrieve and display network data objects, such as Web pages resident on content server 7 .
  • Content server 7 may reside, for example, on the Internet and be accessible through standard HTTP (HyperText Transfer Protocol) calls; however, the present invention is not limited to any particular network or communications method.
  • network device 4 is a network proxy through which a plurality of client devices 1 access network resources such as content servers 7 .
  • network device 4 may itself comprise a network server, a content server, or some other type of stand-alone computer or distributed system of computers coupled, for example, to an ISP's (Internet Service Provider's) network, a corporate network, or anywhere on the Internet.
  • ISP's Internet Service Provider's
  • FIG. 1 illustrates only a single client device 1 , network device 4 will typically be configured to provide multiple client devices with access to network resources.
  • Network device 4 includes an advertising service provider 5 responsible for managing the provision of dynamic content to client device 1 .
  • advertising service provider 5 distributes advertising content to client device 1 by embedding a dynamic advertising module (DAM) 9 into one or more Web pages 8 downloaded to client device 1 .
  • DAM dynamic advertising module
  • Advertising service provider 5 may comprise a software module installed in, or otherwise executable by, network device 4 .
  • Dynamic advertising module 9 may comprise a dynamic executable module of a type known in the art implemented, for example, using a Java applet or similar utility, which automatically executes upon being loaded onto client device 1 .
  • Dynamic advertising module 9 is programmed to control the display of advertising content on client device 1 .
  • An advantage of this approach, as opposed to having advertising service module 5 simply embed advertising content into Web page 8 , is that most of today's common browsers will display information from such an embedded executable module in a window separate from a requested Web page. This not only eliminates any concerns about disrupting the layout of the Web page, but also provides a more aesthetically-appealing presentation.
  • Another significant benefit provided by the use of dynamic advertising module 9 is that there is no need for client device 1 to be pre-configured with any special software to support the presentation of advertisements.
  • network device 4 may be configured to ensure that only a single instance of dynamic advertising module 9 is active on client device 1 . Moreover, where client device 1 includes a local cache storage (not shown) accessible by browser 2 , network device 4 may be configured to avoid downloading another instance of dynamic advertising module 9 if one already resides in the cache.
  • network client 12 communicates with an external network 18 through a transcoding server 34 .
  • Network client 12 includes a browser 32 , such as the Netscape Navigator v.3.0 browser (although the invention is not limited in this respect), which manages the presentation of data to a user.
  • network client 12 is “non-enabled,” meaning no specialized transcoding software is preloaded on network client 12 .
  • Network 18 may comprise, for example, the Internet.
  • network client 12 communicates requests for information to, and receives information from, transcoding server 34 over a client/server communications link 14 .
  • Transcoding server 34 in turn communicates with computers resident on network 18 through server/network communications link 16 .
  • the respective communications links 14 , 16 may comprise any suitable communications media known in the art.
  • Transcoding server 34 may be configured to provide a wide variety of transcoding services to network client 12 and/or network devices, such as content servers, with which network client 12 communicates.
  • transcode refers to virtually any type of addition, deletion or modification of data transmitted to or from network client 12 by or through transcoding server 34 .
  • examples of such transcoding services include data compression, image scaling, and dynamic removal of predetermined content.
  • the provision of dynamic content may be the only transcoding service provided to a particular client device, or may be only one of a variety of services.
  • transcoding server 34 may include a transcoder 20 with a parser 22 and a plurality of transcode service providers 24 .
  • Parser 22 is configured to act upon data received by transcoder 20 , such as a request for a network object generated by client device 12 or a reply to such a request provided by a content server or other device on network 18 .
  • parser 22 is responsible for selectively invoking one or more of transcode service providers 24 based upon a predetermined selection criterion.
  • advertising service provider 5 may be implemented, for example, as a transcoding service provider 24 .
  • transcoding server 34 includes an HTTP (HyperText Transfer Protocol) remote proxy 36 , capable of accessing network 18 over server/network communications link 16 .
  • HTTP remote proxy 36 provides functionality different from known network proxies, which generally are little more than a conduit for requests to, and replies from, external Internet resources, in that it is capable not only of examining such requests and replies, but also of acting upon commands in the requests by, for example, determining whether or not to transcode content.
  • HTTP remote proxy 36 is capable of changing content received from network 18 prior to returning it to a requesting network client 12 .
  • transcoder 20 is coupled to HTTP remote proxy 36 .
  • Parser 22 manages the transcoding of data to be transmitted from transcoding server 34 to network client 12 .
  • parser 22 controls transcode service providers 24 to selectively transcode content based on a predetermined selection criterion.
  • one or more transcode service providers 24 may provide the capability to compress and/or scale different types of data content, such as image, video, or HTML (HyperText Markup Language), in addition to providing content blocking functionality as discussed above.
  • Transcoding server 34 may also include a server-side cache memory 30 managed by a server-side cache interface 28 . Server-side cache memory 30 may be used to store both original and transcoded versions of content for later transmission to network client 12 without the need to re-retrieve the content from network 18 or to re-transcode the content.
  • Parser 22 may comprise a relatively simple, uniform interface to HTTP remote proxy 36 , and may provide an API (Application Programming Interface) for transcoding data received by HTTP remote proxy 36 .
  • Parser 22 manages one or more transcode service providers 24 that are accessed through a common SPI (Service Provider Interface).
  • SPI Service Provider Interface
  • parser 22 is designed in compliance with the Windows Open Systems Architecture (WOSA), and may be implemented as a Win32 DLL (Dynamic Link Library).
  • WOSA Windows Open Systems Architecture
  • the WOSA architecture described in Readings on Microsoft Windows and WOSA (Microsoft Corp. 1995), enables additional transcode service providers 24 to be dynamically added to the system to provide new features and/or better transcoding algorithms, while at the same time not requiring changing or retesting other software components in the system.
  • server-side cache interface 28 may be modeled after a standard Get/Set interface.
  • Server-side cache memory 30 essentially “owns” all cached objects, in that it manages the properties and storage of the objects and may invalidate any non-locked object at any time; however, the actual format of any given cached object is known only by parser 22 and its associated transcode service providers 24 . Thus, for data integrity and transcoding efficiency purposes, all access to server-side cache memory 30 in this arrangement is through parser 22 .
  • transcoder 20 may use a Read( ) call to read data from a specified cached object data stream.
  • transcode service provider 24 may invoke this call and tunnel stream data through HTTP remote proxy 36 directly to network client 12 .
  • a Write( ) call may be used to cache data from a new HTTP data stream. This call will append an incoming data stream received from, for example, a Web server or transcode service provider 24 , to an opened cache stream which may be concurrently read using the Read( ) call.
  • Parser 22 may be configured to include the following calls:
  • the GetScaledObject( ) call is similar to GetObject( ), and is also used to request an object from server-side cache memory 30 ; however, it adds support for requesting a particular version of that object, such as a high-quality rendition.
  • transcode service providers 24 can use server-side cache memory 30 to store several different versions of an object to support clients with different communications and/or presentation capabilities.
  • an additional “Stage” parameter may be used to indicate which version of the cached object is to be returned to network client 12 .
  • transcode service provider 24 is configured to scale network content, it may use this parameter to request a version of a cached object having, for example, a default scaled quality, a refinement to a better-quality version, or the original non-scaled version.
  • HTTP remote proxy 36 uses either the GetObject( ) or GetScaledObject( ) call (depending on if network client 12 is capable of receiving scaled/transcoded datatypes) to retrieve the hypertext object from parser 22 . If the hypertext object is not found, parser 22 uses the CreateEntry( ) call to create an entry (in effect, a placeholder) in server-side cache memory 30 for the new object. The new entry is returned to HTTP remote proxy 36 , which requests the hypertext object from network 18 .
  • HTTP remote proxy 36 calls parser 22 using the PutObject( ) call, passing into this call the new entry and the handle to the data stream to be placed into the entry.
  • Parser 22 selects an appropriate transcode service provider 24 based, for example, on the content type of the data stream.
  • content type encompasses a datatype, an HTTP MIME (Multipurpose Internet Mail Extensions) type, a content format, and so on.
  • the selected transcode service provider 24 uses a separate thread to read the incoming data stream, transcode it (for example, scan for predetermined content and delete it if found), and place it within the entry of server-side cache memory 30 .
  • the current thread immediately returns to HTTP remote proxy 36 , which once again calls GetScaledObject( ) (or GetObject( )). This case will always result in a cache hit.
  • This thread then works simultaneously with the separate thread in the PutObject( ) to tunnel data (either original or transcoded) from transcoding server 34 to network client 12 .
  • the configuration shown in FIG. 5 is just one of many different ways in which embodiments of the present invention may be implemented.
  • the dynamic content provisions functionality could be implemented in a so-called “enabled client” containing specialized software for performing the functions attributed to dynamic advertising module 9 in FIG. 1 .
  • specialized software may be implemented, for example, as a client-side transcode service provider, as part of a local proxy, as part of the browser running on the client device, or as an add-in module running on the client device.
  • the present invention is not limited in this regard.
  • FIG. 2 provides a flow diagram illustrating a method for distributing content using, for example, a system such as that of FIG. 1 or FIG. 5 .
  • processing may begin upon receipt of a data object, such as a data stream representing a requested Web page, to be downloaded to client device 1 (Step 15 ).
  • the device performing the method such as network device 4 , embeds code into the data object to provide dynamic advertising content (Step 20 ).
  • This code may comprise, for example, dynamic advertising module 9 of the embodiment illustrated in FIG. 1 .
  • the data object with the embedded code is then downloaded to client device 1 (Step 25 ).
  • network device 4 may be configured to determine whether client device 1 is to receive dynamic advertising content. Such a determination may be performed either upon receipt of a request for a data object from client device 1 , or upon receipt of the beginning of a response to such a request from content server 7 . Such a determination may be based upon, for example, an authorization table maintained or otherwise accessible by advertising service provider 5 .
  • browser 2 of client device 1 includes a dynamic advertising module 9 which essentially integrates into browser 2 the functionality described above for the dynamic advertising module 9 of FIG. 1 .
  • Dynamic advertising module 9 may be implemented, for example, as a software routine within browser 2 , or as a separate executable module which browser 2 may invoke. In this way, browser 2 may be configured to render advertisements as it displays user-requested content.
  • dynamic advertising module 9 may cause browser 2 to fetch advertisements from one or more network locations.
  • client device 1 may be a so-called “enabled client,” whereby dynamic advertising functionality such as that described above is provided through specialized software installed on client device 1 .
  • client device 1 includes a local proxy 10 coupled to browser 2 which intercepts all network communications to or from client device 1 .
  • client device 1 also includes a dynamic advertising module 9 coupled to a graphical user interface (GUI) 11 capable of displaying so-called “rich” advertisements (that is, high-quality content) represented in datatypes which may not be supported by browser 2 .
  • GUI graphical user interface
  • Local proxy 10 is configured to maintain contact with network device 4 in the same manner as dynamic advertising module 9 of the FIG.
  • local proxy 10 intercepts all requests issued by browser 2 , a significant portion of the work that network proxy 4 might otherwise be required to do, such as recording clickstreams, can be handled at the client-level by local proxy 10 and/or dynamic advertising module 9 .
  • Such an approach is especially advantageous where overall system performance may be improved by off-loading work from network proxy 4 , such as where network proxy 4 services a large number of client devices.
  • session-based advertising is session-based advertising.
  • the goal of session-based advertising is to provide an advertiser with a relatively “captive” viewing audience for advertising content.
  • session-based advertising may be implemented by coding advertising service provider 5 and/or dynamic advertising module 9 to fetch and display advertisements from one or more predetermined network locations using, for example, standard HTTP calls. Dynamic advertising module 9 may then control how long an advertisement is displayed, regardless of which Web page(s) 8 the user visits through browser 2 .
  • the fetching and/or display of advertisements may be based upon an existing user profile maintained, for example, in a user profile table (not shown) accessible by advertising service provider 5 .
  • the advertiser is thus given the closest thing possible to a captive audience, since the targeted advertising can be constantly displayed even when the user rapidly changes the content being viewed. Moreover, since the content displayed by dynamic advertising module 9 appears regardless of what Web page 8 the user is viewing, there is no need for the advertiser to request any content changes from particular content providers in order to display their advertisements.
  • dynamic advertising module 9 may be configured to maintain contact with advertising service provider 5 (for example, through HTTP “POST” messages) so that the advertisements displayed reflect any changes in the original user profile resulting from activities during the current session.
  • the user profile may be updated as a result of the user's activities during the current session, and those updates may be reflected in the dynamic content presented during that session.
  • Advertising service provider 5 may also set and/or change configuration information controlling the operation of dynamic advertising module 9 , such as how long to display each advertisement. It is also possible to integrate existing on-line advertising techniques into dynamic advertising module 9 , such as the feature of known banner advertisements which enables users to click on an advertisement to access a location on the network predetermined by the advertiser, such as the advertiser's corporate presence server.
  • IP addresses are often dynamically assigned on a per request basis, meaning a particular user's requests over the course of a single session may reach a content server with a number of different IP addresses.
  • a unique IP address may be assigned and used for all requests during any particular user session, making the clickstream collection and recording mechanism straight-forward and accurate.
  • the clickstream gathering mechanism may be configured to weight a user's interest in particular Web pages or Web sites (that is, a group of pages from the same Internet domain).
  • network device 4 of FIG. 1 may be programmed to measure a user's interest by how long the user spends looking at a particular Web page or site. This information may be derived from the HTTP transactions between client device 1 and content server 7 , such as by timestamping requests received from client device 1 in a log maintained by network device 4 .
  • Such a feature is most advantageously provided with either a proxy-based or a browser-based implementation because such implementations enable an accurate account of every request issued from client device 1 .
  • network device 4 may be configured to maintain a user history log including entries for each user to which dynamic advertising content is provided.
  • the mechanism may include a timeout facility for ignoring out-of-bounds values which might otherwise skew results.
  • a suitable timeout period may be on the order of five minutes for any particular Web page.
  • network device 4 may be programmed to perform the following time-stamping algorithm:
  • Another advantageous feature which may be provided by embodiments of the present invention, including those illustrated in FIGS. 1-5 , is the ability to download dynamic content to client device 1 primarily in a background mode, thereby avoiding the introduction of excessive latency into downloads of “regular” (that is, specifically requested) user content as a result of the addition of advertising information. In essence, the goal is to prevent competition between advertisements and user-requested content during data transfers to client device 1 .
  • dynamic advertising module 9 may generate requests for advertising content to be displayed using a distinguishable request (for example, a particular “POST” message, a regular HTTP “GET” with a particular URL, or any other form of predetermined inter-device communication).
  • Network device 4 will then be able to distinguish requests for advertisements (or any other low-priority content) from user-initiated content requests (or any other high-priority content), and ensure that user-initiated content requests always get processing preference.
  • network device 4 maintains state information about all of the advertisement requests being currently processed (for example, a list of sockets being used for data transfer). This information may be keyed by a unique identifier for each client device 1 , such as an IP address. Each new connection accepted by network device 4 may then be categorized either as an advertisement request or as a user content request. If the former, the request is added to the list and processed if no other high-priority requests are being processed; otherwise, the network device 4 may systematically abort all other low-priority requests and begin processing the higher-priority request. In such a case, the low-priority requests will have to be restarted at a later time, either by network device 4 or by dynamic advertising module 9 .
  • network device 4 may temporarily suspend all processing related to low-priority requests and begin processing the higher-priority content request.
  • the suspended request may remain unprocessed until all outstanding high-priority content requests have been satisfied.
  • the just-described approaches for background processing may be implemented using existing protocol stacks.
  • a possible alternative approach takes advantage of overlapped input/output features that are available in some protocol stack implementations, such as Winsock2.
  • Such an alternative approach provides a more fine-grained priority than the methods just described by waiting for the completion of each high-priority send operation instead of waiting for the end of the high-priority socket.
  • This mechanism makes use of the feature in such protocol stacks which notifies the calling application when each send operation completes.
  • Low-priority (or out of band) send operations can be delayed until all (or most) previous high-priority send operations are completed.
  • both high- and low-priority sockets may be opened simultaneously, but low-priority data is only sent when the in-band socket goes idle (for example, due to server or network congestion). This is especially useful for embedded content streams such as video or persistent HTTP streams. Other optimizations are also possible, such as multiple priority levels, or anticipating socket/send completion based on average data throughput. This solution increases utilization of the communications link to the user without increasing user-visible latencies.
  • embodiments of the present invention Another benefit provided by embodiments of the present invention is that it becomes possible to provide richer advertising content than is practical with existing on-line advertising methods. Since advertising need not add additional latency to the user's browsing, it is practical to download dynamic content including arbitrary complex objects, such as executables, as well as graphical or other multimedia data. For example, an embodiment of the present invention may be used to download a demo version of a software program being advertised, enabling the user to click on the advertisement and instantly try out the demo without waiting for the demo to be downloaded. Similarly, a preview clip of a music CD or movie may be shown to a user after it has been completely downloaded.
  • a “floating” animation that is, one not framed in a window
  • advertisements can be very interactive and very rich, greatly increasing their effectiveness.
  • rich advertisements may be further improved by installing software, such as an advertisement player, on a client machine. This would permit downloading only data (for example, sound, images) and instructions on how to playback the data. Savings in download time can then be realized because the player would contain most of the executable code that would otherwise have to be downloaded with every advertisement.
  • Embodiments of the present invention likewise enable advertisements to be targeted to a degree not readily achievable with existing technology.
  • a wide variety of targeting criteria are possible. For example, targeting may be based upon a list of Web pages for which demographic data is available. To illustrate, it is known that a high percentage of visitors to the DilbertTM cartoon page are white-collar office workers, who may be good candidates to receive advertisements for such items as luxury cars. Targeting may also be based on keywords in the content page, the request, or the URL accessed.
  • a proxy local or network may scan for predetermined keywords and then decide which category of advertising to request.
  • Targeting may also be based on user profile information. Such information may be collected through any of a wide variety of known methods, such as personal surveys or clickstream analysis, and then used to match profiles requested by advertisers. Embodiments of the present invention enable any advertiser to use this type of targeting capability on any Web page, regardless of whether the Web page already has a hyperlink to another advertiser or group of advertisers, since the matching may be done at the proxy (and possibly completely independent of the content). Targeting may also be based on recently-installed and/or frequently-used client-based applications. For example, software on a client machine can gather information by examining the client system (for example, the Windows registry and/or file system on PCs) for the date when applications were installed (or are frequently run). This enables advertisers to target advertisements for software add-ons, upgrades, and related products.
  • client system for example, the Windows registry and/or file system on PCs
  • Yet another possibility is targeting based on client computer capabilities.
  • the client machine may be queried for its media and processing capabilities (for example, by looking at which type of software device drivers are loaded/active).
  • This allows rich content to be customized for each user's computer capabilities to prevent instances where the client is unable to consume all of the data transferred due to system limitations, such as advertisements with audio or those requiring high-resolution video being downloaded to clients lacking the capability to render such content.
  • system limitations such as advertisements with audio or those requiring high-resolution video being downloaded to clients lacking the capability to render such content.
  • Embodiments of the present invention may be distributed, for example, as a set of instructions residing on a storage medium.
  • a storage medium might be a memory of a computer; a piece of firmware; a portable storage device, such as a diskette or other magnetic storage device, or a CD-ROM; or any other medium on which it is known to store executable instructions.
  • An intranet typically is a secure corporate network modeled after the Internet architecture, and generally includes mechanisms for communicating with external networks such as the Internet.

Abstract

A system for presenting dynamic content to a user of a client device is implemented in a method including the steps of presenting a requested data object to the user; and automatically presenting dynamic content to the user in addition to the presentation of the requested data object, wherein the dynamic content includes information provided by a dynamic executable module running on the client device.

Description

  • This application claims the benefit of U.S. Provisional Application No. 60/041,001 titled “System for Targeted Delivery of Networked Content, filed Mar. 27, 1997 by Michael M. Tso et al. and assigned to Intel Corporation, the disclosure of which is expressly incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates generally to the field of data communications for personal computers (PCs), and in particular to a system for delivering content, such as targeted on-line advertising, to a client device, where such delivery is not in response to a specific request for such content.
  • 2. Related Art
  • The Internet is quickly becoming the preferred data communications medium for a broad class of computer users ranging from private individuals to large multi-national corporations. Such users now routinely employ the Internet to access information, distribute information, correspond electronically, and even conduct personal conferencing. An ever-growing number of individuals, organizations and businesses have established a presence on the Internet through “Web pages” on the World-Wide Web (“the Web”).
  • As the popularity of the Internet has grown, so too have opportunities for on-line marketing. Advertising through the Internet has become enormously popular. Indeed, in some cases on-line services like e-mail are provided free of charge as long as users are willing to receive on-line advertisements.
  • On-line advertisements are typically included as an integral part of the content on Web pages. This approach suffers from a variety of limitations. For example, users tend to follow hyperlinks and move from one Web page to another, much like “surfing” the channels on a television. Unfortunately, such user behavior reduces the impact of advertising, as advertisements generally require captive audiences to be most effective. There is currently no reliable method for ensuring an Internet user's attention.
  • To illustrate another limitation, advertisers generally must purchase individual rights on particular Web pages to distribute their advertisements, since the link to an advertisement is authored into the content. This makes advertising sales a difficult proposition given the enormous number of Web pages on the Internet. Enterprises known as “consolidators,” such as Doubleclick, purchase rights on certain pages and allow many advertisers to share the same space, but such approaches do not solve the fundamental problem that advertising space on each Web page must be individually acquired.
  • Yet another limitation of existing approaches to on-line advertising relates to difficulties in achieving so-called “targeted advertising,” wherein advertisements are specifically tailored to the recipient's interests and preferences. Targeted advertising on the Internet has typically been attempted using a device known as a “cookie,” which is a data item used to maintain client-specific information, such as a marketing profile, accessible by facilities that do not necessarily communicate with one another. For example, a cookie stored on a client device may be accessed by any number of Web sites which that client device visits, assuming those Web sites are preconfigured to do so. Unfortunately, propagating this type of functionality to the many thousands of Web sites on the Internet is impractical.
  • Another approach to targeted advertising on the Internet involves deriving profile information by analyzing the Web sites that particular users visit, as maintained in a standard logging device known as a “clickstream.” Again, however, there is no one widely-implemented mechanism for collecting clickstreams. Even for those Web sites so-equipped, the current state of the art requires the resource-intensive task of merging logs from all of the sites visited by a user.
  • Still more limitations of existing approaches to on-line advertising relate to the nature of the on-line advertisements themselves. On-line advertisements are typically limited in richness due to unacceptable additional latencies that would be introduced by large or highly-rich advertisements. Also, since advertisements must be rendered by a browser installed on the client device, advertisers are restricted with respect to the use of more sophisticated, non-standard data formats and compression techniques. Only those datatypes supported by the browser may be used.
  • In view of the foregoing limitations, there is a need for a system capable of providing targeted distribution of content to network users without requiring widespread changes to existing network infrastructures.
  • SUMMARY OF THE INVENTION
  • An embodiment of the present invention is implemented in a method for presenting dynamic content to a user of a client device. According to that embodiment, a requested data object is presented to a user. Dynamic content is automatically presented to the user in addition to the presentation of the requested data object. The dynamic content comprises information provided by a dynamic executable module running on the client device.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic diagram illustrating a system for dynamic distribution of network content according to an embodiment of the present invention.
  • FIG. 2 is a flow diagram illustrating a method for dynamic distribution of network content according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram illustrating a system for dynamic distribution of network content by a browser according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram illustrating a system for dynamic distribution of network content by an enabled client device according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram illustrating a configuration in which an embodiment of the present invention may be implemented.
  • DETAILED DESCRIPTION
  • Embodiments of the present invention provide a system for the targeted distribution of dynamic content without the limitations of existing approaches, such as those described above. For example, embodiments of the present invention may be applied to on-line advertising in a manner that significantly improves over existing technology, particularly with respect to distribution, targeting, and feedback collection. It should be noted, however, that the scope of the present invention extends well beyond on-line advertising. The same mechanisms and methods described herein may be advantageously applied to applications involving many different types of dynamic content including, but not limited to, subscription services (for example, news, weather, stock quotes), distribution of automatic software updates, or virtually any so-called “out of band” information (that is, information not directly associated with a user request which expects an immediate response, such as a deferred, periodic, or implicit user request). In other words, “dynamic content” as used herein refers broadly to content that is not specifically requested by a user. Thus, while the following detailed description is written in terms of on-line advertising applications, persons skilled in the art will recognize that the same or similar embodiments may be readily adapted for many other types of applications.
  • Looking now at a first embodiment of the present invention, illustrated in FIG. 1, a client device 1 may access a plurality of content servers 7 through a network device 4. Client device 1 includes a browser 2, such as Netscape™, which enables a user of client device 1 to retrieve and display network data objects, such as Web pages resident on content server 7. Content server 7 may reside, for example, on the Internet and be accessible through standard HTTP (HyperText Transfer Protocol) calls; however, the present invention is not limited to any particular network or communications method. In this particular embodiment, network device 4 is a network proxy through which a plurality of client devices 1 access network resources such as content servers 7. Alternatively, network device 4 may itself comprise a network server, a content server, or some other type of stand-alone computer or distributed system of computers coupled, for example, to an ISP's (Internet Service Provider's) network, a corporate network, or anywhere on the Internet. Although FIG. 1 illustrates only a single client device 1, network device 4 will typically be configured to provide multiple client devices with access to network resources.
  • Network device 4 includes an advertising service provider 5 responsible for managing the provision of dynamic content to client device 1. In this particular embodiment, advertising service provider 5 distributes advertising content to client device 1 by embedding a dynamic advertising module (DAM) 9 into one or more Web pages 8 downloaded to client device 1. Advertising service provider 5 may comprise a software module installed in, or otherwise executable by, network device 4. Dynamic advertising module 9 may comprise a dynamic executable module of a type known in the art implemented, for example, using a Java applet or similar utility, which automatically executes upon being loaded onto client device 1.
  • Dynamic advertising module 9 is programmed to control the display of advertising content on client device 1. An advantage of this approach, as opposed to having advertising service module 5 simply embed advertising content into Web page 8, is that most of today's common browsers will display information from such an embedded executable module in a window separate from a requested Web page. This not only eliminates any concerns about disrupting the layout of the Web page, but also provides a more aesthetically-appealing presentation. Another significant benefit provided by the use of dynamic advertising module 9 is that there is no need for client device 1 to be pre-configured with any special software to support the presentation of advertisements.
  • In possible variations of the embodiment illustrated in FIG. 1, network device 4 may be configured to ensure that only a single instance of dynamic advertising module 9 is active on client device 1. Moreover, where client device 1 includes a local cache storage (not shown) accessible by browser 2, network device 4 may be configured to avoid downloading another instance of dynamic advertising module 9 if one already resides in the cache.
  • The foregoing embodiments may be implemented, for example, as part of a system for dynamically transcoding network content. With reference to FIG. 5, network client 12 communicates with an external network 18 through a transcoding server 34. Network client 12 includes a browser 32, such as the Netscape Navigator v.3.0 browser (although the invention is not limited in this respect), which manages the presentation of data to a user. In the illustrated arrangement, network client 12 is “non-enabled,” meaning no specialized transcoding software is preloaded on network client 12. Network 18 may comprise, for example, the Internet. In this particular arrangement, network client 12 communicates requests for information to, and receives information from, transcoding server 34 over a client/server communications link 14. Transcoding server 34 in turn communicates with computers resident on network 18 through server/network communications link 16. The respective communications links 14, 16 may comprise any suitable communications media known in the art.
  • Transcoding server 34 may be configured to provide a wide variety of transcoding services to network client 12 and/or network devices, such as content servers, with which network client 12 communicates. In this context, the term “transcode” refers to virtually any type of addition, deletion or modification of data transmitted to or from network client 12 by or through transcoding server 34. In addition to the provision of dynamic content such as advertising, examples of such transcoding services include data compression, image scaling, and dynamic removal of predetermined content. In the context of the present invention, the provision of dynamic content may be the only transcoding service provided to a particular client device, or may be only one of a variety of services.
  • As illustrated in FIG. 5, transcoding server 34 may include a transcoder 20 with a parser 22 and a plurality of transcode service providers 24. Parser 22 is configured to act upon data received by transcoder 20, such as a request for a network object generated by client device 12 or a reply to such a request provided by a content server or other device on network 18. In this particular example, parser 22 is responsible for selectively invoking one or more of transcode service providers 24 based upon a predetermined selection criterion. With reference to FIG. 1, advertising service provider 5 may be implemented, for example, as a transcoding service provider 24.
  • In the arrangement shown in FIG. 5, transcoding server 34 includes an HTTP (HyperText Transfer Protocol) remote proxy 36, capable of accessing network 18 over server/network communications link 16. HTTP remote proxy 36 provides functionality different from known network proxies, which generally are little more than a conduit for requests to, and replies from, external Internet resources, in that it is capable not only of examining such requests and replies, but also of acting upon commands in the requests by, for example, determining whether or not to transcode content. Moreover, using transcoder 20, HTTP remote proxy 36 is capable of changing content received from network 18 prior to returning it to a requesting network client 12.
  • Looking more closely at the arrangement shown in FIG. 5, transcoder 20 is coupled to HTTP remote proxy 36. Parser 22 manages the transcoding of data to be transmitted from transcoding server 34 to network client 12. To this end, parser 22 controls transcode service providers 24 to selectively transcode content based on a predetermined selection criterion. For example, one or more transcode service providers 24 may provide the capability to compress and/or scale different types of data content, such as image, video, or HTML (HyperText Markup Language), in addition to providing content blocking functionality as discussed above. Transcoding server 34 may also include a server-side cache memory 30 managed by a server-side cache interface 28. Server-side cache memory 30 may be used to store both original and transcoded versions of content for later transmission to network client 12 without the need to re-retrieve the content from network 18 or to re-transcode the content.
  • Parser 22 may comprise a relatively simple, uniform interface to HTTP remote proxy 36, and may provide an API (Application Programming Interface) for transcoding data received by HTTP remote proxy 36. Parser 22 manages one or more transcode service providers 24 that are accessed through a common SPI (Service Provider Interface). In this particular implementation, parser 22 is designed in compliance with the Windows Open Systems Architecture (WOSA), and may be implemented as a Win32 DLL (Dynamic Link Library). The WOSA architecture, described in Readings on Microsoft Windows and WOSA (Microsoft Corp. 1995), enables additional transcode service providers 24 to be dynamically added to the system to provide new features and/or better transcoding algorithms, while at the same time not requiring changing or retesting other software components in the system.
  • Like parser 22, server-side cache interface 28 may be modeled after a standard Get/Set interface. Server-side cache memory 30 essentially “owns” all cached objects, in that it manages the properties and storage of the objects and may invalidate any non-locked object at any time; however, the actual format of any given cached object is known only by parser 22 and its associated transcode service providers 24. Thus, for data integrity and transcoding efficiency purposes, all access to server-side cache memory 30 in this arrangement is through parser 22.
  • In operation, transcoder 20 may use a Read( ) call to read data from a specified cached object data stream. For example, transcode service provider 24 may invoke this call and tunnel stream data through HTTP remote proxy 36 directly to network client 12. Similarly, a Write( ) call may be used to cache data from a new HTTP data stream. This call will append an incoming data stream received from, for example, a Web server or transcode service provider 24, to an opened cache stream which may be concurrently read using the Read( ) call.
  • Parser 22 may be configured to include the following calls:
      • GetObject(URL, InParams, &OutParams, &OutStream, . . . );
      • GetScaledObject(URL, InParams, &OutParams, &OutStream, Stage, . . . );
      • PutObject(URL, InParamStruct, &InStream, &OutParams, &OutStream, . . . ).
        Parser 22 may use such calls to manage the provision of requested content to network client 12. For example, the GetObject( ) call may be used to service non-enabled client requests, and returns a non-transcoded version of a specified hypertext object. In this arrangement, transcoding server 34 assumes that each HTTP request has a unique thread that may be blocked until the request is satisfied. Accordingly, the GetObject( ) call will block until it either returns the requested data stream or indicates failure with a cause (e.g., object does not exist). This ability to return a so-called standard hypertext object is advantageous for compatibility reasons, enabling embodiments of the present invention to be used with existing browsers that do not include support for certain transcoding functionality (e.g., advanced data compression), and enabling users to selectively retrieve non-transcoded versions.
  • The GetScaledObject( ) call is similar to GetObject( ), and is also used to request an object from server-side cache memory 30; however, it adds support for requesting a particular version of that object, such as a high-quality rendition. Unlike traditional caching proxies, transcode service providers 24 can use server-side cache memory 30 to store several different versions of an object to support clients with different communications and/or presentation capabilities. Thus, an additional “Stage” parameter may be used to indicate which version of the cached object is to be returned to network client 12. Where transcode service provider 24 is configured to scale network content, it may use this parameter to request a version of a cached object having, for example, a default scaled quality, a refinement to a better-quality version, or the original non-scaled version.
  • In this particular arrangement, when network client 12 requests a hypertext object, HTTP remote proxy 36 uses either the GetObject( ) or GetScaledObject( ) call (depending on if network client 12 is capable of receiving scaled/transcoded datatypes) to retrieve the hypertext object from parser 22. If the hypertext object is not found, parser 22 uses the CreateEntry( ) call to create an entry (in effect, a placeholder) in server-side cache memory 30 for the new object. The new entry is returned to HTTP remote proxy 36, which requests the hypertext object from network 18. As a data stream for the hypertext object is returned, HTTP remote proxy 36 calls parser 22 using the PutObject( ) call, passing into this call the new entry and the handle to the data stream to be placed into the entry. Parser 22 selects an appropriate transcode service provider 24 based, for example, on the content type of the data stream. In this context, the term content type encompasses a datatype, an HTTP MIME (Multipurpose Internet Mail Extensions) type, a content format, and so on. The selected transcode service provider 24 uses a separate thread to read the incoming data stream, transcode it (for example, scan for predetermined content and delete it if found), and place it within the entry of server-side cache memory 30. The current thread immediately returns to HTTP remote proxy 36, which once again calls GetScaledObject( ) (or GetObject( )). This case will always result in a cache hit. This thread then works simultaneously with the separate thread in the PutObject( ) to tunnel data (either original or transcoded) from transcoding server 34 to network client 12.
  • As discussed further herein, the configuration shown in FIG. 5 is just one of many different ways in which embodiments of the present invention may be implemented. For example, the dynamic content provisions functionality could be implemented in a so-called “enabled client” containing specialized software for performing the functions attributed to dynamic advertising module 9 in FIG. 1. Similar to the configuration of FIG. 5, such specialized software may be implemented, for example, as a client-side transcode service provider, as part of a local proxy, as part of the browser running on the client device, or as an add-in module running on the client device. The present invention is not limited in this regard.
  • By way of further illustration, FIG. 2 provides a flow diagram illustrating a method for distributing content using, for example, a system such as that of FIG. 1 or FIG. 5. According to this embodiment, processing may begin upon receipt of a data object, such as a data stream representing a requested Web page, to be downloaded to client device 1 (Step 15). Prior to downloading the data object, the device performing the method, such as network device 4, embeds code into the data object to provide dynamic advertising content (Step 20). This code may comprise, for example, dynamic advertising module 9 of the embodiment illustrated in FIG. 1. The data object with the embedded code is then downloaded to client device 1 (Step 25). In a variation on this embodiment, network device 4 may be configured to determine whether client device 1 is to receive dynamic advertising content. Such a determination may be performed either upon receipt of a request for a data object from client device 1, or upon receipt of the beginning of a response to such a request from content server 7. Such a determination may be based upon, for example, an authorization table maintained or otherwise accessible by advertising service provider 5.
  • According to another embodiment of the present invention, illustrated in FIG. 3, browser 2 of client device 1 includes a dynamic advertising module 9 which essentially integrates into browser 2 the functionality described above for the dynamic advertising module 9 of FIG. 1. Dynamic advertising module 9 may be implemented, for example, as a software routine within browser 2, or as a separate executable module which browser 2 may invoke. In this way, browser 2 may be configured to render advertisements as it displays user-requested content. In addition, dynamic advertising module 9 may cause browser 2 to fetch advertisements from one or more network locations.
  • According to yet another embodiment, illustrated in FIG. 4, client device 1 may be a so-called “enabled client,” whereby dynamic advertising functionality such as that described above is provided through specialized software installed on client device 1. In this embodiment, client device 1 includes a local proxy 10 coupled to browser 2 which intercepts all network communications to or from client device 1. Client device 1 also includes a dynamic advertising module 9 coupled to a graphical user interface (GUI) 11 capable of displaying so-called “rich” advertisements (that is, high-quality content) represented in datatypes which may not be supported by browser 2. Local proxy 10 is configured to maintain contact with network device 4 in the same manner as dynamic advertising module 9 of the FIG. 1 embodiment; however, since local proxy 10 intercepts all requests issued by browser 2, a significant portion of the work that network proxy 4 might otherwise be required to do, such as recording clickstreams, can be handled at the client-level by local proxy 10 and/or dynamic advertising module 9. Such an approach is especially advantageous where overall system performance may be improved by off-loading work from network proxy 4, such as where network proxy 4 services a large number of client devices.
  • Among the features which may be provided by particular embodiments of the present invention, including those illustrated in FIGS. 1-5, is session-based advertising. The goal of session-based advertising is to provide an advertiser with a relatively “captive” viewing audience for advertising content. With reference to the embodiment illustrated in FIG. 1, session-based advertising may be implemented by coding advertising service provider 5 and/or dynamic advertising module 9 to fetch and display advertisements from one or more predetermined network locations using, for example, standard HTTP calls. Dynamic advertising module 9 may then control how long an advertisement is displayed, regardless of which Web page(s) 8 the user visits through browser 2. The fetching and/or display of advertisements may be based upon an existing user profile maintained, for example, in a user profile table (not shown) accessible by advertising service provider 5. The advertiser is thus given the closest thing possible to a captive audience, since the targeted advertising can be constantly displayed even when the user rapidly changes the content being viewed. Moreover, since the content displayed by dynamic advertising module 9 appears regardless of what Web page 8 the user is viewing, there is no need for the advertiser to request any content changes from particular content providers in order to display their advertisements.
  • In possible variations of this embodiment, dynamic advertising module 9 may be configured to maintain contact with advertising service provider 5 (for example, through HTTP “POST” messages) so that the advertisements displayed reflect any changes in the original user profile resulting from activities during the current session. In other words, the user profile may be updated as a result of the user's activities during the current session, and those updates may be reflected in the dynamic content presented during that session. Advertising service provider 5 may also set and/or change configuration information controlling the operation of dynamic advertising module 9, such as how long to display each advertisement. It is also possible to integrate existing on-line advertising techniques into dynamic advertising module 9, such as the feature of known banner advertisements which enables users to click on an advertisement to access a location on the network predetermined by the advertiser, such as the advertiser's corporate presence server.
  • As alluded to above, it may be beneficial to collect and record clickstreams for individual users for purposes of developing and/or updating user profiles useful in highly-targeted advertising. This may be done, for example, by a browser, a local proxy, a network proxy, or a content server. It may be preferable, however, to implement such a feature in a network proxy (such as that shown in FIG. 1) to avoid having to modify existing client- or server-side devices. Another advantage of the network proxy approach, at least compared with a server-based approach, is the elimination of the sometimes difficult task of having a content server determine which logs correspond to particular users. The difficulty arises because IP addresses are often dynamically assigned on a per request basis, meaning a particular user's requests over the course of a single session may reach a content server with a number of different IP addresses. By contrast, according to the proxy-based embodiments discussed herein, a unique IP address may be assigned and used for all requests during any particular user session, making the clickstream collection and recording mechanism straight-forward and accurate.
  • As a further refinement providing even greater targeting capabilities, the clickstream gathering mechanism may be configured to weight a user's interest in particular Web pages or Web sites (that is, a group of pages from the same Internet domain). For example, network device 4 of FIG. 1 may be programmed to measure a user's interest by how long the user spends looking at a particular Web page or site. This information may be derived from the HTTP transactions between client device 1 and content server 7, such as by timestamping requests received from client device 1 in a log maintained by network device 4. Such a feature is most advantageously provided with either a proxy-based or a browser-based implementation because such implementations enable an accurate account of every request issued from client device 1. By contrast, currently-known approaches using server-side logs do not work as well because server logs cannot easily detect the “click” by which the user leaves the current server (rather, it will generally only be detected by the new server to which the user goes). Similarly, user interest may be measured by how many hyperlinks the user follows from the same Web page or site, and/or how frequently the user visits a particular Web page or site over time. To facilitate such features, network device 4 may be configured to maintain a user history log including entries for each user to which dynamic advertising content is provided.
  • Where a measurement mechanism is provided for tracking how long a user spends at a particular Web page or site, the mechanism may include a timeout facility for ignoring out-of-bounds values which might otherwise skew results. A suitable timeout period may be on the order of five minutes for any particular Web page. Such a timeout feature is beneficial to ensure that the Web page which a user last looks at before he/she turns off their system (or leaves for an extended period of time) does not get misinterpreted as the user having spent an extremely long time looking at that page.
  • In one particular implementation of a time-based weighting feature, network device 4 may be programmed to perform the following time-stamping algorithm:
      • 1. When a requested data object is received for downloading to client device 1, record the current object ID (for example, a URL (Uniform Resource Locator)) and the current time.
      • 2. Compare the current time with the time recorded for the previous data object received. If the difference is not greater than a predetermined timeout value, record the difference with the previous object ID; else, record “0” with the previous object ID.
        It will generally be sufficient to limit timestamping activities to the receipt of “.HTML” files, thereby minimizing the number of entries caused by multiple objects (for example, images) that may be part of the same HTML page. For analytical purposes, the time between “0” and the timeout period may be divided into several slots (for example, 0-1 minute may be designated “little/no interest,” 1-2 minutes “moderate interest,” 2-3 minutes “very interested,” and so on).
  • Another advantageous feature which may be provided by embodiments of the present invention, including those illustrated in FIGS. 1-5, is the ability to download dynamic content to client device 1 primarily in a background mode, thereby avoiding the introduction of excessive latency into downloads of “regular” (that is, specifically requested) user content as a result of the addition of advertising information. In essence, the goal is to prevent competition between advertisements and user-requested content during data transfers to client device 1. As one example of how this goal may be achieved, dynamic advertising module 9 (whether resident in browser 2 or elsewhere in client device 1) may generate requests for advertising content to be displayed using a distinguishable request (for example, a particular “POST” message, a regular HTTP “GET” with a particular URL, or any other form of predetermined inter-device communication). Network device 4 will then be able to distinguish requests for advertisements (or any other low-priority content) from user-initiated content requests (or any other high-priority content), and ensure that user-initiated content requests always get processing preference.
  • According to a particular implementation of this feature, network device 4 maintains state information about all of the advertisement requests being currently processed (for example, a list of sockets being used for data transfer). This information may be keyed by a unique identifier for each client device 1, such as an IP address. Each new connection accepted by network device 4 may then be categorized either as an advertisement request or as a user content request. If the former, the request is added to the list and processed if no other high-priority requests are being processed; otherwise, the network device 4 may systematically abort all other low-priority requests and begin processing the higher-priority request. In such a case, the low-priority requests will have to be restarted at a later time, either by network device 4 or by dynamic advertising module 9. Alternatively, rather than aborting the low-priority requests, network device 4 may temporarily suspend all processing related to low-priority requests and begin processing the higher-priority content request. The suspended request may remain unprocessed until all outstanding high-priority content requests have been satisfied. This alternative has the advantage of making more efficient use of network resources by not discarding partially-transferred content and maintaining the state of the connection (thus saving overhead required for setting up new connections).
  • The just-described approaches for background processing may be implemented using existing protocol stacks. A possible alternative approach takes advantage of overlapped input/output features that are available in some protocol stack implementations, such as Winsock2. Such an alternative approach provides a more fine-grained priority than the methods just described by waiting for the completion of each high-priority send operation instead of waiting for the end of the high-priority socket. This mechanism makes use of the feature in such protocol stacks which notifies the calling application when each send operation completes. Low-priority (or out of band) send operations can be delayed until all (or most) previous high-priority send operations are completed. Thus, both high- and low-priority sockets may be opened simultaneously, but low-priority data is only sent when the in-band socket goes idle (for example, due to server or network congestion). This is especially useful for embedded content streams such as video or persistent HTTP streams. Other optimizations are also possible, such as multiple priority levels, or anticipating socket/send completion based on average data throughput. This solution increases utilization of the communications link to the user without increasing user-visible latencies.
  • Another benefit provided by embodiments of the present invention is that it becomes possible to provide richer advertising content than is practical with existing on-line advertising methods. Since advertising need not add additional latency to the user's browsing, it is practical to download dynamic content including arbitrary complex objects, such as executables, as well as graphical or other multimedia data. For example, an embodiment of the present invention may be used to download a demo version of a software program being advertised, enabling the user to click on the advertisement and instantly try out the demo without waiting for the demo to be downloaded. Similarly, a preview clip of a music CD or movie may be shown to a user after it has been completely downloaded. Likewise, a “floating” animation (that is, one not framed in a window) that the user can interact with while browsing may be provided in the manner of a screen-saver. Thus, advertisements can be very interactive and very rich, greatly increasing their effectiveness. Moreover, rich advertisements may be further improved by installing software, such as an advertisement player, on a client machine. This would permit downloading only data (for example, sound, images) and instructions on how to playback the data. Savings in download time can then be realized because the player would contain most of the executable code that would otherwise have to be downloaded with every advertisement.
  • Embodiments of the present invention likewise enable advertisements to be targeted to a degree not readily achievable with existing technology. Whether the mechanisms are implemented in a network device or in client-based software, a wide variety of targeting criteria are possible. For example, targeting may be based upon a list of Web pages for which demographic data is available. To illustrate, it is known that a high percentage of visitors to the Dilbert™ cartoon page are white-collar office workers, who may be good candidates to receive advertisements for such items as luxury cars. Targeting may also be based on keywords in the content page, the request, or the URL accessed. A proxy (local or network) may scan for predetermined keywords and then decide which category of advertising to request. For example, if a user is viewing a Web page containing many occurrences of the words “stock” and “trade,” the user would likely be a good candidate for a discount brokerage advertisement. Unlike existing mechanisms that scan requests for keywords, embodiments of the present invention do not require any special software on the content server.
  • Targeting may also be based on user profile information. Such information may be collected through any of a wide variety of known methods, such as personal surveys or clickstream analysis, and then used to match profiles requested by advertisers. Embodiments of the present invention enable any advertiser to use this type of targeting capability on any Web page, regardless of whether the Web page already has a hyperlink to another advertiser or group of advertisers, since the matching may be done at the proxy (and possibly completely independent of the content). Targeting may also be based on recently-installed and/or frequently-used client-based applications. For example, software on a client machine can gather information by examining the client system (for example, the Windows registry and/or file system on PCs) for the date when applications were installed (or are frequently run). This enables advertisers to target advertisements for software add-ons, upgrades, and related products.
  • Yet another possibility is targeting based on client computer capabilities. For example, the client machine may be queried for its media and processing capabilities (for example, by looking at which type of software device drivers are loaded/active). This allows rich content to be customized for each user's computer capabilities to prevent instances where the client is unable to consume all of the data transferred due to system limitations, such as advertisements with audio or those requiring high-resolution video being downloaded to clients lacking the capability to render such content. It should be noted that the foregoing targeting possibilities are presented only by way of example, and not by way of limitation.
  • Embodiments of the present invention may be distributed, for example, as a set of instructions residing on a storage medium. Such a storage medium might be a memory of a computer; a piece of firmware; a portable storage device, such as a diskette or other magnetic storage device, or a CD-ROM; or any other medium on which it is known to store executable instructions.
  • Although the present invention has been described largely with reference to embodiments for processing requests for data from the Internet, persons skilled in the art will recognize that it is equally applicable to other networking environments. For example, embodiments of the present invention may be used to distribute dynamic content to users on an “intranet.” An intranet typically is a secure corporate network modeled after the Internet architecture, and generally includes mechanisms for communicating with external networks such as the Internet.
  • The foregoing is a detailed description of particular embodiments of the present invention. The invention embraces all alternatives, modifications and variations that fall within the letter and spirit of the claims, as well as all equivalents of the claimed subject matter. For example, the foregoing embodiments need not be implemented in network devices which communicate using HTTP. The same methods described herein may be applied to any network element capable of intercepting network requests, such as protocol stacks on clients, servers, proxies or routers, or in specially-configured routers or other specially-built hardware which can intercept packets transmitted over a network. Likewise, the gathering of user profile information and demographics (for example, clickstreams) may also be done at the client using either local software or an enhanced browser. Persons skilled in the art will recognize from the foregoing detailed description that many other alternatives, modifications and variations are possible.

Claims (9)

1-8. (canceled)
9. A client device to present dynamic content to a user, said client device comprising a computer including:
a browser programmed to present a requested data object to the user; and
a dynamic executable module programmed to automatically present dynamic content to the user in conjunction with the presentation of the requested data object.
10. The client device of claim 9, wherein said dynamic executable module is integrated with said browser.
11. The client device of claim 9, wherein said dynamic executable module further comprises a graphical user interface programmed to present dynamic content having a datatype not supported by said browser.
12. The client device of claim 9, wherein the client device is coupled to a network device by a communications link, said dynamic executable module being further programmed to retrieve dynamic content from the network device.
13. The client device of claim 12, wherein the network device comprises a network proxy arranged between the client device and a network.
14. The client device of claim 12, wherein the network device comprises a content server.
15. The client device of claim 9, wherein said dynamic content comprises advertising information.
16-28. (canceled)
US11/125,199 1997-03-27 2005-05-10 System for delivery of dynamic content to a client device Abandoned US20050216572A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/125,199 US20050216572A1 (en) 1997-03-27 2005-05-10 System for delivery of dynamic content to a client device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US4100197P 1997-03-27 1997-03-27
US09/000,709 US6892226B1 (en) 1997-03-27 1997-12-30 System for delivery of dynamic content to a client device
US11/125,199 US20050216572A1 (en) 1997-03-27 2005-05-10 System for delivery of dynamic content to a client device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/000,709 Continuation US6892226B1 (en) 1997-03-27 1997-12-30 System for delivery of dynamic content to a client device

Publications (1)

Publication Number Publication Date
US20050216572A1 true US20050216572A1 (en) 2005-09-29

Family

ID=34576100

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/000,709 Expired - Lifetime US6892226B1 (en) 1997-03-27 1997-12-30 System for delivery of dynamic content to a client device
US11/125,199 Abandoned US20050216572A1 (en) 1997-03-27 2005-05-10 System for delivery of dynamic content to a client device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/000,709 Expired - Lifetime US6892226B1 (en) 1997-03-27 1997-12-30 System for delivery of dynamic content to a client device

Country Status (1)

Country Link
US (2) US6892226B1 (en)

Cited By (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018778A1 (en) * 2001-06-29 2003-01-23 Martin Anthony G. System, method and computer program product for collecting information about a network user
US20030200316A1 (en) * 2002-04-18 2003-10-23 Yoshimasa Isozaki Server apparatus, client apparatus, contents distributing system, contents distributing program, and information processing program
US20050027549A1 (en) * 2003-08-01 2005-02-03 Sbc Knowledge Ventures, L.P. Multi-layer architecture for property management
US20060085379A1 (en) * 2004-10-18 2006-04-20 Niklas Heidloff Automatic subscriptions to documents based on user navigation behavior
US20070005791A1 (en) * 2005-06-28 2007-01-04 Claria Corporation Method and system for controlling and adapting media stream
US20070283036A1 (en) * 2004-11-17 2007-12-06 Sujit Dey System And Method For Providing A Web Page
US20070297387A1 (en) * 2004-09-02 2007-12-27 Sujit Dey Content And Channel Aware Object Scheduling And Error Control
US20080082905A1 (en) * 2006-09-29 2008-04-03 Yahoo! Inc. Content-embedding code generation in digital media benefit attachment mechanism
US20080082904A1 (en) * 2006-09-29 2008-04-03 Yahoo! Inc. Script-based content-embedding code generation in digital media benefit attachment mechanism
US20080154951A1 (en) * 2006-12-22 2008-06-26 Yahoo! Inc. Link Retrofitting of Digital Media Objects
US20080244038A1 (en) * 2007-03-30 2008-10-02 Yahoo! Inc. Point of Presence Distribution Mechanism for Digital Content Objects
US20090178131A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Globally distributed infrastructure for secure content management
US20090299860A1 (en) * 2008-05-29 2009-12-03 Scottrade, Inc. Method and System for Creating Dynamic Advertisements
US20090300739A1 (en) * 2008-05-27 2009-12-03 Microsoft Corporation Authentication for distributed secure content management system
US20100082440A1 (en) * 2008-09-30 2010-04-01 Microsoft Corporation Adaptive run-time advertisements
US20100094711A1 (en) * 2003-09-30 2010-04-15 Sony Corporation Reception device and management device of service advertisement information
US20100306039A1 (en) * 2009-06-02 2010-12-02 Meebo, Inc. Techniques for customized delivery of advertisements
US20100332973A1 (en) * 2006-10-25 2010-12-30 Hewlett-Packard Development Company, L.P. Methods and systems for creating, interacting with, and utilizing a superactive document
US20110010433A1 (en) * 2009-07-10 2011-01-13 Microsoft Corporation Targeted presentation and delivery of themes
US20110022477A1 (en) * 2009-07-24 2011-01-27 Microsoft Corporation Behavior-based user detection
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US20110302026A1 (en) * 2010-06-03 2011-12-08 Cisco Technology, Inc. System and method for providing targeted advertising through traffic analysis in a network environment
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US8170912B2 (en) 2003-11-25 2012-05-01 Carhamm Ltd., Llc Database structure and front end
US20120109741A1 (en) * 2010-10-28 2012-05-03 AdOn Network, Inc. Methods and apparatus for dynamic content
US20120136724A1 (en) * 2001-06-14 2012-05-31 Mcguire Myles P Method and system for providing network based target advertising
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US8271312B2 (en) 2010-08-25 2012-09-18 Hewlett-Packard Development Company, L.P. Introducing revenue-generating features
US8316003B2 (en) 2002-11-05 2012-11-20 Carhamm Ltd., Llc Updating content of presentation vehicle in a computer network
US20130018948A1 (en) * 2011-07-14 2013-01-17 Sony Corporation Method and system for use in providing network services interchange
US20130104164A1 (en) * 2006-10-03 2013-04-25 Anand Madhavan Targeting of advertisements based on mutual information sharing between devices over a network
US8521827B2 (en) 2001-10-18 2013-08-27 Carhamm Ltd., Llc Presentation of information to end-users
US8521891B1 (en) * 2007-06-21 2013-08-27 Mcafee, Inc. Network browser system, method, and computer program product for conditionally loading a portion of data from a network based on a data transfer rate
US8544033B1 (en) 2009-12-19 2013-09-24 Cisco Technology, Inc. System and method for evaluating content in a digital signage environment
US8620952B2 (en) 2007-01-03 2013-12-31 Carhamm Ltd., Llc System for database reporting
US8645941B2 (en) 2005-03-07 2014-02-04 Carhamm Ltd., Llc Method for attributing and allocating revenue related to embedded software
US8689238B2 (en) 2000-05-18 2014-04-01 Carhamm Ltd., Llc Techniques for displaying impressions in documents delivered over a computer network
US8769440B2 (en) 1998-07-17 2014-07-01 B.E. Technology, L.L.C. Method of reactive targeted advertising
US20150006288A1 (en) * 2013-06-29 2015-01-01 Ten Farms, Inc. Online advertising integration management and responsive presentation
US20150058453A1 (en) * 2005-07-15 2015-02-26 Vubiquity Entertainment Corporation System And Method For Optimizing Distribution Of Media Files
WO2015034752A1 (en) * 2013-09-04 2015-03-12 Akamai Technologies, Inc. Server-side systems and methods for reporting stream data
US20150227977A1 (en) * 2014-02-11 2015-08-13 Facebook, Inc. Generating user audience groups to facilitate advertisement targeting
US9137093B1 (en) * 2007-07-02 2015-09-15 Comscore, Inc. Analyzing requests for data made by users that subscribe to a provider of network connectivity
US9495446B2 (en) 2004-12-20 2016-11-15 Gula Consulting Limited Liability Company Method and device for publishing cross-network user behavioral data
US9633367B2 (en) 2007-02-01 2017-04-25 Iii Holdings 4, Llc System for creating customized web content based on user behavioral portraits

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9130765B1 (en) * 1996-06-12 2015-09-08 Michael Carringer System and method for generating a modified web page by inline code insertion in response to an information request from a client computer
US8601050B2 (en) 1996-06-12 2013-12-03 Michael Carringer System and method for generating a modified web page by inline code insertion in response to an information request from a client computer
AU740012B2 (en) 1997-03-12 2001-10-25 Nomadix, Inc. Nomadic translator or router
US6453334B1 (en) 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6760746B1 (en) 1999-09-01 2004-07-06 Eric Schneider Method, product, and apparatus for processing a data request
IL125432A (en) * 1998-01-30 2010-11-30 Easynet Access Inc Personalized internet interaction
US6636896B1 (en) 1998-09-11 2003-10-21 Lv Partners, L.P. Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet
US7392945B1 (en) 1998-09-11 2008-07-01 Lv Partners, L.P. Portable scanner for enabling automatic commerce transactions
US7191247B1 (en) 1998-09-11 2007-03-13 Lv Partners, Lp Method for connecting a wireless device to a remote location on a network
US6823388B1 (en) 1998-09-11 2004-11-23 L.V. Parners, L.P. Method and apparatus for accessing a remote location with an optical reader having a programmable memory system
US7440993B1 (en) 1998-09-11 2008-10-21 Lv Partners, L.P. Method and apparatus for launching a web browser in response to scanning of product information
US6868433B1 (en) 1998-09-11 2005-03-15 L.V. Partners, L.P. Input device having positional and scanning capabilities
US6745234B1 (en) 1998-09-11 2004-06-01 Digital:Convergence Corporation Method and apparatus for accessing a remote location by scanning an optical code
US7386600B1 (en) 1998-09-11 2008-06-10 Lv Partners, L.P. Launching a web site using a personal device
US8266266B2 (en) 1998-12-08 2012-09-11 Nomadix, Inc. Systems and methods for providing dynamic network authorization, authentication and accounting
US8713641B1 (en) 1998-12-08 2014-04-29 Nomadix, Inc. Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device
US7194554B1 (en) 1998-12-08 2007-03-20 Nomadix, Inc. Systems and methods for providing dynamic network authorization authentication and accounting
US8037168B2 (en) 1999-07-15 2011-10-11 Esdr Network Solutions Llc Method, product, and apparatus for enhancing resolution services, registration services, and search services
US6338082B1 (en) 1999-03-22 2002-01-08 Eric Schneider Method, product, and apparatus for requesting a network resource
US8667051B2 (en) * 1999-03-22 2014-03-04 Esdr Network Solutions Llc Real-time communication processing method, product, and apparatus
US9141717B2 (en) 1999-03-22 2015-09-22 Esdr Network Solutions Llc Methods, systems, products, and devices for processing DNS friendly identifiers
US7188138B1 (en) 1999-03-22 2007-03-06 Eric Schneider Method, product, and apparatus for resource identifier registration and aftermarket services
USRE43690E1 (en) 1999-03-22 2012-09-25 Esdr Network Solutions Llc Search engine request method, product, and apparatus
US7523191B1 (en) * 2000-06-02 2009-04-21 Yahoo! Inc. System and method for monitoring user interaction with web pages
WO2000078079A1 (en) * 1999-06-11 2000-12-21 Nokia Corporation A method for providing a user interface to a subscriber terminal for configuring intelligent network services
USRE44207E1 (en) 1999-09-01 2013-05-07 Esdr Network Solutions Llc Network resource access method, product, and apparatus
US7188186B1 (en) * 1999-09-03 2007-03-06 Meyer Thomas W Process of and system for seamlessly embedding executable program code into media file formats such as MP3 and the like for execution by digital media player and viewing systems
US6360221B1 (en) * 1999-09-21 2002-03-19 Neostar, Inc. Method and apparatus for the production, delivery, and receipt of enhanced e-mail
US9451310B2 (en) 1999-09-21 2016-09-20 Quantum Stream Inc. Content distribution system and method
US9092535B1 (en) 1999-09-21 2015-07-28 Google Inc. E-mail embedded textual hyperlink object
US6792575B1 (en) * 1999-10-21 2004-09-14 Equilibrium Technologies Automated processing and delivery of media to web servers
US8190708B1 (en) 1999-10-22 2012-05-29 Nomadix, Inc. Gateway device having an XML interface and associated method
US7017002B2 (en) * 2000-01-05 2006-03-21 Rambus, Inc. System featuring a master device, a buffer device and a plurality of integrated circuit memory devices
US6446045B1 (en) * 2000-01-10 2002-09-03 Lucinda Stone Method for using computers to facilitate and control the creating of a plurality of functions
US7249059B2 (en) * 2000-01-10 2007-07-24 Dean Michael A Internet advertising system and method
US7328239B1 (en) 2000-03-01 2008-02-05 Intercall, Inc. Method and apparatus for automatically data streaming a multiparty conference session
US7187947B1 (en) 2000-03-28 2007-03-06 Affinity Labs, Llc System and method for communicating selected information to an electronic device
US7437660B1 (en) * 2000-06-23 2008-10-14 Microsoft Corporation Editable dynamically rendered web pages
US7464086B2 (en) * 2000-08-01 2008-12-09 Yahoo! Inc. Metatag-based datamining
US7437312B2 (en) * 2000-08-23 2008-10-14 Bizrate.Com Method for context personalized web browsing
US7089295B2 (en) * 2000-09-06 2006-08-08 Oracle International Corporation Customizing content provided by a service
US20020138617A1 (en) * 2000-09-06 2002-09-26 Jacob Christfort Providing content from multiple services
US7127705B2 (en) * 2000-09-06 2006-10-24 Oracle International Corporation Developing applications online
US20020087630A1 (en) * 2000-10-20 2002-07-04 Jonathan Wu Enhanced information and presence service
US9819561B2 (en) 2000-10-26 2017-11-14 Liveperson, Inc. System and methods for facilitating object assignments
US8868448B2 (en) 2000-10-26 2014-10-21 Liveperson, Inc. Systems and methods to facilitate selling of products and services
US7398216B2 (en) * 2000-12-12 2008-07-08 Lockheed Martin Corporation Network dynamic service availability
US7275089B1 (en) * 2001-03-15 2007-09-25 Aws Convergence Technologies, Inc. System and method for streaming of dynamic weather content to the desktop
US7380250B2 (en) * 2001-03-16 2008-05-27 Microsoft Corporation Method and system for interacting with devices having different capabilities
US7213071B2 (en) * 2001-04-03 2007-05-01 International Business Machines Corporation Quality of service improvements for network transactions
US7134122B1 (en) 2001-05-31 2006-11-07 Oracle International Corporation One click deployment
US20030187739A1 (en) * 2001-06-07 2003-10-02 Powers Arthur C. System and method of providing an interface to the internet
US7185290B2 (en) * 2001-06-08 2007-02-27 Microsoft Corporation User interface for a system and process for providing dynamic communication access and information awareness in an interactive peripheral display
US20020186257A1 (en) * 2001-06-08 2002-12-12 Cadiz Jonathan J. System and process for providing dynamic communication access and information awareness in an interactive peripheral display
JP2003006555A (en) * 2001-06-25 2003-01-10 Nova:Kk Content distribution method, scenario data, recording medium and scenario data generation method
US20030004998A1 (en) * 2001-06-29 2003-01-02 Chutney Technologies, Inc. Proxy-based acceleration of dynamically generated content
US7594001B1 (en) * 2001-07-06 2009-09-22 Microsoft Corporation Partial page output caching
US7840645B1 (en) * 2001-10-22 2010-11-23 Cisco Technology, Inc. Methods and apparatus for providing content over a computer network
US20030120560A1 (en) * 2001-12-20 2003-06-26 John Almeida Method for creating and maintaning worldwide e-commerce
US8037091B2 (en) 2001-12-20 2011-10-11 Unoweb Inc. Method of using a code to track user access to content
US6947772B2 (en) * 2002-01-31 2005-09-20 Qualcomm Incorporated System and method for providing messages on a wireless device connecting to an application server
US7114160B2 (en) 2002-04-17 2006-09-26 Sbc Technology Resources, Inc. Web content customization via adaptation Web services
US20030204573A1 (en) * 2002-04-30 2003-10-30 Andre Beck Method of providing a web user with additional context-specific information
WO2003107206A1 (en) * 2002-05-08 2003-12-24 You Networks, Inc. Delivery system and method for uniform display of supplemental content
US20030233469A1 (en) * 2002-06-12 2003-12-18 Knowlson Kenneth L. Content server
US20040103118A1 (en) * 2002-07-13 2004-05-27 John Irving Method and system for multi-level monitoring and filtering of electronic transmissions
US20040103122A1 (en) * 2002-07-13 2004-05-27 John Irving Method and system for filtered web browsing in a multi-level monitored and filtered system
US20040111423A1 (en) * 2002-07-13 2004-06-10 John Irving Method and system for secure, community profile generation and access via a communication system
US8838622B2 (en) 2002-07-13 2014-09-16 Cricket Media, Inc. Method and system for monitoring and filtering data transmission
US20040122692A1 (en) 2002-07-13 2004-06-24 John Irving Method and system for interactive, multi-user electronic data transmission in a multi-level monitored and filtered system
US6996394B2 (en) 2002-08-30 2006-02-07 Qualcomm Incorporated Server processing in providing messages for a wireless device connecting to a server
US7039398B2 (en) 2002-08-30 2006-05-02 Qualcomm Incorporated Server processing of interactive screens for a wireless device
KR100513297B1 (en) * 2003-01-24 2005-09-09 삼성전자주식회사 System of managing mutimedia file in intranet and method thereof
US7349950B2 (en) * 2003-04-10 2008-03-25 At&T Delaware Intellectual Property, Inc. Method, system and storage medium for accessing dynamic content
US8103540B2 (en) 2003-06-05 2012-01-24 Hayley Logistics Llc System and method for influencing recommender system
US8140388B2 (en) * 2003-06-05 2012-03-20 Hayley Logistics Llc Method for implementing online advertising
US20040254827A1 (en) * 2003-06-13 2004-12-16 Hind John R. Methods, systems and computer program products for indirect profiling of web users
US7567979B2 (en) * 2003-08-15 2009-07-28 Microsoft Corporation Expression-based web logger for usage and navigational behavior tracking
WO2005043341A2 (en) * 2003-10-31 2005-05-12 Miva, Inc. System and method for distributing content using advertising sponsorship
US7970863B1 (en) * 2003-12-29 2011-06-28 AOL, Inc. Using a home-networking gateway to manage communications
US7890604B2 (en) 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US9026578B2 (en) 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
US20050262093A1 (en) * 2004-05-20 2005-11-24 Bea Systems, Inc. Systems and methods for a collaboration client
US20060004690A1 (en) * 2004-05-21 2006-01-05 Bea Systems, Inc. Systems and methods for dynamic configuration of a collaboration
US20060031234A1 (en) * 2004-05-21 2006-02-09 Brodi Beartusk Systems and methods for a collaborative group chat
US20050262075A1 (en) * 2004-05-21 2005-11-24 Bea Systems, Inc. Systems and methods for collaboration shared state management
US20050278294A1 (en) * 2004-05-20 2005-12-15 Bea Systems, Inc. Systems and methods for a collaboration presence framework
US20050262095A1 (en) * 2004-05-21 2005-11-24 Bea Systems, Inc. Systems and methods for collaboration interceptors
US20050262007A1 (en) * 2004-05-21 2005-11-24 Bea Systems, Inc. Systems and methods for a collaborative call center
US20050273382A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Systems and methods for collaborative co-navigation
US20060010205A1 (en) * 2004-05-21 2006-01-12 Bea Systems, Inc. Systems and methods for collaboration impersonation
US20050273714A1 (en) * 2004-05-21 2005-12-08 Bea Systems, Inc. Systems and methods for an embedded collaboration client
US20050262185A1 (en) * 2004-05-20 2005-11-24 Bea Systems, Inc. Systems and methods for a collaboration messaging framework
US20050262006A1 (en) * 2004-05-20 2005-11-24 Bea Systems, Inc. Systems and methods for a collaboration server
US20050262094A1 (en) * 2004-05-20 2005-11-24 Bea Systems, Inc. Systems and methods for enterprise collaboration
US20060031497A1 (en) * 2004-05-21 2006-02-09 Bea Systems, Inc. Systems and methods for collaborative content storage
US20060010125A1 (en) * 2004-05-21 2006-01-12 Bea Systems, Inc. Systems and methods for collaborative shared workspaces
US7409635B2 (en) * 2004-11-16 2008-08-05 Zalag Corporation Display/layout methods and apparatuses including content items and display containers
US20060224700A1 (en) * 2005-03-15 2006-10-05 Microsoft Corporation Multipart response generation
US20060223593A1 (en) * 2005-04-01 2006-10-05 Ixi Mobile (R&D) Ltd. Content delivery system and method for a mobile communication device
US9432468B2 (en) * 2005-09-14 2016-08-30 Liveperson, Inc. System and method for design and dynamic generation of a web page
US8738732B2 (en) 2005-09-14 2014-05-27 Liveperson, Inc. System and method for performing follow up based on user interactions
US20090245168A1 (en) * 2005-11-04 2009-10-01 Gustav Soderstrom Server for Enhancing Communication Between a Content Provider and a Radio Communication Device and Method therefor
US20070134641A1 (en) * 2005-12-08 2007-06-14 Mobicom Corporation Personalized content delivery
US7814116B2 (en) * 2006-03-16 2010-10-12 Hauser Eduardo A Method and system for creating customized news digests
US7822874B2 (en) * 2006-04-07 2010-10-26 Dell Products L.P. Providing third party content to media devices
US7921116B2 (en) * 2006-06-16 2011-04-05 Microsoft Corporation Highly meaningful multimedia metadata creation and associations
US20080071725A1 (en) * 2006-09-01 2008-03-20 Yahoo! Inc. User-converted media marketplace
KR100823281B1 (en) 2006-09-29 2008-04-21 삼성전자주식회사 Method and apparatus for replaying contents
US10636315B1 (en) 2006-11-08 2020-04-28 Cricket Media, Inc. Method and system for developing process, project or problem-based learning systems within a semantic collaborative social network
WO2008073655A2 (en) 2006-11-08 2008-06-19 Epals, Inc. Dynamic characterization of nodes in a semantic network
US8688805B2 (en) * 2007-01-04 2014-04-01 At&T Mobility Ii Llc Scenario based content delivery
US7751807B2 (en) 2007-02-12 2010-07-06 Oomble, Inc. Method and system for a hosted mobile management service architecture
US20080243527A1 (en) * 2007-03-30 2008-10-02 Macrovision Corporation Custom Media Production and Distribution System and Methods
US20090217186A1 (en) * 2008-02-27 2009-08-27 Nokia Corporation Apparatus, computer-readable storage medium and method for providing widgets including advertisements for associated widgets
US9569230B2 (en) * 2007-05-25 2017-02-14 Nokia Technologies Oy Network entity, terminal, computer-readable storage medium and method for providing widgets including advertisements for associated widgets
US20090076914A1 (en) * 2007-09-19 2009-03-19 Philippe Coueignoux Providing compensation to suppliers of information
US10692092B2 (en) * 2007-12-21 2020-06-23 Ebay Inc. System and method for providing on-line advertising with dynamic content
US20090181649A1 (en) * 2008-01-10 2009-07-16 Bull William E Dynamic Delivery and Presentation of Electronic Data to Mobile Electronic Devices
US9031982B2 (en) * 2008-02-11 2015-05-12 Accenture Global Services Limited Multi-channel content modeling system
WO2009137806A1 (en) 2008-05-08 2009-11-12 Epals, Inc. Object-based system and language for dynamic data or network interaction including learning management
US8103743B2 (en) * 2008-06-18 2012-01-24 Disney Enterprises, Inc. Method and system for enabling client-side initiated delivery of dynamic secondary content
US8799200B2 (en) 2008-07-25 2014-08-05 Liveperson, Inc. Method and system for creating a predictive model for targeting webpage to a surfer
US8762313B2 (en) 2008-07-25 2014-06-24 Liveperson, Inc. Method and system for creating a predictive model for targeting web-page to a surfer
US8805844B2 (en) 2008-08-04 2014-08-12 Liveperson, Inc. Expert search
US9892417B2 (en) 2008-10-29 2018-02-13 Liveperson, Inc. System and method for applying tracing tools for network locations
US8411826B2 (en) * 2009-06-18 2013-04-02 Verizon Patent And Licensing Inc. Voicemail notification server load balancing
US8645457B2 (en) * 2009-10-05 2014-02-04 Tynt Multimedia Inc. System and method for network object creation and improved search result reporting
CN102648620B (en) 2009-10-13 2015-08-12 克里凯特媒体股份有限公司 Dynamic cooperative in social network environment
US20110154386A1 (en) * 2009-12-22 2011-06-23 Telcordia Technologies, Inc. Annotated advertisement referral system and methods
JP5941903B2 (en) 2010-04-07 2016-06-29 ライブパーソン, インコーポレイテッド System and method for dynamically enabling customized web content and applications
US20120066732A1 (en) * 2010-09-15 2012-03-15 Devericks James K System And Method Of Presenting An Interactive Video Package
US9350598B2 (en) 2010-12-14 2016-05-24 Liveperson, Inc. Authentication of service requests using a communications initiation feature
US8918465B2 (en) 2010-12-14 2014-12-23 Liveperson, Inc. Authentication of service requests initiated from a social networking site
US8938534B2 (en) 2010-12-30 2015-01-20 Ss8 Networks, Inc. Automatic provisioning of new users of interest for capture on a communication network
US9058323B2 (en) 2010-12-30 2015-06-16 Ss8 Networks, Inc. System for accessing a set of communication and transaction data associated with a user of interest sourced from multiple different network carriers and for enabling multiple analysts to independently and confidentially access the set of communication and transaction data
US8972612B2 (en) 2011-04-05 2015-03-03 SSB Networks, Inc. Collecting asymmetric data and proxy data on a communication network
US20120271779A1 (en) * 2011-04-19 2012-10-25 Cactus Commerce Inc. Unifying domain model for internet business systems
US8838480B2 (en) 2011-05-09 2014-09-16 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for display of operator ads
US20120303463A1 (en) * 2011-05-26 2012-11-29 Qualcomm Incorporated Adcache space auctions based on differential context
US9465572B2 (en) 2011-11-09 2016-10-11 Microsoft Technology Licensing, Llc Dynamic server-side image sizing for fidelity improvements
US8805941B2 (en) 2012-03-06 2014-08-12 Liveperson, Inc. Occasionally-connected computing interface
US9563336B2 (en) 2012-04-26 2017-02-07 Liveperson, Inc. Dynamic user interface customization
CN104272705B (en) * 2012-05-15 2018-06-19 瑞典爱立信有限公司 For showing the method and apparatus of operator's notice
US9672196B2 (en) 2012-05-15 2017-06-06 Liveperson, Inc. Methods and systems for presenting specialized content using campaign metrics
US9356980B2 (en) 2012-07-31 2016-05-31 At&T Intellectual Property I, L.P. Distributing communication of a data stream among multiple devices
US9350762B2 (en) 2012-09-25 2016-05-24 Ss8 Networks, Inc. Intelligent feedback loop to iteratively reduce incoming network data for analysis
US9286397B1 (en) 2012-09-28 2016-03-15 Google Inc. Generating customized content
US20140181633A1 (en) * 2012-12-20 2014-06-26 Stanley Mo Method and apparatus for metadata directed dynamic and personal data curation
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US9021447B2 (en) * 2013-02-12 2015-04-28 Concurix Corporation Application tracing by distributed objectives
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
US9772927B2 (en) 2013-11-13 2017-09-26 Microsoft Technology Licensing, Llc User interface for selecting tracing origins for aggregating classes of trace data
US9940646B2 (en) 2013-11-13 2018-04-10 Google Llc Dynamic insertion of content items into resources
US11386442B2 (en) 2014-03-31 2022-07-12 Liveperson, Inc. Online behavioral predictor
US9830593B2 (en) 2014-04-26 2017-11-28 Ss8 Networks, Inc. Cryptographic currency user directory data and enhanced peer-verification ledger synthesis through multi-modal cryptographic key-address mapping
US9560393B2 (en) * 2015-02-20 2017-01-31 Disney Enterprises, Inc. Media processing node
AU2016270937B2 (en) 2015-06-02 2021-07-29 Liveperson, Inc. Dynamic communication routing based on consistency weighting and routing rules
US10278065B2 (en) 2016-08-14 2019-04-30 Liveperson, Inc. Systems and methods for real-time remote control of mobile applications
US11681416B2 (en) 2019-04-26 2023-06-20 Verint Americas Inc. Dynamic web content based on natural language processing (NLP) inputs

Citations (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5373375A (en) * 1990-12-21 1994-12-13 Eastman Kodak Company Metric conversion mechanism for digital images in a hierarchical, multi-resolution, multi-use environment
US5517612A (en) * 1993-11-12 1996-05-14 International Business Machines Corporation Device for scaling real-time image frames in multi-media workstations
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5583763A (en) * 1993-09-09 1996-12-10 Mni Interactive Method and apparatus for recommending selections based on preferences in a multi-user system
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US5684969A (en) * 1991-06-25 1997-11-04 Fuji Xerox Co., Ltd. Information management system facilitating user access to information content through display of scaled information nodes
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5706434A (en) * 1995-07-06 1998-01-06 Electric Classifieds, Inc. Integrated request-response system and method generating responses to request objects formatted according to various communication protocols
US5710884A (en) * 1995-03-29 1998-01-20 Intel Corporation System for automatically updating personal profile server with updates to additional user information gathered from monitoring user's electronic consuming habits generated on computer during use
US5717923A (en) * 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
US5717860A (en) * 1995-09-20 1998-02-10 Infonautics Corporation Method and apparatus for tracking the navigation path of a user on the world wide web
US5724556A (en) * 1995-04-14 1998-03-03 Oracle Corporation Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system
US5724521A (en) * 1994-11-03 1998-03-03 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
US5727159A (en) * 1996-04-10 1998-03-10 Kikinis; Dan System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers
US5737619A (en) * 1995-10-19 1998-04-07 Judson; David Hugh World wide web browsing with content delivery over an idle connection and interstitial content display
US5742905A (en) * 1994-09-19 1998-04-21 Bell Communications Research, Inc. Personal communications internetworking
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
US5768510A (en) * 1996-07-01 1998-06-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server application enabler system
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5805735A (en) * 1995-03-02 1998-09-08 Apple Computer, Inc. Method and apparatus for compression of digitized image data using variable color fidelity
US5835092A (en) * 1996-04-09 1998-11-10 Silicon Graphics, Inc. Mechanism for non-linear browsing of diverse information sources
US5848246A (en) * 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US5848396A (en) * 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US5850433A (en) * 1996-05-01 1998-12-15 Sprint Communication Co. L.P. System and method for providing an on-line directory service
US5861883A (en) * 1997-05-13 1999-01-19 International Business Machines Corp. Method and system for portably enabling awareness, touring, and conferencing over the world-wide web using proxies and shared-state servers
US5864823A (en) * 1997-06-25 1999-01-26 Virtel Corporation Integrated virtual telecommunication system for E-commerce
US5877766A (en) * 1997-08-15 1999-03-02 International Business Machines Corporation Multi-node user interface component and method thereof for use in accessing a plurality of linked records
US5905492A (en) * 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US5913040A (en) * 1995-08-22 1999-06-15 Backweb Ltd. Method and apparatus for transmitting and displaying information between a remote network and a local computer
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5918014A (en) * 1995-12-27 1999-06-29 Athenium, L.L.C. Automated collaborative filtering in world wide web advertising
US5931901A (en) * 1996-12-09 1999-08-03 Robert L. Wolfe Programmed music on demand from the internet
US5933611A (en) * 1997-06-23 1999-08-03 Opti Inc. Dynamic scheduler for time multiplexed serial bus
US5937392A (en) * 1997-07-28 1999-08-10 Switchboard Incorporated Banner advertising display system and method with frequency of advertisement control
US5944791A (en) * 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
US5946664A (en) * 1995-06-30 1999-08-31 Sony Corporation Apparatus and method for executing a game program having advertisements therein
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US5956693A (en) * 1996-07-19 1999-09-21 Geerlings; Huib Computer system for merchant communication to customers
US5959621A (en) * 1996-12-06 1999-09-28 Microsoft Corporation System and method for displaying data items in a ticker display pane on a client computer
US5961603A (en) * 1996-04-10 1999-10-05 Worldgate Communications, Inc. Access system and method for providing interactive access to an information source through a networked distribution system
US5974451A (en) * 1996-10-07 1999-10-26 Novaville Ag System and method for distributing bulletins to external computers accessing wide area computer networks
US5995943A (en) * 1996-04-01 1999-11-30 Sabre Inc. Information aggregation and synthesization system
US5999731A (en) * 1994-12-20 1999-12-07 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions and object initialization
US5999912A (en) * 1996-05-01 1999-12-07 Wodarz; Dennis Dynamic advertising scheduling, display, and tracking
US6006252A (en) * 1996-10-08 1999-12-21 Wolfe; Mark A. System and method for communicating information relating to a network resource
US6011537A (en) * 1997-01-27 2000-01-04 Slotznick; Benjamin System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space
US6047327A (en) * 1996-02-16 2000-04-04 Intel Corporation System for distributing electronic information to a targeted group of users
US6052730A (en) * 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US6052717A (en) * 1996-10-23 2000-04-18 Family Systems, Ltd. Interactive web book system
US6061716A (en) * 1996-11-14 2000-05-09 Moncreiff; Craig T. Computer network chat room based on channel broadcast in real time
US6065024A (en) * 1996-07-11 2000-05-16 International Business Machines Corporation Embedded HTML documents downloaded and displayed simultaneously with primary HTML document
US6073167A (en) * 1998-03-18 2000-06-06 Paratran Corporation Distribution limiter for network messaging
US6108637A (en) * 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US6173311B1 (en) * 1997-02-13 2001-01-09 Pointcast, Inc. Apparatus, method and article of manufacture for servicing client requests on a network
US6583797B1 (en) * 1997-01-21 2003-06-24 International Business Machines Corporation Menu management mechanism that displays menu items based on multiple heuristic factors
US7072849B1 (en) * 1988-07-15 2006-07-04 International Business Machines Corporation Method for presenting advertising in an interactive service

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933811A (en) * 1996-08-20 1999-08-03 Paul D. Angles System and method for delivering customized advertisements within interactive communication systems
US6073241A (en) * 1996-08-29 2000-06-06 C/Net, Inc. Apparatus and method for tracking world wide web browser requests across distinct domains using persistent client-side state
US6049821A (en) * 1997-01-24 2000-04-11 Motorola, Inc. Proxy host computer and method for accessing and retrieving information between a browser and a proxy

Patent Citations (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072849B1 (en) * 1988-07-15 2006-07-04 International Business Machines Corporation Method for presenting advertising in an interactive service
US5373375A (en) * 1990-12-21 1994-12-13 Eastman Kodak Company Metric conversion mechanism for digital images in a hierarchical, multi-resolution, multi-use environment
US5684969A (en) * 1991-06-25 1997-11-04 Fuji Xerox Co., Ltd. Information management system facilitating user access to information content through display of scaled information nodes
US5544320A (en) * 1993-01-08 1996-08-06 Konrad; Allan M. Remote information service access system based on a client-server-service model
US5583763A (en) * 1993-09-09 1996-12-10 Mni Interactive Method and apparatus for recommending selections based on preferences in a multi-user system
US5517612A (en) * 1993-11-12 1996-05-14 International Business Machines Corporation Device for scaling real-time image frames in multi-media workstations
US5742905A (en) * 1994-09-19 1998-04-21 Bell Communications Research, Inc. Personal communications internetworking
US5724521A (en) * 1994-11-03 1998-03-03 Intel Corporation Method and apparatus for providing electronic advertisements to end users in a consumer best-fit pricing manner
US5717923A (en) * 1994-11-03 1998-02-10 Intel Corporation Method and apparatus for dynamically customizing electronic information to individual end users
US5999731A (en) * 1994-12-20 1999-12-07 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions and object initialization
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
US5805735A (en) * 1995-03-02 1998-09-08 Apple Computer, Inc. Method and apparatus for compression of digitized image data using variable color fidelity
US5710884A (en) * 1995-03-29 1998-01-20 Intel Corporation System for automatically updating personal profile server with updates to additional user information gathered from monitoring user's electronic consuming habits generated on computer during use
US5724556A (en) * 1995-04-14 1998-03-03 Oracle Corporation Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system
US6094655A (en) * 1995-06-07 2000-07-25 International Business Machines Corporation Method of creating and using notes decision capsules
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5946664A (en) * 1995-06-30 1999-08-31 Sony Corporation Apparatus and method for executing a game program having advertisements therein
US5706434A (en) * 1995-07-06 1998-01-06 Electric Classifieds, Inc. Integrated request-response system and method generating responses to request objects formatted according to various communication protocols
US5913040A (en) * 1995-08-22 1999-06-15 Backweb Ltd. Method and apparatus for transmitting and displaying information between a remote network and a local computer
US5717860A (en) * 1995-09-20 1998-02-10 Infonautics Corporation Method and apparatus for tracking the navigation path of a user on the world wide web
US5737619A (en) * 1995-10-19 1998-04-07 Judson; David Hugh World wide web browsing with content delivery over an idle connection and interstitial content display
US5572643A (en) * 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US5918014A (en) * 1995-12-27 1999-06-29 Athenium, L.L.C. Automated collaborative filtering in world wide web advertising
US6047327A (en) * 1996-02-16 2000-04-04 Intel Corporation System for distributing electronic information to a targeted group of users
US5673322A (en) * 1996-03-22 1997-09-30 Bell Communications Research, Inc. System and method for providing protocol translation and filtering to access the world wide web from wireless or low-bandwidth networks
US5995943A (en) * 1996-04-01 1999-11-30 Sabre Inc. Information aggregation and synthesization system
US5835092A (en) * 1996-04-09 1998-11-10 Silicon Graphics, Inc. Mechanism for non-linear browsing of diverse information sources
US5727159A (en) * 1996-04-10 1998-03-10 Kikinis; Dan System in which a Proxy-Server translates information received from the Internet into a form/format readily usable by low power portable computers
US5961603A (en) * 1996-04-10 1999-10-05 Worldgate Communications, Inc. Access system and method for providing interactive access to an information source through a networked distribution system
US5848396A (en) * 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US5850433A (en) * 1996-05-01 1998-12-15 Sprint Communication Co. L.P. System and method for providing an on-line directory service
US5999912A (en) * 1996-05-01 1999-12-07 Wodarz; Dennis Dynamic advertising scheduling, display, and tracking
US5918013A (en) * 1996-06-03 1999-06-29 Webtv Networks, Inc. Method of transcoding documents in a network environment using a proxy server
US5848246A (en) * 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US5768510A (en) * 1996-07-01 1998-06-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server application enabler system
US6065024A (en) * 1996-07-11 2000-05-16 International Business Machines Corporation Embedded HTML documents downloaded and displayed simultaneously with primary HTML document
US5956693A (en) * 1996-07-19 1999-09-21 Geerlings; Huib Computer system for merchant communication to customers
US6108637A (en) * 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US5944791A (en) * 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
US5974451A (en) * 1996-10-07 1999-10-26 Novaville Ag System and method for distributing bulletins to external computers accessing wide area computer networks
US6006252A (en) * 1996-10-08 1999-12-21 Wolfe; Mark A. System and method for communicating information relating to a network resource
US6052717A (en) * 1996-10-23 2000-04-18 Family Systems, Ltd. Interactive web book system
US5948061A (en) * 1996-10-29 1999-09-07 Double Click, Inc. Method of delivery, targeting, and measuring advertising over networks
US6061716A (en) * 1996-11-14 2000-05-09 Moncreiff; Craig T. Computer network chat room based on channel broadcast in real time
US5959621A (en) * 1996-12-06 1999-09-28 Microsoft Corporation System and method for displaying data items in a ticker display pane on a client computer
US5905492A (en) * 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US5931901A (en) * 1996-12-09 1999-08-03 Robert L. Wolfe Programmed music on demand from the internet
US6052730A (en) * 1997-01-10 2000-04-18 The Board Of Trustees Of The Leland Stanford Junior University Method for monitoring and/or modifying web browsing sessions
US6583797B1 (en) * 1997-01-21 2003-06-24 International Business Machines Corporation Menu management mechanism that displays menu items based on multiple heuristic factors
US6011537A (en) * 1997-01-27 2000-01-04 Slotznick; Benjamin System for delivering and simultaneously displaying primary and secondary information, and for displaying only the secondary information during interstitial space
US6173311B1 (en) * 1997-02-13 2001-01-09 Pointcast, Inc. Apparatus, method and article of manufacture for servicing client requests on a network
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5861883A (en) * 1997-05-13 1999-01-19 International Business Machines Corp. Method and system for portably enabling awareness, touring, and conferencing over the world-wide web using proxies and shared-state servers
US5933611A (en) * 1997-06-23 1999-08-03 Opti Inc. Dynamic scheduler for time multiplexed serial bus
US5864823A (en) * 1997-06-25 1999-01-26 Virtel Corporation Integrated virtual telecommunication system for E-commerce
US5937392A (en) * 1997-07-28 1999-08-10 Switchboard Incorporated Banner advertising display system and method with frequency of advertisement control
US5877766A (en) * 1997-08-15 1999-03-02 International Business Machines Corporation Multi-node user interface component and method thereof for use in accessing a plurality of linked records
US6073167A (en) * 1998-03-18 2000-06-06 Paratran Corporation Distribution limiter for network messaging

Cited By (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769440B2 (en) 1998-07-17 2014-07-01 B.E. Technology, L.L.C. Method of reactive targeted advertising
US8689238B2 (en) 2000-05-18 2014-04-01 Carhamm Ltd., Llc Techniques for displaying impressions in documents delivered over a computer network
US20120136724A1 (en) * 2001-06-14 2012-05-31 Mcguire Myles P Method and system for providing network based target advertising
US20130262234A1 (en) * 2001-06-14 2013-10-03 Myles P. McGuire Method and system for providing network based target advertising
US7149704B2 (en) * 2001-06-29 2006-12-12 Claria Corporation System, method and computer program product for collecting information about a network user
US20030018778A1 (en) * 2001-06-29 2003-01-23 Martin Anthony G. System, method and computer program product for collecting information about a network user
US8521827B2 (en) 2001-10-18 2013-08-27 Carhamm Ltd., Llc Presentation of information to end-users
US20030200316A1 (en) * 2002-04-18 2003-10-23 Yoshimasa Isozaki Server apparatus, client apparatus, contents distributing system, contents distributing program, and information processing program
US8316003B2 (en) 2002-11-05 2012-11-20 Carhamm Ltd., Llc Updating content of presentation vehicle in a computer network
US20050027549A1 (en) * 2003-08-01 2005-02-03 Sbc Knowledge Ventures, L.P. Multi-layer architecture for property management
US20100094711A1 (en) * 2003-09-30 2010-04-15 Sony Corporation Reception device and management device of service advertisement information
US8170912B2 (en) 2003-11-25 2012-05-01 Carhamm Ltd., Llc Database structure and front end
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US20070297387A1 (en) * 2004-09-02 2007-12-27 Sujit Dey Content And Channel Aware Object Scheduling And Error Control
US8060807B2 (en) 2004-09-02 2011-11-15 The Regents Of The University Of California Content and channel aware object scheduling and error control
US7693815B2 (en) * 2004-10-18 2010-04-06 International Business Machines Corporation Automatic subscriptions to documents based on user navigation behavior
US20060085379A1 (en) * 2004-10-18 2006-04-20 Niklas Heidloff Automatic subscriptions to documents based on user navigation behavior
US20070283036A1 (en) * 2004-11-17 2007-12-06 Sujit Dey System And Method For Providing A Web Page
US8010655B2 (en) 2004-11-17 2011-08-30 The Regents Of The University Of California Network monitoring system and method
US20080104231A1 (en) * 2004-11-17 2008-05-01 Sujit Dey Network Monitoring System And Method
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US9495446B2 (en) 2004-12-20 2016-11-15 Gula Consulting Limited Liability Company Method and device for publishing cross-network user behavioral data
US8645941B2 (en) 2005-03-07 2014-02-04 Carhamm Ltd., Llc Method for attributing and allocating revenue related to embedded software
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US20070005791A1 (en) * 2005-06-28 2007-01-04 Claria Corporation Method and system for controlling and adapting media stream
US20150058453A1 (en) * 2005-07-15 2015-02-26 Vubiquity Entertainment Corporation System And Method For Optimizing Distribution Of Media Files
US8943401B2 (en) 2006-09-29 2015-01-27 Yahoo! Inc. Script-based content-embedding code generation in digital media benefit attachment mechanism
US8965783B2 (en) 2006-09-29 2015-02-24 Yahoo! Inc. Content-embedding code generation in digital media benefit attachment mechanism
US20080082904A1 (en) * 2006-09-29 2008-04-03 Yahoo! Inc. Script-based content-embedding code generation in digital media benefit attachment mechanism
US20080082905A1 (en) * 2006-09-29 2008-04-03 Yahoo! Inc. Content-embedding code generation in digital media benefit attachment mechanism
US20130104164A1 (en) * 2006-10-03 2013-04-25 Anand Madhavan Targeting of advertisements based on mutual information sharing between devices over a network
US20110004820A1 (en) * 2006-10-25 2011-01-06 Kloiber Daniel J Methods and systems for creating, interacting with, and utilizing a superactive document
US10565300B2 (en) 2006-10-25 2020-02-18 Open Text Corporation Methods and systems for creating, interacting with, and utilizing a superactive document
US11704479B2 (en) 2006-10-25 2023-07-18 Open Text Corporation Methods and systems for creating, interacting with, and utilizing a superactive document
US20100332973A1 (en) * 2006-10-25 2010-12-30 Hewlett-Packard Development Company, L.P. Methods and systems for creating, interacting with, and utilizing a superactive document
US9727543B2 (en) * 2006-10-25 2017-08-08 Open Text Corporation Methods and systems for creating, interacting with, and utilizing a superactive document
US9201854B1 (en) 2006-10-25 2015-12-01 Hewlett-Packard Development Company, L.P. Methods and systems for creating, interacting with, and utilizing a superactive document
US9792270B2 (en) 2006-10-25 2017-10-17 Open Text Corporation Methods and systems for creating, interacting with, and utilizing a superactive document
US20080154951A1 (en) * 2006-12-22 2008-06-26 Yahoo! Inc. Link Retrofitting of Digital Media Objects
US9582804B2 (en) 2006-12-22 2017-02-28 Excalibur Ip, Llc Link retrofitting of digital media objects
US8620952B2 (en) 2007-01-03 2013-12-31 Carhamm Ltd., Llc System for database reporting
US9785966B2 (en) 2007-02-01 2017-10-10 Iii Holdings 4, Llc Dynamic reconfiguration of web pages based on user behavioral portrait
US10296939B2 (en) 2007-02-01 2019-05-21 Iii Holdings 4, Llc Dynamic reconfiguration of web pages based on user behavioral portrait
US10445764B2 (en) 2007-02-01 2019-10-15 Iii Holdings 4, Llc Use of behavioral portraits in the conduct of e-commerce
US10726442B2 (en) 2007-02-01 2020-07-28 Iii Holdings 4, Llc Dynamic reconfiguration of web pages based on user behavioral portrait
US9646322B2 (en) 2007-02-01 2017-05-09 Iii Holdings 4, Llc Use of behavioral portraits in web site analysis
US9633367B2 (en) 2007-02-01 2017-04-25 Iii Holdings 4, Llc System for creating customized web content based on user behavioral portraits
US9996627B2 (en) * 2007-03-30 2018-06-12 Excalibur Ip, Llc Point of presence distribution mechanism for digital content objects
US20080244038A1 (en) * 2007-03-30 2008-10-02 Yahoo! Inc. Point of Presence Distribution Mechanism for Digital Content Objects
US8521891B1 (en) * 2007-06-21 2013-08-27 Mcafee, Inc. Network browser system, method, and computer program product for conditionally loading a portion of data from a network based on a data transfer rate
US10063636B2 (en) 2007-07-02 2018-08-28 Comscore, Inc. Analyzing requests for data made by users that subscribe to a provider of network connectivity
US9137093B1 (en) * 2007-07-02 2015-09-15 Comscore, Inc. Analyzing requests for data made by users that subscribe to a provider of network connectivity
US8296178B2 (en) * 2008-01-08 2012-10-23 Microsoft Corporation Services using globally distributed infrastructure for secure content management
US20090178132A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Enterprise Security Assessment Sharing For Consumers Using Globally Distributed Infrastructure
US8910268B2 (en) 2008-01-08 2014-12-09 Microsoft Corporation Enterprise security assessment sharing for consumers using globally distributed infrastructure
US20090178131A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Globally distributed infrastructure for secure content management
US8935742B2 (en) 2008-01-08 2015-01-13 Microsoft Corporation Authentication in a globally distributed infrastructure for secure content management
US20090178108A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Enterprise security assessment sharing for off-premise users using globally distributed infrastructure
US8881223B2 (en) 2008-01-08 2014-11-04 Microsoft Corporation Enterprise security assessment sharing for off-premise users using globally distributed infrastructure
US20090178109A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Authentication in a globally distributed infrastructure for secure content management
US20090177514A1 (en) * 2008-01-08 2009-07-09 Microsoft Corporation Services using globally distributed infrastructure for secure content management
US8910255B2 (en) 2008-05-27 2014-12-09 Microsoft Corporation Authentication for distributed secure content management system
US20090300739A1 (en) * 2008-05-27 2009-12-03 Microsoft Corporation Authentication for distributed secure content management system
US20090299860A1 (en) * 2008-05-29 2009-12-03 Scottrade, Inc. Method and System for Creating Dynamic Advertisements
US20100082440A1 (en) * 2008-09-30 2010-04-01 Microsoft Corporation Adaptive run-time advertisements
US9710817B2 (en) * 2008-09-30 2017-07-18 Microsoft Technology Licensing, Llc Adaptive run-time advertisements
US20100306066A1 (en) * 2009-06-02 2010-12-02 Meebo, Inc. Techniques for displaying an advertisement across multiple pages
US20100306039A1 (en) * 2009-06-02 2010-12-02 Meebo, Inc. Techniques for customized delivery of advertisements
US20110010433A1 (en) * 2009-07-10 2011-01-13 Microsoft Corporation Targeted presentation and delivery of themes
US20110022477A1 (en) * 2009-07-24 2011-01-27 Microsoft Corporation Behavior-based user detection
US8544033B1 (en) 2009-12-19 2013-09-24 Cisco Technology, Inc. System and method for evaluating content in a digital signage environment
US20110302026A1 (en) * 2010-06-03 2011-12-08 Cisco Technology, Inc. System and method for providing targeted advertising through traffic analysis in a network environment
US9135352B2 (en) * 2010-06-03 2015-09-15 Cisco Technology, Inc. System and method for providing targeted advertising through traffic analysis in a network environment
US8271312B2 (en) 2010-08-25 2012-09-18 Hewlett-Packard Development Company, L.P. Introducing revenue-generating features
US20120109741A1 (en) * 2010-10-28 2012-05-03 AdOn Network, Inc. Methods and apparatus for dynamic content
US20130018948A1 (en) * 2011-07-14 2013-01-17 Sony Corporation Method and system for use in providing network services interchange
US8909705B2 (en) * 2011-07-14 2014-12-09 Sony Corporation Method and system for use in providing network services interchange
US20150006288A1 (en) * 2013-06-29 2015-01-01 Ten Farms, Inc. Online advertising integration management and responsive presentation
WO2015034752A1 (en) * 2013-09-04 2015-03-12 Akamai Technologies, Inc. Server-side systems and methods for reporting stream data
US20150227977A1 (en) * 2014-02-11 2015-08-13 Facebook, Inc. Generating user audience groups to facilitate advertisement targeting

Also Published As

Publication number Publication date
US6892226B1 (en) 2005-05-10

Similar Documents

Publication Publication Date Title
US6892226B1 (en) System for delivery of dynamic content to a client device
US6772200B1 (en) System for providing non-intrusive dynamic content to a client device
US8135620B2 (en) Network banner advertisement system and method
US6101328A (en) System for preventing multiple instances of the same dynamic executable module
US7028072B1 (en) Method and apparatus for dynamically constructing customized advertisements
EP2332063B1 (en) Uniquely identifying network-distributed devices without explicitly provided device or user identifying information
US8108881B2 (en) System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US7089194B1 (en) Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements
US6449765B1 (en) Varying web page link based on user and web page status
CA2307051C (en) Method and apparatus to determine user identity and limit access to a communications network
US7941562B2 (en) Network device for monitoring and modifying network traffic between an end user and a content provider
US6029200A (en) Automatic protocol rollover in streaming multimedia data delivery system
AU2010245156B2 (en) Content syndication in web-based media via ad tagging
US6957260B1 (en) Method of improving access to services provided by a plurality of remote service providers
US7359952B2 (en) Content delivery frequency capping method
US6256669B1 (en) Method and apparatus for bandwidth characterization and reporting in web browsers
US20070180523A1 (en) Method and system for tracking usage of on-line content
US20020023002A1 (en) System and method for offline advertising
US20050267798A1 (en) Auxiliary content delivery system
US20020143627A1 (en) Network banner advertisement system and method
US20050273514A1 (en) System and method for automated and optimized file transfers among devices in a network
US20030131095A1 (en) System to prevent inappropriate display of advertisements on the internet and method therefor
JP2000512049A (en) Monitoring remote file access on public computer networks
WO1999057660A1 (en) Content enhancement system
US20090083761A1 (en) Multiple and multi-part message methods and systems for handling electronic message content for electronic communications devices

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION