WO2000057335A2 - Distributed control over personalized content delivery - Google Patents

Distributed control over personalized content delivery Download PDF

Info

Publication number
WO2000057335A2
WO2000057335A2 PCT/US2000/008027 US0008027W WO0057335A2 WO 2000057335 A2 WO2000057335 A2 WO 2000057335A2 US 0008027 W US0008027 W US 0008027W WO 0057335 A2 WO0057335 A2 WO 0057335A2
Authority
WO
WIPO (PCT)
Prior art keywords
content
user
schedule
computer
digital processing
Prior art date
Application number
PCT/US2000/008027
Other languages
French (fr)
Other versions
WO2000057335A8 (en
Inventor
Oliver Brock
Johannes Pohle
Original Assignee
All Advantage.Com, Inc.
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 All Advantage.Com, Inc. filed Critical All Advantage.Com, Inc.
Priority to AU40321/00A priority Critical patent/AU4032100A/en
Publication of WO2000057335A2 publication Critical patent/WO2000057335A2/en
Publication of WO2000057335A8 publication Critical patent/WO2000057335A8/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/02Marketing; Price estimation or determination; Fundraising

Definitions

  • This invention relates generally to networked computers, and more particularly to distributing workload for content processing among networked servers.
  • the World Wide Web enables the distribution of content of all types to users.
  • the content is generally downloaded to a user's computer from a centralized content server when the user displays a web page containing the URL (uniform resource locator) address for the web site hosted by the content server.
  • the content server can become overloaded when many users simultaneously request the content, slowing the user's response time, sometimes to the extent that the user transfers to another site before the web page can be completely retrieved. Web sites that are consistently slow to download are frequently avoided by users.
  • many content providers rely on advertising to support the web site, and advertisers factor in the level of site "traffic" in choosing web sites on which to advertise, losing a user before the web page fully downloads reduces the amount of traffic, thus costing the web site advertising revenue.
  • the user switches web sites before the ad is seen slow downloads defeat the advertiser's goals.
  • Content providers often attempt to customize the web page to the characteristics of the user as determined through some mechanism such as cookies or user surveys. Advertisers also prefer that their ads be shown to a user with an interest in the product. However, user information obtained by survey or cookies can quickly become out-of-date and thus ineffective for the advertiser's purposes.
  • providers cannot discern which users will visit any given page, or when they might visit any given page. Nor can the provider determine how long the user might view content on any page, if at all, or if they do view the page, what type of content will be delivered, and at what point in time. Because the content provider cannot predict, and thus control, any of these factors, the availability of appropriate content from various centralized content servers cannot be known until after a user actually visits a particular web page.
  • the address for a centralized content server, or a central connection point is placed on the page, and the centralized content server makes the decision of which content to download only when the user accesses the site. Because many users are not willing to provide personal information to content providers for privacy reasons, the web page may be of little interest to the user, a waste of site resources to compose and download, and any information actually obtained quickly becomes out-of-date.
  • Content providers and users would therefore benefit from a system that enabled the idelivery of personalized content based on the user's current interests to satisfy the needs of the content provider while also preserving the user's privacy.
  • a user level scheduler determines appropriate content to display to a user by obtaining a content schedule personalized for the user and evaluating scheduling criteria associated with each content entry in the schedule against the user's past or current behavior.
  • the appropriate content is obtained from a content provider specified in the schedule.
  • the content schedule is created based on a user profile by a content selection process controlled by a content broker. Content for the schedule is selected by comparing the user profile against content preferences specified by the content provider.
  • the scheduler periodically transmits information about the user and the user's behavior to the content selection process, which uses the behavior information to update the content schedule and the user profile. Behavior information aggregated from multiple users can cause one or more content schedules to be updated.
  • the scheduler can also request an updated schedule when required by the current content schedule and/or the user's behavior.
  • the user profile and schedule are not accessible by the content provider.
  • the responsibility for the delivery of personalized content is distributed between a content broker server that initially selects the content for a user and the user's computer that determines which of the selected content should be displayed at a given moment. Because each user is provided with a personalized schedule, traffic on the content providers' site is dictated by the providers' preferences. Additionally, because the delivery of the selected content is defined by the user's current behavior, the user is more likely to view content of immediate interest, which results in more pertinent responses to the content. Thus, the invention's distribution of personalization and control over the content schedule makes a personalized content delivery system more effective without sacrificing functionality. Furthermore, because each user's profile and schedule are under the control of the content broker and not the content provider, the invention preserves an individual's privacy while still enabling content targeting by the content provider.
  • FIG. 1 is a diagram of one embodiment of an operating environment suitable for practicing the present invention
  • FIG. 2 is a diagram of one embodiment of a computer system suitable for use in the operating environment of FIG. 1;
  • FIG. 3 is a diagram illustrating a system-level overview of an exemplary embodiment of the invention.
  • FIG. 4 is a flowchart of a method to be performed by a client computer according to an exemplary embodiment of the invention
  • FIGs. 5, 6, and 7 are flowcharts of methods to be performed by a server computers according to an exemplary embodiment of the invention.
  • FIG. 8 is a user profile data structure for use in an exemplary implementation of the invention.
  • FIG. 9 is a diagram of a content schedule data structure for use in an exemplary implementation of the invention.
  • FIG. 1 shows several computer systems 101 that are coupled together through a network 103, such as a local-area network or the Internet.
  • the term "Internet” as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (web).
  • HTTP hypertext transfer protocol
  • HTML hypertext markup language
  • Access to the Internet 103 is typically provided by Internet service providers (ISP), such as the ISPs 105 and 107.
  • ISP Internet service providers
  • Users on client systems, such as client computer systems 121, 125, 135, and 137 obtain access to the Internet through the Internet service providers, such as ISPs 105 and 107.
  • Access to the Internet allows users of the client computer systems to exchange information, receive and send e-mails, and view documents, such as documents which have been prepared in the HTML format.
  • These documents are often provided by web servers, such as web server 109 which is considered to be "on" the Internet.
  • web servers are provided by the ISPs, such as ISP 105, although a computer system can be set up and connected to the Internet without that system being also an ISP as is well known in the art.
  • the web server 109 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet.
  • the web server 109 can be part of an ISP which provides access to the Internet for client systems.
  • the web server 109 is shown coupled to the server computer system 111 which itself is coupled to web content 110, which can be considered a form of a media database. It will be appreciated that while two computer systems 109 and 111 are shown in FIG. 2, the web server system 109 and the server computer system 111 can be one computer system having different software components providing the web server functionality and the server functionality provided by the server computer system 111 which will be described further below.
  • Client computer systems 121, 125, 135, and 137 can each, with the appropriate web browsing software, view HTML pages provided by the web server 109.
  • the ISP 105 provides Internet connectivity to the client computer system 121 through the modem interface 123 which can be considered part of the client computer system 121.
  • the client computer system can be a personal computer system, a network computer, a Web IN system, or other such computer system.
  • the ISP 107 provides Internet connectivity for client systems 125, 135, and 137, although as shown in FIG. 1, the connections are not the same for these three computer systems.
  • Client computer system 125 is coupled through a modem interface 127 while client computer systems 135 and 137 are part of a LAN. While FIG.
  • each of these interfaces can be an analog modem, ISDN modem, cable modem, satellite transmission interface (e.g. "Direct PC"), or other interfaces for coupling a computer system to other computer systems.
  • Client computer systems 135 and 137 are coupled to a LAN bus 133 through network interfaces 139 and 141, which can be Ethernet network or other network interfaces.
  • the LAN bus 133 is also coupled to a gateway computer system 131 which can provide firewall and other Internet related services for the local area network.
  • This gateway computer system 131 is coupled to the ISP 107 to provide Internet connectivity to the client computer systems 135 and 137.
  • the gateway computer system 131 can be a conventional server computer system.
  • the web server system 109 can be a conventional server computer system.
  • FIG. 2 shows one example of a conventional computer system that can be used as a client computer system or a server computer system or as a web server system. It will also be appreciated that such a computer system can be used to perform many of the functions of an Internet service provider, such as ISP 105.
  • the computer system 201 interfaces to external systems through the modem or network interface 203. It will be appreciated that the modem or network interface 203 can be considered to be part of the computer system 201.
  • This interface 203 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. "Direct PC"), or other interfaces for coupling a computer system to other computer systems.
  • the computer system 201 includes a processor 205, which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor.
  • Memory 209 is coupled to the processor 205 by a bus 207.
  • Memory 209 can be dynamic random access memory (DRAM) and can also include static RAM (SRAM).
  • the bus 207 couples the processor 205 to the memory 209 and also to mass memory 215 and to display controller 211 and to the input/output (I/O) controller 217.
  • the display controller 211 controls in the conventional manner a display on a display device 213 which can be a cathode ray tube (CRT) or liquid crystal display.
  • CTR cathode ray tube
  • the input/output devices 219 can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device.
  • the display controller 211 and the I/O controller 217 can be implemented with conventional well known technology.
  • a digital image input device 221 can be a digital camera which is coupled to an I/O controller 217 in order to allow images from the digital camera to be input into the computer system 201.
  • the mass memory 215 is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory 209 during execution of software in the computer system 201.
  • the computer system 201 is one example of many possible computer systems which have different architectures.
  • personal computers based on an Intel microprocessor often have multiple buses, one of which can be considered to be a peripheral bus.
  • Network computers are another type of computer system that can be used with the present invention. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 209 for execution by the processor 205.
  • a Web TN system which is known in the art, is also considered to be a computer system according to the present invention, but it may lack some of the features shown in FIG. 2, such as certain input or output devices.
  • a typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor.
  • the computer system 201 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software.
  • a file management system such as a disk operating system
  • One example of an operating system software with its associated file management system software is the operating system known as Windows '95 from Microsoft Corporation of Redmond, Washington, and its associated file management system, including Windows Explorer.
  • the file management system is typically stored in the mass memory 215 and causes the processor 205 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the mass memory 215.
  • a system level overview of the operation of an exemplary embodiment of the invention is described by reference to FIG. 3.
  • a client content scheduling process and a server content selection process share the responsibility for delivering content to users in accordance with preferences set by content providers ("targeting") while preserving the privacy of the users.
  • the client and server processes also share responsibility for creating a schedule for delivering the content to the user based on the user's preference (“personalization").
  • the client content scheduling process is illustrated as a scheduler process 311 while the server content selection process is illustrated collectively 320 by a logging process 321, a content scheduling process 322, and a schedule serving process 323.
  • the relationships among the processes shown in FIG. 3 is further described through an example in which the content is an ad on the World Wide Web.
  • the content scheduling process 322 executing on one or more server computers controlled by a content broker 301, selects possible content to be shown to a user 302 by comparing the user's profile 324 with the preferences 325 specified for the content 332 currently available from the content providers 303.
  • the content preferences 325 are specified by the content provider 303 for its target audience, such as demographic requirements, number of times to display the content ("impressions"), type of user browsing behavior, etc.
  • the user profile is based on user characteristics such as demographic data, i.e., income, homeownership, location, etc., and psychographic data, i.e., hobbies, purchasing intentions, interests, etc., along with historical viewing activity such as web sites visited, number of return visits within a given time period, downloads requested, etc.
  • the ad campaign goals are compared with the user profile to determine if the user's purchasing intentions and patterns in browsing the Web fall within the user criteria specified for the campaign. If the user satisfies the user criteria, the ad is selected. It will be appreciated that other types of data can be used for both the content preferences 325 and the user profile 324 without departing from the scope of the invention.
  • a personalized schedule 326 is created for each user that contains the selected content along with scheduling criteria.
  • the scheduling criteria specifies requirements, such as priority, number of impressions, the number of user reactions to the content that are desired, duration of an impression, expiration date, etc., that control the display of the content on the user's computer.
  • the resulting user schedule 326 is transmitted by the schedule serving process 323 to the client scheduler process 311 executing on the user's computer.
  • the scheduler process 311 monitors the user's viewing activity and reactions to content displayed in the current session (collectively referred to as the user's "current behavior") and evaluates the scheduling criteria in the user schedule 326 against the current behavior (including the fact that the user is currently "online") to determine the most appropriate content to display at any given moment.
  • the scheduler process 311 retrieves the appropriate content 332 from a content serving process 331 for the provider 303 and passes it to a display process 312, which can be integrated with the scheduler process 311 or a separate component. Examples of user reactions include scrolling patterns, mouse movements, mouse clicks, and keyboard events.
  • the ad is skipped when it next appears in the content schedule 326.
  • the scheduler process 311 periodically transmits information about the user's recent viewing behavior to the logging process 321 that adjusts the corresponding user profile 324 to account for any changes.
  • the behavioral information is also used by the content scheduling process 322 to determine if the content schedule 326 should be updated in light of the content preferences 325 and how much of the content in the schedule 326 the user has viewed.
  • the update determination is based on behavior information aggregated from all users as well as the individual user's behavior.
  • the ad campaign requires that the ad be displayed to users that visit a particular web site with a certain frequency, and the behavior information indicates that a particular user no longer visits that web site, the ad is removed from that user's content schedule.
  • the ad campaign requires that a certain number of impressions be obtained overall during a certain time period and the behavioral information from all users having that ad in their schedule proves that the goal has been met, the ad is removed from the corresponding content schedules.
  • the behavior information from one user can cause the schedules of other users to be updated by the content scheduling process 322.
  • the scheduler process 311 for a particular user can request a new content schedule 326 from the schedule serving process 323.
  • the scheduler process 311 would request a new content schedule when it determines that the user's recent behavior has changed sufficiently so that the current schedule is too out-dated to use, or when some or all the scheduling criteria have been satisfied, or when content has expired.
  • the scheduler process 31 1 can request an entirely new content schedule, an updated content schedule, or only a new or updated portion depending on the reason for the request.
  • the user profile 324 and content schedule 326 are illustrated in FIG. 3 as being stored on mass-storage devices, illustrated genetically as hard drives, although the invention is not limited to such embodiments.
  • the user profile 324 and the content schedule 326 are internal to the content broker 301 and neither are accessible by the content provider 331.
  • User profiles controlled by a content broker are used to select content and to create personalized content viewing schedules for multiple users in light of content preferences specified by the content providers.
  • An individual's schedule is downloaded to a scheduler process executing on the user's computer, which monitors the user's current behavior to determine which of the selected content should be displayed.
  • the behavioral information is also uploaded to the content broker where it can cause the creation of one or more new content schedules. It will be appreciated that the maintenance of constant communication between the user's computer and the servers at the content broker is not required to determine what content is to be delivered to the user and that occasional communication can be sufficient.
  • the responsibility for the delivery of personalized content is distributed between a content broker server that initially selects possible content for a user and the user's computer that determines which of the selected content should be displayed at a given moment.
  • the invention Because a unique targeting schedule is created by the broker for each user, traffic on the content providers' site is controlled by the providers' selection of specific user characteristics. Additionally, because the delivery of the selected content is further refined at the user level based on the user's current behavior, the user is more likely to view content of immediate interest, which results in more pertinent responses to the content. Thus, the invention's distribution of personalization and control over the content schedule makes a personalized content delivery system more effective without sacrificing functionality. Because each user's profile and schedule are under the control of the content broker and not the content provider, the invention preserves an individual's privacy while still enabling content targeting by the content provider. Furthermore, because the present invention distributes the decision of which content to deliver at a given moment between the broker's server(s) and the user computers, the invention provides an easily scalable solution.
  • the content broker is a membership organization that pays cash (or other compensation) to a member for the member's activities in "surfing" the World Wide Web.
  • the member is compensated according to the amount of time in which a membership controlled window is actually displayed on the member's computer while accessing the World Wide Web.
  • the membership controlled window is used to display the appropriate content from the content providers as described above.
  • the invention is not limited to any particular server configuration at the content broker, for sake of clarity a simplified configuration at the content broker has been illustrated.
  • the processes 321, 322, 323 for the content broker 301 can execute on the same or on different computers.
  • the division of work among the processes 321, 322, 323 is not limited to that shown in FIG. 3 and can be combined or subdivided without exceeding the scope of the invention.
  • the logging process 321 can be split into two processes: one for collecting the user's current viewing activity, and one for collecting the user's content responses.
  • the invention is also envisioned as supporting multiple copies of the processes 321, 322, 323 for load balancing purposes.
  • connections between the user computer and the content broker's server(s) are secure network links established through one of several security protocols well-known in the art.
  • the content preferences can be obtained from the content provider using any one of multiple data transfers techniques commonly used in the art. Additionally, although only a single content server has been described, one of skill in the art will immediately recognize that the invention is intended to be practiced in an network, such as the Internet, in which multiple content servers are present, and each can be serving the same or different content, thereby allowing for redundancy in the content serving process, if redundancy is desired.
  • the client method is assumed be executing on a user computer securely linked to the servers of the content broker through a wide-area network and further linked either securely or non-securely to the content servers 331 of FIG. 3.
  • a computer executing one of the methods described is also referred to herein as a digital processing system.
  • a flowchart of a scheduler method 400 performed by the client computer used by the user 302 in FIG. 3 is described.
  • the scheduler method determines if it is being executed for the first time or if an existing schedule is outdated due to changes in the user information since the last execution (block 401).
  • a request for a new or updated schedule is sent to a schedule serving method 700, described in detail below in conjunction with FIG. 7 (block 402).
  • the type of request depends on whether an entirely new schedule, an updated schedule, or only a certain portion of the schedule is required. If there has been user activity since the last execution (block 403), then the scheduler method 400 sends user behavioral information, and any updated user characteristics to a logging method 500 described below in conjunction with FIG.
  • a new or updated content schedule if present, is received from the content broker (block 405).
  • additional information such as new addresses for the broker servers, a time interval specifying periodic connections to the broker servers, and the correct date (used for expiring content) are also received at block 405.
  • the scheduler method 400 determines which content in the content schedule has the highest priority (block 406) and displays it to the user (block 407). If the content is not already present on the user computer, the scheduler method 400 also downloads the content from the provider at block 407. In one embodiment, the scheduler method retrieves the content at the time the content is to be displayed, while in an alternate embodiment, the content is retrieved in batches periodically during the session.
  • the priorities for all scheduled content are adjusted (block 408) based on the scheduling criteria for the content and the user's current behavior. A particular implementation that adjusts (updates) priorities is described in the next section.
  • the scheduler method 400 monitors the user's reaction to the content and other viewing activity (block 409) and updates the user's behavior information accordingly (block 410).
  • the schedule method 400 continues to choose the content to be displayed at any given time as illustrated in FIG. 4 until terminated by the user and does so without reference to information at the content broker until a new or updated schedule is required.
  • FIG. 5 is a flowchart of the acts to be performed by a server computer executing the logging method 500 corresponding to logging process 321.
  • the logging method 500 receives data from the scheduler method 400.
  • the data can be information describing a new user or updated information for an existing user (block 503).
  • the logging method 500 uses the data to create or update the corresponding user profile (block 505) and to instruct a content scheduling method 600 (described next) to create a new content schedule (block 507). If the data contains behavioral information for an existing user (block 509), it is recorded (block 511) and passed to the content scheduling process (block 513).
  • the logging method 500 periodically sends the behavioral information to a compensation process (not shown) where it is used to determine the appropriate compensation.
  • a compensation process can be based on the number of impressions, the number and type of user reactions, the amount of time the scheduler process is active on the user's computer, the amount of time the user spends on a site, or a combination of these statistics. It will be appreciated that the compensation calculation can also be based on other statistics and such alternate embodiments are contemplated as within the scope of the invention.
  • the content scheduling method 600 receives the instruction to create a new schedule and/or new behavioral information (block 601), it obtains the appropriate user profile (block 603) and selects content appropriate for the user (block 605) by comparing the profile against content preference criteria specified by the content providers.
  • the content schedule is created from the selected content (block 607) and the corresponding scheduling criteria derived from the content provider's preferences.
  • FIG. 7 illustrates a schedule serving method 700 that obtains the appropriate content schedule (block 701) and transmits it to the scheduler method 400 (block 703).
  • the schedule serving method 700 also responds to requests from the scheduler method 400 for a new or updated content schedule.
  • the particular methods performed by client and server computers of an exemplary embodiment of the invention have been described.
  • the method performed by the client has been shown by reference to a flowchart in FIG. 4 including all the acts from 401 until 411.
  • the methods performed by the servers has been shown by reference to flowcharts in FIGs. 5-7 including all the acts from 501 until 513, from 601 until 607, and 701 until 703.
  • Implementation of User profiles and Schedules In this section of the detailed description, a particular implementation of data structures for a user profile and schedule utilized by the invention are described.
  • the exemplary data structures are directed toward selecting content on the World Wide Web for presentation to the user by the display process that is controlled by the scheduler.
  • the display process presents the content within a window in an Internet browser application.
  • the invention is not so limited.
  • a user profile data structure 800 is shown as containing fields for a user identifier 801, demographic data 803, psychographic data 805, and historical viewing activity 807.
  • T user identifier 801 is assigned by the content broker when a user first requests a schedule.
  • the demographic data 803 and the psychographic data 805 are acquired from the user or a third-party having the information, or it can be created by analyzing observed behavioral patterns of the user.
  • the historical viewing activity 807 contains the browsing habits and patterns exhibited in the past by the user. All the fields are updated as a result of the reporting performed by the scheduler method 400 described in the previous section.
  • FIG. 9 illustrates a content schedule data structure 900 that is keyed with the same user identifier 901 as the user profile data structure 800 and used by the scheduler method 400 in determining the content to be displayed.
  • the content schedule data structure contains multiple entries 902, one for each selected content.
  • Each entry 902 contains a unique content identifier 910, a provider address 911 for the content in the form of a URL (uniform resource locator), and the associated scheduling criteria 912.
  • the scheduling criteria 912 includes a priority 921, a rank 922, a type 923, an expiration field 924, and personalized preferences 925.
  • the schedule criteria 912 are used by the scheduler to choose the content at the user level that is most appropriate for display at a given moment without needing to contact the content broker.
  • the inclusion of an optional db_call field 903 directs the scheduler to an external database for realtime reporting using an HTTP (hypertext transfer protocol) call stored in the db_call field 903.
  • the priority 921 of a piece of content is changed when each of the personalized preferences 925 is satisfied.
  • the amount of change can be specified by the value of an optional priority_delta field 926 or a default value.
  • the value of the rank field 922 is used to rank the content in its importance relative to other scheduled content. It can be seen as a meta-priority in that an content of equal or lesser rank can never interrupt an content of higher rank. When content having the maximum rank is displayed, no other content will preempt it on the screen.
  • the rank field 922 also determines how sequenced ads are displayed as described later in conjunction with an optional trigger specification 933.
  • the type field 923 determines where the content will appear in the window of the display process.
  • the expiration field 924 specifies a date on which the schedule for this content becomes invalid so that a new schedule for that content is requested by the scheduler.
  • the personalized preferences 925 are derived from the overall content preferences specified by the content provider to control the display of the content and to control how the user interacts with the content.
  • the personalized preferences 925 illustrated in FIG. 9 are the priority_delta field 926, a duration field 927, max_imp field 928, a max_click field 929, a min_delta_t field 930, a min_delta_imp field 931, a click_url field 932, and the trigger specification 933. Narious combinations of these fields is possible as will be immediately apparent to one skilled in the art upon reading the following descriptions.
  • the duration value 927 specifies how long the content will appear in the window.
  • the duration value 927 can be time or event-based, so that the content appears for a specific length of time or until an event occurs, such as a keystroke, mouse click, or change in web page being viewed.
  • Max_imp 928 and max_click 929 specify the maximum number of desired impressions and clicks respectively.
  • a value of zero in either field means that the content continued to be displayed independently of the number of impressions already served or number of clicks already achieved, and a max_imp 928 value larger than zero overwrites the value of max_click 929.
  • Min_delta_t 930 acts in conjunction with min_delta_imp 931 to determine the frequency with which the content is shown.
  • Min_delta_t 930 is a desired time that should elapse between impressions
  • min_delta_imp 931 specifies a desired number of impressions that should elapse between two consecutive impressions of the ad. The content will not be shown again until one or both of the min_delta_t 930 and min_delta_imp 931 values are matched.
  • the click irl field 932 contains a location from which to obtain additional information related to the content.
  • the click_url field 932 contains a URL to which the browser is directed if the user clicks on the content in the display process window.
  • the click_url field 932 can also contain other types of location information, such as a telephone number, email address, or the like.
  • the trigger specification 933 describes the relationships among different pieces of content and enables content to be displayed in particular sequence determined by the user's current viewing activity. If the trigger specification 933 is empty, the content defined by identifier 910 is displayed in a rotation cycle according to its priority 921 and the other scheduling criteria 912, such as the maximum impressions, maximum clicks, etc.
  • the trigger specification 933 comprises a series of trigger entries 940, with each entry containing three sublists: a urljist 941 containing URLs for web sites, keyword_list 942 containing keywords, and an id_list 943 containing identifiers for "trigger" content. Any of the sublists can be empty. For the content defined by identifier 910 to be displayed, one of the URLs and one of the keywords have to be matched by current user activity before or during display of the trigger content. These elements of each of the sublists are disjunctive, i.e., a match on any of the elements causes the sublist to be evaluated as TRUE.
  • the sublists are conjunctive, i.e., a trigger entry 940 can only be evaluated as TRUE if all its non-empty sublists are evaluated as TRUE.
  • An empty list indicates a trivial match. For example, if the url_list 941 and keyword_list 942 are empty, the any URL or keyword matches (e.g. the match is trivially true) and only the non-omitted part, the id_list 943, has to be matched.
  • the end of the display cycle of the trigger content causes the content defined by identifier 910 to be displayed.
  • a system has been described that distributes the control of the delivery of personalized content to a user between client and server computers.
  • the server computer selects content to create a personalized schedule for the user and the client computer determines which content in the schedule is most appropriate to display to the user at any given moment based on the user's current behavior.
  • the computer program embodying the scheduler process can be downloaded to the user computer from the content broker, installed from computer-readable medium, such as a floppy disk or CD-ROM, or obtained from one of the participating content providers.
  • the criteria used to select the content for a user can be stored on a server at the content broker or downloaded to the content broker when necessary.

Abstract

A user level scheduler determines appropriate content to display to a user by obtaining a content schedule personalized for the user and evaluating scheduling criteria associated with each content entry in the schedule against the user's current behavior. The appropriate content is obtained from a content provider specified in the schedule. The content schedule is created based on a user profile by a content selection process controlled by a content broker. Content for the schedule is selected by comparing the user profile against content preferences specified by the content provider. The content schedule is updated as required by the user's behavior.

Description

DISTRIBUTED CONTROL OVER PERSONALIZED CONTENT
DELIVERY
RELATED APPLICATIONS
This application is a continuation-in-part of U.S. Provisional Application No. 60/126,081 filed on March 25, 1999, and is related to U.S. Patent
Application Serial No. (attorney docket number 4124.P001) entitled "METHODS AND APPARATUSES FOR INTERACTING WITH MEMBERS OF A MEMBERSHIP ORGANIZATION" assigned to the same assignee as the present application and filed concurrently herewith, and which is incorporated herein by reference.
FIELD OF THE INVENTION
This invention relates generally to networked computers, and more particularly to distributing workload for content processing among networked servers.
COPYRIGHT NOTICE/PERMISSION
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright © 1999, AllAdvantage.com Corporation, All Rights Reserved. BACKGROUND OF THE INVENTION
The World Wide Web enables the distribution of content of all types to users. The content is generally downloaded to a user's computer from a centralized content server when the user displays a web page containing the URL (uniform resource locator) address for the web site hosted by the content server. The content server can become overloaded when many users simultaneously request the content, slowing the user's response time, sometimes to the extent that the user transfers to another site before the web page can be completely retrieved. Web sites that are consistently slow to download are frequently avoided by users. In addition, because many content providers rely on advertising to support the web site, and advertisers factor in the level of site "traffic" in choosing web sites on which to advertise, losing a user before the web page fully downloads reduces the amount of traffic, thus costing the web site advertising revenue. Moreover, because the user switches web sites before the ad is seen, slow downloads defeat the advertiser's goals.
Content providers often attempt to customize the web page to the characteristics of the user as determined through some mechanism such as cookies or user surveys. Advertisers also prefer that their ads be shown to a user with an interest in the product. However, user information obtained by survey or cookies can quickly become out-of-date and thus ineffective for the advertiser's purposes. With the current centralized server model, providers cannot discern which users will visit any given page, or when they might visit any given page. Nor can the provider determine how long the user might view content on any page, if at all, or if they do view the page, what type of content will be delivered, and at what point in time. Because the content provider cannot predict, and thus control, any of these factors, the availability of appropriate content from various centralized content servers cannot be known until after a user actually visits a particular web page.
Therefore, the address for a centralized content server, or a central connection point, is placed on the page, and the centralized content server makes the decision of which content to download only when the user accesses the site. Because many users are not willing to provide personal information to content providers for privacy reasons, the web page may be of little interest to the user, a waste of site resources to compose and download, and any information actually obtained quickly becomes out-of-date.
Content providers and users would therefore benefit from a system that enabled the idelivery of personalized content based on the user's current interests to satisfy the needs of the content provider while also preserving the user's privacy.
SUMMARY OF THE INVENTION
The above-mentioned shortcomings, disadvantages and problems are addressed by the present invention, which will be understood by reading and studying the following specification.
A user level scheduler determines appropriate content to display to a user by obtaining a content schedule personalized for the user and evaluating scheduling criteria associated with each content entry in the schedule against the user's past or current behavior. The appropriate content is obtained from a content provider specified in the schedule. The content schedule is created based on a user profile by a content selection process controlled by a content broker. Content for the schedule is selected by comparing the user profile against content preferences specified by the content provider. The scheduler periodically transmits information about the user and the user's behavior to the content selection process, which uses the behavior information to update the content schedule and the user profile. Behavior information aggregated from multiple users can cause one or more content schedules to be updated. The scheduler can also request an updated schedule when required by the current content schedule and/or the user's behavior. The user profile and schedule are not accessible by the content provider.
The responsibility for the delivery of personalized content is distributed between a content broker server that initially selects the content for a user and the user's computer that determines which of the selected content should be displayed at a given moment. Because each user is provided with a personalized schedule, traffic on the content providers' site is dictated by the providers' preferences. Additionally, because the delivery of the selected content is defined by the user's current behavior, the user is more likely to view content of immediate interest, which results in more pertinent responses to the content. Thus, the invention's distribution of personalization and control over the content schedule makes a personalized content delivery system more effective without sacrificing functionality. Furthermore, because each user's profile and schedule are under the control of the content broker and not the content provider, the invention preserves an individual's privacy while still enabling content targeting by the content provider.
The present invention describes systems, clients, servers, methods, and computer-readable media of varying scope. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram of one embodiment of an operating environment suitable for practicing the present invention;
FIG. 2 is a diagram of one embodiment of a computer system suitable for use in the operating environment of FIG. 1;
FIG. 3 is a diagram illustrating a system-level overview of an exemplary embodiment of the invention;
FIG. 4 is a flowchart of a method to be performed by a client computer according to an exemplary embodiment of the invention;
FIGs. 5, 6, and 7 are flowcharts of methods to be performed by a server computers according to an exemplary embodiment of the invention;
FIG. 8 is a user profile data structure for use in an exemplary implementation of the invention; and
FIG. 9 is a diagram of a content schedule data structure for use in an exemplary implementation of the invention.
DETAILED DESCRIPTION OF THE INVENTION
In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
The detailed description is divided into five sections. In the first section, the hardware and the operating environment in conjunction with which embodiments of the invention may be practiced are described. In the second section, a system level overview of the invention is presented. In the third section, methods for an exemplary embodiment of the invention are provided. In the fourth section, a particular implementation of the invention is described. Finally, in the fifth section, a conclusion of the detailed description is provided.
Operating Environment The following description of FIGs. 1 and 2 is intended to provide an overview of computer hardware and other operating components suitable for implementing the invention, but is not intended to limit the applicable environments. FIG. 1 shows several computer systems 101 that are coupled together through a network 103, such as a local-area network or the Internet. The term "Internet" as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web (web). The physical connections of the Internet and the protocols and communication procedures of the Internet are well known to those of skill in the art. Access to the Internet 103 is typically provided by Internet service providers (ISP), such as the ISPs 105 and 107. Users on client systems, such as client computer systems 121, 125, 135, and 137 obtain access to the Internet through the Internet service providers, such as ISPs 105 and 107. Access to the Internet allows users of the client computer systems to exchange information, receive and send e-mails, and view documents, such as documents which have been prepared in the HTML format. These documents are often provided by web servers, such as web server 109 which is considered to be "on" the Internet. Often these web servers are provided by the ISPs, such as ISP 105, although a computer system can be set up and connected to the Internet without that system being also an ISP as is well known in the art.
The web server 109 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet. Optionally, the web server 109 can be part of an ISP which provides access to the Internet for client systems. The web server 109 is shown coupled to the server computer system 111 which itself is coupled to web content 110, which can be considered a form of a media database. It will be appreciated that while two computer systems 109 and 111 are shown in FIG. 2, the web server system 109 and the server computer system 111 can be one computer system having different software components providing the web server functionality and the server functionality provided by the server computer system 111 which will be described further below.
Client computer systems 121, 125, 135, and 137 can each, with the appropriate web browsing software, view HTML pages provided by the web server 109. The ISP 105 provides Internet connectivity to the client computer system 121 through the modem interface 123 which can be considered part of the client computer system 121. The client computer system can be a personal computer system, a network computer, a Web IN system, or other such computer system. Similarly, the ISP 107 provides Internet connectivity for client systems 125, 135, and 137, although as shown in FIG. 1, the connections are not the same for these three computer systems. Client computer system 125 is coupled through a modem interface 127 while client computer systems 135 and 137 are part of a LAN. While FIG. 2 shows the interfaces 123 and 127 as generically as "modem" 203, it will be appreciated that each of these interfaces can be an analog modem, ISDN modem, cable modem, satellite transmission interface (e.g. "Direct PC"), or other interfaces for coupling a computer system to other computer systems. Client computer systems 135 and 137 are coupled to a LAN bus 133 through network interfaces 139 and 141, which can be Ethernet network or other network interfaces. The LAN bus 133 is also coupled to a gateway computer system 131 which can provide firewall and other Internet related services for the local area network. This gateway computer system 131 is coupled to the ISP 107 to provide Internet connectivity to the client computer systems 135 and 137. The gateway computer system 131 can be a conventional server computer system. Also, the web server system 109 can be a conventional server computer system.
FIG. 2 shows one example of a conventional computer system that can be used as a client computer system or a server computer system or as a web server system. It will also be appreciated that such a computer system can be used to perform many of the functions of an Internet service provider, such as ISP 105. The computer system 201 interfaces to external systems through the modem or network interface 203. It will be appreciated that the modem or network interface 203 can be considered to be part of the computer system 201. This interface 203 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. "Direct PC"), or other interfaces for coupling a computer system to other computer systems. The computer system 201 includes a processor 205, which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor. Memory 209 is coupled to the processor 205 by a bus 207. Memory 209 can be dynamic random access memory (DRAM) and can also include static RAM (SRAM). The bus 207 couples the processor 205 to the memory 209 and also to mass memory 215 and to display controller 211 and to the input/output (I/O) controller 217. The display controller 211 controls in the conventional manner a display on a display device 213 which can be a cathode ray tube (CRT) or liquid crystal display. The input/output devices 219 can include a keyboard, disk drives, printers, a scanner, and other input and output devices, including a mouse or other pointing device. The display controller 211 and the I/O controller 217 can be implemented with conventional well known technology. A digital image input device 221 can be a digital camera which is coupled to an I/O controller 217 in order to allow images from the digital camera to be input into the computer system 201. The mass memory 215 is often a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written, by a direct memory access process, into memory 209 during execution of software in the computer system 201.
It will be appreciated that the computer system 201 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be considered to be a peripheral bus. Network computers are another type of computer system that can be used with the present invention. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 209 for execution by the processor 205. A Web TN system, which is known in the art, is also considered to be a computer system according to the present invention, but it may lack some of the features shown in FIG. 2, such as certain input or output devices. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor.
It will also be appreciated that the computer system 201 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of an operating system software with its associated file management system software is the operating system known as Windows '95 from Microsoft Corporation of Redmond, Washington, and its associated file management system, including Windows Explorer. The file management system is typically stored in the mass memory 215 and causes the processor 205 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the mass memory 215.
The hardware and operating environment in conjunction with which embodiments of the invention may be practiced has been described in this section. One of skill in the art will immediately appreciate that the invention can be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. System Level Overview
A system level overview of the operation of an exemplary embodiment of the invention is described by reference to FIG. 3. A client content scheduling process and a server content selection process share the responsibility for delivering content to users in accordance with preferences set by content providers ("targeting") while preserving the privacy of the users. The client and server processes also share responsibility for creating a schedule for delivering the content to the user based on the user's preference ("personalization"). The client content scheduling process is illustrated as a scheduler process 311 while the server content selection process is illustrated collectively 320 by a logging process 321, a content scheduling process 322, and a schedule serving process 323. The relationships among the processes shown in FIG. 3 is further described through an example in which the content is an ad on the World Wide Web.
The content scheduling process 322, executing on one or more server computers controlled by a content broker 301, selects possible content to be shown to a user 302 by comparing the user's profile 324 with the preferences 325 specified for the content 332 currently available from the content providers 303. The content preferences 325 are specified by the content provider 303 for its target audience, such as demographic requirements, number of times to display the content ("impressions"), type of user browsing behavior, etc. The user profile is based on user characteristics such as demographic data, i.e., income, homeownership, location, etc., and psychographic data, i.e., hobbies, purchasing intentions, interests, etc., along with historical viewing activity such as web sites visited, number of return visits within a given time period, downloads requested, etc. In terms of the ad example, the ad campaign goals are compared with the user profile to determine if the user's purchasing intentions and patterns in browsing the Web fall within the user criteria specified for the campaign. If the user satisfies the user criteria, the ad is selected. It will be appreciated that other types of data can be used for both the content preferences 325 and the user profile 324 without departing from the scope of the invention.
A personalized schedule 326 is created for each user that contains the selected content along with scheduling criteria. The scheduling criteria specifies requirements, such as priority, number of impressions, the number of user reactions to the content that are desired, duration of an impression, expiration date, etc., that control the display of the content on the user's computer.
The resulting user schedule 326 is transmitted by the schedule serving process 323 to the client scheduler process 311 executing on the user's computer. The scheduler process 311 monitors the user's viewing activity and reactions to content displayed in the current session (collectively referred to as the user's "current behavior") and evaluates the scheduling criteria in the user schedule 326 against the current behavior (including the fact that the user is currently "online") to determine the most appropriate content to display at any given moment. The scheduler process 311 retrieves the appropriate content 332 from a content serving process 331 for the provider 303 and passes it to a display process 312, which can be integrated with the scheduler process 311 or a separate component. Examples of user reactions include scrolling patterns, mouse movements, mouse clicks, and keyboard events. Returning to the ad example, once the user has responded as desired to a particular ad and assuming the content provider does not want the user to see the ad again, the ad is skipped when it next appears in the content schedule 326. Similarly, if a user has responded negatively to a particular ad, that content can be skipped or shown less frequently. The scheduler process 311 periodically transmits information about the user's recent viewing behavior to the logging process 321 that adjusts the corresponding user profile 324 to account for any changes. The behavioral information is also used by the content scheduling process 322 to determine if the content schedule 326 should be updated in light of the content preferences 325 and how much of the content in the schedule 326 the user has viewed. The update determination is based on behavior information aggregated from all users as well as the individual user's behavior. Returning once again to the ad example, if the ad campaign requires that the ad be displayed to users that visit a particular web site with a certain frequency, and the behavior information indicates that a particular user no longer visits that web site, the ad is removed from that user's content schedule. Similarly, if the ad campaign requires that a certain number of impressions be obtained overall during a certain time period and the behavioral information from all users having that ad in their schedule proves that the goal has been met, the ad is removed from the corresponding content schedules. The reverse is also true, in that if the overall impression goals are not yet met, the corresponding content schedules can be changed to display the ad more frequently. Thus, the behavior information from one user can cause the schedules of other users to be updated by the content scheduling process 322.
Additionally, the scheduler process 311 for a particular user can request a new content schedule 326 from the schedule serving process 323. For example, the scheduler process 311 would request a new content schedule when it determines that the user's recent behavior has changed sufficiently so that the current schedule is too out-dated to use, or when some or all the scheduling criteria have been satisfied, or when content has expired. The scheduler process 31 1 can request an entirely new content schedule, an updated content schedule, or only a new or updated portion depending on the reason for the request.
The user profile 324 and content schedule 326 are illustrated in FIG. 3 as being stored on mass-storage devices, illustrated genetically as hard drives, although the invention is not limited to such embodiments. The user profile 324 and the content schedule 326 are internal to the content broker 301 and neither are accessible by the content provider 331.
The system level overview of the operation of an exemplary embodiment of the invention has been described in this section of the detailed description. User profiles controlled by a content broker are used to select content and to create personalized content viewing schedules for multiple users in light of content preferences specified by the content providers. An individual's schedule is downloaded to a scheduler process executing on the user's computer, which monitors the user's current behavior to determine which of the selected content should be displayed. The behavioral information is also uploaded to the content broker where it can cause the creation of one or more new content schedules. It will be appreciated that the maintenance of constant communication between the user's computer and the servers at the content broker is not required to determine what content is to be delivered to the user and that occasional communication can be sufficient. Thus, the responsibility for the delivery of personalized content is distributed between a content broker server that initially selects possible content for a user and the user's computer that determines which of the selected content should be displayed at a given moment.
Because a unique targeting schedule is created by the broker for each user, traffic on the content providers' site is controlled by the providers' selection of specific user characteristics. Additionally, because the delivery of the selected content is further refined at the user level based on the user's current behavior, the user is more likely to view content of immediate interest, which results in more pertinent responses to the content. Thus, the invention's distribution of personalization and control over the content schedule makes a personalized content delivery system more effective without sacrificing functionality. Because each user's profile and schedule are under the control of the content broker and not the content provider, the invention preserves an individual's privacy while still enabling content targeting by the content provider. Furthermore, because the present invention distributes the decision of which content to deliver at a given moment between the broker's server(s) and the user computers, the invention provides an easily scalable solution.
I;: one exemplary embodiment of the invention, the content broker is a membership organization that pays cash (or other compensation) to a member for the member's activities in "surfing" the World Wide Web. The member is compensated according to the amount of time in which a membership controlled window is actually displayed on the member's computer while accessing the World Wide Web. The membership controlled window is used to display the appropriate content from the content providers as described above. Based on the foregoing discussion in this section, one of skill in the art will immediately appreciate that the invention is not limited to use in conjunction with a membership organization, nor with any particular type of content to be delivered and is applicable to any wide area network.
Furthermore, while the invention is not limited to any particular server configuration at the content broker, for sake of clarity a simplified configuration at the content broker has been illustrated. The processes 321, 322, 323 for the content broker 301 can execute on the same or on different computers. The division of work among the processes 321, 322, 323 is not limited to that shown in FIG. 3 and can be combined or subdivided without exceeding the scope of the invention. For example, one of skill in the art will readily recognize that the logging process 321 can be split into two processes: one for collecting the user's current viewing activity, and one for collecting the user's content responses. The invention is also envisioned as supporting multiple copies of the processes 321, 322, 323 for load balancing purposes. The connections between the user computer and the content broker's server(s) are secure network links established through one of several security protocols well-known in the art. The content preferences can be obtained from the content provider using any one of multiple data transfers techniques commonly used in the art. Additionally, although only a single content server has been described, one of skill in the art will immediately recognize that the invention is intended to be practiced in an network, such as the Internet, in which multiple content servers are present, and each can be serving the same or different content, thereby allowing for redundancy in the content serving process, if redundancy is desired.
Methods of the Invention In the previous section, a system level overview of the operations of exemplary embodiments of the invention was described. In this section, the particular methods performed by computers operating as servers and a client of such an exemplary embodiment are described by reference to a series of flowcharts in FIGs. 4-7. The methods to be performed by the servers and client constitute computer programs made up of computer-executable instructions. Describing the methods by reference to a flowchart enables one skilled in the art to develop such programs including such instructions to carry out the methods on suitable computerized servers and clients (the processor of the computers executing the instructions from computer-readable media). The server methods described next are assumed to execute on different digital processing systems being connected, where necessary, through a secure link to support the content broker 301 of FIG. 3. The client method is assumed be executing on a user computer securely linked to the servers of the content broker through a wide-area network and further linked either securely or non-securely to the content servers 331 of FIG. 3. A computer executing one of the methods described is also referred to herein as a digital processing system.
Referring first to FIG. 4, a flowchart of a scheduler method 400 performed by the client computer used by the user 302 in FIG. 3 is described. Upon execution, the scheduler method determines if it is being executed for the first time or if an existing schedule is outdated due to changes in the user information since the last execution (block 401). In either case, a request for a new or updated schedule is sent to a schedule serving method 700, described in detail below in conjunction with FIG. 7 (block 402). The type of request depends on whether an entirely new schedule, an updated schedule, or only a certain portion of the schedule is required. If there has been user activity since the last execution (block 403), then the scheduler method 400 sends user behavioral information, and any updated user characteristics to a logging method 500 described below in conjunction with FIG. 5 (block 404). A new or updated content schedule, if present, is received from the content broker (block 405). In one embodiment, additional information such as new addresses for the broker servers, a time interval specifying periodic connections to the broker servers, and the correct date (used for expiring content) are also received at block 405. The scheduler method 400 determines which content in the content schedule has the highest priority (block 406) and displays it to the user (block 407). If the content is not already present on the user computer, the scheduler method 400 also downloads the content from the provider at block 407. In one embodiment, the scheduler method retrieves the content at the time the content is to be displayed, while in an alternate embodiment, the content is retrieved in batches periodically during the session.
The priorities for all scheduled content are adjusted (block 408) based on the scheduling criteria for the content and the user's current behavior. A particular implementation that adjusts (updates) priorities is described in the next section. The scheduler method 400 monitors the user's reaction to the content and other viewing activity (block 409) and updates the user's behavior information accordingly (block 410). The schedule method 400 continues to choose the content to be displayed at any given time as illustrated in FIG. 4 until terminated by the user and does so without reference to information at the content broker until a new or updated schedule is required.
FIG. 5 is a flowchart of the acts to be performed by a server computer executing the logging method 500 corresponding to logging process 321. At block 501, the logging method 500 receives data from the scheduler method 400. The data can be information describing a new user or updated information for an existing user (block 503). The logging method 500 uses the data to create or update the corresponding user profile (block 505) and to instruct a content scheduling method 600 (described next) to create a new content schedule (block 507). If the data contains behavioral information for an existing user (block 509), it is recorded (block 511) and passed to the content scheduling process (block 513). In an embodiment in which the user is monetarily compensated for viewing content, the logging method 500 periodically sends the behavioral information to a compensation process (not shown) where it is used to determine the appropriate compensation. Such compensation can be based on the number of impressions, the number and type of user reactions, the amount of time the scheduler process is active on the user's computer, the amount of time the user spends on a site, or a combination of these statistics. It will be appreciated that the compensation calculation can also be based on other statistics and such alternate embodiments are contemplated as within the scope of the invention.
When the content scheduling method 600 (FIG. 6) receives the instruction to create a new schedule and/or new behavioral information (block 601), it obtains the appropriate user profile (block 603) and selects content appropriate for the user (block 605) by comparing the profile against content preference criteria specified by the content providers. The content schedule is created from the selected content (block 607) and the corresponding scheduling criteria derived from the content provider's preferences. When the schedule is ready, FIG. 7 illustrates a schedule serving method 700 that obtains the appropriate content schedule (block 701) and transmits it to the scheduler method 400 (block 703). The schedule serving method 700 also responds to requests from the scheduler method 400 for a new or updated content schedule.
The particular methods performed by client and server computers of an exemplary embodiment of the invention have been described. The method performed by the client has been shown by reference to a flowchart in FIG. 4 including all the acts from 401 until 411. The methods performed by the servers has been shown by reference to flowcharts in FIGs. 5-7 including all the acts from 501 until 513, from 601 until 607, and 701 until 703. Implementation of User profiles and Schedules In this section of the detailed description, a particular implementation of data structures for a user profile and schedule utilized by the invention are described. The exemplary data structures are directed toward selecting content on the World Wide Web for presentation to the user by the display process that is controlled by the scheduler. In the present implementation, the display process presents the content within a window in an Internet browser application. However, the invention is not so limited.
Beginning with FIG. 8, the particular implementation of a user profile data structure 800 is shown as containing fields for a user identifier 801, demographic data 803, psychographic data 805, and historical viewing activity 807. T user identifier 801 is assigned by the content broker when a user first requests a schedule. The demographic data 803 and the psychographic data 805 are acquired from the user or a third-party having the information, or it can be created by analyzing observed behavioral patterns of the user. The historical viewing activity 807 contains the browsing habits and patterns exhibited in the past by the user. All the fields are updated as a result of the reporting performed by the scheduler method 400 described in the previous section.
FIG. 9 illustrates a content schedule data structure 900 that is keyed with the same user identifier 901 as the user profile data structure 800 and used by the scheduler method 400 in determining the content to be displayed. The content schedule data structure contains multiple entries 902, one for each selected content. Each entry 902 contains a unique content identifier 910, a provider address 911 for the content in the form of a URL (uniform resource locator), and the associated scheduling criteria 912. The scheduling criteria 912 includes a priority 921, a rank 922, a type 923, an expiration field 924, and personalized preferences 925. The schedule criteria 912 are used by the scheduler to choose the content at the user level that is most appropriate for display at a given moment without needing to contact the content broker. The inclusion of an optional db_call field 903 directs the scheduler to an external database for realtime reporting using an HTTP (hypertext transfer protocol) call stored in the db_call field 903.
The priority 921 of a piece of content is changed when each of the personalized preferences 925 is satisfied. The amount of change can be specified by the value of an optional priority_delta field 926 or a default value. The value of the rank field 922 is used to rank the content in its importance relative to other scheduled content. It can be seen as a meta-priority in that an content of equal or lesser rank can never interrupt an content of higher rank. When content having the maximum rank is displayed, no other content will preempt it on the screen. The rank field 922 also determines how sequenced ads are displayed as described later in conjunction with an optional trigger specification 933. The type field 923 determines where the content will appear in the window of the display process. The expiration field 924 specifies a date on which the schedule for this content becomes invalid so that a new schedule for that content is requested by the scheduler.
The personalized preferences 925 are derived from the overall content preferences specified by the content provider to control the display of the content and to control how the user interacts with the content. The personalized preferences 925 illustrated in FIG. 9 are the priority_delta field 926, a duration field 927, max_imp field 928, a max_click field 929, a min_delta_t field 930, a min_delta_imp field 931, a click_url field 932, and the trigger specification 933. Narious combinations of these fields is possible as will be immediately apparent to one skilled in the art upon reading the following descriptions.
The duration value 927 specifies how long the content will appear in the window. The duration value 927 can be time or event-based, so that the content appears for a specific length of time or until an event occurs, such as a keystroke, mouse click, or change in web page being viewed. Max_imp 928 and max_click 929 specify the maximum number of desired impressions and clicks respectively. In the exemplary implementation, a value of zero in either field means that the content continued to be displayed independently of the number of impressions already served or number of clicks already achieved, and a max_imp 928 value larger than zero overwrites the value of max_click 929.
Min_delta_t 930 acts in conjunction with min_delta_imp 931 to determine the frequency with which the content is shown. Min_delta_t 930 is a desired time that should elapse between impressions, while min_delta_imp 931 specifies a desired number of impressions that should elapse between two consecutive impressions of the ad. The content will not be shown again until one or both of the min_delta_t 930 and min_delta_imp 931 values are matched.
When present, the click irl field 932 contains a location from which to obtain additional information related to the content. In the exemplary implementation, the click_url field 932 contains a URL to which the browser is directed if the user clicks on the content in the display process window. The click_url field 932 can also contain other types of location information, such as a telephone number, email address, or the like.
The trigger specification 933 describes the relationships among different pieces of content and enables content to be displayed in particular sequence determined by the user's current viewing activity. If the trigger specification 933 is empty, the content defined by identifier 910 is displayed in a rotation cycle according to its priority 921 and the other scheduling criteria 912, such as the maximum impressions, maximum clicks, etc.
In the exemplary implementation, the trigger specification 933 comprises a series of trigger entries 940, with each entry containing three sublists: a urljist 941 containing URLs for web sites, keyword_list 942 containing keywords, and an id_list 943 containing identifiers for "trigger" content. Any of the sublists can be empty. For the content defined by identifier 910 to be displayed, one of the URLs and one of the keywords have to be matched by current user activity before or during display of the trigger content. These elements of each of the sublists are disjunctive, i.e., a match on any of the elements causes the sublist to be evaluated as TRUE. The sublists are conjunctive, i.e., a trigger entry 940 can only be evaluated as TRUE if all its non-empty sublists are evaluated as TRUE. An empty list indicates a trivial match. For example, if the url_list 941 and keyword_list 942 are empty, the any URL or keyword matches (e.g. the match is trivially true) and only the non-omitted part, the id_list 943, has to be matched. Alternatively, the end of the display cycle of the trigger content causes the content defined by identifier 910 to be displayed.
While specific data structures have been described in this section, the invention is not limited to practice with only these data structures. One of skill in the art will immediately recognize that alternate arrangements of the data items can also achieve the same result without exceeding the scope of the invention.
Conclusion A system has been described that distributes the control of the delivery of personalized content to a user between client and server computers. The server computer selects content to create a personalized schedule for the user and the client computer determines which content in the schedule is most appropriate to display to the user at any given moment based on the user's current behavior. Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention.
For example, those of ordinary skill within the art will appreciate that the computer program embodying the scheduler process can be downloaded to the user computer from the content broker, installed from computer-readable medium, such as a floppy disk or CD-ROM, or obtained from one of the participating content providers. Furthermore, those of ordinary skill within the art will appreciate that the criteria used to select the content for a user can be stored on a server at the content broker or downloaded to the content broker when necessary.
The terminology used in this application with respect to the networking of the user, content broker and content providers is meant to include all types of network environments, including the Internet and the World Wide Web, and all configurations of server computers that accomplish the methods described herein.
Therefore, it is manifestly intended that this invention be limited only by the following claims and equivalents thereof.

Claims

CLAIMSWhat is claimed is:
1. A computerized method of displaying selected content to a user comprising: obtaining a content schedule for the user, wherein the content schedule comprises a plurality of content selected for the user and scheduling criteria associated with each of the plurality of content; evaluating the scheduling criteria for each of the plurality of content against current behavior of the user to determine appropriate content for display; and displaying the appropriate content.
2. The computerized method of claim 1 , wherein the current behavior of the user comprises viewing activity and responses to displayed content.
3. The computerized method of claim 1 , further comprising: modifying the scheduling criteria for the content is modified based on the current behavior of the user.
4. The computerized method of claim 1, wherein displaying the appropriate content comprises obtaining the content from a content provider specified in the content schedule.
5. The computerized method of claim 4, further comprising: creating the content schedule for the user by selecting content based on a user profile.
6. The computerized method of claim 5, wherein the user profile comprises user characteristics and historical viewing activity.
7. The computerized method of claim 6, further comprising: updating the user profile based on the user's current behavior.
8. The computerized method of claim 5, wherein creating the content schedule comprises: comparing the user profile with content preferences specified by a provider of the content; and selecting the content if the user profile matches the content preferences.
9. The computerized method of claim 8, wherein the scheduled criteria is derived from the content preferences.
10. The computerized method of claim 8, wherein creating the content schedule further comprises: modifying the content schedule based on the current behavior of the user.
11. A system for displaying selected content to a user comprising: a server system operable for connecting to a network, for storing a user profile and a content schedule for the user; and a client system operable for connecting to the network, for obtaining the content schedule from the server computer, and for determining content from the content schedule to display.
12. The system of claim 11, wherein the server system is further operable for transferring the content schedule to the client system in response to a request from the client system.
13. The system of claim 11, wherein the server system is further operable for creating the user profile based on user information.
14. The system of claim 11 , wherein the server system is further operable for creating the content schedule based on the user profile.
15. The system of claim 14, wherein the server system creates the content schedule by comparing the user profile with preferences for display of the content.
16. The system of claim 11, wherein the client system determines the content to display by comparing scheduling criteria for the content against current behavior for a user of the client system.
17. The system of claim 11, wherein the client system obtains the content to display from a content distribution system.
18. The system of claim 17, wherein the content distribution system and the server system are separate systems controlled by different entities.
19. A computer-readable medium having stored thereon computer-executable modules to cause a server computer to select content for display on a client computer coupled to the server computer through a network, the computer- readable medium comprising: a content scheduling module that obtains a user profile for a user of the client computer and creates a content schedule from the user profile, the content schedule containing content selection criteria; and a schedule serving module that transfers the content schedule to the network to display content matching the selection criteria on the client computer.
20. The computer-readable medium of claim 19, further comprising: a logging module that creates the user profile.
21. The computer-readable medium of claim 19, further comprising: a scheduler module that receives the content schedule from the schedule serving module and determines content from the content schedule that is appropriate for display based on current behavior of the user of the client computer.
22. The computer-readable medium of claim 21 , wherein the scheduler module further obtains the appropriate content from the network.
23. The computer-readable medium of claim 21 , further comprising: a display module that receives the appropriate content from the scheduler module and displays the content to the user.
24. A server computer comprising: a processor coupled to a system bus and operable for coupling to a network; a memory coupled to the processor through the system bus; a computer-readable medium coupled to the process through the system bus; and a content selection process executed by the processor from the computer- readable medium, wherein the content selection process causes the processor to obtain a user profile, to create a content schedule from the user profile, and to transfer the content schedule to the network.
25. The server computer of claim 24, wherein the content selection process further causes the processor to create the user profile.
26. The server computer of claim 24, wherein the content selection process further causes the processor to a create an entry in the content schedule when the user profile meets pre-determined preferences for displaying associated content.
27. The server computer of claim 24, wherein the content selection process further causes the processor to receive data pertaining to the user from the network and to change the user profile based on the received data.
28. A client computer comprising: a processor coupled to a system bus and operable for coupling to a network; a memory coupled to the processor through the system bus; a computer-readable medium coupled to the process through the system bus; and a content scheduler process executed by the processor from the computer-readable medium, wherein the content scheduler process causes the processor to obtain a content schedule from the network and to determine appropriate content in the content schedule to display based on current behavior of a user of the client computer.
29. The client computer of claim 28, wherein the content scheduler process further causes the processor to obtain the appropriate content from the network.
30. The client computer of claim 28, wherein the content scheduler process further causes the processor to display the appropriate content.
31. The client computer of claim 28, wherein the content scheduler process further causes the processor to transmit data pertaining to the user to the network.
32. The client computer of claim 28, wherein the content scheduler process further causes the processor to modify the content schedule based on the current behavior of the user.
33. A method for determining a display of content at a digital processing system, the method comprising: distributing a software program for a first digital processing system that is used by a specific user, the software program operable for receiving a schedule of content that includes a plurality of references to content that are stored remotely from the first digital processing system at a content distribution system; and determining the plurality of references based on information about the specific user's use of the first digital processing system, wherein the information is not disclosed to controllers of the content.
34. The method of claim 33, wherein the information is not disclosed to an operator of the content distribution system.
35. The method of claim 34, wherein the content comprises advertisements and the controllers of the content comprise advertisers.
36. The method of claim 35, wherein the specific user's use comprises the specific user's patterns of browsing the World Wide Web.
37. The method of claim 36, wherein a second digital processing system distributes the software program to the first digital processing system.
38. The method of claim 36, wherein a second digital processing system determines the schedule and causes the schedule to be distributed to the first digital processing system.
39. The method of claim 38, wherein the software program retrieves the content from the content distribution system based on processing the schedule by the software program at the first digital processing system.
40. The method of claim 39, wherein the schedule comprising a specification of content distribution over a period of time of a plurality of content objects obtained from the controllers that are distinct and separate entities.
41. The method of claim 40, wherein said specification comprises an advertising campaign.
42. The method of claim 40, wherein at least some of the controllers are referred to in at least some of the content and wherein at least some of the controllers pay consideration for a right to display content on the first digital processing system.
43. The method of claim 42, wherein the specific user is a member of a content broker that operates the second digital processing system.
44. The method of claim 43, wherein the specific user is provided consideration by the content broker for use of the first digital processing system.
45. The method of claim 44, wherein the consideration comprises monetary legal tender.
46. The method of claim 44, where the consideration is based on an amount of time in which a membership controlled window is actively displayed on the first digital processing system.
47. The method of claim 43, wherein the first digital processing system, and the second digital processing system, and the content distribution system are separate and distinct systems.
48. The method of claim 47, wherein the first digital processing system, and the second digital processing system, and the content distribution system are operated by different entities.
49. The method of claim 47, wherein the first digital processing system and the second digital processing system are coupled through the Internet and the first digital processing system and the content distribution system are coupled through the Internet.
50. The method of claim 47, wherein the specific user is provided consideration by the content broker for use of the first digital processing system.
51. A computer-readable medium having stored thereon an user profile data structure comprising: an identifier field containing data representing an identifier for a user; a demographics field containing data representing demographic data for the user identified by the identifier field; a psychographic field containing data representing psychographic data for the user identified by the identifier field; and a history field containing data representing a history of viewing behavior for the user identified by the identifier field.
52. A computer-readable medium having stored thereon a content schedule data structure comprising: a user identifier field containing data representing an identifier for a user; and a content entry containing data pertaining to content selected for the user identified by the user identifier field.
53. The computer-readable medium of claim 52, wherein the content entry comprises: a content identifier field containing data representing an identifier for the content selected for the user identified by the identifier field; an address field containing data representing a network address for a provider of the content identified by the content identifier field; and a scheduling criteria field containing data representing scheduling criteria for displaying the content identified by the content identifier field.
54. The computer-readable medium of claim 53, wherein the scheduling criteria field comprises: a priority field containing data representing a priority for displaying the content identified by the content identifier field; a rank field containing data representing a rank for displaying the content identified by the content identifier field; a type field containing data representing a type for the content identified by the content identifier field; an expiration field containing data representing an expiration date for the content identified by the content identifier field; and a personalized preferences field containing data representing preferences used to control the display of the content identified by the content identifier field.
55. The computer-readable medium of claim 54, wherein the personalized preferences field comprises: a trigger selection entry containing data representing a relationship between the content identified by the content identifier field and other content.
56. The computer-readable medium of claim 55, wherein the data in the trigger selection entry specifies an order in which the content identified by the content identifier field is displayed relative to the other content.
PCT/US2000/008027 1999-03-25 2000-03-24 Distributed control over personalized content delivery WO2000057335A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU40321/00A AU4032100A (en) 1999-03-25 2000-03-24 Distributed control over personalized content delivery

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US12608199P 1999-03-25 1999-03-25
US60/126,081 1999-03-25
US49369500A 2000-01-28 2000-01-28
US09/493,695 2000-01-28

Publications (2)

Publication Number Publication Date
WO2000057335A2 true WO2000057335A2 (en) 2000-09-28
WO2000057335A8 WO2000057335A8 (en) 2002-06-06

Family

ID=26824269

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/008027 WO2000057335A2 (en) 1999-03-25 2000-03-24 Distributed control over personalized content delivery

Country Status (2)

Country Link
AU (1) AU4032100A (en)
WO (1) WO2000057335A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004004282A2 (en) * 2002-06-27 2004-01-08 R.R. Donnelley & Sons Company Methods and apparatus for electronic distribution of customized content via a broadcast signal
EP1139635A3 (en) * 2000-03-30 2004-10-20 Sony Corporation Content providing devices, methods and systems, program storage media, and content reservation control methods
DE10336317A1 (en) * 2003-08-05 2005-03-10 Deutsche Telekom Ag Personalized search e.g. for contributions items, search is made on basis of retrieval query addressed to characteristic catalog taking place, of server by means of assigned comparator unit
WO2010027611A3 (en) * 2008-09-05 2010-05-20 Microsoft Corporation Content recommendations based on browsing information

Non-Patent Citations (1)

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

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1139635A3 (en) * 2000-03-30 2004-10-20 Sony Corporation Content providing devices, methods and systems, program storage media, and content reservation control methods
US6963898B2 (en) 2000-03-30 2005-11-08 Sony Corporation Content providing device and system having client storage areas and a time frame based providing schedule
US7383301B2 (en) 2000-03-30 2008-06-03 Sony Corporation Content providing device and system having a web data providing device to provide web data which represents a category demanded by a user
US7447737B2 (en) 2000-03-30 2008-11-04 Sony Corporation Content reservation control method having client storage areas and a time frame based providing schedule
US7461124B2 (en) 2000-03-30 2008-12-02 Sony Corporation Content providing method utilizing client storage areas to provide content over a network in accordance with a received schedule
US7487205B2 (en) 2000-03-30 2009-02-03 Sony Corporation Content providing method utilizing client storage areas to provide content over a network in accordance with a time frame
US7822807B2 (en) 2000-03-30 2010-10-26 Sony Corporation Content providing method utilizing client storage areas to provide content over a network
WO2004004282A2 (en) * 2002-06-27 2004-01-08 R.R. Donnelley & Sons Company Methods and apparatus for electronic distribution of customized content via a broadcast signal
WO2004004282A3 (en) * 2002-06-27 2004-04-15 Donnelley & Sons Co Methods and apparatus for electronic distribution of customized content via a broadcast signal
DE10336317A1 (en) * 2003-08-05 2005-03-10 Deutsche Telekom Ag Personalized search e.g. for contributions items, search is made on basis of retrieval query addressed to characteristic catalog taking place, of server by means of assigned comparator unit
WO2010027611A3 (en) * 2008-09-05 2010-05-20 Microsoft Corporation Content recommendations based on browsing information
US9202221B2 (en) 2008-09-05 2015-12-01 Microsoft Technology Licensing, Llc Content recommendations based on browsing information

Also Published As

Publication number Publication date
WO2000057335A8 (en) 2002-06-06
AU4032100A (en) 2000-10-09

Similar Documents

Publication Publication Date Title
US6539429B2 (en) Method and apparatus for transmitting and displaying information between a remote network and a local computer
US7475404B2 (en) System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
CA2307051C (en) Method and apparatus to determine user identity and limit access to a communications network
US7962604B1 (en) Displaying advertisements in a computer network environment
US20070198346A1 (en) Hybrid Network Based Advertising System and Method
US7650423B2 (en) System and method for providing update information
US7051351B2 (en) System and method of inserting advertisements into an information retrieval system display
US20030163372A1 (en) Delivering content and advertisement
US20080109300A1 (en) System and Method for Managing the Distribution of Advertisements for Video Content
US20080098420A1 (en) Distribution and display of advertising for devices in a network
US20090029721A1 (en) Method And System For Delivering Customized Advertisements To Mobile Devices
US20020133398A1 (en) System and method for delivering media
US20070061282A1 (en) Data network information distribution
US20110040617A1 (en) Management of publisher yield
CA2435495A1 (en) Method and system for scheduling online targeted content delivery
US20020046083A1 (en) After-sales customization specified by retailer acts as incentive
EP2366167A2 (en) Mobile ad optimization architecture
JP2002528819A (en) Automatic aggregation device and method, device and method for delivering electronic personal information or data, and transaction involving electronic personal information or data
US20070226146A1 (en) System and method for maintaining a history of transferable and updatable media
US20070078711A1 (en) Prioritization of advertisements for delivery over a network based on predicted inventories
JP2002269151A (en) System and method for displaying event-related information
US20200159962A1 (en) Untrackable Personalization Based on Previously Downloaded Content
US20140019258A1 (en) Advertisement delivery
US20030046376A1 (en) System and method of automatic advertisement transaction
WO2000057335A2 (en) Distributed control over personalized content delivery

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 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 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 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)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY 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 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 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