WO2001022260A2 - Content distribution system and method - Google Patents

Content distribution system and method Download PDF

Info

Publication number
WO2001022260A2
WO2001022260A2 PCT/US2000/025829 US0025829W WO0122260A2 WO 2001022260 A2 WO2001022260 A2 WO 2001022260A2 US 0025829 W US0025829 W US 0025829W WO 0122260 A2 WO0122260 A2 WO 0122260A2
Authority
WO
WIPO (PCT)
Prior art keywords
content
vacancy
attributes
provider
consumer
Prior art date
Application number
PCT/US2000/025829
Other languages
French (fr)
Other versions
WO2001022260A8 (en
Inventor
Tayo Akadiri
Robert Barrett
Matthew Carter
Brian Jepson
A. Ramaseshan Sadasiv
Original Assignee
Quantumstream
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 Quantumstream filed Critical Quantumstream
Priority to AU40197/01A priority Critical patent/AU4019701A/en
Publication of WO2001022260A2 publication Critical patent/WO2001022260A2/en
Publication of WO2001022260A8 publication Critical patent/WO2001022260A8/en

Links

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/06Buying, selling or leasing transactions

Definitions

  • This invention relates generally to content distribution systems and, more particularly, to a system for distributing digital content associated with a container based on a relationship between attributes associated with the digital content and attributes associated with a defined region of the container.
  • the container may constitute, or be included in, any digital transmission, such as a television or radio programming, web pages, and the like.
  • Content generally comprises any/ ⁇ nd of text, audible message, and/or visual.
  • Content finds its way into our homes via output devices such as televisions (with or without set-top boxes), radios, computer networks (e.g., the Internet), and the like.
  • Content also makes its way into our everyday routine via portable output devices such as pagers, personal digital assistants (PDAs), wireless telephones (e.g., cellular or satellite), and the like.
  • PDAs personal digital assistants
  • wireless telephones e.g., cellular or satellite
  • content is provided to these output devices based on arrangements made long before the transmission from a source to the output devices.
  • primary content providers such as television stations, radio stations, publishers on the Internet, Internet Service Providers, pager service companies, and other entities that provide a medium or network for transmitting content to an audience enter into agreements with secondary content providers, such as advertisers, to transmit secondary content, such as advertisements at predetermined times, intervals, locations, etc. to all or specific devices. .
  • secondary content transmission is not limited to advertisements.
  • Other types of secondary content providers also prearrange for the transmission or airing of their content. For example, entities that produce programs (secondary content) for television enter into agreements with television stations and networks (primary content providers) to transmit specific programs at predetermined times. The same is true for the other forms of entertainment, edutainment, and communication described above.
  • a computer equipped with a communication mechanism such as a modem and telephone connection is nearly all that is necessary to gain access to the Internet.
  • a program called a Web browser such as the NETSCAPE NAVIGATOR from NETSCAPE Corporation, makes it a simple task to traverse the vast network of information available on the Internet and, specifically, its subpart known as the "World Wide Web.”
  • the architecture of the Web follows a conventional client-server model.
  • client and “server” are used to refer to a computer's general role as a requester of data (the client) or provider of data (the server).
  • server In conventional settings, a Web browser resides in each client and is used to access specially formatted "Web pages" that reside on Internet (Web) servers.
  • Web clients and Web servers communicate using a conventional protocol called “HyperText Transfer Protocol” (HTTP).
  • HTTP HyperText Transfer Protocol
  • a Web browser opens a connection to a Web server and initiates a request for a document using a Uniform Resource Locator (URL).
  • the Web server delivers the requested document, typically in a standard coded format such as the "HyperText Markup Language” (HTML) format.
  • HTML HyperText Markup Language
  • the connection is closed.
  • the Web browser renders the document, displaying content or performing a function designated by the document. In this way, the Web server publishes content.
  • Methods, systems, and articles of manufacture consistent with the present invention overcome the shortcomings of existing systems by providing a marketplace that matches content with containers, which may constitute, or be included in, any digital transmission, such as a television or radio programming, Web pages, and the like.
  • the marketplace automatically matches content with containers through a real-time content trading, placement, and distribution system. To do so, attributes associated with the containers are used to identify the available content, and the content fills the containers based on the attributes associated with the content.
  • Trading and placing content within containers enable both content owners and container owners to obtain the full commercial benefit of their content and containers.
  • a method for creating vacancies used for trading content is provided.
  • a vacancy is defined in a container with associated attributes and information reflecting the attributes is transmitted to a trading floor that locates content to fill the vacancy based on the vacancy attributes.
  • a method for matching content with a vacancy in a container is provided.
  • a host provides a notification of a vacancy in a container.
  • the notification contains attributes associated with the vacancy.
  • Content for the vacancy is then located based on the attributes associated with the vacancy, and the host is provided with information corresponding to the content.
  • a method for filling a vacancy is provided.
  • a host receives a request from a consumer to obtain a container that contains a vacancy and information including content corresponding to a content provider is obtained from a server and then transmitted to the consumer.
  • a method for receiving content stream on a consumer computer contains digital content from a content provider and information from a vacancy provider.
  • the method involves transmitting a request to a vacancy provider for content stream, locating at least one content provider to provide the digital content in the content stream, and receiving the content stream with the content and the information supplied by the tenant and the vacancy provider at the consumer computer.
  • a method for trading content and vacancies on a network involves permitting vacancy providers to submit vacancy offerings for a container. Each vacancy offering includes attributes associated with a vacancy. The method also involves permitting content providers to submit attributes associated with content. Once submitted, vacancy offerings and content are traded so that of selected content can be distributed.
  • a method for generating vacancies involves storing a document with a set of vacancy elements, each vacancy element designating a vacancy, receiving a converted document with a graphical representation corresponding to each vacancy element, and permitting a user to specify a set of properties for each vacancy using the graphical representation corresponding to each vacancy element.
  • a method for a vacancy provider having a vacancy-provider server to generate a Web page with a vacancy.
  • the method involves a series of steps, including creating a Web page using a Web page editor, including in the Web page a set of vacancy placeholders, each vacancy placeholder defining a location for a vacancy, accessing a remote vacancy editor and providing the remote vacancy editor with a storage location for the Web page such that the remote vacancy editor loads the Web page (whereupon the remote vacancy editor converts each vacancy placeholder into a selectable graphical reference), and accessing a remote vacancy properties editor in response to the selection of a selectable graphical reference for a vacancy to define a set of properties for that vacancy.
  • Figure 1 depicts a content trading, placement, and distribution system consistent with the principles present invention
  • Figure 2 depicts an exemplary vacancy and Snap-In consistent with the principles of the present invention
  • Figure 3 depicts an exemplary content distribution system suitable for practicing methods and systems consistent with the present invention
  • Figure 4 depicts a more detailed diagram of the consumer computer depicted in Fig. 3;
  • Figure 5 A depicts a more detailed diagram of the host server depicted in Fig. 3;
  • Figure 5B depicts a more detailed diagram of the tenant server depicted in Fig. 3
  • Figure 5C depicts a more detailed diagram of the service provider server depicted in Fig. 3;
  • Figure 6 A depicts a flow chart of the steps performed when creating a vacancy in a manner consistent with the principles of the present invention
  • Figure 6B depicts a flow chart of the steps performed when creating a vacancy in a Web page consistent with the principles of the present invention
  • Figure 7 depicts a flow chart of the steps performed when creating a Snap-In in a manner consistent with the principles of the present invention
  • Figure 8 depicts a flow chart of the steps performed by the service provider server when trading vacancies and Snap-Ins in a manner consistent with the principles of the present invention
  • Figure 9 depicts a flow chart of the steps performed by the data processing system when inserting a Snap-In into a vacancy in a manner consistent with the principles of the present invention
  • Figure 10 depicts an exemplary Web page for use in a manner consistent with the present invention
  • Figure 11 depicts an example embodiment suitable for methods and systems consistent with the present invention.
  • Figure 12 depicts an alternative content distribution system suitable for practicing methods and systems consistent with the present invention.
  • Methods, systems, and articles of manufacture consistent with the present invention provide a marketplace that matches and trades units of content and containers, and places content within containers.
  • Such methods, systems, and articles of manufacture enable primary content providers to fill these containers in real time using a content trading and placement process facilitated by the marketplace.
  • This enables Web publishers, information providers, and broadcasters to receive content for their containers in real time and obtain value-based returns for permitting secondary content providers to fill these containers with content.
  • this marketplace approach enables secondary content providers to distribute content in real time into suitable containers, and to obtain value-based returns for permitting Web publishers, information providers, and broadcasters to use these units of content.
  • Vacancies are spacial or temporal regions that may constitute or be included in containers. Vacancies hold content created by a content provider.
  • a container such as a Web page, may contain vacancies in the form of spacially defined regions within the Web page.
  • a container such as an audio program may contain a vacancy in the form of temporally defined regions designated for embedding second-party content, such as advertising or public service announcements.
  • a container such as a text message intended for devices, such as pagers, cellular phones, or PDAs, may contain a vacancy in the form of a region designated for a unit of embedded data sourced from a secondary content provider, such as personalized news, sports, or advertising.
  • a consumer may receive the container as a primary content stream. Any vacancies in the container are open to accept suitable content from a suitable secondary content provider.
  • the marketplace may locate a suitable secondary content provider whose content stream is transmitted to the consumer within any designated portions (vacancies) within the primary content stream.
  • a vacancy is a region owned by a vacancy provider that can be leased for any use to any secondary content provider for any number of use-units (e.g., impressions) at any monetary price (or in exchange for any other instrument of value within the marketplace).
  • a vacancy provider may be a Web publisher, broadcaster, information provider, or any other entity that makes vacancies available to secondary content providers.
  • a vacancy provider may allocate permanent or temporary occupancy by secondary digital content providers based on content/context suitability and pricing considerations that are negotiated by the marketplace. In other words, the vacancy provider may dictate the type of content needed for allocated regions within the vacancy provider's medium. The suitability, pricing matching is negotiated in a marketplace at a service provider based on the vacancy attributes that the vacancy provider attaches to the vacancy and attributes that a secondary content provider attaches to a particular unit of content.
  • Vacancy providers create vacancies with attributes, such as dynamic attributes and static attributes. These attributes identify each vacancy by type and the desired secondary content to fill the vacancy. Static attributes may include required secondary content, such as teenage advertising, a virtual storefront, a syndicated cartoon, an audio stream, the physical size and location of the vacancy, time and date qualifiers on the vacancy, or classification of the vacancy. Dynamic attributes are defined as attributes that can change or be derived at any time, or attributes that are evaluated just-in-time as the vacancy is offered. For example, in the case of a Web publisher, a vacancy may include dynamic attributes, such as real-time Web site traffic.
  • a keyword entered by a consumer during a search may be linked to a dynamic attribute of a vacancy within the search-results container and used to help locate suitable secondary content for that vacancy. That is, if a consumer searches with the keyword "car,” content relating to cars may be used to fill the vacancy located on the search results Web page.
  • Another example of a dynamic attribute is consumer demographics.
  • a "Snap-In” comprises a unit of digital content and meta-data, with associated attributes that is available for filing a vacancy. Snap-Ins include context-keyed advertising, virtual storefronts, or any syndicated content. Secondary digital content providers, also known as tenants, create Snap-Ins to plug into vacancies. A tenant may set the attributes for each Snap-In to target or match suitable vacancies. The marketplace fills vacancies with Snap-Ins by matching and trading them based on the attributes of both the Snap-Ins and the vacancies.
  • the marketplace comprises a number of components, such as a vacancy editor, host software, adapter software, Snap-In editor software, and a service provider.
  • a vacancy editor enables vacancy providers to create vacancies and define attributes for those vacancies.
  • Host software transmits and receives, in real-time, information between a vacancy and the service provider.
  • Adapter software specific for the type of content and environment, merges received content into vacancies and containers.
  • a Snap-In editor enables secondary digital content providers to create Snap-Ins for vacancies, and define attributes for the Snap-Ins.
  • the service provider facilitates the process of filling vacancies with Snap-Ins by providing a real-time content trading, placement, and distribution system.
  • the marketplace system provides a number of benefits over traditional advertising systems.
  • the marketplace enables digital content providers to dynamically seek the most favorable vacancy based on real-time data.
  • Digital content providers create robust campaigns that match digital content in real-time to any targeted criteria, including full consumer profiles, contextual content, and search keywords.
  • digital content is placed in real time on any suitable medium that draws a mass audience finding the best audience hour-by-hour, or even minute-by-minute, as traffic changes.
  • the marketplace enables vacancy providers to set up any number of single- or-multi-purpose precisely-sized vacancies within their containers. These vacancies are then automatically filled with a suitable Snap-In.
  • the vacancy contains attributes that give the vacancy provider complete control over the digital content that appears in their site's vacancy. Because these vacancies may be traded using real-time auctions, vacancy providers achieve maximum value from their minute-to-minute audience.
  • the marketplace provides a real-time electronic marketplace for trading virtual real estate.
  • Software agents mediate the trading of vacancies and Snap-Ins. These agents allow digital content providers to trade or participate in auctions without any user intervention. That is, the agents automate the trading/auction process by bidding on vacancies in real-time as the true audience of the primary content fluctuates.
  • Each software agent may be preprogrammed by a Snap-in provider or a vacancy provider to achieve a desired result.
  • Figure 1 depicts a content trading, placement, and distribution system 100 suitable for practicing methods and systems consistent with the present invention.
  • Distribution system 100 comprises a vacancy provider 102, a Snap-In provider 104, a service provider 106, and a consumer 108.
  • Vacancy provider 102 creates and transmits vacancies to service provider 106. Again, a vacancy may comprise or be included in a Web page, audio/video stream, or any other digital content. Vacancy provider 102 also transmits, in real-time, attributes to service provider 106. Snap-In provider 104 creates and provides Snap-Ins to service provider 106. Like the vacancy, a Snap-In may be included in a Web page, audio/video stream, or any other digital content and may transmit, in real-time, attributes to service provider 106.
  • service provider 106 matches a suitable Snap-In with the vacancy in real-time and transmits the Snap-In to vacancy provider 102.
  • Providers 102, 104 may then transmit content and other information to consumer 108, including the vacancy-containing content from vacancy provider 102 and the content of the Snap-In from content provider 104 to be embedded within the vacancy region.
  • both the content and information from providers 102 and 104 may be directed through service provider 106 to consumer 108.
  • FIG. 2 depicts an exemplary vacancy and Snap-In consistent with the principles of the present invention.
  • Vacancy 202 is created by vacancy provider 102 using a vacancy editor.
  • the vacancy editor may be configured differently.
  • a vacancy editor may be a well-known WYSIWYG page-editing program with a vacancy editor program plug-in.
  • a vacancy editor may be an audio editor that edits audio streams, or a PCS editor that includes text content intended for broadcasts.
  • static attributes 204 and dynamic attributes 206 are associated with vacancy 202.
  • vacancy provider 102 transmits the vacancy attributes 404, 406 to service provider 106, either by direct means built into vacancy provider 102's software or by host software that senses or filters the information requested from vacancy provider 102.
  • a Snap-In 210 is created by a Snap-In editor software, such as a Web-based interface, or other interface, consisting of software that prompts the user to enter links to the Snap-In content, or the Snap-In content 211 itself, as well as the Snap-In's associated attributes 212.
  • the Snap-In editor software may be remotely located at service provider 106. In that case, the Snap-In editor software may be a Web wizard program that helps a user create Snap-Ins using the Web. Depending upon the implementation and configuration of distribution system 100, the Snap-In editor program may be configured differently.
  • a Snap-In editor software may be a Web page(s) with dialogs and controls that allows the user to enter links to the Snap-In content, or to create the Snap-In content itself, as well as to edit the Snap-Ins's associated attributes.
  • the Snap-In editor software may contain content information and attributes suitablefor that application. Snap- In 210 is designed to fill vacancy 202 and contains attributes 212 to help locate a vacancy in real-time.
  • FIG. 3 depicts an exemplary data processing system 300 suitable for practicing methods and systems consistent with the present invention.
  • Data processing system 300 comprises a consumer computer 310, a host server 320, and a tenant server 330 connected to a service provider server 340 via a network 350, such as the Internet.
  • a consumer uses computer 310 to request and submit information to host server 320.
  • a digital content provider such as an advertiser or a virtual storefront owner, uses tenant server 330 to create and submit Snap-Ins to service provider server 340.
  • a Web publisher uses host server 320 to create and submit vacancies to service provider server 340.
  • Figure 4 depicts a more detailed diagram of consumer computer 310, which contains a memory 420, a secondary storage device 430, a central processing unit (CPU) 440, an input device 450, a video display 460, and an output device 470.
  • Memory 420 includes browser 422 that allows consumers to interact with host server 320 by transmitting and receiving files, such as Web pages.
  • a Web page may include images or textual information to provide an interface to receive ratings and requests for evaluations from a user using hypertext markup language (HTML), Java or other techniques.
  • HTML hypertext markup language
  • An example of browsers suitable for use with methods and systems consistent with the present invention are the Netscape Navigator browser, from Netscape Communications Corp., and the Internet Explorer browser, from Microsoft Corp.
  • host server 320 includes a memory 502, a secondary storage device 510, a CPU 512, an input device 514, and a video display 516.
  • Memory 502 includes vacancy editor 504, host software 506, and adapter software 508.
  • Vacancy editor 504 enables primary content providers to create vacancies for their containers.
  • Host software 506 transmits information associated with vacancies to a service provider server 340 each time a consumer computer 310 requests a container that contains a vacancy 202.
  • Host software 506 broadcasts information corresponding to the vacancy, such as vacancy attributes 204, 206 to service provider server 340.
  • a Web software such as the APACHE Web software, may also be included in host software 506 to transmit and receive Web pages.
  • Adapter software 508 merges content with vacancies as the content is delivered to host software 506 from either tenant server 330 or service provider server 340.
  • One potential configuration involves an in-process web server extension or filter that cooperates with the host web server to perform the adapter functions described above.
  • the adapter and host software resides on a separate (proxy) server.
  • the proxy server is configured to intercept all requests to the web server by, for example, listening on port 80, which is the port that web requests typically come in and on which the web server is usually listening.
  • the web server is therefore configured to listen on a different port, such as port 81.
  • both the web server and the proxy server processes are implemented on a single computer, although they may be distributed on different machines.
  • the proxy server is also configured to forward incoming requests to the web server for a response. After the web server returns a response to the proxy server, the adapter and host software on the proxy performs the functions described above.
  • tenant server 330 includes a memory 520, a secondary storage device 526, a CPU 528, an input device 530, and a video display 532.
  • Memory 520 includes tenant software 522 and adapter software 524.
  • Tenant software 522 communicates with service provider server 340 and may include Web software.
  • Adapter software 524 records consumer foUowthough activity. For example, when a consumer connects to a tenant server 330 associated with the Snap-In, tenant software 522 may notify service provider server 340 of the consumer's selections and activity.
  • service provider server 340 includes a memory 540, a secondary storage device 548, a CPU 556, an input device 558, and a video display 560.
  • Memory 540 includes trading engine 542, interface software 544, and Snap-In editor software 546.
  • Trading engine 542 provides a virtual trading floor where vacancies are filled with Snap-Ins based on any Snap-In's attributes and vacancy attributes.
  • Trading engine 542 may trade, auction vacancies and Snap-Ins.
  • Interface software 544 provides access to various features of the service provider, including trading, preferences, and configuration features.
  • Interface software 544 may be a Web page, Application Program Interfaces (API), or other input interface.
  • An API is a set of routines, protocols, or tools for communicating with software applications.
  • Snap-In editor software 546 helps a secondary content provider create and deliver Snap-Ins to a service provider server 340 (e.g., a Web interface).
  • a service provider server 340 e.g., a Web interface
  • Snap-In editor software 546 may be located at tenant server 330.
  • Secondary storage device 548 contains a database 550 that includes atenant file 552 and a host file 554.
  • Tenant file 552 holds information relating to Snap-Ins, such as attributes indicated by secondary content providers.
  • Host file 554 holds information relating to various vacancies, such as static attributes and dynamic attributes.
  • Figures 6A and 6B illustrate ways for creating vacancies.
  • vacancy creation process is initiated, for example, by displaying a vacancy editor software 504 (step 602).
  • a Web publisher may use vacancy editor software 504 to graphically define a vacancy region within Web pages.
  • An exemplary Web page 1000 with a vacancy is depicted in Figure 10.
  • Web page 1000 contains vacancies 1002.
  • a primary content provider may create a vacancy for a container located at host server 320 (step 604).
  • a Web publisher may define and link a vacancy region 1002 to Web page 1000.
  • the vacancy attributes associated with vacancy 1002 are transmitted to interface software 544 on service provider server 340 (step 606).
  • the vacancy attributes are stored in host file 554 and are accessible to digital content providers for viewing.
  • the attributes are also used during the trading process described below. That is, the attributes indicate the suitability or desirability of vacancy 1002 to any particular trader.
  • a vacancy will be matched to suitable second-party content through its attributes, and will have a value in the marketplace based on its attributes.
  • vacancy attributes are transmitted through host software 506 to service provider 340.
  • vacancy attributes may be updated as traffic conditions change at host server 320. For example, when Web traffic increases at host server 320, host software 506 notifies interface software 544 of the increase.
  • Figure 6A can be used to create vacancies in any type of container, including a Web page.
  • Figure 6B depicts the steps of a preferred process used to create vacancies in Web pages.
  • the vacancy editor software has two parts, a vacancy editor and a vacancy properties editor, both of which are located on a server of the service provider 106 accessible to vacancy providers through, for example, the Internet.
  • a vacancy provider creates a Web page, including identifiers for locations of vacancies
  • the vacancy provider loads the Web page onto the service provider's server so the vacancy editor can perform a series of functions, including converting the vacancy identifiers into selectable, graphical links.
  • the vacancy provider uses the vacancy properties editor to specify the properties for each vacancy by selecting the corresponding link.
  • a vacancy provider creates static pages with one or more vacancies using a computer connected to the Internet.
  • An HTML editor such as FrontPage 2000 from Microsoft Corp., is preferably operating on the provider's computer.
  • the provider's HTML editor provides the capability to access Web sites on the World Wide Web, or the provider's computer is equipped with a separate browser application, such as the Internet Explorer from Microsoft Corp., to provide this functionality.
  • the provider For each vacancy the vacancy provider wishes to include in the static Web page, the provider places a vacancy placeholder in the form of an image tag in the Web page that refers to an image of the appropriate size selected from a predetermined set (step 650).
  • the provider may obtain information on the predetermined set by accessing a specific web site, for example, a web site of service provider 106.
  • the HTML editor may be specifically programmed or modified by, for example, a plug-in application or applet, to provide information on the set of image sizes for vacancies.
  • an image tag The following is an example of an image tag:
  • the provider then points the HTML editor or browser to an online vacancy editor on the service provider's Web site.
  • a Web server operating in connection with the service provider's Web site provides a form for the vacancy provider to provide the URL of the static Web page being created with a vacancy (step 652).
  • an application such as an extension or plug-in, on the Web server of the service provider's Web site loads the vacancy provider's Web page into memory via the HTTP protocol (step 654).
  • step 656 the Web server application that parses the loaded Web page, converts each vacancy placeholder to an internal representation that can be used convert the placeholder to a displayable form.
  • the displayable form for each vacancy placeholder is then surrounded by an anchor tag making it a link (that a user can follow in much the same way that users follow links in any Web page).
  • any references in the loaded Web page that implicitly referred to the context of the Web page before it was loaded are transformed to refer to refer specifically to the context of the Web page. This transformation can be made through explicit transformation (e.g., replacement) of every reference, or by specifying a BASE tag in the head of the document that indicates to the vacancy provider's browser that all subsequent relative references should be made relative to the given context.
  • the vacancy provider clicks on a vacancy link to get to a vacancy properties editor page for that vacancy (step 658).
  • the vacancy properties editor provides a form which allows the provider to define such vacancy properties as vacancy type (advertising, virtual storefront, value-added content, etc.), units of sale (single 'retail' sales or bulk wholesales), time-dependent characteristics, cost per impression unit, and sector classification.
  • the vacancy properties editor also allows the vacancy provider to preview sample Snap-Ins matching the characteristics for the given vacancy.
  • the vacancy provider selects a "view full page” button provided on the form used to define vacancy properties when the process of defining vacancy properties for a Web page is complete, and the vacancy provider wishes to return to the original Web page.
  • the service provider's application displays a visual representation, such as a default Snap-In, for the just-defined vacancy.
  • the vacancy provider repeats step 658 until all vacancy properties for all vacancies on the Web page have been defined.
  • the Web page is downloaded from the service provider's Web site to the vacancy provider's computer with the HTML source for the Web page containing valid XML vacancy tags (step 660).
  • XML is short for Extensible Markup Language, which is a specification developed by the World Wide Web consortium. XML allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations.
  • XML XML
  • the vacancy provider downloads the Web page with vacancies represented as XML tags
  • the vacancy provider is given the option to download the Web page with the vacancies represented as code scriplets in a Web server programming language such as PHP or ASP.
  • the service provider's Web server Upon processing the download request, the service provider's Web server registers the new vacancies to its database and generates a downloadable HTML source file identical to the vacancy provider's original in every way except that the modified vacancies now have XML vacancy tags instead of simple image tags.
  • the vacancy provider's editor or browser prompts the provider to save the new web page source file locally.
  • the vacancy provider then moves the new Web page onto its Web server such that when a user accesses the Web page from the vacancy provider's server the Web page is immediately served Snap- In content for the new vacancies.
  • the above process requires that the vacancy provider permit the Web page to be accessible (via http) by the service provider's Web server.
  • a vacancy provider will not have the Web page available on a Web server.
  • the service provider's application permits the vacancy provider to upload a file rather than specify a URL.
  • the service provider allows vacancy providers to invoke the online vacancy editor on a Web page that already contains valid registered vacancies.
  • the service provider's Web server requests the vacancy provider's page in step 654, it would normally see Snap-In content instead of a vacancy.
  • the vacancy provider's adapter software for example, adapter 508 of the host server, recognizes this special case (by virtue of the fact that the requesting client is the service provider's Web server) and serve a placeholder image, as in step 658, for the vacancy instead of the Snap-In content.
  • the vacancy provider invokes the vacancy properties editor for a given vacancy on the Web page, the properties will all default to those of the existing vacancy for convenience.
  • the existing vacancy identifier must be specified by the vacancy provider's adapter software as an image tag attribute.
  • Systems consistent with the present invention also support the ability for a vacancy provider to define an "out of context" vacancy. This functionality is needed by vacancy providers having dynamically-generated Web pages. It would not make sense to require the vacancy provider to upload to the service provider's Web site the program for dynamically generating a Web page containing vacancies. Therefore, systems consistent with the present invention permit the vacancy provider to invoke the vacancy properties editor for a vacancy which is not presented as an element in a page.
  • Snap-In creation process is initiated by accessing Snap-In editor software 546 (e.g., Web wizard software) located on service provider server 340 (step 702).
  • a secondary content provider may access the service provider's Web page through interface 544. Once accessed, the secondary content provider may use the Web wizard software to create a Snap-In (step 704).
  • Each Snap-In contains attributes as well as digital content.
  • a Snap-In may contain a strategy embodied in a software agent that executes the secondary content provider's bidding/trading strategy for a particular vacancy or vacancy attribute.
  • the software agents may be created to bid aggressively under some conditions or less aggressively for others.
  • the software agent may be defined to bid high when the primary content of the vacancy will be displayed to a large audience, or when the vacancy will be displayed to a target audience, such as teenagers.
  • Software agents may adjust their bids based on dynamic property values of current vacancies.
  • a software agent may contain a comprehensive policy profile, such as targeting or excluding specific vacancy attributes, measuring complex Web-consumer demographics, or even bid for a vacancy when specific individuals are involved.
  • a vacancy may contain similar strategies as the Snap-Ins.
  • the Snap-In may be implemented as an object and the associated software agent is implemented in the object's methods.
  • the secondary content provider may provide the Snap-In content to a service provider server 340 (step 706). That is, the provider may create, link, or upload content associated with the Snap-In to a service provider server 340.
  • the secondary content provider may use Snap-In editor software 546 to upload the information to service provider server 340 using interface 544.
  • attributes associated with the Snap-In may be transmitted to service provider server 340 (step 708). The attributes may be stored in tenant file 552.
  • request process is initiated by receiving a request to provide content to a consumer (step 802).
  • a request may be for a Web page.
  • host software 504 transmits information corresponding to the requesting consumer, various vacancy attributes, and any other attributes (e.g., Web server attributes) to service provider server 340 (step 804).
  • the vacancy may be designated for content such as paid or syndicated content. In instances where the vacancy is sold, this information is called a "vacancy offering."
  • host software 504 may transmit any available demographic information regarding the consumer, such as age, physical location, or software. Host software 504 may obtain demographic information by the requesting consumer's network address and domain name.
  • Host software 504 may also obtain demographic information from a profile created for each consumer. That is, host software 504 may require the consumer to login to host server 320 to obtain Web pages from host server 320. Host software 504 may also transmit dynamic vacancy attributes, such as required content, physical attributes, and cost per impression. Additionally, host software 504 may transmit Web server attributes, such as rating information, or number of viewers. Once the vacancy offering is received at service provider server 340, the vacancy is matched with a suitable Snap-In in accordance to trading preferences of Snap-In providers and vacancies; the transaction is executed.
  • host server 320 receives the digital content and tracking information from the selected Snap-In from interface software 544 (step 806). Once received, adapter software 508 merges the content with the vacancy and transmits the Snap-In content with digital content and transaction information in place of the vacancy to the requesting consumer (step 808).
  • the digital content may be clickable and contain links to a tenant location, along with various tracking information (described below). For example, the digital content may contain links to a tenant server. If the consumer selects the digital content (step 810), the consumer is connected to the tenant's server (step 812).
  • Tenant software 522 on tenant server 330 listens for requests that include tracking information from host server 320.
  • tenant software 522 transmits the requested information and at the same time tenant software 522 notifies service provider server 340 of the request along with any additional selection activity (step 814). For example, by maintaining tracking information in a Uniform Resource Locator (URL), for each Web page a consumer views at tenant server 330, a Web software notifies service provider server 340. Additionally, if a consumer purchases an item though tenant server 330, tenant server 330 notifies service provider server 340 as well. Alternatively, or additionally, the tracking information may be embedded within a file local to the consumer, or cookies and later read by a software when that consumer connects to tenant server 330.
  • trading process is initiated by locating a Snap-In for a vacancy based on matching attributes and/or market mechanisms (step 902).
  • Trading engine 542 compares attributes for a vacancy with those of a Snap-In.
  • a vacancy may be seeking syndicated content, whereas a Snap-In may be a particular type of syndicated content.
  • a market mechanism is any type of method (e.g., buy, sell, or barter) used to locate Snap-Ins and vacancies.
  • trading engine 542 may use a Vickrey auction. The Vickrey auction allows a content provider to adjust their bidding strategy after each round.
  • Other methods may be used, such as second price field bid auctions.
  • static trading may be used in that a preset Snap-In fills a preset vacancy. That is, the vacancy may indicate that only predetermined Snap-Ins (e.g., content from company "X") may be used to fill the vacancy.
  • service provider server 340 may serve as an auditing server, providing statistical information regarding how many times the preset Snap-In has filled the vacancy.
  • trading engine 542 executes transactions between Snap-In providers and vacancy providers (step 904).
  • trading engine 542 may execute transactions using software agents to determine which among the eligible Snap-Ins will be placed in the vacancy in real-time.
  • a software agent may be programmed to increase the price per impression up to a predetermined amount.
  • the software agent may work with other parameters, such as number of units, geographic location, or attributes, such as size of a region, or audio length of the region.
  • other methods may be used to create winning strategies, such as neural network based agents, or rule based induction learning.
  • trading engine 542 notifies Snap-In provider (secondary content provider) as well as vacancy provider (primary content provider) of the transaction details (step 906).
  • Trading engine 542 may also notify the respective agents of the providers. For example, trading engine 542 may notify an agent to increase the bid in a next transaction. Both vacancy providers and Snap-In providers may indicate a maximum bid level.
  • trading engine 542 may also directly notify the providers of the failed transaction. In this case, the provider may determine how to handle future transactions.
  • trading engine 542 transmits Snap-In information and vacancy information to host software 504, which in turn notifies the adapter software 508, which in turn merges the content.
  • the notification may include a URL link to the digital content, or the actual digital content.
  • the URL link may also include additional tracking information. That is, the URL link may contain parameters used by the tenant Web site to inform service provider server 340. Each time the consumer visits different tenant Web pages, the URL link may be used to transmit information to service provider server 340 so that service provider server 340 obtains a complete record of the consumer's activity at the tenant Web site. Thus, when a consumer clicks on the digital content in the vacancy and is connected to the tenants Web site, service provider server 340 may still track the consumer activity.
  • trading engine 542 may simply provide host server 320 with the actual digital content. For example, if the tenant included with the Snap-In a GIF image (e.g., a banner advertisement), instead of a URL link, the GIF image is forwarded to host server 320 for display. Also at this point, trading engine 542 may log the completed transaction and debit or credit the tenant and host an appropriate amount.
  • a GIF image e.g., a banner advertisement
  • Figure 11 depicts an advertising system 1100 consistent with the present invention.
  • System 1100 contains a host server 1102 capable of generating additional revenue from vacancies 1104 on containers 1103.
  • Tenant server 1105 contains Snap-In 1106 created to fill vacancies 1104.
  • Trading server 1107 matches vacancies 1104 with Snap-In 1106.
  • a primary digital content provider may use a vacancy editor software to graphically define vacancy 1104 in container 1103.
  • the provider also defines the vacancy's properties, such as the availability in units of 10,000 impressions for sale in December only, at a price of 4 cents per impression, keywords typed by a consumer in real-time, such as "teenager.”
  • the provider uses the host software to submit vacancy 1104 to trading server 1107.
  • the host software notifies trading server 1107 of the increased traffic and to update the dynamic properties of vacancy 1104.
  • a secondary digital content provider may use a Snap-In editor software, such as a Web wizard, to designate specific Snap-Ins 1106 to be delivered to specific consumer profiles.
  • the Snap-In may be a banner advertisement, a virtual storefront, or any other digital content.
  • the digital content provider may also use the appropriate software to indicate a preference for teenage consumers during peak Web traffic for a Snap-In 1106.
  • Trading server 1107 matches Snap-In 1106 with vacancy 1104 (described above), and then transmits the Snap-In to host server 1102.
  • the adapter software then merges the content with the vacancy 1104.
  • Host server 1102 transmits container 1103 with Snap-In 1106 in place of vacancy 1104.
  • the primary content provider immediately receives revenue from secondary digital content providers who have created the Snap-In 1106.
  • FIG. 12 depicts an alternative content distribution system suitable for practicing methods and systems consistent with the present invention.
  • Fig. 12 illustrates a network 1260 that contains a vacancy provider 1262 (the primary content distributor), a snap-in provider 1264, and a service provider with a trading floor 1266.
  • Provider 1262 communicates with content consumers, such as mobile devices 1290, through communication infrastructure 1280.
  • adapter 1268 detects the vacancy and notifies the service provider 1266 via host software 1267.
  • Service provider 1266 obtains suitable matching content from snap-in content provider 1264 and transmits the Snap-In via the host software 1267 back to adapter 1268 at the vacancy provider.
  • Adapter 1268 merges the Snap-In content with the primary distributor's content in a format understandable to a mobile device 1290 (such as mobile IP, or PCS) and then transmits the content.
  • system 1260 The operation of system 1260 is substantially the same as that described above except for the adapter software which is specialized to this distribution method, and the output device for receiving digital content, which in this example is a mobile device.
  • the output device for receiving digital content which in this example is a mobile device.
  • a similar configuration may be used to provide digital content in a manner consistent with the present invention to other output devices like televisions and radios.
  • systems consistent with the present invention overcome the shortcomings of existing systems by providing a virtual marketplace that matches a unit of secondary digital content (Snap-In) with a defined region (vacancy) within primary content, such as a Web site.
  • Secondary digital content Snap-In
  • vacancy defined region within primary content
  • systems consistent with the present invention overcome the shortcomings of existing systems by providing a virtual marketplace that matches a unit of secondary digital content (Snap-In) with a defined region (vacancy) within primary content, such as a Web site.
  • secondary digital content such as secondary storage devices, like hard disks, floppy disks, and CD-ROM; a carrier wave received from a network like the Internet; or other forms of ROM or RAM.
  • specific components and programs of consumer computer 110, and various servers have been described, one skilled in the art will appreciate that these may contain additional or different components or programs.

Abstract

Methods, systems, and articles of manufacture consistent with the present invention overcome the shortcomings of existing systems by providing an electronic marketplace that matches units of content from secondary content providers with suitable vacancies fromprimary content providers. Vacancies may constitute, or be included in, any digital transmission containers, such as a television or radio programming, Web pages, and the like. Specifically, the electronic marketplace automatically matches content offered by secondary content providers with vacancies offered by primary content providers thus filling the vacancies in these containers through a real-time content trading, placement, and distribution system. To do so, attributes associated with the vacancies and with the units of secondary content are used to trade and match suitable vacancies with suitable content. This invention enables both secondary content owners and vacancy owners (primary content providers) to obtain the full commercial benefit of their secondary content and containers. Vacancies for Web pages are generated using a vacancy editor and a vacancy properties editor. The Vacancy editor converts each tag in a Web page that represents a vacancy into a link that a user can select using the vacancy properties editor to define properties for the vacancy.

Description

CONTENT DISTRIBUTION SYSTEM AND METHOD
BACKGROUND OF THE INVENTION
A. Field of the Invention
This invention relates generally to content distribution systems and, more particularly, to a system for distributing digital content associated with a container based on a relationship between attributes associated with the digital content and attributes associated with a defined region of the container. The container may constitute, or be included in, any digital transmission, such as a television or radio programming, web pages, and the like.
B. Description of the Related Art
Content generally comprises any/ άnd of text, audible message, and/or visual. Today, content is reduced to bits and bytes for transmission and visual and/or audible output. Content finds its way into our homes via output devices such as televisions (with or without set-top boxes), radios, computer networks (e.g., the Internet), and the like. Content also makes its way into our everyday routine via portable output devices such as pagers, personal digital assistants (PDAs), wireless telephones (e.g., cellular or satellite), and the like.
Generally, content is provided to these output devices based on arrangements made long before the transmission from a source to the output devices. For example, primary content providers such as television stations, radio stations, publishers on the Internet, Internet Service Providers, pager service companies, and other entities that provide a medium or network for transmitting content to an audience enter into agreements with secondary content providers, such as advertisers, to transmit secondary content, such as advertisements at predetermined times, intervals, locations, etc. to all or specific devices..
But secondary content transmission is not limited to advertisements. Other types of secondary content providers also prearrange for the transmission or airing of their content. For example, entities that produce programs (secondary content) for television enter into agreements with television stations and networks (primary content providers) to transmit specific programs at predetermined times. The same is true for the other forms of entertainment, edutainment, and communication described above.
Providers of primary and secondary content merge their content before delivery to the consumer. These arrangements are often negotiated long before delivery to the consumer and through a labor intensive process. Therefore, at the time of transmission the predetermined cost to the content providers does not necessarily reflect the current level of interest in the secondary or primary content at the time of transmission. For example, a primary content provider may experience an unexpected surge in interest in a particular program at a particular time but the provider may not be able to reap a financial benefit of that additional interest by, for example, charging secondary content providers, such as advertisers accordingly for advertising during the surge. Moreover, prearranged agreements may prevent certain advertisers and content producers from competing effectively for transmission time from the primary content provider.
For example, the barriers for publishing content on the Internet are low. A computer equipped with a communication mechanism such as a modem and telephone connection is nearly all that is necessary to gain access to the Internet. A program called a Web browser, such as the NETSCAPE NAVIGATOR from NETSCAPE Corporation, makes it a simple task to traverse the vast network of information available on the Internet and, specifically, its subpart known as the "World Wide Web."
The architecture of the Web follows a conventional client-server model. The terms "client" and "server" are used to refer to a computer's general role as a requester of data (the client) or provider of data (the server). In conventional settings, a Web browser resides in each client and is used to access specially formatted "Web pages" that reside on Internet (Web) servers. Web clients and Web servers communicate using a conventional protocol called "HyperText Transfer Protocol" (HTTP).
In operation, a Web browser opens a connection to a Web server and initiates a request for a document using a Uniform Resource Locator (URL). The Web server delivers the requested document, typically in a standard coded format such as the "HyperText Markup Language" (HTML) format. After the document is delivered, the connection is closed. The Web browser renders the document, displaying content or performing a function designated by the document. In this way, the Web server publishes content.
With the explosive growth of e-commerce, the Internet is poised to realize its potential as a revolutionary way for businesses to interact with their customers and each other. This potential is evident with the growth of e-commerce as applied to certain business fields such as retailing, advertising, and content syndication. Certain known business methods, and conventional implementations of these methods allow for deployment of each of these fields on the Internet and for primary or secondary content providers to earn revenue for participating in this market. However, these fields remain artificially disjointed and monolithic in their deployment.
Therefore, there is a need for a system that can combine the diverse area of commerce into a single universally accessible system to all content providers. Such a system not only permits digital content providers to explicitly target consumers and medium, but also it permits primary content providers, such as Web publishers, cellular service providers, and broadcasters, or secondary content providers to maximize their revenues for part of their medium. SUMMARY OF THE INVENTION
Methods, systems, and articles of manufacture consistent with the present invention overcome the shortcomings of existing systems by providing a marketplace that matches content with containers, which may constitute, or be included in, any digital transmission, such as a television or radio programming, Web pages, and the like. Specifically, the marketplace automatically matches content with containers through a real-time content trading, placement, and distribution system. To do so, attributes associated with the containers are used to identify the available content, and the content fills the containers based on the attributes associated with the content. Trading and placing content within containers enable both content owners and container owners to obtain the full commercial benefit of their content and containers.
In an implementation consistent with the present invention a method for creating vacancies used for trading content is provided. According to this method, a vacancy is defined in a container with associated attributes and information reflecting the attributes is transmitted to a trading floor that locates content to fill the vacancy based on the vacancy attributes.
In another implementation consistent with the present invention a method for matching content with a vacancy in a container is provided. According to this method a host provides a notification of a vacancy in a container. The notification contains attributes associated with the vacancy. Content for the vacancy is then located based on the attributes associated with the vacancy, and the host is provided with information corresponding to the content.
In another implementation consistent with the present invention, a method for filling a vacancy is provided. According to this method a host receives a request from a consumer to obtain a container that contains a vacancy and information including content corresponding to a content provider is obtained from a server and then transmitted to the consumer.
In another implementation consistent with the present invention, a method for receiving content stream on a consumer computer is provided. The stream contains digital content from a content provider and information from a vacancy provider. The method involves transmitting a request to a vacancy provider for content stream, locating at least one content provider to provide the digital content in the content stream, and receiving the content stream with the content and the information supplied by the tenant and the vacancy provider at the consumer computer.
In another implementation consistent with the present invention, a method for trading content and vacancies on a network is provided. The method involves permitting vacancy providers to submit vacancy offerings for a container. Each vacancy offering includes attributes associated with a vacancy. The method also involves permitting content providers to submit attributes associated with content. Once submitted, vacancy offerings and content are traded so that of selected content can be distributed.
In another implementation consistent with the present invention, a method for generating vacancies is provided. This method involves storing a document with a set of vacancy elements, each vacancy element designating a vacancy, receiving a converted document with a graphical representation corresponding to each vacancy element, and permitting a user to specify a set of properties for each vacancy using the graphical representation corresponding to each vacancy element.
In another implementation consistent with the present invention, a method is provided for a vacancy provider having a vacancy-provider server to generate a Web page with a vacancy. The method involves a series of steps, including creating a Web page using a Web page editor, including in the Web page a set of vacancy placeholders, each vacancy placeholder defining a location for a vacancy, accessing a remote vacancy editor and providing the remote vacancy editor with a storage location for the Web page such that the remote vacancy editor loads the Web page (whereupon the remote vacancy editor converts each vacancy placeholder into a selectable graphical reference), and accessing a remote vacancy properties editor in response to the selection of a selectable graphical reference for a vacancy to define a set of properties for that vacancy.
Systems and articles of manufacture corresponding to these implementations are also provided within the scope of the present invention.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate an implementation of the invention and, together with the description, serve to explain the advantages and principles of the invention. In the drawings,
Figure 1 depicts a content trading, placement, and distribution system consistent with the principles present invention;
Figure 2 depicts an exemplary vacancy and Snap-In consistent with the principles of the present invention;
Figure 3 depicts an exemplary content distribution system suitable for practicing methods and systems consistent with the present invention;
Figure 4 depicts a more detailed diagram of the consumer computer depicted in Fig. 3;
Figure 5 A depicts a more detailed diagram of the host server depicted in Fig. 3;
Figure 5B depicts a more detailed diagram of the tenant server depicted in Fig. 3; Figure 5C depicts a more detailed diagram of the service provider server depicted in Fig. 3;
Figure 6 A depicts a flow chart of the steps performed when creating a vacancy in a manner consistent with the principles of the present invention;
Figure 6B depicts a flow chart of the steps performed when creating a vacancy in a Web page consistent with the principles of the present invention;
Figure 7 depicts a flow chart of the steps performed when creating a Snap-In in a manner consistent with the principles of the present invention;
Figure 8 depicts a flow chart of the steps performed by the service provider server when trading vacancies and Snap-Ins in a manner consistent with the principles of the present invention;
Figure 9 depicts a flow chart of the steps performed by the data processing system when inserting a Snap-In into a vacancy in a manner consistent with the principles of the present invention;
Figure 10 depicts an exemplary Web page for use in a manner consistent with the present invention;
Figure 11 depicts an example embodiment suitable for methods and systems consistent with the present invention; and
Figure 12 depicts an alternative content distribution system suitable for practicing methods and systems consistent with the present invention.
DETAILED DESCRIPTION
The following detailed description of the invention refers to the accompanying drawings. Although the description includes exemplary implementations, other implementations are possible, and changes may be made to the implementations described without departing from the spirit and scope of the invention. The following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims. Wherever possible, the same reference numbers will be used throughout the drawings and the following description to refer to the same or like parts.
Overview
Methods, systems, and articles of manufacture consistent with the present invention provide a marketplace that matches and trades units of content and containers, and places content within containers. Such methods, systems, and articles of manufacture enable primary content providers to fill these containers in real time using a content trading and placement process facilitated by the marketplace. This enables Web publishers, information providers, and broadcasters to receive content for their containers in real time and obtain value-based returns for permitting secondary content providers to fill these containers with content. Similarly, this marketplace approach enables secondary content providers to distribute content in real time into suitable containers, and to obtain value-based returns for permitting Web publishers, information providers, and broadcasters to use these units of content.
Vacancies are spacial or temporal regions that may constitute or be included in containers. Vacancies hold content created by a content provider. In one example, a container such as a Web page, may contain vacancies in the form of spacially defined regions within the Web page. In another example, a container such as an audio program may contain a vacancy in the form of temporally defined regions designated for embedding second-party content, such as advertising or public service announcements. In yet another example a container, such as a text message intended for devices, such as pagers, cellular phones, or PDAs, may contain a vacancy in the form of a region designated for a unit of embedded data sourced from a secondary content provider, such as personalized news, sports, or advertising.
A consumer may receive the container as a primary content stream. Any vacancies in the container are open to accept suitable content from a suitable secondary content provider. The marketplace may locate a suitable secondary content provider whose content stream is transmitted to the consumer within any designated portions (vacancies) within the primary content stream.
A vacancy is a region owned by a vacancy provider that can be leased for any use to any secondary content provider for any number of use-units (e.g., impressions) at any monetary price (or in exchange for any other instrument of value within the marketplace). A vacancy provider may be a Web publisher, broadcaster, information provider, or any other entity that makes vacancies available to secondary content providers. A vacancy provider may allocate permanent or temporary occupancy by secondary digital content providers based on content/context suitability and pricing considerations that are negotiated by the marketplace. In other words, the vacancy provider may dictate the type of content needed for allocated regions within the vacancy provider's medium. The suitability, pricing matching is negotiated in a marketplace at a service provider based on the vacancy attributes that the vacancy provider attaches to the vacancy and attributes that a secondary content provider attaches to a particular unit of content.
Vacancy providers create vacancies with attributes, such as dynamic attributes and static attributes. These attributes identify each vacancy by type and the desired secondary content to fill the vacancy. Static attributes may include required secondary content, such as teenage advertising, a virtual storefront, a syndicated cartoon, an audio stream, the physical size and location of the vacancy, time and date qualifiers on the vacancy, or classification of the vacancy. Dynamic attributes are defined as attributes that can change or be derived at any time, or attributes that are evaluated just-in-time as the vacancy is offered. For example, in the case of a Web publisher, a vacancy may include dynamic attributes, such as real-time Web site traffic. When traffic is low at the Web site, the cost to fill the vacancy may be four cents per impression, however when Web traffic is high, the cost may be six cents per impression. Another type of dynamic attribute is keywords. For example, a keyword entered by a consumer during a search may be linked to a dynamic attribute of a vacancy within the search-results container and used to help locate suitable secondary content for that vacancy. That is, if a consumer searches with the keyword "car," content relating to cars may be used to fill the vacancy located on the search results Web page. Another example of a dynamic attribute is consumer demographics.
A "Snap-In" comprises a unit of digital content and meta-data, with associated attributes that is available for filing a vacancy. Snap-Ins include context-keyed advertising, virtual storefronts, or any syndicated content. Secondary digital content providers, also known as tenants, create Snap-Ins to plug into vacancies. A tenant may set the attributes for each Snap-In to target or match suitable vacancies. The marketplace fills vacancies with Snap-Ins by matching and trading them based on the attributes of both the Snap-Ins and the vacancies.
The marketplace comprises a number of components, such as a vacancy editor, host software, adapter software, Snap-In editor software, and a service provider. A vacancy editor enables vacancy providers to create vacancies and define attributes for those vacancies. Host software transmits and receives, in real-time, information between a vacancy and the service provider. Adapter software, specific for the type of content and environment, merges received content into vacancies and containers. A Snap-In editor enables secondary digital content providers to create Snap-Ins for vacancies, and define attributes for the Snap-Ins. The service provider facilitates the process of filling vacancies with Snap-Ins by providing a real-time content trading, placement, and distribution system.
One of the many applications of the marketplace is in the field of advertising. The marketplace system provides a number of benefits over traditional advertising systems. First, the marketplace enables digital content providers to dynamically seek the most favorable vacancy based on real-time data. Digital content providers create robust campaigns that match digital content in real-time to any targeted criteria, including full consumer profiles, contextual content, and search keywords. Using the marketplace, digital content is placed in real time on any suitable medium that draws a mass audience finding the best audience hour-by-hour, or even minute-by-minute, as traffic changes.
Second, the marketplace enables vacancy providers to set up any number of single- or-multi-purpose precisely-sized vacancies within their containers. These vacancies are then automatically filled with a suitable Snap-In. The vacancy contains attributes that give the vacancy provider complete control over the digital content that appears in their site's vacancy. Because these vacancies may be traded using real-time auctions, vacancy providers achieve maximum value from their minute-to-minute audience.
Third, the marketplace provides a real-time electronic marketplace for trading virtual real estate. Software agents mediate the trading of vacancies and Snap-Ins. These agents allow digital content providers to trade or participate in auctions without any user intervention. That is, the agents automate the trading/auction process by bidding on vacancies in real-time as the true audience of the primary content fluctuates. Each software agent may be preprogrammed by a Snap-in provider or a vacancy provider to achieve a desired result. Figure 1 depicts a content trading, placement, and distribution system 100 suitable for practicing methods and systems consistent with the present invention. Distribution system 100 comprises a vacancy provider 102, a Snap-In provider 104, a service provider 106, and a consumer 108. Vacancy provider 102 creates and transmits vacancies to service provider 106. Again, a vacancy may comprise or be included in a Web page, audio/video stream, or any other digital content. Vacancy provider 102 also transmits, in real-time, attributes to service provider 106. Snap-In provider 104 creates and provides Snap-Ins to service provider 106. Like the vacancy, a Snap-In may be included in a Web page, audio/video stream, or any other digital content and may transmit, in real-time, attributes to service provider 106. When a consumer 108 requests, or is an intended recipient of, content containing a vacancy from a vacancy provider 102, service provider 106 matches a suitable Snap-In with the vacancy in real-time and transmits the Snap-In to vacancy provider 102. Providers 102, 104 may then transmit content and other information to consumer 108, including the vacancy-containing content from vacancy provider 102 and the content of the Snap-In from content provider 104 to be embedded within the vacancy region. Alternatively, both the content and information from providers 102 and 104 may be directed through service provider 106 to consumer 108.
Figure 2 depicts an exemplary vacancy and Snap-In consistent with the principles of the present invention. Vacancy 202 is created by vacancy provider 102 using a vacancy editor. Depending upon the implementation and configuration of distribution system 100, the vacancy editor may be configured differently. For example, in the case of Web pages, a vacancy editor may be a well-known WYSIWYG page-editing program with a vacancy editor program plug-in. In a different implementation, a vacancy editor may be an audio editor that edits audio streams, or a PCS editor that includes text content intended for broadcasts. Associated with vacancy 202 are static attributes 204 and dynamic attributes 206. Each time a consumer 108 requests information that contains vacancy 202, vacancy provider 102 transmits the vacancy attributes 404, 406 to service provider 106, either by direct means built into vacancy provider 102's software or by host software that senses or filters the information requested from vacancy provider 102.
A Snap-In 210 is created by a Snap-In editor software, such as a Web-based interface, or other interface, consisting of software that prompts the user to enter links to the Snap-In content, or the Snap-In content 211 itself, as well as the Snap-In's associated attributes 212. The Snap-In editor software may be remotely located at service provider 106. In that case, the Snap-In editor software may be a Web wizard program that helps a user create Snap-Ins using the Web. Depending upon the implementation and configuration of distribution system 100, the Snap-In editor program may be configured differently. For example, in the case of Web pages, a Snap-In editor software may be a Web page(s) with dialogs and controls that allows the user to enter links to the Snap-In content, or to create the Snap-In content itself, as well as to edit the Snap-Ins's associated attributes. In a different implementation, such as for broadcast or PCS applications, the Snap-In editor software may contain content information and attributes suitablefor that application. Snap- In 210 is designed to fill vacancy 202 and contains attributes 212 to help locate a vacancy in real-time.
System Components
Figure 3 depicts an exemplary data processing system 300 suitable for practicing methods and systems consistent with the present invention. Data processing system 300 comprises a consumer computer 310, a host server 320, and a tenant server 330 connected to a service provider server 340 via a network 350, such as the Internet. A consumer uses computer 310 to request and submit information to host server 320. A digital content provider, such as an advertiser or a virtual storefront owner, uses tenant server 330 to create and submit Snap-Ins to service provider server 340. A Web publisher uses host server 320 to create and submit vacancies to service provider server 340.
Figure 4 depicts a more detailed diagram of consumer computer 310, which contains a memory 420, a secondary storage device 430, a central processing unit (CPU) 440, an input device 450, a video display 460, and an output device 470. Memory 420 includes browser 422 that allows consumers to interact with host server 320 by transmitting and receiving files, such as Web pages. A Web page may include images or textual information to provide an interface to receive ratings and requests for evaluations from a user using hypertext markup language (HTML), Java or other techniques. An example of browsers suitable for use with methods and systems consistent with the present invention are the Netscape Navigator browser, from Netscape Communications Corp., and the Internet Explorer browser, from Microsoft Corp.
As shown in Figure 5 A, host server 320 includes a memory 502, a secondary storage device 510, a CPU 512, an input device 514, and a video display 516. Memory 502 includes vacancy editor 504, host software 506, and adapter software 508. Vacancy editor 504 enables primary content providers to create vacancies for their containers. Host software 506 transmits information associated with vacancies to a service provider server 340 each time a consumer computer 310 requests a container that contains a vacancy 202. Host software 506 broadcasts information corresponding to the vacancy, such as vacancy attributes 204, 206 to service provider server 340. In a Web environment, a Web software, such as the APACHE Web software, may also be included in host software 506 to transmit and receive Web pages. Adapter software 508 merges content with vacancies as the content is delivered to host software 506 from either tenant server 330 or service provider server 340. One potential configuration involves an in-process web server extension or filter that cooperates with the host web server to perform the adapter functions described above. In an alternative configuration, the adapter and host software resides on a separate (proxy) server. The proxy server is configured to intercept all requests to the web server by, for example, listening on port 80, which is the port that web requests typically come in and on which the web server is usually listening. The web server is therefore configured to listen on a different port, such as port 81. (In one configuration, both the web server and the proxy server processes are implemented on a single computer, although they may be distributed on different machines.) The proxy server is also configured to forward incoming requests to the web server for a response. After the web server returns a response to the proxy server, the adapter and host software on the proxy performs the functions described above.
As shown in Figure 5B, tenant server 330 includes a memory 520, a secondary storage device 526, a CPU 528, an input device 530, and a video display 532. Memory 520 includes tenant software 522 and adapter software 524. Tenant software 522 communicates with service provider server 340 and may include Web software. Adapter software 524 records consumer foUowthough activity. For example, when a consumer connects to a tenant server 330 associated with the Snap-In, tenant software 522 may notify service provider server 340 of the consumer's selections and activity.
As shown in Figure 5C, service provider server 340 includes a memory 540, a secondary storage device 548, a CPU 556, an input device 558, and a video display 560. Memory 540 includes trading engine 542, interface software 544, and Snap-In editor software 546. Trading engine 542 provides a virtual trading floor where vacancies are filled with Snap-Ins based on any Snap-In's attributes and vacancy attributes. Trading engine 542 may trade, auction vacancies and Snap-Ins. Interface software 544 provides access to various features of the service provider, including trading, preferences, and configuration features. Interface software 544 may be a Web page, Application Program Interfaces (API), or other input interface. An API is a set of routines, protocols, or tools for communicating with software applications. APIs provide efficient access to trading engine 542 without the need for additional software to interface with the engine. Snap-In editor software 546 helps a secondary content provider create and deliver Snap-Ins to a service provider server 340 (e.g., a Web interface). One skilled in the art will appreciate that Snap-In editor software 546 may be located at tenant server 330.
Secondary storage device 548 contains a database 550 that includes atenant file 552 and a host file 554. Tenant file 552 holds information relating to Snap-Ins, such as attributes indicated by secondary content providers. Host file 554 holds information relating to various vacancies, such as static attributes and dynamic attributes.
Vacancy Creation Process
Figures 6A and 6B illustrate ways for creating vacancies. As shown in Figure 6A, vacancy creation process is initiated, for example, by displaying a vacancy editor software 504 (step 602). For example, a Web publisher may use vacancy editor software 504 to graphically define a vacancy region within Web pages. An exemplary Web page 1000 with a vacancy is depicted in Figure 10. Web page 1000 contains vacancies 1002.
Next, a primary content provider may create a vacancy for a container located at host server 320 (step 604). For example, a Web publisher may define and link a vacancy region 1002 to Web page 1000. Finally, the vacancy attributes associated with vacancy 1002 are transmitted to interface software 544 on service provider server 340 (step 606). The vacancy attributes are stored in host file 554 and are accessible to digital content providers for viewing. The attributes are also used during the trading process described below. That is, the attributes indicate the suitability or desirability of vacancy 1002 to any particular trader. A vacancy will be matched to suitable second-party content through its attributes, and will have a value in the marketplace based on its attributes. As consumers request vacancy-containing content from host server 320, the vacancy attributes are transmitted through host software 506 to service provider 340. In addition, periodically, vacancy attributes may be updated as traffic conditions change at host server 320. For example, when Web traffic increases at host server 320, host software 506 notifies interface software 544 of the increase.
As suggested, the process depicted in Figure 6A can be used to create vacancies in any type of container, including a Web page. In contrast, Figure 6B depicts the steps of a preferred process used to create vacancies in Web pages.
In accordance with this preferred process, the vacancy editor software has two parts, a vacancy editor and a vacancy properties editor, both of which are located on a server of the service provider 106 accessible to vacancy providers through, for example, the Internet. Briefly, after a vacancy provider creates a Web page, including identifiers for locations of vacancies, the vacancy provider loads the Web page onto the service provider's server so the vacancy editor can perform a series of functions, including converting the vacancy identifiers into selectable, graphical links. Subsequently, the vacancy provider uses the vacancy properties editor to specify the properties for each vacancy by selecting the corresponding link.
Specifically, a vacancy provider creates static pages with one or more vacancies using a computer connected to the Internet. An HTML editor such as FrontPage 2000 from Microsoft Corp., is preferably operating on the provider's computer. The provider's HTML editor provides the capability to access Web sites on the World Wide Web, or the provider's computer is equipped with a separate browser application, such as the Internet Explorer from Microsoft Corp., to provide this functionality.
For each vacancy the vacancy provider wishes to include in the static Web page, the provider places a vacancy placeholder in the form of an image tag in the Web page that refers to an image of the appropriate size selected from a predetermined set (step 650). In one implementation the provider may obtain information on the predetermined set by accessing a specific web site, for example, a web site of service provider 106. Alternatively, the HTML editor may be specifically programmed or modified by, for example, a plug-in application or applet, to provide information on the set of image sizes for vacancies. The following is an example of an image tag:
<IMG SRC="http://www.quantumstream.com/vacancies/l 20x50.png">
The provider then points the HTML editor or browser to an online vacancy editor on the service provider's Web site. A Web server operating in connection with the service provider's Web site provides a form for the vacancy provider to provide the URL of the static Web page being created with a vacancy (step 652). When the vacancy provider submits the URL, an application, such as an extension or plug-in, on the Web server of the service provider's Web site loads the vacancy provider's Web page into memory via the HTTP protocol (step 654).
In step 656, the Web server application that parses the loaded Web page, converts each vacancy placeholder to an internal representation that can be used convert the placeholder to a displayable form. The displayable form for each vacancy placeholder is then surrounded by an anchor tag making it a link (that a user can follow in much the same way that users follow links in any Web page). Additionally any references in the loaded Web page that implicitly referred to the context of the Web page before it was loaded are transformed to refer to refer specifically to the context of the Web page. This transformation can be made through explicit transformation (e.g., replacement) of every reference, or by specifying a BASE tag in the head of the document that indicates to the vacancy provider's browser that all subsequent relative references should be made relative to the given context.
The vacancy provider then clicks on a vacancy link to get to a vacancy properties editor page for that vacancy (step 658). The vacancy properties editor provides a form which allows the provider to define such vacancy properties as vacancy type (advertising, virtual storefront, value-added content, etc.), units of sale (single 'retail' sales or bulk wholesales), time-dependent characteristics, cost per impression unit, and sector classification. The vacancy properties editor also allows the vacancy provider to preview sample Snap-Ins matching the characteristics for the given vacancy.
The vacancy provider selects a "view full page" button provided on the form used to define vacancy properties when the process of defining vacancy properties for a Web page is complete, and the vacancy provider wishes to return to the original Web page. The service provider's application displays a visual representation, such as a default Snap-In, for the just-defined vacancy.
The vacancy provider repeats step 658 until all vacancy properties for all vacancies on the Web page have been defined. At any time after step 654 is complete, the Web page is downloaded from the service provider's Web site to the vacancy provider's computer with the HTML source for the Web page containing valid XML vacancy tags (step 660). XML is short for Extensible Markup Language, which is a specification developed by the World Wide Web consortium. XML allows designers to create their own customized tags, enabling the definition, transmission, validation, and interpretation of data between applications and between organizations. Additional information on XML can be found at the Web site operated by the consortium, "www.w3c.org." As an alternative to the above-described process wherein the vacancy provider downloads the Web page with vacancies represented as XML tags, the vacancy provider is given the option to download the Web page with the vacancies represented as code scriplets in a Web server programming language such as PHP or ASP.
Upon processing the download request, the service provider's Web server registers the new vacancies to its database and generates a downloadable HTML source file identical to the vacancy provider's original in every way except that the modified vacancies now have XML vacancy tags instead of simple image tags. The vacancy provider's editor or browser prompts the provider to save the new web page source file locally. The vacancy provider then moves the new Web page onto its Web server such that when a user accesses the Web page from the vacancy provider's server the Web page is immediately served Snap- In content for the new vacancies.
As explained, the above process requires that the vacancy provider permit the Web page to be accessible (via http) by the service provider's Web server. In some cases, however, a vacancy provider will not have the Web page available on a Web server. In these instances, the service provider's application permits the vacancy provider to upload a file rather than specify a URL.
Additionally, the service provider allows vacancy providers to invoke the online vacancy editor on a Web page that already contains valid registered vacancies. In such a case, when the service provider's Web server requests the vacancy provider's page in step 654, it would normally see Snap-In content instead of a vacancy. In order for this case to work properly, the vacancy provider's adapter software, for example, adapter 508 of the host server, recognizes this special case (by virtue of the fact that the requesting client is the service provider's Web server) and serve a placeholder image, as in step 658, for the vacancy instead of the Snap-In content. When the vacancy provider invokes the vacancy properties editor for a given vacancy on the Web page, the properties will all default to those of the existing vacancy for convenience. The existing vacancy identifier must be specified by the vacancy provider's adapter software as an image tag attribute.
Systems consistent with the present invention also support the ability for a vacancy provider to define an "out of context" vacancy. This functionality is needed by vacancy providers having dynamically-generated Web pages. It would not make sense to require the vacancy provider to upload to the service provider's Web site the program for dynamically generating a Web page containing vacancies. Therefore, systems consistent with the present invention permit the vacancy provider to invoke the vacancy properties editor for a vacancy which is not presented as an element in a page.
Snap-In Creation Process
As shown in Figure 7, Snap-In creation process is initiated by accessing Snap-In editor software 546 (e.g., Web wizard software) located on service provider server 340 (step 702). A secondary content provider may access the service provider's Web page through interface 544. Once accessed, the secondary content provider may use the Web wizard software to create a Snap-In (step 704). Each Snap-In contains attributes as well as digital content. For example, a Snap-In may contain a strategy embodied in a software agent that executes the secondary content provider's bidding/trading strategy for a particular vacancy or vacancy attribute. The software agents may be created to bid aggressively under some conditions or less aggressively for others. For example, the software agent may be defined to bid high when the primary content of the vacancy will be displayed to a large audience, or when the vacancy will be displayed to a target audience, such as teenagers. Software agents may adjust their bids based on dynamic property values of current vacancies. For example, a software agent may contain a comprehensive policy profile, such as targeting or excluding specific vacancy attributes, measuring complex Web-consumer demographics, or even bid for a vacancy when specific individuals are involved. One skilled in the art will appreciate that a vacancy may contain similar strategies as the Snap-Ins. In one implementation the Snap-In may be implemented as an object and the associated software agent is implemented in the object's methods.
Next, the secondary content provider may provide the Snap-In content to a service provider server 340 (step 706). That is, the provider may create, link, or upload content associated with the Snap-In to a service provider server 340. The secondary content provider may use Snap-In editor software 546 to upload the information to service provider server 340 using interface 544. Finally, attributes associated with the Snap-In may be transmitted to service provider server 340 (step 708). The attributes may be stored in tenant file 552.
Request Process
As shown in Figure 8, request process is initiated by receiving a request to provide content to a consumer (step 802). For example, a request may be for a Web page. Each time browser 422 requests content that contains a vacancy from host server 320, host software 504 transmits information corresponding to the requesting consumer, various vacancy attributes, and any other attributes (e.g., Web server attributes) to service provider server 340 (step 804). The vacancy may be designated for content such as paid or syndicated content. In instances where the vacancy is sold, this information is called a "vacancy offering." For example, host software 504 may transmit any available demographic information regarding the consumer, such as age, physical location, or software. Host software 504 may obtain demographic information by the requesting consumer's network address and domain name. Host software 504 may also obtain demographic information from a profile created for each consumer. That is, host software 504 may require the consumer to login to host server 320 to obtain Web pages from host server 320. Host software 504 may also transmit dynamic vacancy attributes, such as required content, physical attributes, and cost per impression. Additionally, host software 504 may transmit Web server attributes, such as rating information, or number of viewers. Once the vacancy offering is received at service provider server 340, the vacancy is matched with a suitable Snap-In in accordance to trading preferences of Snap-In providers and vacancies; the transaction is executed.
Next, host server 320 receives the digital content and tracking information from the selected Snap-In from interface software 544 (step 806). Once received, adapter software 508 merges the content with the vacancy and transmits the Snap-In content with digital content and transaction information in place of the vacancy to the requesting consumer (step 808). The digital content may be clickable and contain links to a tenant location, along with various tracking information (described below). For example, the digital content may contain links to a tenant server. If the consumer selects the digital content (step 810), the consumer is connected to the tenant's server (step 812). Tenant software 522 on tenant server 330 listens for requests that include tracking information from host server 320. When the tracking information is identified, tenant software 522 transmits the requested information and at the same time tenant software 522 notifies service provider server 340 of the request along with any additional selection activity (step 814). For example, by maintaining tracking information in a Uniform Resource Locator (URL), for each Web page a consumer views at tenant server 330, a Web software notifies service provider server 340. Additionally, if a consumer purchases an item though tenant server 330, tenant server 330 notifies service provider server 340 as well. Alternatively, or additionally, the tracking information may be embedded within a file local to the consumer, or cookies and later read by a software when that consumer connects to tenant server 330. Trading Process
As shown in Figure 9, trading process is initiated by locating a Snap-In for a vacancy based on matching attributes and/or market mechanisms (step 902). Trading engine 542 compares attributes for a vacancy with those of a Snap-In. A vacancy may be seeking syndicated content, whereas a Snap-In may be a particular type of syndicated content. A market mechanism is any type of method (e.g., buy, sell, or barter) used to locate Snap-Ins and vacancies. For example, trading engine 542 may use a Vickrey auction. The Vickrey auction allows a content provider to adjust their bidding strategy after each round. One skilled in the art will appreciate that other methods may be used, such as second price field bid auctions. Alternatively, or additionally, static trading may be used in that a preset Snap-In fills a preset vacancy. That is, the vacancy may indicate that only predetermined Snap-Ins (e.g., content from company "X") may be used to fill the vacancy. In a static system, service provider server 340 may serve as an auditing server, providing statistical information regarding how many times the preset Snap-In has filled the vacancy.
Regardless of the market mechanism used to locate Snap-Ins and vacancies, trading engine 542 executes transactions between Snap-In providers and vacancy providers (step 904). For example, trading engine 542 may execute transactions using software agents to determine which among the eligible Snap-Ins will be placed in the vacancy in real-time. A software agent may be programmed to increase the price per impression up to a predetermined amount. Thus, if the initial bid (e.g., 5 cents) is a failed transaction, the software agent may be programmed to increase the price per impression (e.g., 15 cents). One skilled in the art will appreciate that the software agents may work with other parameters, such as number of units, geographic location, or attributes, such as size of a region, or audio length of the region. One skilled in the art will appreciate that other methods may be used to create winning strategies, such as neural network based agents, or rule based induction learning.
Once a transaction has been executed, trading engine 542 notifies Snap-In provider (secondary content provider) as well as vacancy provider (primary content provider) of the transaction details (step 906). Trading engine 542 may also notify the respective agents of the providers. For example, trading engine 542 may notify an agent to increase the bid in a next transaction. Both vacancy providers and Snap-In providers may indicate a maximum bid level. One skilled in the art will appreciate that trading engine 542 may also directly notify the providers of the failed transaction. In this case, the provider may determine how to handle future transactions.
Once a Snap-In has been selected for the vacancy, trading engine 542 transmits Snap-In information and vacancy information to host software 504, which in turn notifies the adapter software 508, which in turn merges the content. For example, the notification may include a URL link to the digital content, or the actual digital content. The URL link may also include additional tracking information. That is, the URL link may contain parameters used by the tenant Web site to inform service provider server 340. Each time the consumer visits different tenant Web pages, the URL link may be used to transmit information to service provider server 340 so that service provider server 340 obtains a complete record of the consumer's activity at the tenant Web site. Thus, when a consumer clicks on the digital content in the vacancy and is connected to the tenants Web site, service provider server 340 may still track the consumer activity.
Alternatively, trading engine 542 may simply provide host server 320 with the actual digital content. For example, if the tenant included with the Snap-In a GIF image (e.g., a banner advertisement), instead of a URL link, the GIF image is forwarded to host server 320 for display. Also at this point, trading engine 542 may log the completed transaction and debit or credit the tenant and host an appropriate amount.
Figure 11 depicts an advertising system 1100 consistent with the present invention. System 1100 contains a host server 1102 capable of generating additional revenue from vacancies 1104 on containers 1103. Tenant server 1105 contains Snap-In 1106 created to fill vacancies 1104. Trading server 1107 matches vacancies 1104 with Snap-In 1106.
A primary digital content provider may use a vacancy editor software to graphically define vacancy 1104 in container 1103. The provider also defines the vacancy's properties, such as the availability in units of 10,000 impressions for sale in December only, at a price of 4 cents per impression, keywords typed by a consumer in real-time, such as "teenager." The provider then uses the host software to submit vacancy 1104 to trading server 1107. When consumer traffic increases at host server 1102, the host software notifies trading server 1107 of the increased traffic and to update the dynamic properties of vacancy 1104.
A secondary digital content provider may use a Snap-In editor software, such as a Web wizard, to designate specific Snap-Ins 1106 to be delivered to specific consumer profiles. The Snap-In may be a banner advertisement, a virtual storefront, or any other digital content. The digital content provider may also use the appropriate software to indicate a preference for teenage consumers during peak Web traffic for a Snap-In 1106. Each time a consumer 1108 requests a container 1103 with vacancy 1104, the host software notifies trading server 1107, which initiates a suitable trade. Trading server 1107 matches Snap-In 1106 with vacancy 1104 (described above), and then transmits the Snap-In to host server 1102. The adapter software then merges the content with the vacancy 1104. Host server 1102 transmits container 1103 with Snap-In 1106 in place of vacancy 1104. The primary content provider immediately receives revenue from secondary digital content providers who have created the Snap-In 1106.
Alternative Content Distribution System
Figure 12 depicts an alternative content distribution system suitable for practicing methods and systems consistent with the present invention. Fig. 12 illustrates a network 1260 that contains a vacancy provider 1262 (the primary content distributor), a snap-in provider 1264, and a service provider with a trading floor 1266. Provider 1262 communicates with content consumers, such as mobile devices 1290, through communication infrastructure 1280. For example, as part of the process in which vacancy provider (and primary content distributor) 1262 broadcast content to mobile devices 1290, adapter 1268 detects the vacancy and notifies the service provider 1266 via host software 1267. Service provider 1266 obtains suitable matching content from snap-in content provider 1264 and transmits the Snap-In via the host software 1267 back to adapter 1268 at the vacancy provider. Adapter 1268 merges the Snap-In content with the primary distributor's content in a format understandable to a mobile device 1290 (such as mobile IP, or PCS) and then transmits the content.
The operation of system 1260 is substantially the same as that described above except for the adapter software which is specialized to this distribution method, and the output device for receiving digital content, which in this example is a mobile device. A similar configuration may be used to provide digital content in a manner consistent with the present invention to other output devices like televisions and radios. Conclusion
As explained, systems consistent with the present invention overcome the shortcomings of existing systems by providing a virtual marketplace that matches a unit of secondary digital content (Snap-In) with a defined region (vacancy) within primary content, such as a Web site. Although aspects of the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects may be stored on or read from other computer readable media, such as secondary storage devices, like hard disks, floppy disks, and CD-ROM; a carrier wave received from a network like the Internet; or other forms of ROM or RAM. Additionally, although specific components and programs of consumer computer 110, and various servers have been described, one skilled in the art will appreciate that these may contain additional or different components or programs.
The foregoing description of an implementation of the invention has been presented for purposes of illustration and description. It is not exhaustive and does not limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practicing of the invention. For example, vacancies and Snap-Ins may be represented as objects including methods and functions. Moreover the described implementation includes software but the present invention may be implemented as a combination of hardware and software or in hardware alone. The invention may be implemented with both object-oriented and non-object-oriented programming systems.

Claims

WHAT WE CLAIM IS:
1. A method for generating vacancies, comprising the steps, performed by a computer, of: storing a document with a set of vacancy elements, each vacancy element designating a vacancy; receiving a converted document with a graphical representation corresponding to each vacancy element; and permitting a user to specify a set of properties for each vacancy using the graphical representation corresponding to each vacancy element.
2. The method of claim 1, wherein the step of receiving a converted document, comprises: providing the document to a vacancy editor for conversion of the each vacancy element in the document into an anchor, wherein each anchor is displayable as a vacancy link.
3. The method of claim 1, wherein the step of receiving a converted document, comprises: replacing any references in the stored document to components stored locally in the computer with references that include information on a location of each of the stored components.
4. The method of claim 1, further comprising: permitting display of the converted document with a snap-in corresponding to the properties provided for each vacancy link.
5. The method of claim 1, further comprising: permitting a user to activate the vacancy, thereby making it available to a marketplace.
6. The method of claim 1, wherein receiving a converted document, comprises: establishing an electrical communication with a server having a vacancy editor; providing the vacancy editor with information identifying a storage location for the stored document; and permitting access by the vacancy editor to the stored document in response to a request from the server including the information identifying the storage location for the stored document.
7. The method of claim 6, further comprising: permitting access by a vacancy properties editor to the converted document such that properties can be specified for each vacancy.
8. The method of claim 1, wherein receiving a converted document, comprises: establishing an electrical communication with a server having a vacancy editor; and using an application to upload the document to the server.
9. The method of claim 1 , wherein permitting a user to specify a set of properties for each vacancy, comprises: receiving a set of data input forms to assist in the editing or defining of the properties.
10. A method for generating vacancies, comprising the steps, performed by a computer, of: receiving a document with a set of vacancies, each vacancy being identified by a placeholder element; converting each placeholder element in the document into a visual representation; permitting a user to define a set of properties for each vacancy in response to the selection of a visual representation converted from that vacancy's placeholder element.
11. A method for a vacancy provider having a vacancy-provider server to generate a Web page with a vacancy, wherein the method comprises: creating a Web page using a Web page editor; including in the Web page a set of vacancy placeholders, each vacancy placeholder defining a location for a vacancy; accessing a remote vacancy editor and providing the remote vacancy editor with a storage location for the Web page such that the remote vacancy editor loads the Web page, whereupon the remote vacancy editor converts each vacancy placeholder into a selectable graphical reference; and accessing a remote vacancy properties editor in response to the selection of a selectable graphical reference for a vacancy to define a set of properties for that vacancy.
12. A computer-implemented method for generating vacancies, comprising:
(a) providing a set of vacancy placeholder tags for designating vacancies in a document;
(b) establishing an electrical communication with a server having a vacancy editor;
(c) receiving by the vacancy editor a uniform resource locator for the document;
(d) receiving by the vacancy editor the document in response to a request from the server including the uniform resource locator;
(e) receiving a converted document, the converted document reflecting the document provided to the vacancy editor after execution of a conversion process that converts each of the vacancy placeholder tags in the document into a selectable visual representation and replaces any references in the document to locally stored components with references that include information on a location of each of the stored components;
(f) for each selected visual representation, receiving a vacancy properties selection document to define a corresponding vacancy by providing vacancy properties from a predetermined set; and
(g) providing an instruction to load the provided vacancy properties for each vacancy on a marketplace server for registration of each vacancy in the converted document.
13. An apparatus, comprising : a memory storing a program; and a processor responsive to the program to store a document with a set of vacancy elements, each vacancy element designating a vacancy; receive a converted document with a graphical representation corresponding to each vacancy element; and permit a user to specify a set of properties for each vacancy using the graphical representation corresponding to each vacancy element.
14. The apparatus of claim 13, wherein when the processor receives a converted document, the processor provides the document to a vacancy editor for conversion of the each vacancy element in the document into an anchor, wherein each anchor is displayable as a vacancy link.
15. The apparatus of claim 13, wherein when the processor receives a converted document, the processor replaces any references in the stored document to components stored locally in the computer with references that include information on a location of each of the stored components.
16. The apparatus of claim 13, wherein the processor further permits display of the converted document with a snap-in corresponding to the properties provided for each vacancy link.
17. The apparatus of claim 13 , wherein the processor further permits a user to activate the vacancy, thereby making it available to a marketplace.
18. The apparatus of claim 13, wherein when the processor receives a converted document, the processor establishes an electrical communication with a server having a vacancy editor, provides the vacancy editor with information identifying a storage location for the stored document, and permits access by the vacancy editor to the stored document in response to a request from the server including the information identifying the storage location for the stored document.
19. The apparatus of claim 18, wherein the processor further permits access by a vacancy properties editor to the converted document such that properties can be specified for each vacancy.
20. The apparatus of claim 13, wherein when the processor receives a converted document, the processor establishes an electrical communication with a server having a vacancy editor, and uses an application to upload the document to the server.
21. The apparatus of claim 13, wherein when the processor permits a user to specify a set of properties for each vacancy, the processor receives a set of data input forms to assist in the editing or defining of the properties.
22. An apparatus, comprising: a memory storing a program for generating vacancies; and a processor responsive to the program to receive a document with a set of vacancies, each vacancy being identified by a placeholder element; convert each placeholder element in the document into a visual representation; permit a user to define a set of properties for each vacancy in response to the selection of a visual representation converted from that vacancy's placeholder element.
23. An apparatus, comprising: a memory storing a program for a vacancy provider having a vacancy-provider server to generate a Web page with a vacancy; and a processor responsive to the program to create a Web page using a Web page editor; include in the Web page a set of vacancy placeholders, each vacancy placeholder defining a location for a vacancy; access a remote vacancy editor and providing the remote vacancy editor with a storage location for the Web page such that the remote vacancy editor loads the Web page, whereupon the remote vacancy editor converts each vacancy placeholder into a selectable graphical reference; and access a remote vacancy properties editor in response to the selection of a selectable graphical reference for a vacancy to define a set of properties for that vacancy.
24. An apparatus, comprising: a memory storing a program for for generating vacancies; and a processor responsive to the program to
(a) provide a set of vacancy placeholder tags for designating vacancies in a document;
(b) establish an electrical communication with a server having a vacancy editor;
(c) receive by the vacancy editor a uniform resource locator for the document;
(d) receive by the vacancy editor the document in response to a request from the server including the uniform resource locator;
(e) receive a converted document, the converted document reflecting the document provided to the vacancy editor after execution of a conversion process that converts each of the vacancy placeholder tags in the document into a selectable visual representation and replaces any references in the document to locally stored components with references that include information on a location of each of the stored components;
(f) for each selected visual representation, receive a vacancy properties selection document to define a corresponding vacancy by providing vacancy properties from a predetermined set; and
(g) provide an instruction to load the provided vacancy properties for each vacancy on a marketplace server for registration of each vacancy in the converted document.
25. A computer-readable medium containing instructions for causing a processor to perform a method for generating vacancies, the method comprising: storing a document with a set of vacancy elements, each vacancy element designating a vacancy; receiving a converted document with a graphical representation corresponding to each vacancy element; and permitting a user to specify a set of properties for each vacancy using the graphical representation corresponding to each vacancy element.
26. A computer-readable medium containing instructions for causing a processor to perform a method for generating vacancies, the method comprising: receiving a document with a set of vacancies, each vacancy being identified by a placeholder element; converting each placeholder element in the document into a visual representation; permitting a user to define a set of properties for each vacancy in response to the selection of a visual representation converted from that vacancy's placeholder element.
27. A computer-readable medium containing instructions for causing a processor to perform a method for a vacancy provider having a vacancy-provider server to generate a Web page with a vacancy, the method comprising: creating a Web page using a Web page editor; including in the Web page a set of vacancy placeholders, each vacancy placeholder defining a location for a vacancy; accessing a remote vacancy editor and providing the remote vacancy editor with a storage location for the Web page such that the remote vacancy editor loads the Web page, whereupon the remote vacancy editor converts each vacancy placeholder into a selectable graphical reference; and accessing a remote vacancy properties editor in response to the selection of a selectable graphical reference for a vacancy to define a set of properties for that vacancy.
28. A method for creating vacancies for distributing content, comprising the steps, executed in a data processing system, of: defining a vacancy, wherein vacancy attributes are associated with the vacancy; and transmitting information reflecting the attributes to a trading floor that locates content to fill the vacancy based on the vacancy attributes.
29. The method of claim 28, wherein defining a vacancy further includes the step of including dynamic attributes in the vacancy attributes that are determined when the vacancy is transmitted to the trading floor.
30. The method of claim 28, wherein defining a vacancy further includes the step of including static attributes in the vacancy attributes that are determined before the trading floor locates content suitable to fill the vacancy.
31. The method of claim 28, wherein the content is a virtual storefront, syndicated content, or an advertisement.
32. A method for matching content with a vacancy, comprising the steps, executed in a data processing system, of: receiving from a host a notification of a vacancy, wherein the notification contains a set of attributes associated with the vacancy; locating content based on the attributes associated with the vacancy; and providing the host with information corresponding to the content.
33. The method of claim 32, further comprising the step of merging the located content with a container associated with the vacancy.
34. The method of claim 32, wherein locating content further includes the step of trading the vacancy among a plurality of content providers, wherein each provider is associated with particular content.
35. The method of claim 34, wherein each content provider is associated with a corresponding set of attributes, and said particular content is associated with a corresponding set of attributes, and wherein a content provider is included in a transaction when the set of attributes associated with the content provider and said particular content matches the attributes associated with the vacancy.
36. The method of claim 35, wherein said transaction is a buy, sell, or barter transaction negotiated through an auction.
37. The method of claim 32, wherein locating content further includes using a software agent to match the content and the vacancy attributes, wherein each software agent contains a set of policies reflecting behavior associated with the content.
38. The method of claim 37, wherein the set of policies is based on desired attributes of a vacancy.
39. The method of claim 37, wherein the policies include audience levels, dimensions, or trading price constraints.
40. The method of claim 37, wherein the software agent is associated with a vacancy provider and includes desired attributes of content providers.
41. The method of claim 40, wherein the policies include content dimensions or type, or trading price constraints.
42. The method of claim 32, wherein providing the host with information further includes the step of including in the information a link to the content, wherein the link contains information corresponding to a provider associated with the content.
43. The method of claim 32, wherein providing the host with information further includes the step of including in the information content corresponding to a provider associated with the content.
44. The method of claim 32, wherein each vacancy contains attributes including static context properties, dynamic context properties, pricing information, date and time, or availability constraints.
45. A method for filling a vacancy, comprising the steps, executed in a data processing system, of: receiving a request at a primary content provider from a consumer to obtain a primary content container that contains a vacancy; locating in real-time at least one secondary content provider using a market mechanism to provide the secondary content for the primary content container; and receiving information corresponding to a secondary content provider from a secondary content provider, wherein the information includes secondary content; and transmitting information corresponding to the secondary content and the primary content container to the consumer.
46. The method of claim 45, wherein transmitting information further includes transmitting a connection to the secondary content to the consumer.
47. The method of claim 45, further including the steps of: obtaining real-time attributes based on statistics associated with the primary content provider, characteristics associated with the consumer, or predetermined attributes; and selecting secondary content to transmit to the consumer based on the attributes or characteristics.
48. The method of claim 45, further comprising: detecting when the consumer selects the secondary content.
49. The method of claim 45, further comprising: detecting when the primary content provider receives a consumer request for the primary content container that contains a vacancy.
50. The method of claim 49, further comprising: transmitting information to a server when the primary content provider receives a consumer request for the primary content container.
51. The method of claim 48, wherein detecting when the consumer selects the secondary content further includes the steps of: including tracking information in the secondary content; and providing the data processing system with information associated with the tracking information when the consumer selects the secondary content.
52. The method of claim 48, wherein detecting when the consumer selects the secondary content further includes the steps of: including tracking information within a storage format local to the consumer; and providing the data processing system with information associated with the tracking information when the consumer selects the secondary content.
53. The method of claim 52, wherein providing the data processing system with information associated with the tracking information further includes the steps of: detecting tracking information when the consumer requests the secondary content from the secondary content provider; and transmitting information corresponding to the tracking information to a data processing system.
54. A method for receiving content on a consumer computer, wherein the content is from a primary content provider and a secondary content provider, comprising the steps of: receiving a request from a consumer for content; transmitting a request to a server to locate at least one secondary content provider to provide the content to the consumer using real-time market mechanisms; and transmitting the content with the content from the primary content provider and the secondary content provider and the information supplied by the tenant and the vacancy provider at the consumer computer.
55. The method of claim 54, wherein receiving a request further includes the step of receiving characteristics associated with the consumer.
56. A content selection and distribution method for trading content and vacancies on a network, comprising: permitting each one of a plurality of primary content providers to submit information associated with vacancies in containers. permitting each one of a plurality of secondary content providers to submit information associated with secondary content; trading vacancies and units of the secondary content; and selectively distributing the units of secondary content with corresponding containers to consumers based on results of the trading step.
57. The method of claim 56, wherein attributes of the secondary content and attributes of the vacancies include trading strategies, and wherein the trading step further includes the step of applying the trading strategy for each unit of secondary content and each vacancy during the trading step.
58. The method of claim 57, wherein trading may be executed by an auction.
59. A method for distributing digital content, comprising: determining whether a vacancy is associated with particular digital content; identifying filler digital content capable of filling the vacancy based on attributes associated with the vacancy; and providing digital content composed of the digital content filled with the filler digital content.
60. The method of claim 59, wherein identifying filler digital content further includes the steps of: transmitting a request to a server to locate filler digital content; and receiving a response from the server, wherein the response includes filler content located using real-time market mechanisms.
61. The method of claim 59, wherein the filler content is a virtual storefront, syndicated content, or an advertisement.
62. A method for distributing digital content, comprising: determining in real time whether suitable secondary digital content is available for transmission based on attributes associated with a primary transmission stream; and including in real time the secondary digital content within the primary transmission stream at a particular point based on the attributes.
63. The method of claim 62, wherein the determining step includes the step: permitting automated negotiation among representatives of primary and secondary digital content.
64. The method of claim 62, further comprising: detecting when a consumer selects the secondary digital content.
65. The method of claim 62, further comprising: detecting when a primary content provider receives a consumer request for the secondary digital content
66. The method of claim 65, further comprising: receiving information when the primary content provider receives a consumer request for the secondary digital content.
67. The method of claim 64, wherein detecting when the consumer selects the secondary digital content further includes the steps of: including tracking information in the secondary digital content; and receiving information associated with the tracking information when the consumer selects the secondary digital content.
68. The method of claim 64, wherein detecting when the consumer selects the secondary digital content further includes the steps of: including tracking information within a storage format local to the consumer; and receiving information associated with the tracking information when the consumer selects the secondary digital content.
69. A method for distributing digital content, comprising: receiving a request for a container; when it is determined that a vacancy is defined within the container, identifying a unit of secondary content capable of filling the vacancy based on a relationship between attributes associated with the vacancy and attributes associated with the content; and transmitting the identified unit of secondary content with the container.
70. The method of claim 69, wherein the step of identifying a unit of secondary content capable of filling the vacancy, comprises: notifying a plurality of secondary content providers of the request, wherein the notified content providers are selected from a set of secondary content providers based on attributes associated with the secondary providers and the secondary content, and the attributes of the vacancy.
71. The method of claim 69, further comprising: notifying agents associated with a plurality of secondary content providers of the request, wherein the notified agents are selected from a group of agents based on the attributes associated with the secondary providers and the content, and the attributes of the vacancy; notifying an agent associated with a primary content provider, wherein the primary content provider provides the vacancy; and permitting the notified agents of the secondary content providers and the agent associated with the primary content provider to negotiate within an electronic marketplace to fill the vacancy.
72. A memory for storing data for access by a process being executed by a processor, the memory comprising: a structure for maintaining information identifying a vacancy and corresponding attributes, wherein a trading process matches the vacancy with suitable secondary content using the vacancy attributes and attributes associated with secondary content.
73. A memory for storing data for access by a process being executed by a processor, the memory comprising: a structure for maintaining information identifying a unit of secondary content and corresponding attributes, wherein a trading process matches the unit of secondary content with a suitable vacancy using the attributes of the unit of secondary content and attributes associated with the vacancy.
74. A memory for storing data for access by a process being executed by a processor, the memory comprising: a structure for maintaining (i) information identifying at least one vacancy and corresponding attributes, and (ii) information identifying at least one unit of secondary content and corresponding attributes, wherein a trading process matches the vacancy with a suitable unit of secondary content based on the vacancy attributes and the attributes associated with delivery as part of a digital transmission.
75. A method for receiving content on a consumer computer, wherein the content is from a primary content provider and a secondary content provider, comprising the steps of: transmitting a request for a primary content container associated with a primary content provider to a primary content provider, wherein the container contains secondary content associated with a secondary content provider, and wherein the secondary content is located in real-time using a market mechanism; and receiving information corresponding to the secondary content and the primary content container.
76. The method of claim 75, wherein transmitting a request further includes the step of transmitting characteristics associated with the consumer.
77. A method for creating units of content for vacancies, comprising the steps, executed in a data processing system, of: defining units of content, wherein content attributes are associated with each unit of content; and transmitting information reflecting the attributes to a trading floor that fills vacancies with units of content based on vacancy attributes.
78. The method of claim 77, wherein a unit of content is a virtual storefront, syndicated content, or an advertisement.
79. The method of claim 77, wherein defining units of content further includes the step of using software to create the units of content.
80. The method of claim 77, further comprising the step of providing the trading floor with the units of content.
81. A system for creating vacancies for distributing content comprising: means for defining a vacancy, wherein vacancy attributes are associated with the vacancy; and means for transmitting information reflecting the attributes to a trading floor that locates content to fill the vacancy based on the vacancy attributes.
82. The system of claim 81, wherein means for defining a vacancy further includes means for including dynamic attributes in the vacancy attributes that are determined when the vacancy is transmitted to the trading floor.
83. The system of claim 81, wherein means for defining a vacancy further includes means for including static attributes in the vacancy attributes that are determined before the trading floor locates content suitable to fill the vacancy.
84. The system of claim 81, wherein the content is a virtual storefront, syndicated content, or an advertisement.
85. A system for matching content with a vacancy, comprising: means for receiving from a host a notification of a vacancy, wherein the notification contains a set of attributes associated with the vacancy; means for locating content based on the attributes associated with the vacancy; and means for providing the host with information corresponding to the content.
86. The system of claim 85, further comprising means for merging the located content with a container associated with the vacancy.
87. The system of claim 85, wherein the means for locating content further includes means for trading the vacancy among a plurality of content providers, wherein each provider is associated with particular content.
88. The system of claim 87, wherein each content provider is associated with a corresponding set of attributes, and said particular content is associated with a corresponding set of attributes, and wherein a content provider is included in a transaction when the set of attributes associated with the content provider and said particular content matches the attributes associated with the vacancy.
89. The system of claim 88, wherein said transaction is a buy, sell, or barter transaction negotiated through an auction.
90. The system of claim 85, further including a software agent that matches the content and the vacancy attributes, wherein each software agent contains a set of policies reflecting behavior associated with the content.
91. The system of claim 90, wherein the set of policies is based on desired attributes of a vacancy.
92. The system of claim 90, wherein the policies include audience levels, dimensions, or trading price constraints.
93. The system of claim 90, wherein the software agent is associated with a vacancy provider and includes desired attributes of content providers.
94. The system of claim 93, wherein the policies include content dimensions or type, or trading price constraints.
95. The system of claim 85, wherein the means for providing the host with information further includes means for including in the information a link to the content, wherein the link contains information corresponding to a provider associated with the content.
96. The system of claim 85, wherein the means for providing the host with information further includes means for including in the information content corresponding to a provider associated with the content.
97. The system of claim 85, wherein each vacancy contains attributes including static context properties, dynamic context properties, pricing information, date and time, or availability constraints.
98. A system for filling a vacancy, comprising: means for receiving a request at a primary content provider from a consumer to obtain a primary content container that contains a vacancy; means for locating in real-time at least one secondary content provider using a market mechanism to provide the secondary content for the primary content container; and means for receiving information corresponding to a secondary content provider from a secondary content provider, wherein the information includes secondary content; and means for transmitting information corresponding to the secondary content and the primary content container to the consumer.
99. The system of claim 98, wherein the means for transmitting information further transmits a connection to the secondary content to the consumer.
100. The system of claim 98, further comprising: means for obtaining real-time attributes based on statistics associated with the primary content provider, characteristics associated with the consumer, or predetermined attributes; and means for selecting secondary content to transmit to the consumer based on the attributes or characteristics.
101. The system of claim 98, further comprising: means for detecting when the consumer selects the secondary content.
102. The system of claim 98, further comprising: means for detecting when the primary content provider receives a consumer request for the primary content container that contains a vacancy.
103. The system of claim 102, further comprising: a server; and means for transmitting information to the server when the primary content provider receives a consumer request for the primary content container.
104. The system of claim 101, wherein the means for detecting further comprises: means for including tracking information in the secondary content; and means for providing the data processing system with information associated with the tracking information when the consumer selects the secondary content.
105. The system of claim 101, wherein the means for detecting further comprises : means for including tracking information within a storage format local to the consumer; and means for providing the data processing system with information associated with the tracking information when the consumer selects the secondary content.
106. The system of claim 105, wherein the means for providing the data processing system with information further comprises: means for detecting tracking information when the consumer requests the secondary content from the secondary content provider; and means for transmitting information corresponding to the tracking information to a data processing system.
107. A system for receiving content on a consumer computer, wherein the content is from a primary content provider and a secondary content provider, comprising: means for receiving a request from a consumer for content; means for transmitting a request to a server to locate at least one secondary content provider to provide the content to the consumer using real-time market mechanisms; and means for transmitting the content with the content from the primary content provider and the secondary content provider and the information supplied by the tenant and the vacancy provider at the consumer computer.
108. The system of claim 107, wherein the means for receiving a request further comprises means for receiving characteristics associated with the consumer.
109. A system for distributing digital content, comprising: means for determining whether a vacancy is associated with particular digital content; means for identifying filler digital content capable of filling the vacancy based on attributes associated with the vacancy; and means for providing digital content composed of the digital content filled with the filler digital content.
110. The system of claim 109, wherein the means for identifying filler digital content further comprises: means for transmitting a request to a server to locate filler digital content; and means for receiving a response from the server, wherein the response includes filler content located using real-time market mechanisms.
111. The system of claim 109, wherein the filler content is a virtual storefront, syndicated content, or an advertisement.
112. A system for distributing digital content, comprising: means for determining in real time whether suitable secondary digital content is available for transmission based on attributes associated with a primary transmission stream; and means for including in real time the secondary digital content within the primary transmission stream at a particular point based on the attributes.
113. The system of claim 112, wherein the means for determining further comprises: means for permitting automated negotiation among representatives of primary and secondary digital content.
114. The system of claim 112, further comprising: means for detecting when a consumer selects the secondary digital content.
115. The system of claim 112, further comprising: means for detecting when a primary content provider receives a consumer request for the secondary digital content
116. The system of claim 115, further comprising: means for receiving information when the primary content provider receives a consumer request for the secondary digital content.
117. The system of claim 118, wherein the means for detecting further comprises: means for including tracking information in the secondary digital content; and means for receiving information associated with the tracking information when the consumer selects the secondary digital content.
118. The system of claim 115, wherein the means for detecting further comprises: means for including tracking information within a storage format local to the consumer; and means for receiving information associated with the tracking information when the consumer selects the secondary digital content.
119. A system for distributing digital content, comprising: means for receiving a request for a container; means for identifying a unit of secondary content capable of filling the vacancy based on a relationship between attributes associated with the vacancy and attributes associated with the content; and means for transmitting the identified unit of secondary content with the container.
120. The system of claim 119, wherein the means for identifying a unit of secondary content capable of filling the vacancy, comprises: means for notifying a plurality of secondary content providers of the request, wherein the notified content providers are selected from a set of secondary content providers based on attributes associated with the secondary providers and the secondary content, and the attributes of the vacancy.
121. The system of claim 119, further comprising : means for notifying agents associated with a plurality of secondary content providers of the request, wherein the notified agents are selected from a group of agents based on the attributes associated with the secondary providers and the content, and the attributes of the vacancy; means for notifying an agent associated with a primary content provider, wherein the primary content provider provides the vacancy; and means for permitting the notified agents of the secondary content providers and the agent associated with the primary content provider to negotiate within an electronic marketplace to fill the vacancy.
122. A system for receiving content on a consumer computer, wherein the content is from a primary content provider and a secondary content provider, comprising the steps of: means for transmitting a request for a primary content container associated with a primary content provider to a primary content provider, wherein the container contains secondary content associated with a secondary content provider, and wherein the secondary content is located in real-time using a market mechanism; and means for receiving information corresponding to the secondary content and the primary content container.
123. The system of claim 122, wherein the means for transmitting a request further comprises means for transmitting characteristics associated with the consumer.
124. A system for creating units of content for vacancies, comprising: means for defining units of content, wherein content attributes are associated with each unit of content; and means for transmitting information reflecting the attributes to a trading floor that fills vacancies with units of content based on vacancy attributes.
125. The system of claim 124, wherein a unit of content is a virtual strorefront, syndicated content, or an advertisement.
126. The system of claim 124, wherein the means for defining units of content further comprises means for using software to create the units of content.
127. The system of claim 124, further comprising means for providing the trading floor with the units of content.
128. The system of claim 125, wherein the trading floor auctions the units of content and the vacancies.
129. A computer readable medium for controlling a data processing system to perform a method for creating vacancies for distributing content executed in a data processing system, the computer readable medium comprising: a defining module for defining a vacancy, wherein vacancy attributes are associated with the vacancy; and a transmitting module for transmitting information reflecting the attributes to a trading floor that locates content to fill the vacancy based on the vacancy attributes.
130. The computer readable medium of claim 129, wherein the defining module further comprises an including module for including dynamic attributes in the vacancy attributes that are determined when the vacancy is transmitted to the trading floor.
131. The computer readable medium of claim 129, wherein the defining module further comprises an including module for including static attributes in the vacancy attributes that are determined before the trading floor locates content suitable to fill the vacancy.
132. The computer readable medium of claim 129, wherein the content is a virtual storefront, syndicated content, or an advertisement.
133. A computer readable medium for controlling a data processing system to perform a method for matching content with a vacancy in a data processing system, the computer readable medium comprising: a receiving module for receiving from a host a notification of a vacancy, wherein the notification contains a set of attributes associated with the vacancy; a locating module for locating content based on the attributes associated with the vacancy; and a providing module for providing the host with information corresponding to the content.
134. The computer readable medium of claim 133, further comprising a merging module for merging the located content with a container associated with the vacancy.
135. The computer readable medium of claim 133 , wherein the locating module further trades the vacancy among a plurality of content providers, wherein each provider is associated with particular content.
136. The computer readable medium of claim 135, wherein each content provider is associated with a corresponding set of attributes, and said particular content is associated with a corresponding set of attributes, and wherein a content provider is included in a transaction when the set of attributes associated with the content provider and said particular content matches the attributes associated with the vacancy.
137. The computer readable medium of claim 136, wherein said transaction is a buy, sell, or barter transaction negotiated through an auction.
138. The computer readable medium of claim 133, wherein the locating module further comprises a software agent module for matching the content and the vacancy attributes, wherein each software agent contains a set of policies reflecting behavior associated with the content.
139. The computer readable medium of claim 138, wherein the set of policies is based on desired attributes of a vacancy.
140. The computer readable medium of claim 139, wherein the policies include audience levels, dimensions, or trading price constraints.
141. The computer readable medium of claim 140, wherein the software agent is associated with a vacancy provider and comprises desired attributes of content providers.
142. The computer readable medium of claim 141, wherein the policies include content dimensions or type, or trading price constraints.
143. The computer readable medium of claim 133, wherein the providing module further comprises an including module for including in the information a link to the content, wherein the link contains information corresponding to a provider associated with the content.
144. The computer readable medium of claim 133 , wherein the providing module further comprises an including module for including in the information content corresponding to a provider associated with the content.
145. The computer readable medium of claim 133, wherein each vacancy contains attributes including static context properties, dynamic context properties, pricing information, date and time, or availability constraints.
146. A computer readable medium for controlling a data processing system to perform a method for filling a vacancy in a data processing system, the computer readable medium comprising: a receiving module for receiving a request at a primary content provider from a consumer to obtain a primary content container that contains a vacancy; a locating module for locating in real-time at least one secondary content provider using a market mechanism to provide the secondary content for the primary content container; and a receiving module for receiving information corresponding to a secondary content provider from a secondary content provider, wherein the information comprises secondary content; and a transmitting module for transmitting information corresponding to the secondary content and the primary content container to the consumer.
147. The computer readable medium of claim 146, wherein the transmitting module further transmits a connection to the secondary content to the consumer.
148. The computer readable medium of claim 146, further comprising: an obtaining module for obtaining real-time attributes based on statistics associated with the primary content provider, characteristics associated with the consumer, or predetermined attributes; and a selecting module for selecting secondary content to transmit to the consumer based on the attributes or characteristics.
149. The computer readable medium of claim 146, further comprising: a detecting module for detecting when the consumer selects the secondary content.
150. The computer readable medium of claim 146, further comprising: a detecting module for detecting when the primary content provider receives a consumer request for the primary content container that contains a vacancy.
151. The computer readable medium of claim 150, further comprising: a transmitting module for transmitting information to a server when the primary content provider receives a consumer request for the primary content container.
152. The computer readable medium of claim 149, wherein the detecting module further comprises: an including module for including tracking information in the secondary content; and a providing module for providing the data processing system with information associated with the tracking information when the consumer selects the secondary content.
153. The computer readable medium of claim 149, wherein the detecting module further comprises: an including module for including tracking information within a storage format local to the consumer; and a providing module for providing the data processing system with information associated with the tracking information when the consumer selects the secondary content.
154. The computer readable medium of claim 153, wherein the providing module further comprises: a detecting module for detecting tracking information when the consumer requests the secondary content from the secondary content provider; and a transmitting module for transmitting information corresponding to the tracking information to a data processing system.
155. A computer readable medium for controlling a data processing system to perform a method for receiving content on a consumer computer in a data processing system, wherein the content is from a primary content provider and a secondary content provider, the computer readable medium comprising: a receiving module for receiving a request from a consumer for content; a transmitting module for transmitting a request to a server to locate at least one secondary content provider to provide the content to the consumer using real-time market mechanisms; and a transmitting module for transmitting the content with the content from the primary content provider and the secondary content provider and the information supplied by the tenant and the vacancy provider at the consumer computer.
156. The computer readable medium of claim 155, wherein the receiving module further receives characteristics associated with the consumer.
157. A computer readable medium for controlling a data processing system to perform a content selection and distribution method for trading content and vacancies on a network in a data processing system, the computer readable medium comprising: a module that permits each one of a plurality of primary content providers to submit information associated with vacancies in containers, and that permits each one of a plurality of secondary content providers to submit information associated with secondary content; and a module that trades vacancies and units of the secondary content and that selectively distributing the units of secondary content with corresponding containers to consumers based on results of the trade.
158. The computer readable medium of claim 157, wherein attributes of the secondary content and attributes of the vacancies include trading strategies, and wherein the module that trades further comprises a module that applies the trading strategy for each unit of secondary content and each vacancy during the trading step.
159. The computer readable medium of claim 158, wherein trading may be executed by an auction.
160. A computer readable medium for controlling a data processing system to perform a method for distributing digital content in a data processing system, the computer readable medium comprising: a determining module for determining whether a vacancy is associated with particular digital content; a identifying module for identifying filler digital content capable of filling the vacancy based on attributes associated with the vacancy; and a providing module for providing digital content composed of the digital content filled with the filler digital content.
161. The computer readable medium of claim 160, wherein the identifying module further comprises: a transmitting module for transmitting a request to a server to locate filler digital content; and a receiving module for receiving a response from the server, wherein the response comprises filler content located using real-time market mechanisms.
162. The computer readable medium of claim 160, wherein the filler content is a virtual storefront, syndicated content, or an advertisement.
163. A computer readable medium for controlling a data processing system to perform a method for distributing digital content in a data processing system, the computer readable medium comprising: a determining module for determining in real time whether suitable secondary digital content is available for transmission based on attributes associated with a primary transmission stream; and an including module for including in real time the secondary digital content within the primary transmission stream at a particular point based on the attributes.
164. The computer readable medium of claim 163, wherein the determining module further comprises: a permitting module for permitting automated negotiation among representatives of primary and secondary digital content.
165. The computer readable medium of claim 163 , further comprising : a detecting module for detecting when a consumer selects the secondary digital content.
166. The computer readable medium of claim 163, further comprising: a detecting module for detecting when a primary content provider receives a consumer request for the secondary digital content
167. The computer readable medium of claim 166, further comprising: a receiving module for receiving information when the primary content provider receives a consumer request for the secondary digital content.
168. The computer readable medium of claim 165, wherein the detecting module further comprises an including module for including tracking information in the secondary digital content; and a receiving module for receiving information associated with the tracking information when the consumer selects the secondary digital content.
169. The computer readable medium of claim 165, wherein the detecting module further comprises: an including module for including tracking information within a storage format local to the consumer; and a receiving module for receiving information associated with the tracking information when the consumer selects the secondary digital content.
170. A computer readable medium for controlling a data processing system to perform a method for distributing digital content in a data processing system, the computer readable medium comprising: a receiving module for receiving a request for a container; an identifying module for module for determining that when a vacancy is defined within the container, identifying a unit of secondary content capable of filling the vacancy based on a relationship between attributes associated with the vacancy and attributes associated with the content; and a transmitting module for transmitting the identified unit of secondary content with the container.
171. The computer readable medium of claim 170, wherein the identifying module comprises: a notifying module for notifying a plurality of secondary content providers of the request, wherein the notified content providers are selected from a set of secondary content providers based on attributes associated with the secondary providers and the secondary content, and the attributes of the vacancy.
172. The computer readable medium of claim 170, further comprising: a notifying module for notifying agents associated with a plurality of secondary content providers of the request, wherein the notified agents are selected from a group of agents based on the attributes associated with the secondary providers and the content, and the attributes of the vacancy; a second notifying module for notifying an agent associated with a primary content provider, wherein the primary content provider provides the vacancy; and a permitting module for permitting the notified agents of the secondary content providers and the agent associated with the primary content provider to negotiate within an electronic marketplace to fill the vacancy.
173. A computer readable medium for controlling a data processing system to perform a method for creating units of content for vacancies in a data processing system, the computer readable medium comprising: a defining module for defining units of content, wherein content attributes are associated with each unit of content; and a transmitting module for transmitting information reflecting the attributes to a trading floor that fills vacancies with units of content based on vacancy attributes.
174. The computer readable medium of claim 173 , wherein a unit of content is a virtual storefront, syndicated content, or an advertisement.
175. The computer readable medium of claim 173, wherein the defining module further uses software to create the units of content.
176. The computer readable medium of claim 173, further comprising a providing module for providing the trading floor with the units of content.
PCT/US2000/025829 1999-09-21 2000-09-21 Content distribution system and method WO2001022260A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU40197/01A AU4019701A (en) 1999-09-21 2000-09-21 Content distribution system and method

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US15501599P 1999-09-21 1999-09-21
US60/155,015 1999-09-21
US53204800A 2000-03-21 2000-03-21
US09/532,048 2000-03-21
US59758500A 2000-06-20 2000-06-20
US09/597,585 2000-06-20
US63072000A 2000-08-02 2000-08-02
US09/630,720 2000-08-02

Publications (2)

Publication Number Publication Date
WO2001022260A2 true WO2001022260A2 (en) 2001-03-29
WO2001022260A8 WO2001022260A8 (en) 2002-06-27

Family

ID=27496172

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/025829 WO2001022260A2 (en) 1999-09-21 2000-09-21 Content distribution system and method

Country Status (2)

Country Link
AU (1) AU4019701A (en)
WO (1) WO2001022260A2 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Also Published As

Publication number Publication date
AU4019701A (en) 2001-04-24
WO2001022260A8 (en) 2002-06-27

Similar Documents

Publication Publication Date Title
US9117228B1 (en) Content distribution system and method
US9635408B2 (en) Content distribution system and method
US20020082919A1 (en) System method and article of manufacture for affiliate tracking for the dissemination of promotional and marketing material via e-mail
JP4909360B2 (en) System and method for creating, distributing and tracking advertisements via an electronic network
US8521586B2 (en) System and method for delivering customized advertisements within interactive communication systems
US8266282B2 (en) System and method for enforcing advertising policies using digital rights management
US20070011050A1 (en) Digital advertising system
US20010020242A1 (en) Method and apparatus for processing client information
US20050125308A1 (en) Automatic template-based e-commerce system and method of implementing the e-commerce system
US20070022214A1 (en) Transaction management apparatus and method
US20080046315A1 (en) Realizing revenue from advertisement placement
JP2002530700A (en) Local advertising method and apparatus
WO2002075621A2 (en) Advertising aided purchasing system background
JP2002535689A (en) Method and apparatus for negotiating local advertising terms
KR101692923B1 (en) Apparatus and Method for Mediation of Web Cartoon Advertisement
US20010051978A1 (en) Method and apparatus for providing a personalization service across a network
WO2001022260A2 (en) Content distribution system and method
AU2009233602A1 (en) Self service advertising method and system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

D17 Declaration under article 17(2)a
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP