WO2001095140A2 - A system and related methods for dynamically selecting publication content - Google Patents

A system and related methods for dynamically selecting publication content Download PDF

Info

Publication number
WO2001095140A2
WO2001095140A2 PCT/US2001/018695 US0118695W WO0195140A2 WO 2001095140 A2 WO2001095140 A2 WO 2001095140A2 US 0118695 W US0118695 W US 0118695W WO 0195140 A2 WO0195140 A2 WO 0195140A2
Authority
WO
WIPO (PCT)
Prior art keywords
content
publication
document
user
block
Prior art date
Application number
PCT/US2001/018695
Other languages
French (fr)
Other versions
WO2001095140A3 (en
Inventor
Kenneth H. Bronstein
Original Assignee
Hewlett-Packard Company
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 Hewlett-Packard Company filed Critical Hewlett-Packard Company
Priority to DE10196300T priority Critical patent/DE10196300T1/en
Priority to MXPA02012137A priority patent/MXPA02012137A/en
Priority to JP2002502624A priority patent/JP2004511836A/en
Priority to CA002412467A priority patent/CA2412467A1/en
Priority to AU2001266818A priority patent/AU2001266818A1/en
Priority to BR0111638-0A priority patent/BR0111638A/en
Publication of WO2001095140A2 publication Critical patent/WO2001095140A2/en
Publication of WO2001095140A3 publication Critical patent/WO2001095140A3/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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Definitions

  • This invention generally relates to the printing field and, more particularly, to a multi-sourced extensible publishing and editorial system and related methods.
  • a system and related methods for dynamically selecting publication content is presented.
  • a method is presented, comprising receiving a plurality of content objects, determining that one or more of the articles address similar material, and automatically editing a publication to include one or more of the content objects including the ones covering similar material in accordance with an editor profile.
  • Fig. 1 shows a block diagram of a document delivery system of one embodiment of the invention
  • Figs. 2-4 illustrate flowcharts detailing the operation of the transmission module and the printing module of the document delivery system of one embodiment of the invention
  • Fig. 5 illustrates how user profile information is acquired from a user in one embodiment of the invention
  • Fig. 6 shows how user profile information is acquired from a user in one embodiment of the invention
  • Fig. 7 shows a print schedule for the delivery of documents in one embodiment of the invention
  • Fig. 8 shows how the print schedule of Fig. 7 can be modified by the user
  • Figs. 9A-9B shows a document printed by the printing device according to one embodiment of the invention.
  • Fig. 10 shows a document printed by the printing device according to one embodiment of the invention
  • Figs. 11A-11D show a document printed by the printing device according to one embodiment of the invention
  • Fig. 12 shows a document printed by the printing device according to one embodiment of the invention
  • Fig. 13 illustrates a block diagram of an example edit module incorporating the teachings of the present invention
  • Fig. 14 illustrates a block diagram of an example knowledge module including user profile information and content provider information
  • Fig. 15 is a block diagram of an example virtual sensor, according to one embodiment of the present invention
  • Figs. 16A, 16B and 16C graphically illustrate data structures for maintaining user profile information, content provider information, and publication profile information, respectively;
  • Fig. 17 illustrates a flow chart of an example method generating a custom document, according to one aspect of the present invention
  • Fig. 18 illustrates a flow chart of an example method of operation for a client component of the document delivery system, according to one aspect of the present invention
  • Fig. 19 illustrates a flow chart of an example method for laying out a custom document of otherwise disparate content objects, according to one aspect of the present invention
  • Fig. 20 illustrates a flow chart of an example method for scheduling delivery of custom document(s), according to one aspect of the present invention
  • Fig. 21 illustrates a flow chart of an example method for tracking the distribution of content objects and accounting to content providers, in accordance with one aspect of the present invention
  • Fig. 22 illustrates a flow chart of an example method for producing a publication using a publication profile, in accordance with one aspect of the invention
  • Fig.23 graphically represents an example graphical user interface (UI) enabling a producer to register and generate a publication profile, in accordance with one aspect of the present invention
  • Fig. 24 graphically illustrates an example document comprised of content objects encapsulated in wrappers by the innovative virtual editor, according to one aspect of the present invention
  • Fig. 25 illustrates a flow chart of an example method for identifying and reducing occurrences of duplicate/similar content objects prior to publication, in accordance with one aspect of the present invention.
  • Figs. 26 through 30 graphically illustrate an example matrix of content objects through several iterations of the method of Fig. 25 to reduce the occurrence of duplicate/similar content objects prior to publication, in accordance with the teachings of the present invention.
  • Fig. 1 illustrates a block diagram of an innovative document delivery system, according to one embodiment of the invention.
  • Document delivery system 10 contains document server 100.
  • document server 100 is operatively coupled via network 200 to a variety of personal computers, printing devices, and other electronic devices, collectively referred to devices 300.
  • document server 100 contains edit module 120 with innovative publishing tools 512, transmission module 150 and knowledge module 170 to dynamically generate personalized publications from otherwise disparate content objects in accordance with a publication profile created by producers of the publications utilizing the innovative publishing tools.
  • content providers 50 are intended to include all providers of publication content non-inclusive of advertising, while advertising providers 80 provide advertising material.
  • Edit module 120 receives content object input from one or more content providers 50, and/or one or more advertising providers 80 to generate personalized documents based, at least in part, on a number of key criteria including, for example, user interests, seasonality, content provider and advertising provider distribution criteria, and the like.
  • edit module 120 includes an innovative set of publishing tools (512) to facilitate generation/maintenance of a publication profile (640), from which edit module 120 acquires content objects to generate publications in accordance with the publication profile.
  • Distribution module 400 is operatively coupled to document server 100 and, as will be discussed, optionally distributes product and/or product subsidies to users based, at least in part, on the source and quantity of content provided to the users.
  • document server 100 is a minicomputer/server, such as an HP 9000 server sold by the Hewlett-Packard Company, although those skilled in the art will appreciate that document server 100 could be any type of other computing or electronic device(s) that performs the functions described herein and still fall within the spirit and scope of the invention.
  • Network 200 is preferably the Internet, although an Intranet, local area network, or other type of public or private network, either wired (e.g., telephone, cable TV, etc.) or wireless (e.g., satellite, radio, cell phone, etc.), could also or additionally be used.
  • wired e.g., telephone, cable TV, etc.
  • wireless e.g., satellite, radio, cell phone, etc.
  • Devices 300 are shown in Fig. 1 as being capable of being configured in a wide variety of ways.
  • personal computer 310 is shown connected to printing device 320, which prints document 10320 for user 20320.
  • personal computer 310 is operatively coupled to network 200.
  • printing device 330 which prints document 10330 for user 20330, is operatively coupled to network 200 without an intervening personal computer or other electronic device.
  • Printing device 350 which prints document 10350 for user 20350, is shown connected to electronic device 340, which could be a set top box, television set, palmtop personal digital assistant (PDA) or other type of electronic device that is operatively coupled to network 200.
  • PDA personal digital assistant
  • printing device 370 which prints document 10370 for user 20370, is connected to electronic device 360, which is operatively connected to network 200.
  • the printing devices shown in Fig. 1 could be printers, such as the HP DeskJet 890 printer, HP LaserJet V printer, or other models of printers manufactured by HP or others; so-called “mopiers” or other multi-function printing devices that can print, fax, scan, and/or copy, or any other device capable of transferring information to a printable media such as plain paper, specialty paper, transparencies, or other media capable of tangibly receiving such information and which can be easily carried about by the user.
  • Transmission module 150 is preferably located with document server 100. As Fig.
  • printing module 380 could be located in any of the devices 300, such as in personal computer 310, printing device 330, or electronic device 340, operatively coupled via network 200 to document server 100, or it could be located within document server 100 itself, such as in knowledge module 170.
  • transmission module 150 and printing module 380 represent software functions that execute on suitably programmed microprocessor(s) within a device 300 and/or document server 100. It will be appreciated, however, that special purpose hardware or other mechanisms could be employed to implement the innovative features and functions described below.
  • Fig. 13 illustrates a block diagram of edit module 120 incorporating the teachings of the present invention.
  • edit module 120 comprises one or more controller(s) 502, an innovative publishing agent 504, an innovative virtual editor 506, memory space 508 and one or more input/output (I/O) interface(s) 510, each coupled as depicted.
  • edit module 120 may well contain one or more application(s) 512 executable by controller(s) 502.
  • application(s) 512 executable by controller(s) 502.
  • edit module 120 includes an innovative set of publishing tools 512 that enable a producer (e.g., a registered user) to establish a publication profile that is used by edit module 120 to automatically create a publication.
  • controller(s) 502 selectively invoke one or more of the virtual editor 506 to generate a custom document for a requesting and/or subscribing user, or publishing agent 504 to complete the layout and optimize the delivery schedule of such custom documents.
  • Controller(s) 502 may initiate construction and/or delivery of a custom document in response to user interaction with a user interface (e.g., a web page), or to accommodate a user-selected delivery schedule.
  • controller 502 communicates with external applications (e.g., web page) or other elements (e.g., a user profile) via input/output (I/O) interface(s) 510.
  • external applications e.g., web page
  • other elements e.g., a user profile
  • controller 502 provides a user with a user interface with which to request/build a custom document using one or more of applications 512.
  • controller(s) 502 are intended to represent any of a broad range of control devices known in the art including, but not limited to, a programmable logic array (PLA), microprocessor, special purpose controller, application specific integrated circuit (ASIC), and the like.
  • controller(s) 502 are embodied as a series of executable instructions which, when executed, implement the control logic described herein.
  • Memory device 508 and I/O interface(s) 510 are each intended to represent such devices commonly known in the art.
  • I/O interface(s) 510 are intended to include one or more of any of a number of communication interfaces known in the art including, but not limited to, a direct connect communication interface (e.g., a serial interface, a parallel interface, a Universal Serial Bus (USB), an Advanced Graphic Port (AGP), etc.), a local area network interface (e.g., an Ethernet interface, a Token Ring interface, etc.), or a wide area network interface.
  • edit module 120 may communicate with any of a number of external and remote devices using an appropriate one of a plurality of wired and/or wireless I/O interfaces 510.
  • virtual editor 506 personalizes publications for a unique, composite publication based on a number of factors.
  • virtual editor 506 includes a content manager 518 and a construction agent 520.
  • the content manager 518 includes an analysis/wrapper agent 522, a contract administrator function 524 and a transaction agent 526.
  • editor module 120 receives content from one or more content providers, content manager 518 is selectively invoked by controller(s) 502.
  • the analysis/wrapper agent 522 analyzes the received content and categorizes it based on any one or more of a number of attributes including, source, subject matter, length, cost, etc.
  • analysis/wrapper agent 522 encapsulates the content object in a wrapper with a unique identifier. It will be appreciated, based on the description to follow, that the encapsulating wrapper enables virtual sensors (not shown) in the document distribution system to accurately track distribution, receipt and disposition of content objects. According to one embodiment, virtual sensors are embedded within printing modules 380 to track distribution, receipt and disposition of encapsulated content objects.
  • analysis/wrapper agent 522 is selectively invoked to identify and reduce occurrences of duplicate and/or similar content objects from consideration for the publication. It will be appreciated that when retrieving (fetching) content objects associated with particular areas of interest, virtual editor 506 is bound to receive overlapping and/or duplicate content. Rather than simply publish the overlapping and/or duplicate content, analysis/wrapper agent 522 can be invoked to reduce and/or eliminate overlapping/duplicate content in accordance with user preferences (expressed in a user profile, publication profile, etc.).
  • analysis/wrapper agent 522 receives content objects into a dynamically created matrix, wherein the size of the matrix is defined by the number of providers (columns) and content objects received (rows).
  • each section when receiving an electronic publication comprised of sections, each section is assigned a column wherein the rows are populated by content objects comprising the section.
  • a two-dimensional matrix is created.
  • the columns and rows are assigned a priority value based, at least in part, on the content provider and/or section of the publication from which the content was received.
  • Content provider and/or section preferences are provided in one or more of a user profile, publication profile, and the like.
  • analysis/wrapper agent 522 performs a matrix sort for uniqueness of articles. As will be described in greater detail below, with reference to Figs. 25-30, analysis/wrapper agent 522 analyzes content objects from higher precedence to lower precedence to identify redundant or similar objects within and among columns of the matrix. If duplicate or similar content objects are identified, based on the location of the redundant/similar content objects, analysis/wrapper agent 522 determines whether the profile preferences (e.g., user profile, publication profile, etc.) permit the use of lower priority occurrences of the content object. If not, the content object is removed and the analysis continues.
  • profile preferences e.g., user profile, publication profile, etc.
  • analysis/wrapper agent 522 denotes the redundancy, as layout manager 516 (described below) formats the lower priority content object occurrence in accordance with user and/or publication profile preferences.
  • layout manager 516 (described below) formats the lower priority content object occurrence in accordance with user and/or publication profile preferences.
  • the contract administrator 524 is a database driven component that manages all of the contractual obligations of the users (subscribers, content providers, etc.) of the document delivery system.
  • contract administrator 524 maintains royalty calculation and display agreements for select content providers (e.g., artists), the advertising rates for other content providers (e.g., advertisers), subscription information for select users, and the like.
  • contract administrator 524 accesses one or more content provider databases to identify content object distribution, to compute royalty payments, advertising bills and subscription bills for distribution to appropriate users via the transaction agent 526. In this regard, contract administrator 524 ensures that contractual obligations of the document delivery system are adhered to.
  • Transaction agent 526 is the primary interface between the document delivery system and a public/private e-commerce financial system (e.g., the CheckFreeTM financial network offered by CheckFree Corporation). As introduced above, the transaction agent 526 is responsible for executing payments and account credit/debit transactions with user accounts based, at least in part, on the distribution of content objects in accordance with the terms and conditions maintained in contract administrator 524. It should be noted that although depicted as an element of edit module 120, those skilled in the art will appreciate that content manager 518 may well be deployed as an separate and independent functional entity without deviating from the spirit and scope of the present invention.
  • the construction agent 520 of virtual editor 506 extracts content objects to generate a custom document according to one or more key contributors.
  • the key contributors include one or more of a requesting/subscribing user's interests, demographics, seasonality, document server requirements, and content provider usage criteria, and the like.
  • construction agent 520 extracts content objects which are likely to be of interest to a particular user and generates a personalized publication for that user.
  • the construction agent 520 utilizes information received via overt and covert processes of document delivery system 10 to log a user's interaction and disposition of received material, as well as soliciting feedback from the user, to improve the user's satisfaction with subsequent personalized publications.
  • construction agent 520 Information gathered as a result of these overt/covert processes are used by construction agent 520 to update a user profile associated with the user, which is accessed when generating a personalized publication.
  • construction agent 520 performs functions commonly associated with a physical editor of, say, a magazine: publication content decisions, layout and format decisions, advertising and the like, yet it factors in other key information such as personal preferences to generate personalized publications for up to millions of individuals.
  • publishing agent 504 is presented comprising schedule manager 514 and layout manager 516.
  • layout manager 516 receives the content objects from construction manager 506 and finalizes at least a partial layout of the personalized publication.
  • layout manager 516 performs the partial layout of the content objects in accordance with user format preferences, i.e., as denoted in a user and/or publication profile.
  • layout manager 516 maintains a record of the time required to complete at least a partial layout of the publication in order to determine the complexity of the personalized publication.
  • schedule manager 514 utilizes information from a number of available sources to schedule delivery of the publication. More particularly, schedule manager 514 utilizes information from the user's personal profile, a complexity measure from layout manager 516, and an indication from printing devices associated with the user confirming that an adequate amount and type of media is available for printing the publication. Based, at least in part, on such information, schedule manager 514 works to establish an optimum publication schedule for one or more personalized publications.
  • edit module 120 includes an innovative publishing tool set 512 from which a producer can register to publish publications utilizing the innovative features of document server 100.
  • publishing tool set 512 includes a user interface (UI) which, when invoked, enables a user to create and/or update a publication profile.
  • UI user interface
  • the publication profile includes information regarding one or more of the publication title, producer contact information, the topic or genre of the publication, the scope of the publication, the content providers and/or advertising providers to use, publication layout information, a publication schedule, and the like.
  • the publication profile created/updated by the publishing tool set 512 is maintained in knowledge module 170.
  • publishing tool set 512 may also include other advanced publishing tools that, for example, aid the producer in selecting an appropriate publication layout, provide readership demographic information for targeted advertising, and the like.
  • publishing agent 504 and or edit module 506 establish publication schedules based, at least in part, on the information maintained in the publication profile to automatically schedule generation and publication of publications without further invocation/input from the producer.
  • the producer merely establishes a publication profile from which document server 100 automatically gathers appropriate content to generate a publication on a schedule dictated by the publication profile.
  • Fig. 14 illustrates an example knowledge module 170, according to one embodiment of the present invention.
  • knowledge module 170 comprises user profile information 602, content provider information 620, contract administrator information 630, publication profile information 640 and optionally printing module 380 and printing schedule 390.
  • document delivery system 10 in general, and edit module 120 in particular, continuously acquires or solicits information from users requesting personalized publications from the document delivery system, in order to better anticipate the informational and advertising needs of the user.
  • any of a number of personal information attributes are maintained in user profile information database 602.
  • Content provider information 620 includes information received from virtual sensors, distributed throughout the document delivery system, regarding content object distribution, receipt and user disposition.
  • Contract administrator information 630 includes information regarding the terms of use, usage/layout requirements, fee structures/schedules and the like for each of the content providers that provide content objects to document delivery system 10.
  • the publication profile information 640 includes information provided by a publisher from which a document server (e.g., 100) automatically generates and distributes publications.
  • a document server e.g., 100
  • knowledge module 170 may well be utilized by other document servers (not shown) in document delivery system 10, or may well be integrated in another and/or standalone element of document delivery system 10 without deviating from the scope or spirit of the present invention.
  • Fig. 15 illustrates a block diagram of an example virtual sensor, according to one implementation of the present invention.
  • one or more virtual sensors 35000 are selectively distributed throughout document delivery system 10 to monitor and report on the distribution, receipt and user disposition of content objects.
  • virtual sensor(s) 35000 are incorporated into printing module 380 throughout document delivery system 10.
  • virtual sensor 35000 is shown comprising a monitoring agent 35002 and a reporting agent 35004, communicatively coupled as depicted.
  • monitoring agent 35002 receives network traffic and analyzes the traffic for distribution of content objects which are traceable back to a particular edit module (e.g., 120) and/or document delivery server (e.g., 100). According to one example implementation, monitoring agent 35002 analyzes the received network traffic for content objects wrapped in trace wrappers (to be described more fully below).
  • the trace wrapper information uniquely identifies the content object and, optionally, the edit module or document delivery server responsible for the distribution of the content object.
  • Reporting agent 35004 is invoked to compile and issue a report to one or more document delivery server(s) 100 identifying document distribution, receipt and user disposition of received content objects.
  • content provider information database 620 is used by document delivery system to maintain a history of content object distribution, receipt and disposition.
  • contract administrator 524 utilizes information maintained in content provider information database 620 to periodically calculate royalty payments, advertising bills, and subscription bills.
  • Example user profile information and content provider information data structures are illustrated with reference to Figs. 16A and 16B.
  • Fig. 16A graphically illustrates an example user profile data structure 602, suitable for use by the innovative document delivery system.
  • user profile information data structure 602 includes a user_name field 604, a user_id field 606. a contact information field 608, an interest information field 610, a subscription information field 612 (e.g., of primary sources), a disposition information field 614, and a conflict resolution rules field 616.
  • some of the information maintained in user profile data structure 602 is overtly obtained, e.g., by asking the user for such information during a registration period.
  • user profile data structure 602 is a continuously evolving, continuously improving, set of information reflecting the current interests of the users of the document delivery system.
  • user profile 602 includes an identifier of primary sources (612) and conflict resolution rule(s) (616), which enable analysis/wrapper agent 522 to identify and reduce multiple occurrences of overlapping and/or duplicate content from the publication.
  • the primary sources and/or conflict resolution rules are overtly defined via a user interface (see, e.g., Fig. 23), while other implementations may automatically generate such preferences in light of user disposition monitoring.
  • Fig. 16B illustrates an example data structure comprising content provider information, according to one embodiment of the present invention.
  • content provider information data structure 620 includes a content provider name field 622, a content provider ID field 624, a wrapper ID field 626 for each of the content objects provided by the content provider, a rate schedule field 628, a monthly usage field 630 and feedback information field 630.
  • Fig. 16C graphically illustrates an example data structure comprising publication profile information, according to an example embodiment of the present invention.
  • publication profile 640 includes a publication name field 642, a producer identifier field 644, producer(s) contact information field 646, an interest (topic, genre, etc.) information field 648, primary source (content provider 50) information field 650, an advertising (content provider 80) information field 652, and a delivery schedule field 654.
  • the information populating user preference profile(s) e.g., publication profile, user profile, etc.
  • FIGs. 2-4 flowcharts detailing the operation of transmission module 150 and a first mode of operation of printing module 380 are presented, according to one embodiment of the invention.
  • the flow diagram shown in the left column is executed by transmission module 150 of document server 100
  • the flow diagram in the right column is executed by printing module 380.
  • the flow diagram for transmission module 150 starts in block 1000
  • the flow diagram for printing module 380 starts in block 2000. Since there is a great deal of interaction between these two flow diagrams, as represented by dashed lines connecting the two columns, the operation of the two flow diagrams will be described simultaneously.
  • user profile data is sent to document server 100 to be stored in the user profile.
  • This user profile data can take on many different forms, from simple to very detailed.
  • Fig. 5 shows a very simply acquisition of user profile data, such as that used in HP's Instant Delivery Program, the first version of which was generally available to the public less than one year from the filing date of this patent application. In this program, only three pieces of information are stored in the user profile: type of printer, email address, and whether HP can contact the user.
  • Fig. 6 shows a more complicated user profile than that currently used in HP's Instant
  • Block 1100 receives the user profile data sent by block 2100.
  • Block 1200 stores the user profile data, preferably in knowledge module 170. Alternately, the user profile data could be stored in device 300 or in some other local or remote location.
  • Block 2200 checks to see whether a document should be received form document server 100. This is done by checking print schedule 390 which is preferably stored on a device 300 or document server 100, but may be stored in some other local or remote location.
  • Printing schedule 930 preferably contains information that can be used to determine when documents should be printed by the printing device, such as upon document creation, user requested time, lapse of specified time period, and/or occurrence of one or more external events (e.g., a stock price or index reaching a specified value, a final score of a sporting event, etc.).
  • Printing schedule 390 may be associated with an individual user, a device or a group or users and/or devices. In addition, each entry of printing schedule 390 could result in the printing of one or more documents.
  • Fig. 7 shows one example of printing schedule 390, of the type that might be used in an enhanced version of HP's Instant Delivery program.
  • the title of delivery, delivery schedule, next delivery data and time, and the last deliver status are shown.
  • the user can select what time a document should be printed, whether it should be printed on a specific day of the week or month, weekdays, or weekends, and whether the printing schedule should expire after a specific period of time or continue indefinitely.
  • printing module 380 monitors printing schedule 390 to see if a document should be requested from document server 100 or from another source.
  • block 2200 determines that a document should be requested from document server 100 or from another source
  • block 2200 is answered affirmatively, and block 2300 automatically requests the document without user intervention from server 100 or from another source, as will be described in greater detail below.
  • printing module 380 is located on device 300
  • block 2200 operates in a "pull" mode - where the document is "pulled" from document server 100 or another source to device 300.
  • block 2200 operates in a "push" mode - where the document is "pushed" from document server 100 or another source to device 300. If block 2300 determines that the document is located on document server 100 or at another source accessible via network 200, and if device 300 is currently in a disconnected state where it is not operatively coupled to the network 200, block 2300 will sign on to or otherwise enter a connected state with network 200, so that device 300 is operatively coupled to network 200.
  • block 1300 checks to see if a document has been requested from printing module 380 in block 2300. Once it determines that such a document has been requested, block 1400 generates the document for printing module 380. Block 1500 then sends the document to printing module 380. Block 2400 checks to see whether a document has been received from document server 100 via block 1500. Once such a document has been received, block 2500 automatically prints the document, without user intervention, on a printing device.
  • the term "without user intervention" means that a user is not directly involved in the printing operation; the document is sent automatically to a device 300 to be printed out by a printing device.
  • the user does not press "any" print buttons or otherwise be directly involved in the printing process; in fact, the user may not even be present in the same room, city, state, or country as device 300 during the printing operation.
  • the printing operation automatically occurs in an unattended state - regardless of whether the user is present or not.
  • print schedule 390 is stored in a device-independent manner, such as on document server 100, a travelling user could "log in” to document server 100 and have his or her customized document sent to a device 300 that is convenient to the user's current location.
  • block 2600 checks to see whether the document printed successfully. If not, block 2800 performs error handling, such as attempting to print the document again, notifying the user that the printing device is out of paper or has some other error condition, or simply deciding not to print the document. When the document prints successfully, block 2900 informs document server 100 that the document printed successfully. Block 1600 waits for an indication from printing module 380 that the document did print successfully. When such an indication is received, block 1700 updates the user profile with this information.
  • error handling such as attempting to print the document again, notifying the user that the printing device is out of paper or has some other error condition, or simply deciding not to print the document.
  • block 2900 informs document server 100 that the document printed successfully.
  • Block 1600 waits for an indication from printing module 380 that the document did print successfully. When such an indication is received, block 1700 updates the user profile with this information.
  • Block 1800 examines the user profile preferably stored in knowledge module 170 to determine whether a product subsidy should be provide to the user. For example, if the information in the user profile indicates that this user has printed off his 1000 document, such as a "preferred" document that contains advertising from advertising providers 80 or is otherwise under the control of edit module 120, providing a product subsidy to the user may be warranted.
  • a "product subsidy" could be a print consumable or other product.
  • a “print consumable” is an inkjet cartridge for an inkjet printer, ink for such an inkjet cartridge, a toner cartridge for a laser printer, toner for such a toner cartridge, or any other product or substance that is depleted when a document gets printed, including printer ribbons, etc.
  • the "ink” referred to above would typically be of a permanent variety, but erasable ink, such as that sold by the Eink Company, could also be used.
  • the product subsidy referred to herein is preferably funded at least in part by advertising revenue received from advertising providers 80 (Fig. 1), but an embodiment has been contemplated where the product subsidy is funded at least in part from the distribution revenue received from content providers 50 (Fig. 1).
  • information (such as statistical information) about what was printed by whom is preferably provided to content providers 50 and/or advertising providers 80 - preferably as a document that is automatically sent to one or more printing devices according to the teachings of this invention.
  • printable media such as plain paper, specialty paper, transparencies, and the like
  • devices 300 such as printing devices, electronic devices, and personal computers.
  • other products such as a subscription price to a document, or even a product not directly related to the document delivery system shown herein, such as soap or dog food, are subsidized.
  • block 1900 requests that distribution module 400 provides such a subsidy to the user.
  • distribution module 400 simply mails a product such as a print consumable or other product such as the type described above to a user at the address specified in the user profile.
  • distribution module 400 mails or electronically generates a coupon that the user can use to receive a free or discounted product of the type described above. Regardless of whether block 1800 is answered affirmatively or negatively, flow of control then returns back to block 1300 (Fig. 2) to see if another document has been requested from the printing module 380.
  • Block 4100 (Fig. 4), which checks with document server 100 to see what the current version of printing module 380 is.
  • Block 3100 checks to see whether such a request has been received, and when it is, block 3200 sends information concerning the current version of the printing module to printing module 380.
  • Block 4200 compares this information from document server 100 with its own version and determines whether an updated version of printing module is available. For example, if printing module 380 is running version 4.0, and document server 100 indicates that version 4.1 is the current version of printing module 380, block 4200 would determine that an updated version of printing module 380 is available, and flow control would move to block 4300.
  • Block 4300 checks to see whether this updated version of printing module 380 should be requested to be downloaded. While a user would typically be asked whether such a download should be requested or not, and would typically perform this download at a convenient time, such a step could also be performed automatically without user intervention. If such a download is requested, block 4400 is answered affirmatively, and block 3500 downloads the updated printing module, which is then installed in block 4500. Regardless of how blocks 4200 and 4300 are answered, flow of control moves to block 4600, which checks to see if a disconnected state should be entered. If block 2300 (Fig.
  • the title of document 11000 specifies a network address, such as an Internet uniform resource locator (URL) that contains the network location of a document to be printed.
  • URL Internet uniform resource locator
  • edit module 120 of document server 100 merely goes out to the Internet at the URL indicated (which would be shown in Fig. 1 as one of the content providers 50), and captures the indicated document, which is then transmitted to a printing device via transmission module 150 and printing module 380, as has been discussed.
  • device 300 could go directly out to the URL itself without assistance from document server 100; in this case, block 2300 (Fig. 2) requests document 11000 from another source - directly from the content provider 50 (at the indicated URL) via network 200.
  • document 12000 is not a document that originates with a content provider 50 via the Internet, but instead is stored directly on device 300, such as a printing device, personal computer, or other electronic device.
  • device 300 such as a printing device, personal computer, or other electronic device.
  • An example of such a document could be a daily calendar from a program such as Microsoft Outlook, which the user has requested be printed automatically to his printer, without any user intervention, at 7:00 a.m. every weekday morning.
  • printing module 380 does not need to request the document from document server 100, since it can access the documents without going through network 200.
  • block 2300 of Fig. 2 requests the document from another source - device 300.
  • block 2900 would still preferably indicate that the document was printed, and while block 1700 would still preferably update the user profile in knowledge module 170, printing such a document would preferably not generate any type of credit towards a product subsidy, since such a document would not be considered a "preferred" document, e.g., not a document under the control of edit module 120.
  • a print schedule of document 13000 is shown.
  • Document 13000 is referred to as a "personalized document”.
  • a “personalized document” is a document that is assembled by edit module 120 of document server 100 from a variety of content providers 50 and advertising providers 80, based on information contained in the user profile stored in knowledge module 170.
  • document 13000 is a "personalized document”.
  • Our user has requested that document 13000 - his personalized newspaper - be printed at 6:00 a.m. every day.
  • Edit module 120 examines the user's interests as specified in the user profile stored in knowledge module 170 to assemble the document from selected content providers 50 in which the user has indicated an interest.
  • Edit module 120 also inserts advertising from selected advertising providers 80 - again based on the user profile stored in knowledge module 170.
  • Fig. 8 shows how the print schedule 390 of Fig. 7 can be edited by the user.
  • the user can use the publisher's recommended schedule, use a default schedule the user has set, or use a custom schedule for delivery. If a custom schedule is selected, the user can select a daily, weekly, or monthly delivery, or select a delivery once every specified number of days, or specify every weekday. In addition, the time of day can also be specified: once at a designated time, multiple times during the day, or multiple times separated by a specified period of time. While not shown here, the user could also edit print schedule 390 to request that a document be sent upon creation, or upon the occurrence of an external event.
  • Figs. 9A-9B show document 11000 printed by the printing device according to one embodiment of the invention. Note that this document came from one content provider 50 via network 200 (either through document server 100 or directly), and contains no advertising. While document 11000 is preferably formatted by content provider 50 such that the information contained in the document is optimized to be printed, such formatting is not necessary.
  • Fig. 10 shows document 12000 printed by the printing device according to one embodiment of the invention. Note that this document is a user's daily calendar which came directly from device 300 and not from document server 100 via network 200.
  • Figs. 11A-D show document 1300 printed by the printing device according to one embodiment of the invention.
  • this document is a user's personalized newspaper which contains information in which the user has indicated a specific interest in, as stored in the user profile in knowledge module 170.
  • this document contains advertising that edit module 120 determined the user would also be interested in, again based on the information contained in the user profile stored in knowledge module 170.
  • the user may receive a product subsidy of a print consumable or other product(s).
  • Fig. 12 shows document 14000 printed by the printing device according to one embodiment of the present invention.
  • document 14000 is the HP Instant Delivery Times - a document located on document server 100. While this document does not contain advertising per se, it is still considered to be a "preferred document", since it is under the control of edit module 120.
  • Document 14000 informs users of Instant Delivery of new releases or new information about the Instant Delivery Program.
  • Figs. 17-21 provide additional operational information regarding select aspects of the present invention.
  • a flow chart illustrating an example method for generating a personalized document begins with block 1010, wherein edit module 120 receives content objects from content providers 50 and /or advertising providers 80, and selectively invokes an instance of content manager 518.
  • content manager 518 analyzes, classifies, wraps and stores each of the received content objects, block 1015. More specifically, as introduced above, content manager 518 invokes an instance of analysis/wrapper agent 522 to analyze and encapsulate the received content object in a trace wrapper having a unique identifier.
  • analysis agent 522 identifies meta data within the received content object to classify the content object.
  • analysis/wrapper agent 522 further analyzes the received content to identify and reduce occurrences of overlapping/duplicate content objects, in accordance with the conflict resolution rules of the user profile and/or publication profile (see, e.g., Figs. 25-30).
  • content manager 518 updates the content provider information data structure 620 associated with the provider of the content object to denote the wrapper identifier for the received content object.
  • edit module 120 identifies whether an indication for construction of a personalized document has been received. As introduced above, such an indication may be generated by a requesting user via a user interface (e.g., a web page), or in response to an indication received from, for example, print schedule 390. In either case, if an indication is received, edit module 120 invokes an instance of the innovative virtual editor 506 to generate a personalized publication for delivery to the identified user. In this regard, virtual editor 506 invokes an instance of construction agent 520, which obtains information from a user profile associated with the identified user to determine user interests, block 1410.
  • construction agent 520 obtains information from the user profile 602 to determine the medium of choice (e.g., send the publication electronically via email, send via fax, send to a local printer of the user, etc.), interests, preferences and/or a history of received information.
  • medium of choice e.g., send the publication electronically via email, send via fax, send to a local printer of the user, etc.
  • construction agent 520 determines whether the publication request is unique to an individual user, or whether the information has already been retrieved for another user. If content objects identified for publication have already been retrieved to satisfy another user request, construction agent 520 access local memory 508 to quickly retrieve the identified content objects, block 1425. Otherwise, in block 1430, construction agent 520 extracts the appropriate ones of the categorized content objects with which to generate a personalized publication.
  • construction agent 520 generates an initial layout of the personalized document using the extracted information.
  • construction agent 520 identifies additional content objects based, at least in part, on the already extracted content objects and other key contributor criteria (e.g., seasonality, locality, etc.) introduced above.
  • construction agent 520 may also leave room in the layout for inclusion of content by a local content provider (e.g., an ISP), through which the personalized publication will be transmitted en route to the identified user.
  • a local content provider e.g., an ISP
  • the construction agent 520 further optimizes document layout, updating the content provider information database 620 with an indication of which content objects have been utilized in construction of the personalized document.
  • the personalized document created by construction agent 520 of virtual editor 506 is then sent to publishing agent 504, block 1445.
  • layout manager 516 of publishing agent finalizes the layout and content (except for last minute, time sensitive content objects), while scheduling manager 514 optimally schedules delivery of the publication to include such last minute, time sensitive content objects.
  • Publishing agent 504 then issues the personalized document for delivery to the user via transmission module 150 and a printing module 380 associated with the user. Turning to Fig.
  • printing module 380 includes a virtual sensor (not shown) which detects and identifies trace wrappers for content objects comprising received personalized publications, providing document server 100 with confirmation of receipt of the content objects.
  • the method begins with block 2695, wherein printing module 380 informs the publication server that the publication was successfully printed.
  • printing module 380 informs the publication server that the publication was successfully printed.
  • the document server 100 is informed that the publication was successfully printed.
  • content manager 518 updates the usage fields of the content objects comprising the received personalized document, for accurate accounting to content providers 50 and advertising providers 80.
  • printing module 380 covertly monitors user interaction with the received publication.
  • this covert monitoring (via sensors 35000, client application(s), etc.) records one or more of the distribution of content objects to a user, user receipt of content objects, whether the object(s) were printed or viewed on a display terminal, the duration viewed (if by terminal), whether any editing of the content object(s) occurred, and any other user interaction with the content object(s).
  • printing module 380 overtly queries the user for feedback on the received publication in general, and on one or more of the content objects in particular, block 2910.
  • printing module determines whether the user has provided feedback.
  • printing module 380 weighs user satisfaction based, at least in part, on observed user interaction with the received publication and any received feedback from the user.
  • printing module 380 notes any further distribution of the content objects comprising the personalized publication, and provides such information to edit module 120 to update user profile and content provider information data structures 602 and 620, respectively.
  • publishing agent 504 invokes an instance of layout manager 516 and an internal clock (not shown) is engaged to monitor the compilation time associated with at least the partial layout of the publication.
  • an internal clock (not shown) is engaged to monitor the compilation time associated with at least the partial layout of the publication.
  • more complex measures are developed and maintained such as, for example, compilation time at a particular time of day, day of the week, etc. By maintaining this measure of compilation time, however complex or rudimentary, enables publishing agent 504 to improve publication and delivery scheduling.
  • layout manager 516 determines whether the publication contains any time sensitive material. If so, a further determination is made of whether the delivery schedule must include time to obtain information (content objects) immediately prior to delivery of the publication, block 1451. If the publication does not contain time sensitive information (1449), or the delivery schedule does not require obtaining information immediately prior to delivery (1451), layout manager 516 receives the content objects from the virtual editor 506 to finalize the layout of the publication, block 1453. In block 1455, layout manager analyzes the content objects in light of the key contributor information and generates a final layout of the document.
  • layout manager 516 receives the content objects from the virtual editor and performs a partial final layout of the publication, leaving layout completion to the schedule manager 514 once the last minute content objects have been retrieved, block 1454.
  • layout manager 516 disengages the internal clock, calculates the compilation time and updates a measure of compilation time.
  • layout manager 516 generates a measure of publication complexity and maintains a measure of estimated compilation time for varying degrees of publication complexity. The estimated compilation time may then be used to optimally schedule publication layout jobs based, at least in part, on the complexity of the jobs.
  • a layout manager 516 determines whether the publication is a unique document intended for one user, or whether it is to be "broadcast" to multiple recipients. If it is destined for a single user, layout manager forwards it to schedule manager 514. If, it is to be broadcast to multiple recipients, layout manager 516 first tabulates publication quantities in block 1461 before sending the publication to schedule manager 514, block 1460.
  • Fig. 20 provides a flow chart of an example method for optimally scheduling publication, according to one aspect of the present invention. As shown, the process begins with block 1465, wherein schedule manager 514 receives a publication from layout manager 516 and performs an initial load balancing calculation.
  • layout manager 516 provides schedule manager 514 with an estimate of compilation time, from which schedule manager 514 schedules publication to optimally utilizes the resources of publishing agent 504.
  • the estimate of compilation time may be a quantitative value (e.g., the compilation time of layout manager 516 to layout the publication), or a qualitative value (e.g., an indication that the publication is of low, medium or high complexity).
  • schedule manager 514 identifies the intended recipient (and a related printing device) to determine print status, print media, media count, etc. In one embodiment, this information is retrieved from an printing module 380 associated with the user and/or identified printer. In an alternate embodiment, this information is provided by querying the printing device directly.
  • schedule manager 514 can best identify which jobs can be completed in a certain time-frame, and further optimize the publication schedule.
  • Schedule manager 516 then identifies an optimal publication start time based on, for example, the relative complexity of the received publication versus other scheduled publications.
  • schedule manager 514 maintains a queue of publication jobs denoting the start time and estimated processing time for each publication.
  • schedule manager 514 determines whether it is time to complete publication and delivery of a queued publication. If so, schedule manager 514 engages an internal clock to monitor compilation time, block 1471. As above, the measure of compilation time is useful for making future estimates of schedule manager 514 processing time for jobs of similar complexity, thereby iteratively developing a more accurate schedule manager 514.
  • schedule manager 514 acquires any last minute, time sensitive information for inclusion in the publication, and finalizes the layout of the publication including such content.
  • schedule manager 514 continuously monitors whether the publisher agent 504 is on schedule to complete the publication within the allocated time. This is particularly important during, for example, publication of multiple quantities of a document. In such an instance, schedule manager continuously determines whether publication of all the documents is likely to occur. Assuming that publisher is currently on schedule, schedule manager 514 further determines in block 1477 whether publication is complete.
  • schedule manager 514 disengages the internal clock measuring compilation time and records this information for use in future publication estimation and scheduling, block 1479.
  • schedule manager 514 generates the document for delivery to printing module 380, and sends the document to transmission module 150 for delivery to the printing modules 380, block 1495.
  • schedule manager 514 determines that the publisher is not likely to complete the publication according to schedule, schedule manager 514 defaults on the publication in block 1483, so that it can maintain its publication schedule by moving on to the next publication job. In such an implementation, schedule manager 514 notifies system management to adjust the heuristic data and report the failed publications, block 1485. In block 1487, a default publication is generated and provided to printing module(s) 380, block 1481. In an alternate implementation, rather than defaulting the current publication (1483), schedule manager 514 re-optimizes the publication schedule, shifting publication jobs in the queue as necessary to ensure publication of the current document. Turning next to Fig.
  • a flow chart of an example method for tracking distribution, receipt and disposition of individual content objects comprising a personalized publication is presented, according to one aspect of the present invention.
  • edit module 120 receives content (artistic or advertising) it categorizes the content objects and encapsulates the object in a trace wrapper.
  • the trace wrappers are uniquely identifiable markers associated with objects in the document delivery system.
  • Virtual sensors embedded throughout the document delivery system e.g., in printing modules) identify receipt and interaction with objects encapsulated in such wrappers, covertly providing document delivery system with valuable feedback on which objects are of interest to particular users, the amount of distribution of content obj ects, and the like.
  • trace wrappers are non-invasive markers, i.e., they do not alter the content of the content objects.
  • a personalized publication 6000 comprised of content objects embedded in trace wrappers 6002(A)...(N) is provided with reference to Fig. 24.
  • content object 6004 is encapsulated within a trace wrapper 6002(A) with a "tag", or "marker" 6006 which is stored in content provider information data structure to uniquely identify the content object.
  • the method of Fig.21 begins with block 5002, wherein the content manager 518 of virtual editor 506 receives an report from one or more virtual sensor(s) that content objects have been sent through, or received by, identified users. In response, appropriate content manager 518 updates appropriate user profile(s) (block 5004) and content provider information data structures (block 5006) to reflect the distribution, receipt and/or disposition of content objects.
  • contract administrator 524 of content manager 518 periodically initiates financial transactions with content providers 50, advertising providers 80 and subscribing users. More specifically, contract administrator 524 initiates royalty payments for the distribution and receipt of content objects provided by select content providers, in accordance with contractual obligations established between the document delivery system and such content providers.
  • contract administrator identifies the usage of content objects associated with the content providers 50 to determine an accurate royalty payment, and instructs transaction agent 526 to complete the financial transaction, preferably via one of a number of electronic financial service networks.
  • transaction agent 526 initiates a payment to the financial service network account associated with the content providers 50 in the amount identified by contract administrator 524.
  • transaction agent 526 may initiate printing of checks payable to the content providers 50 in a denomination indicated by contract administrator 524, wherein such printed checks are then mailed to the content providers 50.
  • the degree of accuracy with which content distribution and disposition is monitored within document delivery system 10 facilitates "micro-transactions", i.e., electronic transactions which occur automatically with each system operation in which a financial obligation is created (as defined in contract administration information).
  • a financial account associated with a content provider 50 is credited with a royalty payment each time a content object associated with the content provider 50 is (redistributed, This may amount to hundreds, thousands or millions of micro- transactions per day, per content provider.
  • Transaction agent 526 may initiate financial transactions as accrued lump sums transacted on a periodic basis, or based on reaching a monetary threshold (e.g., payments are made in $10 increments).
  • financial transaction agent 526 may alternatively debit accounts of advertising providers 80, or subscribing users on a micro-transaction, periodic or other lump-sum basis in much the same fashion as described above.
  • contract administrator 524 periodically calculates advertising usage for advertising providers 80, instructing transaction agent 526 to bill the identified advertising providers 80 based on advertising usage, placement, associations, and the like.
  • transaction agent 526 preferably carries this billing out via an electronic financial network, but may alternatively (or in addition) initiate the printing and mailing of physical bills to the advertising providers 80.
  • the innovative publishing tool set 512 enables a user to produce a publication by merely developing a publication profile 640.
  • the document generation facilities of an innovative document server 100 e.g., the publishing agent 504 and the virtual editor 506, utilize the information provided in the publication profile to retrieve content objects appropriate to the topic/genre ofthe publication and automatically generates a publication on behalf ofthe producer. It will be appreciated, then, that the innovative publishing tool set 512 in concert with the automated document generation facilities of a document server enables a single producer to generate, market and distribute professional looking publications.
  • the publishing tool set 512 may well be located outside of document server 100 and, indeed, outside of document delivery system 10, without deviating from the spirit and scope ofthe present invention.
  • the method begins with block 5502 wherein an indication is received to invoke the publishing tool set 512.
  • a user interface (UI) ofthe publishing tool set 512 is invoked to register and generate/update a publication profile for the requesting producer.
  • the UT enables a producer to generate/update a publication profile 640 which defines the scope, content and schedule of a publication.
  • An example user interface is provided with reference to Fig. 23.
  • UI 6000 may well be used to create/update a user profile (602) and/or a publication profile (640), as described above.
  • the UI 6000 requests a producer name and password to register, and also requests information regarding the scope and content of the publication, a publication layout and a publication schedule.
  • a user may also denote primary content providers as well as a method for dealing with overlapping/duplicate content.
  • a user/publisher may chose to include all content in the publication, regardless of overlap/duplication considerations.
  • a user/publisher may elect to utilize the most recent content, regardless of provider; to utilize content from the primary source(s) only; to utilize all content, providing a link from a head/mid- line for secondary provider content to primary provider content; to provide a link from an introductory paragraph of secondary provider content to primary provider content; and the like.
  • This information is received and maintained in a publication profile data structure 640, described above.
  • the automated document generation facilities of document server 100 utilize information store in publication profile(s) to establish publication schedules.
  • a determination of whether an indication to publish has been received e.g., from the document generation facilities based, at least in part, on the publication profile(s) 640. If such an indication has been received, virtual editor 120 acquires content objects from content providers in accordance with the publication profile 640.
  • publishing agent 504 is invoked to schedule publication and delivery ofthe constructed document, as described above.
  • an initial publication is created and provided to the producer for editorial input, block 5510.
  • the initial publication sometimes referred to as an editorial mock-up, is created according to the publication profile layout criteria, contract administration information, content provider usage criteria, key contributor information and the like, for review by the producer.
  • the editorial mock-up is sent to the producer via an email message, while in alternate implementations, the producer logs into the document server 100 during a pre-defined editorial period during which the producer can manipulate the content/format/layout ofthe mock-up publication.
  • document delivery server 100 receives edits from the producer, if any, and makes changes to the publication to reflect the producers editorial input.
  • the document is sent to publishing agent 504 to publish the publication in accordance with the producer's editorial input, and the final publication is created.
  • An example publication created in accordance with a publication profile 640 is illustrated with reference to Fig. 24.
  • the virtual editor 506 of edit module 120 includes analysis/wrapper agent 522 to analyze and reduce occurrences of overlapping/duplicate content objects from a publication, in accordance with user preferences.
  • An example method for reducing the occurrences of overlapping/duplicate content objects is presented with reference to Fig. 25.
  • Fig. 25 illustrates a flow chart of an example method for reducing the occurrence of overlapping/duplicate content objects in a publication, according to one aspect ofthe present invention.
  • the method 7000 begins with block 7002 wherein virtual editor 506 receives content objects associated with multiple publication sections and/or multiple content providers.
  • virtual editor 506 selectively invokes an instance of analysis/wrapper module 522 to create one or more data structure(s) from the received objects, organized by section or provider.
  • a two-dimensional matrix is used wherein each provider and/or section of a publication is assigned to a column within the matrix, the rows populated by content objects (or links thereto) associated with the provider/section.
  • An example of just such a matrix is provided with reference to Fig. 26.
  • an example sort matrix 8000 is provided, wherein the columns are assigned to a particular content provider (or section of a publication), each row containing a title, key word, or other link to an individual content object.
  • four (4) columns are illustrated denoting four content providers, four sections of a received publication, or a combination ofthe two, each section comprising six (6) content objects (or links thereto).
  • the number of columns and rows is determined, at least in part, by the number of content providers/sections and articles per content provider/section. That is, matrices of greater or lesser complexity are anticipated within the scope and spirit ofthe present invention.
  • analysis/wrapper agent 522 prioritizes the columns and/or rows ofthe matrix in order of provider/section precedence.
  • the top- left corner represents the highest priority ofthe matrix, and the relative priority goes down to the right and bottom ofthe matrix.
  • analysis/wrapper agent 522 traverses the content objects to identify overlapping/duplicate content objects.
  • analysis/wrapper 522 analyzes objects from higher precedence to lower precedence to identify redundant and/or similar content objects within and among columns (i.e., providers/sections) ofthe matrix.
  • analysis/wrapper agent 522 determines whether the publication profile preferences permit the lower priority occurrence(s), block 7012.
  • analysis/wrapper agent 522 doesn't simply eliminate all occurrences of overlapping/duplicate content objects, but rather applies an intelligent editorial rules to each situation to best reflect the publication preferences ofthe user.
  • analysis/wrapper agent 522 utilizes one or more of (1) column precedence; (2) articles per section; and/or (3) acceptable duplication level settings to determine how to handle redundancies.
  • the column precedence parameter indicates that the highest ranking column (reflecting provider or section preferences) has an option of using a "trump" precedence during the comparison and reduction algorithm of Fig. 25. That is, when a duplicate is encountered, the ranking ofthe article is not used, Rather, the article in the higher ranking column ofthe matrix is selected. According to one implementation, this is an optional precedence rule that can be enabled disabled on a per-section basis. According to one implementation, this attribute is selectively enabled/disabled by selection ofthe Primary Source Only in the Duplicate Source Resolution field of UI 6000.
  • the articles per section attribute establishes the number of articles that need to appear from each provider and/or in each section ofthe publication. This attribute can be defined by a user/publisher in establishing the publication profile.
  • virtual editor 506 may well dynamically establish the articles per section attribute based, at least in part, on the number of content objects received. According to one implementation ofthe present invention, any articles below the articles-per-section threshold in a matrix column after the matrix sort is completed are disregarded for publication purposes.
  • the duplication level enables the user/publisher to set a level of minimization for duplication (e.g., via UI 6000).
  • the duplication level reflects the number of ranked articles that can be placed in any section before considering duplication. When the duplication level is zero (0), no duplication is allowed. When the duplication level is equal to one (1), however, then the top ranked articles in each column can be published without consideration of duplication, i.e., lead stories can be duplicated). It is to be appreciated that although the duplication level is set to one, additional user and/or publication profile preferences regarding publication formatting may nonetheless edit the way such duplicate content appears. In one embodiment, for example, duplicate articles from secondary sources are provide a title and/or an introductory paragraph, with a link to the content from the primary source(s).
  • analysis/wrapper agent 522 of virtual editor 506 determines whether publication of redundant/similar content objects is permitted, give the settings above. If so, analysis/wrapper agent 522 in combination with layout manager 526 format the lower priority occurrences to reference higher priority occurrence(s), in accordance with user and/or publication profile preferences. If, in block 7014 duplication is not permitted, analysis/wrapper agent 522 removes the lower priority occurrences from the matrix.
  • analysis/wrapper agent 522 determines whether the articles- per-section limit has been reached. If so, the process ends. If not, the process continues with block 7008, as analysis/wrapper agent 522 analyzes additional objects, in order of precedence, to identify overlapping/duplicate content.
  • Fig. 25 provides an iterative, matrix sort ofthe received content to reduce and/or eliminate redundant material in accordance with user/publisher preferences denoted in one or more of a user profile, publication profile, and the like.
  • Figs, 26-30 graphically illustrate multiple iterations of method 7000 applied to an example matrix 8000 populated with key-word characterization of content objects.
  • SI has column precedence and a duplication level of one (1) is applied to the matrix.
  • analysis/wrapper agent 522 identifies a duplicate keyword Peace 8002, 8004 (duplicates denoted in italics).
  • the S3 Peace content object 8004 would be removed.
  • the duplication level is set to one (1), thus duplicates among the highest ranked content objects between columns are ignored.
  • Fig. 27 an analysis ofthe second row of matrix 8000 is performed, whereupon analysis/wrapper agent 522 identifies a duplication of keyword Barak 8006, 8008 between columns SI and, S3. Because of column precedence, the S3 content object Barak 8008 is removed from the matrix, and the lower priority content objects of column S3 each move up one position. The lowest priority position within S3 is populated with a NULL value/pointer (Fig. 28).
  • the created document is published in a publication catalog, wherein users can browse and select publications of interest for download and/or subscription.

Abstract

A method is presented comprising receiving a plurality of content objects, determining that one or more of the articles address the same or similar material, and automatically reducing the occurrences of overlapping and/or duplicate content objects in accordance with user preferences.

Description

A SYSTEM AND RELATED METHODS FOR DYNAMICALLY SELECTING PUBLICATION CONTENT
TECHNICAL FIELD
This invention generally relates to the printing field and, more particularly, to a multi-sourced extensible publishing and editorial system and related methods.
BACKGROUND
In the mid- 1400 's, Johann Gutenberg revolutionized how information is disseminated through his invention of the movable type press. With the publication of the Mazarin Bible, documents which were once held in the exclusive domain of a chosen few were now widely available to the masses. Nearly 550 years later, the mass media revolution that Gutenberg started is alive and well, complete with newspapers such as the New York Times and the Washington Post, magazines such as Newsweek and Sports Illustrated, and literally thousands upon thousands of other publications.
While these thousands of publications cover a wide range of interests, from news to sports to fashion to model rocketry, they have one thing in common: they are intended to be read by a mass market. Unlike the pre-Gutenberg days, where a document would literally be read by only one person of a very small number of people, it is not economically viable for today's publications to have such a small readership, due at least in part to high marketing, production and distribution costs. In fact, many of today's publications are funded to a very large extent by the advertising contained within them. These advertisers are attracted to publications that can consistently deliver a large, reliable audience of consumers that will be exposed to their advertising.
While this mass-market publication model has worked well for hundreds of years, it is not without its problems. One such problem is that a typical reader of a publication has a wide variety of interests, and no single mass market publication will be able to satisfy all of these interests. For example, a reader who is interested in international news, golf, fly-fishing, Genealogy, and computers may have to subscribe to several different publications to satisfy these interests. Of course, since these publications are intended for the mass market, they will also contain a significant amount of material that our reader is not interested in and will not read. It goes without saying that if there is a significant amount of material a read isn't reading, there is a significant amount of advertising that the reader isn't reading either - as well as a significant amount of paper that is wasted. Advertisers know this, and agree to pay considerably less to a mass market magazine or newspaper per 1000 exposures to their ad than they would pay to a direct-mail generator that can provide a more specific guarantee that the people exposed to their ad are of a demographic group that will be much more likely to read their ad and be interested in it.
In addition, it is neither cost-effective nor time effective for most readers to subscribe to and/or read a large number of publications. Generally, the typical reader will only subscribe to a few publications that are of the most interest to them. The reduced readership level of the publications our typical reader chooses not to subscribe to, even though she might be interested in at least some of the editorial and advertising content contained inside, means that the publication receives less subscription and advertising revenue than they otherwise would. If many other readers make the same decision, the continued health of the publication may be in jeopardy, and the publication may be forced out of business. In fact, many publications do go out of business yearly for failing to attract a sustaining number of advertisers and readers - even if there are a large number of readers that would be interested in reading their publication, and a corresponding number of advertisers anxious to have these readers exposed to their ads. In general, publications that fail to attract a substantial mass market of people willing to pay for and/or read them cease publication. This is a shame, since many of these publications would enrich the diversity of information available to all readers, and would provide an avenue for lesser known writers and artists to practice their wares.
In more recent years, a new type of publication has emerged: the electronic publication. Readers of these publications typically sign into the Internet through their computer, and read the publications online. Some of these publications, such as CNN.com and pointcast.com, allow users to state personal preference on what type of material they would like to read. Often, these personalized publications include advertising, usually in the form of a banner ad that is placed on along a periphery of the visual display (top, bottom, side, etc.). While these electronic publications have been an interesting development in the distribution of information, they still represent only a tiny fraction of the information that is published under the more traditional post-Gutenberg model. Many readers of these electronic publications complain that they are very difficult to read (on the video display), especially for long periods of time. While it might be convenient for a reader to sign onto the Internet to look at the CNN.com web site for a brief summary of late breaking news, this reader would most likely only spend a few minutes at the site, and would likely still subscribe to the more traditional print media such as Newsweek or the Washington Post. They would also likely spend significantly more time reading the more traditional printed publication than they would spend reading the electronic publication, and correspondingly, spend more time being exposed to the ads in the traditional printed publication. Accordingly, printed publications continue to flourish today - more than five centuries after Gutenberg made them possible - and after more than a decade after the innovation of the electronic publication. Thus, while these publications have certainly benefited modern society, no significant attempt has been made thus far to solve the underlying problems with these publications discussed above. Just such a solution is provided herein.
SUMMARY In accordance with the teachings of the present invention, various aspects of an innovative document delivery system is presented incorporating the teachings of the present invention. According to one aspect of the invention, a system and related methods for dynamically selecting publication content is presented. According to one example implementation of the present invention, a method is presented, comprising receiving a plurality of content objects, determining that one or more of the articles address similar material, and automatically editing a publication to include one or more of the content objects including the ones covering similar material in accordance with an editor profile.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 shows a block diagram of a document delivery system of one embodiment of the invention;
Figs. 2-4 illustrate flowcharts detailing the operation of the transmission module and the printing module of the document delivery system of one embodiment of the invention;
Fig. 5 illustrates how user profile information is acquired from a user in one embodiment of the invention;
Fig. 6 shows how user profile information is acquired from a user in one embodiment of the invention;
Fig. 7 shows a print schedule for the delivery of documents in one embodiment of the invention; Fig. 8 shows how the print schedule of Fig. 7 can be modified by the user;
Figs. 9A-9B shows a document printed by the printing device according to one embodiment of the invention;
Fig. 10 shows a document printed by the printing device according to one embodiment of the invention; Figs. 11A-11D show a document printed by the printing device according to one embodiment of the invention;
Fig. 12 shows a document printed by the printing device according to one embodiment of the invention;
Fig. 13 illustrates a block diagram of an example edit module incorporating the teachings of the present invention;
Fig. 14 illustrates a block diagram of an example knowledge module including user profile information and content provider information; Fig. 15 is a block diagram of an example virtual sensor, according to one embodiment of the present invention;
Figs. 16A, 16B and 16C graphically illustrate data structures for maintaining user profile information, content provider information, and publication profile information, respectively;
Fig. 17 illustrates a flow chart of an example method generating a custom document, according to one aspect of the present invention;
Fig. 18 illustrates a flow chart of an example method of operation for a client component of the document delivery system, according to one aspect of the present invention;
Fig. 19 illustrates a flow chart of an example method for laying out a custom document of otherwise disparate content objects, according to one aspect of the present invention;
Fig. 20 illustrates a flow chart of an example method for scheduling delivery of custom document(s), according to one aspect of the present invention;
Fig. 21 illustrates a flow chart of an example method for tracking the distribution of content objects and accounting to content providers, in accordance with one aspect of the present invention;
Fig. 22 illustrates a flow chart of an example method for producing a publication using a publication profile, in accordance with one aspect of the invention;
Fig.23 graphically represents an example graphical user interface (UI) enabling a producer to register and generate a publication profile, in accordance with one aspect of the present invention; Fig. 24 graphically illustrates an example document comprised of content objects encapsulated in wrappers by the innovative virtual editor, according to one aspect of the present invention;
Fig. 25 illustrates a flow chart of an example method for identifying and reducing occurrences of duplicate/similar content objects prior to publication, in accordance with one aspect of the present invention; and
Figs. 26 through 30 graphically illustrate an example matrix of content objects through several iterations of the method of Fig. 25 to reduce the occurrence of duplicate/similar content objects prior to publication, in accordance with the teachings of the present invention.
DETAILED DESCRIPTION Fig. 1 illustrates a block diagram of an innovative document delivery system, according to one embodiment of the invention. Document delivery system 10 contains document server 100. In a preferred embodiment, document server 100 is operatively coupled via network 200 to a variety of personal computers, printing devices, and other electronic devices, collectively referred to devices 300. As will be described more fully below, document server 100 contains edit module 120 with innovative publishing tools 512, transmission module 150 and knowledge module 170 to dynamically generate personalized publications from otherwise disparate content objects in accordance with a publication profile created by producers of the publications utilizing the innovative publishing tools. As used herein, content providers 50 are intended to include all providers of publication content non-inclusive of advertising, while advertising providers 80 provide advertising material. From a financial business model, these two sources of publication material differ significantly (i.e., content providers 50 are paid a royalty from the operator of the document server, while advertisers 80 pay to advertise in the generated publications). From the standpoint of the end-user, however, they both provide content to the publication. Consequently, when used without a reference numeral the general term "content providers" is intended to include both content providers 50 and advertising providers 80. If a distinction is intended, the appropriate reference numeral will be specifically denoted to further specify the source of content. Edit module 120 receives content object input from one or more content providers 50, and/or one or more advertising providers 80 to generate personalized documents based, at least in part, on a number of key criteria including, for example, user interests, seasonality, content provider and advertising provider distribution criteria, and the like. According to one aspect of the present invention, to be described more fully below, edit module 120 includes an innovative set of publishing tools (512) to facilitate generation/maintenance of a publication profile (640), from which edit module 120 acquires content objects to generate publications in accordance with the publication profile.
Distribution module 400 is operatively coupled to document server 100 and, as will be discussed, optionally distributes product and/or product subsidies to users based, at least in part, on the source and quantity of content provided to the users. In a preferred embodiment, document server 100 is a minicomputer/server, such as an HP 9000 server sold by the Hewlett-Packard Company, although those skilled in the art will appreciate that document server 100 could be any type of other computing or electronic device(s) that performs the functions described herein and still fall within the spirit and scope of the invention. Network 200 is preferably the Internet, although an Intranet, local area network, or other type of public or private network, either wired (e.g., telephone, cable TV, etc.) or wireless (e.g., satellite, radio, cell phone, etc.), could also or additionally be used.
Devices 300 are shown in Fig. 1 as being capable of being configured in a wide variety of ways. For example, personal computer 310 is shown connected to printing device 320, which prints document 10320 for user 20320. Personal computer 310 is operatively coupled to network 200. In contrast, printing device 330, which prints document 10330 for user 20330, is operatively coupled to network 200 without an intervening personal computer or other electronic device. Printing device 350, which prints document 10350 for user 20350, is shown connected to electronic device 340, which could be a set top box, television set, palmtop personal digital assistant (PDA) or other type of electronic device that is operatively coupled to network 200. Finally, printing device 370, which prints document 10370 for user 20370, is connected to electronic device 360, which is operatively connected to network 200. The printing devices shown in Fig. 1 could be printers, such as the HP DeskJet 890 printer, HP LaserJet V printer, or other models of printers manufactured by HP or others; so-called "mopiers" or other multi-function printing devices that can print, fax, scan, and/or copy, or any other device capable of transferring information to a printable media such as plain paper, specialty paper, transparencies, or other media capable of tangibly receiving such information and which can be easily carried about by the user. Transmission module 150 is preferably located with document server 100. As Fig. 1 shows, printing module 380 could be located in any of the devices 300, such as in personal computer 310, printing device 330, or electronic device 340, operatively coupled via network 200 to document server 100, or it could be located within document server 100 itself, such as in knowledge module 170. According to one embodiment of the invention, transmission module 150 and printing module 380 represent software functions that execute on suitably programmed microprocessor(s) within a device 300 and/or document server 100. It will be appreciated, however, that special purpose hardware or other mechanisms could be employed to implement the innovative features and functions described below.
Fig. 13 illustrates a block diagram of edit module 120 incorporating the teachings of the present invention. As shown, edit module 120 comprises one or more controller(s) 502, an innovative publishing agent 504, an innovative virtual editor 506, memory space 508 and one or more input/output (I/O) interface(s) 510, each coupled as depicted. According to one implementation of the invention, edit module 120 may well contain one or more application(s) 512 executable by controller(s) 502. Indeed, according to one embodiment to be described more fully below, edit module 120 includes an innovative set of publishing tools 512 that enable a producer (e.g., a registered user) to establish a publication profile that is used by edit module 120 to automatically create a publication. It will be appreciated that although depicted as separate and distinct functional entities, one or more functional blocks 502-510 may well be combined into common functional entities. Moreover, although depicted in accordance with a hardware paradigm, those skilled in the art will appreciate that edit module 120 and its constituent elements 502-510 may well be embodied as a series of executable instructions which, when executed by a host processor, implement the features and functions of edit module 120 to be discussed below. In this regard, Fig. 13 is merely illustrative of the scope and spirit of the claimed invention.
As shown, controller(s) 502 selectively invoke one or more of the virtual editor 506 to generate a custom document for a requesting and/or subscribing user, or publishing agent 504 to complete the layout and optimize the delivery schedule of such custom documents. Controller(s) 502 may initiate construction and/or delivery of a custom document in response to user interaction with a user interface (e.g., a web page), or to accommodate a user-selected delivery schedule. In this regard, controller 502 communicates with external applications (e.g., web page) or other elements (e.g., a user profile) via input/output (I/O) interface(s) 510. In an alternate embodiment, controller 502 provides a user with a user interface with which to request/build a custom document using one or more of applications 512. But for implementation of the teachings of the present invention, controller(s) 502 are intended to represent any of a broad range of control devices known in the art including, but not limited to, a programmable logic array (PLA), microprocessor, special purpose controller, application specific integrated circuit (ASIC), and the like. In an alternate embodiment, controller(s) 502 are embodied as a series of executable instructions which, when executed, implement the control logic described herein.
Memory device 508 and I/O interface(s) 510 are each intended to represent such devices commonly known in the art. I/O interface(s) 510, in particular, are intended to include one or more of any of a number of communication interfaces known in the art including, but not limited to, a direct connect communication interface (e.g., a serial interface, a parallel interface, a Universal Serial Bus (USB), an Advanced Graphic Port (AGP), etc.), a local area network interface (e.g., an Ethernet interface, a Token Ring interface, etc.), or a wide area network interface. In this regard, edit module 120 may communicate with any of a number of external and remote devices using an appropriate one of a plurality of wired and/or wireless I/O interfaces 510.
According to one aspect of the present invention, virtual editor 506 personalizes publications for a unique, composite publication based on a number of factors. As shown, virtual editor 506 includes a content manager 518 and a construction agent 520. The content manager 518 includes an analysis/wrapper agent 522, a contract administrator function 524 and a transaction agent 526. As editor module 120 receives content from one or more content providers, content manager 518 is selectively invoked by controller(s) 502. The analysis/wrapper agent 522 analyzes the received content and categorizes it based on any one or more of a number of attributes including, source, subject matter, length, cost, etc. In addition, analysis/wrapper agent 522 encapsulates the content object in a wrapper with a unique identifier. It will be appreciated, based on the description to follow, that the encapsulating wrapper enables virtual sensors (not shown) in the document distribution system to accurately track distribution, receipt and disposition of content objects. According to one embodiment, virtual sensors are embedded within printing modules 380 to track distribution, receipt and disposition of encapsulated content objects.
According to one aspect of the present invention, analysis/wrapper agent 522 is selectively invoked to identify and reduce occurrences of duplicate and/or similar content objects from consideration for the publication. It will be appreciated that when retrieving (fetching) content objects associated with particular areas of interest, virtual editor 506 is bound to receive overlapping and/or duplicate content. Rather than simply publish the overlapping and/or duplicate content, analysis/wrapper agent 522 can be invoked to reduce and/or eliminate overlapping/duplicate content in accordance with user preferences (expressed in a user profile, publication profile, etc.). According to one implementation, analysis/wrapper agent 522 receives content objects into a dynamically created matrix, wherein the size of the matrix is defined by the number of providers (columns) and content objects received (rows). In accordance with another implementation, when receiving an electronic publication comprised of sections, each section is assigned a column wherein the rows are populated by content objects comprising the section. In either case, according to one example implementation, a two-dimensional matrix is created. According to one implementation, the columns and rows are assigned a priority value based, at least in part, on the content provider and/or section of the publication from which the content was received. Content provider and/or section preferences are provided in one or more of a user profile, publication profile, and the like. Once the matrix is properly organized, analysis/wrapper agent 522 performs a matrix sort for uniqueness of articles. As will be described in greater detail below, with reference to Figs. 25-30, analysis/wrapper agent 522 analyzes content objects from higher precedence to lower precedence to identify redundant or similar objects within and among columns of the matrix. If duplicate or similar content objects are identified, based on the location of the redundant/similar content objects, analysis/wrapper agent 522 determines whether the profile preferences (e.g., user profile, publication profile, etc.) permit the use of lower priority occurrences of the content object. If not, the content object is removed and the analysis continues. If so, analysis/wrapper agent 522 denotes the redundancy, as layout manager 516 (described below) formats the lower priority content object occurrence in accordance with user and/or publication profile preferences. Thus, it is to be appreciated, that analysis/wrapper agent 522 of virtual editor 506 identifies and addresses receipt of duplicate or overlapping content objects in accordance with user preferences.
According to one implementation, the contract administrator 524 is a database driven component that manages all of the contractual obligations of the users (subscribers, content providers, etc.) of the document delivery system. According to one implementation, contract administrator 524 maintains royalty calculation and display agreements for select content providers (e.g., artists), the advertising rates for other content providers (e.g., advertisers), subscription information for select users, and the like. Periodically, contract administrator 524 accesses one or more content provider databases to identify content object distribution, to compute royalty payments, advertising bills and subscription bills for distribution to appropriate users via the transaction agent 526. In this regard, contract administrator 524 ensures that contractual obligations of the document delivery system are adhered to.
Transaction agent 526 is the primary interface between the document delivery system and a public/private e-commerce financial system (e.g., the CheckFree™ financial network offered by CheckFree Corporation). As introduced above, the transaction agent 526 is responsible for executing payments and account credit/debit transactions with user accounts based, at least in part, on the distribution of content objects in accordance with the terms and conditions maintained in contract administrator 524. It should be noted that although depicted as an element of edit module 120, those skilled in the art will appreciate that content manager 518 may well be deployed as an separate and independent functional entity without deviating from the spirit and scope of the present invention.
The construction agent 520 of virtual editor 506 extracts content objects to generate a custom document according to one or more key contributors. As used herein, the key contributors include one or more of a requesting/subscribing user's interests, demographics, seasonality, document server requirements, and content provider usage criteria, and the like. As will be described in greater detail below, construction agent 520 extracts content objects which are likely to be of interest to a particular user and generates a personalized publication for that user. The construction agent 520 utilizes information received via overt and covert processes of document delivery system 10 to log a user's interaction and disposition of received material, as well as soliciting feedback from the user, to improve the user's satisfaction with subsequent personalized publications. Information gathered as a result of these overt/covert processes are used by construction agent 520 to update a user profile associated with the user, which is accessed when generating a personalized publication. In this regard, construction agent 520 performs functions commonly associated with a physical editor of, say, a magazine: publication content decisions, layout and format decisions, advertising and the like, yet it factors in other key information such as personal preferences to generate personalized publications for up to millions of individuals. Once construction agent 520 has extracted content objects to generate the publication, it is passed to publishing agent 504, to finalize layout and schedule delivery of the personalized publication to the intended recipient(s).
In accordance with the illustrated example embodiment, publishing agent 504 is presented comprising schedule manager 514 and layout manager 516. As will be described in greater detail below, layout manager 516 receives the content objects from construction manager 506 and finalizes at least a partial layout of the personalized publication. According to one aspect of the present invention, layout manager 516 performs the partial layout of the content objects in accordance with user format preferences, i.e., as denoted in a user and/or publication profile. According to one aspect of the invention, layout manager 516 maintains a record of the time required to complete at least a partial layout of the publication in order to determine the complexity of the personalized publication. This indicator of complexity is subsequently used by publishing agent 504 in estimating the time required to layout future publications containing one or more of the same content objects, and to aid schedule manager 514 in estimating the time required to complete publication. Once layout manager 516 has completed at least a partial layout of the publication, schedule manager 514 completes the publication layout (e.g., with last minute content objects, or updates to such objects), and schedules delivery of the personalized publication. According to one embodiment, to be described more fully below, schedule manager 514 utilizes information from a number of available sources to schedule delivery of the publication. More particularly, schedule manager 514 utilizes information from the user's personal profile, a complexity measure from layout manager 516, and an indication from printing devices associated with the user confirming that an adequate amount and type of media is available for printing the publication. Based, at least in part, on such information, schedule manager 514 works to establish an optimum publication schedule for one or more personalized publications.
As introduced above, edit module 120 includes an innovative publishing tool set 512 from which a producer can register to publish publications utilizing the innovative features of document server 100. According to one implementation, publishing tool set 512 includes a user interface (UI) which, when invoked, enables a user to create and/or update a publication profile. As will be developed more fully below, the publication profile includes information regarding one or more of the publication title, producer contact information, the topic or genre of the publication, the scope of the publication, the content providers and/or advertising providers to use, publication layout information, a publication schedule, and the like. The publication profile created/updated by the publishing tool set 512 is maintained in knowledge module 170. In addition to the registration/publication profile UI, publishing tool set 512 may also include other advanced publishing tools that, for example, aid the producer in selecting an appropriate publication layout, provide readership demographic information for targeted advertising, and the like. Once the publication profile is set, publishing agent 504 and or edit module 506 establish publication schedules based, at least in part, on the information maintained in the publication profile to automatically schedule generation and publication of publications without further invocation/input from the producer. Thus, according to this innovative aspect of the present invention, the producer merely establishes a publication profile from which document server 100 automatically gathers appropriate content to generate a publication on a schedule dictated by the publication profile.
Fig. 14 illustrates an example knowledge module 170, according to one embodiment of the present invention. As shown, knowledge module 170 comprises user profile information 602, content provider information 620, contract administrator information 630, publication profile information 640 and optionally printing module 380 and printing schedule 390. As introduced above, document delivery system 10 in general, and edit module 120 in particular, continuously acquires or solicits information from users requesting personalized publications from the document delivery system, in order to better anticipate the informational and advertising needs of the user. In this regard, any of a number of personal information attributes are maintained in user profile information database 602. Content provider information 620 includes information received from virtual sensors, distributed throughout the document delivery system, regarding content object distribution, receipt and user disposition. Contract administrator information 630 includes information regarding the terms of use, usage/layout requirements, fee structures/schedules and the like for each of the content providers that provide content objects to document delivery system 10. As introduced above, the publication profile information 640 includes information provided by a publisher from which a document server (e.g., 100) automatically generates and distributes publications. Although depicted as a functional element of document server 100, those skilled in the art will appreciate that knowledge module 170 may well be utilized by other document servers (not shown) in document delivery system 10, or may well be integrated in another and/or standalone element of document delivery system 10 without deviating from the scope or spirit of the present invention.
Fig. 15 illustrates a block diagram of an example virtual sensor, according to one implementation of the present invention. As introduced above, one or more virtual sensors 35000 are selectively distributed throughout document delivery system 10 to monitor and report on the distribution, receipt and user disposition of content objects. According to one implementation, virtual sensor(s) 35000 are incorporated into printing module 380 throughout document delivery system 10. In accordance with the illustrated example embodiment of Fig. 15, virtual sensor 35000 is shown comprising a monitoring agent 35002 and a reporting agent 35004, communicatively coupled as depicted.
As used herein, monitoring agent 35002 receives network traffic and analyzes the traffic for distribution of content objects which are traceable back to a particular edit module (e.g., 120) and/or document delivery server (e.g., 100). According to one example implementation, monitoring agent 35002 analyzes the received network traffic for content objects wrapped in trace wrappers (to be described more fully below). The trace wrapper information uniquely identifies the content object and, optionally, the edit module or document delivery server responsible for the distribution of the content object. Reporting agent 35004 is invoked to compile and issue a report to one or more document delivery server(s) 100 identifying document distribution, receipt and user disposition of received content objects. Although illustrated in accordance with a hardware paradigm, the virtual sensor 35000 and/or one or more of its constituent elements may well be implemented by a series of executable instructions that carry out the functions to be described more fully below. Similarly, content provider information database 620 is used by document delivery system to maintain a history of content object distribution, receipt and disposition. According to one aspect of the invention, contract administrator 524 utilizes information maintained in content provider information database 620 to periodically calculate royalty payments, advertising bills, and subscription bills.
Example user profile information and content provider information data structures are illustrated with reference to Figs. 16A and 16B.
Fig. 16A graphically illustrates an example user profile data structure 602, suitable for use by the innovative document delivery system. According to the illustrated example implementation, user profile information data structure 602 includes a user_name field 604, a user_id field 606. a contact information field 608, an interest information field 610, a subscription information field 612 (e.g., of primary sources), a disposition information field 614, and a conflict resolution rules field 616. As introduced above, some of the information maintained in user profile data structure 602 is overtly obtained, e.g., by asking the user for such information during a registration period. Other information such as, for example, disposition information, is covertly obtained by monitoring the disposition of trace wrappers by the user, e.g., how much time did the user spend with certain information, did the user forward certain information to others, etc. In this way, the user profile data structure 602 is a continuously evolving, continuously improving, set of information reflecting the current interests of the users of the document delivery system. According to one aspect of the invention, to be developed more fully below, user profile 602 includes an identifier of primary sources (612) and conflict resolution rule(s) (616), which enable analysis/wrapper agent 522 to identify and reduce multiple occurrences of overlapping and/or duplicate content from the publication. According to one implementation, the primary sources and/or conflict resolution rules are overtly defined via a user interface (see, e.g., Fig. 23), while other implementations may automatically generate such preferences in light of user disposition monitoring.
Fig. 16B illustrates an example data structure comprising content provider information, according to one embodiment of the present invention. In accordance with the illustrated example embodiment, content provider information data structure 620 includes a content provider name field 622, a content provider ID field 624, a wrapper ID field 626 for each of the content objects provided by the content provider, a rate schedule field 628, a monthly usage field 630 and feedback information field 630.
Fig. 16C graphically illustrates an example data structure comprising publication profile information, according to an example embodiment of the present invention. As shown, publication profile 640 includes a publication name field 642, a producer identifier field 644, producer(s) contact information field 646, an interest (topic, genre, etc.) information field 648, primary source (content provider 50) information field 650, an advertising (content provider 80) information field 652, and a delivery schedule field 654. The information populating user preference profile(s) (e.g., publication profile, user profile, etc.) may be acquired overtly (e.g., Fig. 23) or covertly. As alluded to above, data structures of greater or less complexity may well be utilized to maintain user profile information and/or content provider information without deviating from the spirit and scope of the present invention. Turning to Figs. 2-4, flowcharts detailing the operation of transmission module 150 and a first mode of operation of printing module 380 are presented, according to one embodiment of the invention. In Figs. 2-4, the flow diagram shown in the left column is executed by transmission module 150 of document server 100, and the flow diagram in the right column is executed by printing module 380.
Referring now to Fig. 2, the flow diagram for transmission module 150 starts in block 1000, and the flow diagram for printing module 380 starts in block 2000. Since there is a great deal of interaction between these two flow diagrams, as represented by dashed lines connecting the two columns, the operation of the two flow diagrams will be described simultaneously.
In block 2100, user profile data is sent to document server 100 to be stored in the user profile. This user profile data can take on many different forms, from simple to very detailed. Fig. 5 shows a very simply acquisition of user profile data, such as that used in HP's Instant Delivery Program, the first version of which was generally available to the public less than one year from the filing date of this patent application. In this program, only three pieces of information are stored in the user profile: type of printer, email address, and whether HP can contact the user. Fig. 6 shows a more complicated user profile than that currently used in HP's Instant
Delivery Program, which includes the user's name, email address, company name, city, state, country, zip or postal code, phone number, printer information, and areas of interest. Those skilled in the art will appreciate that more or less user profile data from those shown in Figs. 5 and 6 could be sent to transmission module 150 in block 2100 and still fall within the spirit and scope of the invention, and that at least some of this information could come from a source other than a user. For example, the user profile data could also include household income, age, and sex of the user, among other things. In any event, block 1100 receives the user profile data sent by block 2100. Block 1200 stores the user profile data, preferably in knowledge module 170. Alternately, the user profile data could be stored in device 300 or in some other local or remote location.
Block 2200 checks to see whether a document should be received form document server 100. This is done by checking print schedule 390 which is preferably stored on a device 300 or document server 100, but may be stored in some other local or remote location. Printing schedule 930 preferably contains information that can be used to determine when documents should be printed by the printing device, such as upon document creation, user requested time, lapse of specified time period, and/or occurrence of one or more external events (e.g., a stock price or index reaching a specified value, a final score of a sporting event, etc.). Printing schedule 390 may be associated with an individual user, a device or a group or users and/or devices. In addition, each entry of printing schedule 390 could result in the printing of one or more documents.
Fig. 7 shows one example of printing schedule 390, of the type that might be used in an enhanced version of HP's Instant Delivery program. In this example, the title of delivery, delivery schedule, next delivery data and time, and the last deliver status are shown. Preferably, the user can select what time a document should be printed, whether it should be printed on a specific day of the week or month, weekdays, or weekends, and whether the printing schedule should expire after a specific period of time or continue indefinitely.
Referring again to Fig. 2, printing module 380 monitors printing schedule 390 to see if a document should be requested from document server 100 or from another source. When block 2200 determines that a document should be requested from document server 100 or from another source, block 2200 is answered affirmatively, and block 2300 automatically requests the document without user intervention from server 100 or from another source, as will be described in greater detail below. Note that if printing module 380 is located on device 300, block 2200 operates in a "pull" mode - where the document is "pulled" from document server 100 or another source to device 300. However, if printing module 380 is located remotely from device 300, such as in document server 100, block 2200 operates in a "push" mode - where the document is "pushed" from document server 100 or another source to device 300. If block 2300 determines that the document is located on document server 100 or at another source accessible via network 200, and if device 300 is currently in a disconnected state where it is not operatively coupled to the network 200, block 2300 will sign on to or otherwise enter a connected state with network 200, so that device 300 is operatively coupled to network 200.
Meanwhile, block 1300 checks to see if a document has been requested from printing module 380 in block 2300. Once it determines that such a document has been requested, block 1400 generates the document for printing module 380. Block 1500 then sends the document to printing module 380. Block 2400 checks to see whether a document has been received from document server 100 via block 1500. Once such a document has been received, block 2500 automatically prints the document, without user intervention, on a printing device. The term "without user intervention" means that a user is not directly involved in the printing operation; the document is sent automatically to a device 300 to be printed out by a printing device. According to this mode of operation, the user does not press "any" print buttons or otherwise be directly involved in the printing process; in fact, the user may not even be present in the same room, city, state, or country as device 300 during the printing operation. The printing operation automatically occurs in an unattended state - regardless of whether the user is present or not. In addition, if print schedule 390 is stored in a device-independent manner, such as on document server 100, a travelling user could "log in" to document server 100 and have his or her customized document sent to a device 300 that is convenient to the user's current location.
Referring now to Fig. 3, block 2600 checks to see whether the document printed successfully. If not, block 2800 performs error handling, such as attempting to print the document again, notifying the user that the printing device is out of paper or has some other error condition, or simply deciding not to print the document. When the document prints successfully, block 2900 informs document server 100 that the document printed successfully. Block 1600 waits for an indication from printing module 380 that the document did print successfully. When such an indication is received, block 1700 updates the user profile with this information.
It will be appreciated that not all of the blocks in Figs. 2-4 need be implemented, or implemented according to the order denoted, to fall within the spirit and scope of the present invention. More specifically, according to one implementation, flow of control moves from block 2600 to block 4100 of Fig. 4, as will be discussed later, and from block 1500 back to block 1300 of Fig. 2. An alternate embodiment has been contemplated where other information is transmitted back to document server 100 in block 2900 to update the user profile preferably stored in knowledge module 170. This other information could be ink usage (total usage or usage broken out by ink color), printable media usage (number of pages printed, type of media used, etc.), or other types of information. In addition, another alternate embodiment has been contemplated where some or all of the information contained in the user profile stored in knowledge module 170 came from a source other than the user via printing module 380. For example, publicly or privately available information about the user, and/or the devices 300 he/she/they use, could be acquired from a wide variety of different sources and inserted into the user profile preferably stored in knowledge module 170.
Block 1800 examines the user profile preferably stored in knowledge module 170 to determine whether a product subsidy should be provide to the user. For example, if the information in the user profile indicates that this user has printed off his 1000 document, such as a "preferred" document that contains advertising from advertising providers 80 or is otherwise under the control of edit module 120, providing a product subsidy to the user may be warranted. For purposes of this invention, a "product subsidy" could be a print consumable or other product. A "print consumable" is an inkjet cartridge for an inkjet printer, ink for such an inkjet cartridge, a toner cartridge for a laser printer, toner for such a toner cartridge, or any other product or substance that is depleted when a document gets printed, including printer ribbons, etc. Note that the "ink" referred to above would typically be of a permanent variety, but erasable ink, such as that sold by the Eink Company, could also be used.
Note that the product subsidy referred to herein is preferably funded at least in part by advertising revenue received from advertising providers 80 (Fig. 1), but an embodiment has been contemplated where the product subsidy is funded at least in part from the distribution revenue received from content providers 50 (Fig. 1). In either case, information (such as statistical information) about what was printed by whom is preferably provided to content providers 50 and/or advertising providers 80 - preferably as a document that is automatically sent to one or more printing devices according to the teachings of this invention.
Other forms of products that are contemplated to be subsidized by this invention include printable media, such as plain paper, specialty paper, transparencies, and the like, and may also include devices 300 such as printing devices, electronic devices, and personal computers. In fact, alternate embodiments have been contemplated where other products, such as a subscription price to a document, or even a product not directly related to the document delivery system shown herein, such as soap or dog food, are subsidized. If block 1800 determines that such a subsidy is warranted, block 1900 requests that distribution module 400 provides such a subsidy to the user. In one embodiment, distribution module 400 simply mails a product such as a print consumable or other product such as the type described above to a user at the address specified in the user profile. In another embodiment, distribution module 400 mails or electronically generates a coupon that the user can use to receive a free or discounted product of the type described above. Regardless of whether block 1800 is answered affirmatively or negatively, flow of control then returns back to block 1300 (Fig. 2) to see if another document has been requested from the printing module 380.
Referring again to Fig. 3, after block 2900 informs document server 100 that the document printed successfully, flow of control moves to block 4100 (Fig. 4), which checks with document server 100 to see what the current version of printing module 380 is. Block 3100 checks to see whether such a request has been received, and when it is, block 3200 sends information concerning the current version of the printing module to printing module 380. Block 4200 compares this information from document server 100 with its own version and determines whether an updated version of printing module is available. For example, if printing module 380 is running version 4.0, and document server 100 indicates that version 4.1 is the current version of printing module 380, block 4200 would determine that an updated version of printing module 380 is available, and flow control would move to block 4300. Block 4300 checks to see whether this updated version of printing module 380 should be requested to be downloaded. While a user would typically be asked whether such a download should be requested or not, and would typically perform this download at a convenient time, such a step could also be performed automatically without user intervention. If such a download is requested, block 4400 is answered affirmatively, and block 3500 downloads the updated printing module, which is then installed in block 4500. Regardless of how blocks 4200 and 4300 are answered, flow of control moves to block 4600, which checks to see if a disconnected state should be entered. If block 2300 (Fig. 2) determined that device 300 was in a disconnected state when the document was requested, as discussed above (i.e., not operatively coupled to network 200), block 4600 is answered affirmatively, and block 4700 reenters the disconnected state. In any event, flow of control returns to block 2200 of Fig. 2.
Referring again to print schedule 390 shown in Fig. 7, it can be seen that many different types of documents can be requested to be printed. For example, the title of document 11000 specifies a network address, such as an Internet uniform resource locator (URL) that contains the network location of a document to be printed. Note that this URL may be partially or completely hidden from the user, as is the case with the URL for document 15000. In this scenario, edit module 120 of document server 100 merely goes out to the Internet at the URL indicated (which would be shown in Fig. 1 as one of the content providers 50), and captures the indicated document, which is then transmitted to a printing device via transmission module 150 and printing module 380, as has been discussed. Alternatively, device 300 could go directly out to the URL itself without assistance from document server 100; in this case, block 2300 (Fig. 2) requests document 11000 from another source - directly from the content provider 50 (at the indicated URL) via network 200.
In contrast, document 12000 is not a document that originates with a content provider 50 via the Internet, but instead is stored directly on device 300, such as a printing device, personal computer, or other electronic device. An example of such a document could be a daily calendar from a program such as Microsoft Outlook, which the user has requested be printed automatically to his printer, without any user intervention, at 7:00 a.m. every weekday morning. In such an embodiment, printing module 380 does not need to request the document from document server 100, since it can access the documents without going through network 200. In this embodiment, block 2300 of Fig. 2 requests the document from another source - device 300. While block 2900 would still preferably indicate that the document was printed, and while block 1700 would still preferably update the user profile in knowledge module 170, printing such a document would preferably not generate any type of credit towards a product subsidy, since such a document would not be considered a "preferred" document, e.g., not a document under the control of edit module 120. Referring again to Fig. 1, a print schedule of document 13000 is shown.
Document 13000 is referred to as a "personalized document". A "personalized document" is a document that is assembled by edit module 120 of document server 100 from a variety of content providers 50 and advertising providers 80, based on information contained in the user profile stored in knowledge module 170. For example, document 13000 is a "personalized document". Our user has requested that document 13000 - his personalized newspaper - be printed at 6:00 a.m. every day. Edit module 120 examines the user's interests as specified in the user profile stored in knowledge module 170 to assemble the document from selected content providers 50 in which the user has indicated an interest. Edit module 120 also inserts advertising from selected advertising providers 80 - again based on the user profile stored in knowledge module 170. Fig. 8 shows how the print schedule 390 of Fig. 7 can be edited by the user.
' The user can use the publisher's recommended schedule, use a default schedule the user has set, or use a custom schedule for delivery. If a custom schedule is selected, the user can select a daily, weekly, or monthly delivery, or select a delivery once every specified number of days, or specify every weekday. In addition, the time of day can also be specified: once at a designated time, multiple times during the day, or multiple times separated by a specified period of time. While not shown here, the user could also edit print schedule 390 to request that a document be sent upon creation, or upon the occurrence of an external event.
Figs. 9A-9B show document 11000 printed by the printing device according to one embodiment of the invention. Note that this document came from one content provider 50 via network 200 (either through document server 100 or directly), and contains no advertising. While document 11000 is preferably formatted by content provider 50 such that the information contained in the document is optimized to be printed, such formatting is not necessary. Fig. 10 shows document 12000 printed by the printing device according to one embodiment of the invention. Note that this document is a user's daily calendar which came directly from device 300 and not from document server 100 via network 200.
Figs. 11A-D show document 1300 printed by the printing device according to one embodiment of the invention. Note that this document is a user's personalized newspaper which contains information in which the user has indicated a specific interest in, as stored in the user profile in knowledge module 170. Note also that this document contains advertising that edit module 120 determined the user would also be interested in, again based on the information contained in the user profile stored in knowledge module 170. As has already been discussed, when the user prints a sufficient number of such "preferred" documents, the user may receive a product subsidy of a print consumable or other product(s).
Fig. 12 shows document 14000 printed by the printing device according to one embodiment of the present invention. Note that document 14000 is the HP Instant Delivery Times - a document located on document server 100. While this document does not contain advertising per se, it is still considered to be a "preferred document", since it is under the control of edit module 120. Document 14000 informs users of Instant Delivery of new releases or new information about the Instant Delivery Program.
Having introduced the basic operation of document delivery system 10, above, Figs. 17-21 provide additional operational information regarding select aspects of the present invention.
Accordingly, turning to Fig. 17, a flow chart illustrating an example method for generating a personalized document is presented. As shown, the method begins with block 1010, wherein edit module 120 receives content objects from content providers 50 and /or advertising providers 80, and selectively invokes an instance of content manager 518. In response, content manager 518 analyzes, classifies, wraps and stores each of the received content objects, block 1015. More specifically, as introduced above, content manager 518 invokes an instance of analysis/wrapper agent 522 to analyze and encapsulate the received content object in a trace wrapper having a unique identifier. According to one implementation, analysis agent 522 identifies meta data within the received content object to classify the content object. According to one aspect of the invention, analysis/wrapper agent 522 further analyzes the received content to identify and reduce occurrences of overlapping/duplicate content objects, in accordance with the conflict resolution rules of the user profile and/or publication profile (see, e.g., Figs. 25-30). Once the analysis agent 522 has classified and encapsulated the received content object in a wrapper, content manager 518 updates the content provider information data structure 620 associated with the provider of the content object to denote the wrapper identifier for the received content object.
In block 1300, edit module 120 identifies whether an indication for construction of a personalized document has been received. As introduced above, such an indication may be generated by a requesting user via a user interface (e.g., a web page), or in response to an indication received from, for example, print schedule 390. In either case, if an indication is received, edit module 120 invokes an instance of the innovative virtual editor 506 to generate a personalized publication for delivery to the identified user. In this regard, virtual editor 506 invokes an instance of construction agent 520, which obtains information from a user profile associated with the identified user to determine user interests, block 1410. In block 1415, construction agent 520 obtains information from the user profile 602 to determine the medium of choice (e.g., send the publication electronically via email, send via fax, send to a local printer of the user, etc.), interests, preferences and/or a history of received information.
In block 1420, construction agent 520 determines whether the publication request is unique to an individual user, or whether the information has already been retrieved for another user. If content objects identified for publication have already been retrieved to satisfy another user request, construction agent 520 access local memory 508 to quickly retrieve the identified content objects, block 1425. Otherwise, in block 1430, construction agent 520 extracts the appropriate ones of the categorized content objects with which to generate a personalized publication.
In block 1435, construction agent 520 generates an initial layout of the personalized document using the extracted information. According to one implementation, construction agent 520 identifies additional content objects based, at least in part, on the already extracted content objects and other key contributor criteria (e.g., seasonality, locality, etc.) introduced above. Moreover, construction agent 520 may also leave room in the layout for inclusion of content by a local content provider (e.g., an ISP), through which the personalized publication will be transmitted en route to the identified user.
In block 1440, the construction agent 520 further optimizes document layout, updating the content provider information database 620 with an indication of which content objects have been utilized in construction of the personalized document. The personalized document created by construction agent 520 of virtual editor 506 is then sent to publishing agent 504, block 1445. As will be described below (Figs. 19 and 20), layout manager 516 of publishing agent finalizes the layout and content (except for last minute, time sensitive content objects), while scheduling manager 514 optimally schedules delivery of the publication to include such last minute, time sensitive content objects. Publishing agent 504 then issues the personalized document for delivery to the user via transmission module 150 and a printing module 380 associated with the user. Turning to Fig. 18, a flow chart illustrating an example method of operation of an innovative printing module 380 is presented, according to one embodiment of the present invention. As introduced above, printing module 380 includes a virtual sensor (not shown) which detects and identifies trace wrappers for content objects comprising received personalized publications, providing document server 100 with confirmation of receipt of the content objects.
According to the illustrated example embodiment of Fig. 18, the method begins with block 2695, wherein printing module 380 informs the publication server that the publication was successfully printed. In block 2900, the document server 100 is informed that the publication was successfully printed. In response, content manager 518 updates the usage fields of the content objects comprising the received personalized document, for accurate accounting to content providers 50 and advertising providers 80. In block 2905, printing module 380 covertly monitors user interaction with the received publication. As introduced above, this covert monitoring (via sensors 35000, client application(s), etc.) records one or more of the distribution of content objects to a user, user receipt of content objects, whether the object(s) were printed or viewed on a display terminal, the duration viewed (if by terminal), whether any editing of the content object(s) occurred, and any other user interaction with the content object(s).
In parallel, according to one embodiment of the present invention, printing module 380 overtly queries the user for feedback on the received publication in general, and on one or more of the content objects in particular, block 2910. In block 2915, printing module determines whether the user has provided feedback. In block 2920, printing module 380 weighs user satisfaction based, at least in part, on observed user interaction with the received publication and any received feedback from the user. In block 1695, printing module 380 notes any further distribution of the content objects comprising the personalized publication, and provides such information to edit module 120 to update user profile and content provider information data structures 602 and 620, respectively.
Turning next to Figs. 19 and 20, the operation of the innovative publishing agent 504 will be described. As introduced above, once construction agent 520 has compiled the components of a personalized publication, the construct is provided to publishing agent 504, block 1445. In block 1447, publishing agent 504 invokes an instance of layout manager 516 and an internal clock (not shown) is engaged to monitor the compilation time associated with at least the partial layout of the publication. According to one implementation, more complex measures are developed and maintained such as, for example, compilation time at a particular time of day, day of the week, etc. By maintaining this measure of compilation time, however complex or rudimentary, enables publishing agent 504 to improve publication and delivery scheduling.
In block 1448, layout manager 516 determines whether the publication contains any time sensitive material. If so, a further determination is made of whether the delivery schedule must include time to obtain information (content objects) immediately prior to delivery of the publication, block 1451. If the publication does not contain time sensitive information (1449), or the delivery schedule does not require obtaining information immediately prior to delivery (1451), layout manager 516 receives the content objects from the virtual editor 506 to finalize the layout of the publication, block 1453. In block 1455, layout manager analyzes the content objects in light of the key contributor information and generates a final layout of the document.
If the publication is to include last minute, time sensitive information (identified in blocks 1449 and 1451, respectively), layout manager 516 receives the content objects from the virtual editor and performs a partial final layout of the publication, leaving layout completion to the schedule manager 514 once the last minute content objects have been retrieved, block 1454. In block 1457, upon completion of the final or partial-final layout of the publication, layout manager 516 disengages the internal clock, calculates the compilation time and updates a measure of compilation time. According to one implementation, layout manager 516 generates a measure of publication complexity and maintains a measure of estimated compilation time for varying degrees of publication complexity. The estimated compilation time may then be used to optimally schedule publication layout jobs based, at least in part, on the complexity of the jobs.
In block 1459, a layout manager 516 determines whether the publication is a unique document intended for one user, or whether it is to be "broadcast" to multiple recipients. If it is destined for a single user, layout manager forwards it to schedule manager 514. If, it is to be broadcast to multiple recipients, layout manager 516 first tabulates publication quantities in block 1461 before sending the publication to schedule manager 514, block 1460. Fig. 20 provides a flow chart of an example method for optimally scheduling publication, according to one aspect of the present invention. As shown, the process begins with block 1465, wherein schedule manager 514 receives a publication from layout manager 516 and performs an initial load balancing calculation. According to one implementation, layout manager 516 provides schedule manager 514 with an estimate of compilation time, from which schedule manager 514 schedules publication to optimally utilizes the resources of publishing agent 504. The estimate of compilation time may be a quantitative value (e.g., the compilation time of layout manager 516 to layout the publication), or a qualitative value (e.g., an indication that the publication is of low, medium or high complexity). According to another implementation, schedule manager 514 identifies the intended recipient (and a related printing device) to determine print status, print media, media count, etc. In one embodiment, this information is retrieved from an printing module 380 associated with the user and/or identified printer. In an alternate embodiment, this information is provided by querying the printing device directly. Using this information, along with the compilation time information, schedule manager 514 can best identify which jobs can be completed in a certain time-frame, and further optimize the publication schedule. Schedule manager 516 then identifies an optimal publication start time based on, for example, the relative complexity of the received publication versus other scheduled publications. According to one embodiment, schedule manager 514 maintains a queue of publication jobs denoting the start time and estimated processing time for each publication. In block 1469, schedule manager 514 determines whether it is time to complete publication and delivery of a queued publication. If so, schedule manager 514 engages an internal clock to monitor compilation time, block 1471. As above, the measure of compilation time is useful for making future estimates of schedule manager 514 processing time for jobs of similar complexity, thereby iteratively developing a more accurate schedule manager 514.
In block 1473, schedule manager 514 acquires any last minute, time sensitive information for inclusion in the publication, and finalizes the layout of the publication including such content.
In block 1475, schedule manager 514 continuously monitors whether the publisher agent 504 is on schedule to complete the publication within the allocated time. This is particularly important during, for example, publication of multiple quantities of a document. In such an instance, schedule manager continuously determines whether publication of all the documents is likely to occur. Assuming that publisher is currently on schedule, schedule manager 514 further determines in block 1477 whether publication is complete.
Once publication is complete, schedule manager 514 disengages the internal clock measuring compilation time and records this information for use in future publication estimation and scheduling, block 1479. In block 1481, schedule manager 514 generates the document for delivery to printing module 380, and sends the document to transmission module 150 for delivery to the printing modules 380, block 1495.
If, in block 1475, above, schedule manager 514 determines that the publisher is not likely to complete the publication according to schedule, schedule manager 514 defaults on the publication in block 1483, so that it can maintain its publication schedule by moving on to the next publication job. In such an implementation, schedule manager 514 notifies system management to adjust the heuristic data and report the failed publications, block 1485. In block 1487, a default publication is generated and provided to printing module(s) 380, block 1481. In an alternate implementation, rather than defaulting the current publication (1483), schedule manager 514 re-optimizes the publication schedule, shifting publication jobs in the queue as necessary to ensure publication of the current document. Turning next to Fig. 21 , a flow chart of an example method for tracking distribution, receipt and disposition of individual content objects comprising a personalized publication is presented, according to one aspect of the present invention. As introduced above, whenever edit module 120 receives content (artistic or advertising) it categorizes the content objects and encapsulates the object in a trace wrapper. The trace wrappers are uniquely identifiable markers associated with objects in the document delivery system. Virtual sensors embedded throughout the document delivery system (e.g., in printing modules) identify receipt and interaction with objects encapsulated in such wrappers, covertly providing document delivery system with valuable feedback on which objects are of interest to particular users, the amount of distribution of content obj ects, and the like.
As used herein, trace wrappers are non-invasive markers, i.e., they do not alter the content of the content objects. For purposes of illustration, and not limitation, an example of a personalized publication 6000 comprised of content objects embedded in trace wrappers 6002(A)...(N) is provided with reference to Fig. 24. As shown, content object 6004 is encapsulated within a trace wrapper 6002(A) with a "tag", or "marker" 6006 which is stored in content provider information data structure to uniquely identify the content object.
According to the illustrated example embodiment, the method of Fig.21 begins with block 5002, wherein the content manager 518 of virtual editor 506 receives an report from one or more virtual sensor(s) that content objects have been sent through, or received by, identified users. In response, appropriate content manager 518 updates appropriate user profile(s) (block 5004) and content provider information data structures (block 5006) to reflect the distribution, receipt and/or disposition of content objects. In block 5008, contract administrator 524 of content manager 518 periodically initiates financial transactions with content providers 50, advertising providers 80 and subscribing users. More specifically, contract administrator 524 initiates royalty payments for the distribution and receipt of content objects provided by select content providers, in accordance with contractual obligations established between the document delivery system and such content providers. In this regard, contract administrator identifies the usage of content objects associated with the content providers 50 to determine an accurate royalty payment, and instructs transaction agent 526 to complete the financial transaction, preferably via one of a number of electronic financial service networks. In such an instance, transaction agent 526 initiates a payment to the financial service network account associated with the content providers 50 in the amount identified by contract administrator 524. Alternatively, transaction agent 526 may initiate printing of checks payable to the content providers 50 in a denomination indicated by contract administrator 524, wherein such printed checks are then mailed to the content providers 50.
According to one aspect of the invention, the degree of accuracy with which content distribution and disposition is monitored within document delivery system 10 facilitates "micro-transactions", i.e., electronic transactions which occur automatically with each system operation in which a financial obligation is created (as defined in contract administration information). According to one example embodiment, a financial account associated with a content provider 50 is credited with a royalty payment each time a content object associated with the content provider 50 is (redistributed, This may amount to hundreds, thousands or millions of micro- transactions per day, per content provider. Transaction agent 526 may initiate financial transactions as accrued lump sums transacted on a periodic basis, or based on reaching a monetary threshold (e.g., payments are made in $10 increments). Although described in the context of a royalty payment to a content provider 50, financial transaction agent 526 may alternatively debit accounts of advertising providers 80, or subscribing users on a micro-transaction, periodic or other lump-sum basis in much the same fashion as described above.
Similarly, contract administrator 524 periodically calculates advertising usage for advertising providers 80, instructing transaction agent 526 to bill the identified advertising providers 80 based on advertising usage, placement, associations, and the like. As above, transaction agent 526 preferably carries this billing out via an electronic financial network, but may alternatively (or in addition) initiate the printing and mailing of physical bills to the advertising providers 80.
Turning to Fig. 22, an example method for producing publications utilizing the innovative publishing tool set of edit module 120 is presented, according to one embodiment ofthe present invention. As introduced above, the innovative publishing tool set 512 enables a user to produce a publication by merely developing a publication profile 640. The document generation facilities of an innovative document server 100, e.g., the publishing agent 504 and the virtual editor 506, utilize the information provided in the publication profile to retrieve content objects appropriate to the topic/genre ofthe publication and automatically generates a publication on behalf ofthe producer. It will be appreciated, then, that the innovative publishing tool set 512 in concert with the automated document generation facilities of a document server enables a single producer to generate, market and distribute professional looking publications. As alluded to above, although depicted as a functional element of edit module 120, it should be appreciated that the publishing tool set 512 may well be located outside of document server 100 and, indeed, outside of document delivery system 10, without deviating from the spirit and scope ofthe present invention.
In accordance with the illustrated example embodiment, the method begins with block 5502 wherein an indication is received to invoke the publishing tool set 512. In block 5504, a user interface (UI) ofthe publishing tool set 512 is invoked to register and generate/update a publication profile for the requesting producer. As introduced above, the UT enables a producer to generate/update a publication profile 640 which defines the scope, content and schedule of a publication. An example user interface is provided with reference to Fig. 23.
Turning briefly to Fig. 23, an example user interface (UI) suitable for use with publishing tool set 512 is graphically illustrated, according to one embodiment ofthe present invention. In accordance with the teachings ofthe present invention, UI 6000 may well be used to create/update a user profile (602) and/or a publication profile (640), as described above. As shown, the UI 6000 requests a producer name and password to register, and also requests information regarding the scope and content of the publication, a publication layout and a publication schedule. In addition, in accordance with one aspect ofthe present invention, a user may also denote primary content providers as well as a method for dealing with overlapping/duplicate content. As illustrated, a user/publisher may chose to include all content in the publication, regardless of overlap/duplication considerations. Alternatively, a user/publisher may elect to utilize the most recent content, regardless of provider; to utilize content from the primary source(s) only; to utilize all content, providing a link from a head/mid- line for secondary provider content to primary provider content; to provide a link from an introductory paragraph of secondary provider content to primary provider content; and the like. This information is received and maintained in a publication profile data structure 640, described above.
Returning to Fig. 22, the automated document generation facilities of document server 100 utilize information store in publication profile(s) to establish publication schedules. In block 5506, a determination of whether an indication to publish has been received, e.g., from the document generation facilities based, at least in part, on the publication profile(s) 640. If such an indication has been received, virtual editor 120 acquires content objects from content providers in accordance with the publication profile 640. According to one embodiment, once virtual editor 120 has retrieved the content objects and constructed the publication in accordance with the layout criteria ofthe publication profile, the usage requirements ofthe contract administration information, and other key contributors, publishing agent 504 is invoked to schedule publication and delivery ofthe constructed document, as described above.
In accordance with the illustrated example embodiment, once virtual editor has retrieved the content objects, an initial publication is created and provided to the producer for editorial input, block 5510. The initial publication, sometimes referred to as an editorial mock-up, is created according to the publication profile layout criteria, contract administration information, content provider usage criteria, key contributor information and the like, for review by the producer. According to one implementation, the editorial mock-up is sent to the producer via an email message, while in alternate implementations, the producer logs into the document server 100 during a pre-defined editorial period during which the producer can manipulate the content/format/layout ofthe mock-up publication. In block 5512, document delivery server 100 receives edits from the producer, if any, and makes changes to the publication to reflect the producers editorial input. In block 1445, the document is sent to publishing agent 504 to publish the publication in accordance with the producer's editorial input, and the final publication is created. An example publication created in accordance with a publication profile 640 is illustrated with reference to Fig. 24.
As introduced above, the virtual editor 506 of edit module 120 includes analysis/wrapper agent 522 to analyze and reduce occurrences of overlapping/duplicate content objects from a publication, in accordance with user preferences. An example method for reducing the occurrences of overlapping/duplicate content objects is presented with reference to Fig. 25. Fig. 25 illustrates a flow chart of an example method for reducing the occurrence of overlapping/duplicate content objects in a publication, according to one aspect ofthe present invention. In accordance with the illustrated example embodiment of Fig. 25, the method 7000 begins with block 7002 wherein virtual editor 506 receives content objects associated with multiple publication sections and/or multiple content providers. As introduced above, virtual editor 506 selectively invokes an instance of analysis/wrapper module 522 to create one or more data structure(s) from the received objects, organized by section or provider. According to one example implementation, a two-dimensional matrix is used wherein each provider and/or section of a publication is assigned to a column within the matrix, the rows populated by content objects (or links thereto) associated with the provider/section. An example of just such a matrix is provided with reference to Fig. 26.
Turning briefly to Fig. 26, an example sort matrix 8000 is provided, wherein the columns are assigned to a particular content provider (or section of a publication), each row containing a title, key word, or other link to an individual content object. In accordance with the illustrated example of Fig. 26, four (4) columns are illustrated denoting four content providers, four sections of a received publication, or a combination ofthe two, each section comprising six (6) content objects (or links thereto). It should be appreciated that the number of columns and rows is determined, at least in part, by the number of content providers/sections and articles per content provider/section. That is, matrices of greater or lesser complexity are anticipated within the scope and spirit ofthe present invention.
Returning to Fig. 25 and, in particular, block 7006, analysis/wrapper agent 522 prioritizes the columns and/or rows ofthe matrix in order of provider/section precedence. According to the illustrated example implementation of Fig. 26, the top- left corner represents the highest priority ofthe matrix, and the relative priority goes down to the right and bottom ofthe matrix.
In block 7008, analysis/wrapper agent 522 traverses the content objects to identify overlapping/duplicate content objects. According to the illustrated example implementation of Fig. 25, analysis/wrapper 522 analyzes objects from higher precedence to lower precedence to identify redundant and/or similar content objects within and among columns (i.e., providers/sections) ofthe matrix. In block 7010, if a match is found, analysis/wrapper agent 522 determines whether the publication profile preferences permit the lower priority occurrence(s), block 7012. As introduced above, analysis/wrapper agent 522 doesn't simply eliminate all occurrences of overlapping/duplicate content objects, but rather applies an intelligent editorial rules to each situation to best reflect the publication preferences ofthe user. In this regard, a number of factors are utilized to determine how to best handle identified redundancies. According to one implementation ofthe present invention, analysis/wrapper agent 522 utilizes one or more of (1) column precedence; (2) articles per section; and/or (3) acceptable duplication level settings to determine how to handle redundancies.
The column precedence parameter indicates that the highest ranking column (reflecting provider or section preferences) has an option of using a "trump" precedence during the comparison and reduction algorithm of Fig. 25. That is, when a duplicate is encountered, the ranking ofthe article is not used, Rather, the article in the higher ranking column ofthe matrix is selected. According to one implementation, this is an optional precedence rule that can be enabled disabled on a per-section basis. According to one implementation, this attribute is selectively enabled/disabled by selection ofthe Primary Source Only in the Duplicate Source Resolution field of UI 6000. The articles per section attribute establishes the number of articles that need to appear from each provider and/or in each section ofthe publication. This attribute can be defined by a user/publisher in establishing the publication profile. Alternatively, virtual editor 506 may well dynamically establish the articles per section attribute based, at least in part, on the number of content objects received. According to one implementation ofthe present invention, any articles below the articles-per-section threshold in a matrix column after the matrix sort is completed are disregarded for publication purposes.
The duplication level enables the user/publisher to set a level of minimization for duplication (e.g., via UI 6000). According to one implementation, the duplication level reflects the number of ranked articles that can be placed in any section before considering duplication. When the duplication level is zero (0), no duplication is allowed. When the duplication level is equal to one (1), however, then the top ranked articles in each column can be published without consideration of duplication, i.e., lead stories can be duplicated). It is to be appreciated that although the duplication level is set to one, additional user and/or publication profile preferences regarding publication formatting may nonetheless edit the way such duplicate content appears. In one embodiment, for example, duplicate articles from secondary sources are provide a title and/or an introductory paragraph, with a link to the content from the primary source(s).
In block 7014, analysis/wrapper agent 522 of virtual editor 506 determines whether publication of redundant/similar content objects is permitted, give the settings above. If so, analysis/wrapper agent 522 in combination with layout manager 526 format the lower priority occurrences to reference higher priority occurrence(s), in accordance with user and/or publication profile preferences. If, in block 7014 duplication is not permitted, analysis/wrapper agent 522 removes the lower priority occurrences from the matrix.
In block 7020, analysis/wrapper agent 522 determines whether the articles- per-section limit has been reached. If so, the process ends. If not, the process continues with block 7008, as analysis/wrapper agent 522 analyzes additional objects, in order of precedence, to identify overlapping/duplicate content. In this regard, Fig. 25 provides an iterative, matrix sort ofthe received content to reduce and/or eliminate redundant material in accordance with user/publisher preferences denoted in one or more of a user profile, publication profile, and the like.
Having introduced the teachings of this aspect ofthe present invention above, Figs, 26-30 graphically illustrate multiple iterations of method 7000 applied to an example matrix 8000 populated with key-word characterization of content objects. For purposes of illustration, SI has column precedence and a duplication level of one (1) is applied to the matrix. Thus, during an initial pass of row 1, analysis/wrapper agent 522 identifies a duplicate keyword Peace 8002, 8004 (duplicates denoted in italics). Ordinarily, with SI having column precedence, the S3 Peace content object 8004 would be removed. In this case, however, the duplication level is set to one (1), thus duplicates among the highest ranked content objects between columns are ignored.
In Fig. 27, an analysis ofthe second row of matrix 8000 is performed, whereupon analysis/wrapper agent 522 identifies a duplication of keyword Barak 8006, 8008 between columns SI and, S3. Because of column precedence, the S3 content object Barak 8008 is removed from the matrix, and the lower priority content objects of column S3 each move up one position. The lowest priority position within S3 is populated with a NULL value/pointer (Fig. 28).
Insofar as the articles-per-section threshold has not yet been reached (for purposes of illustration, we will simply traverse the entire matrix), the analysis continues. In Fig. 29, a conflict among keywords Bosnia (8010, 8012) is identified by analysis/wrapper agent 522 between columns SI and S3. In this instance, column precedence dictates, as Bosnia (8010) is removed from column S3. Again, analysis/wrapper agent 522 modifies column S3 to reflect the removal ofthe overlapping/duplicate content (Bosnia 8010) by increasing the effective rank of all lower priority content within the column, and inserting a NULL value/pointer in the lowest priority position ofthe column.
With reference to Fig. 30, further analysis of matrix 8000 identifies a redundancy with respect to the Bush content objects 8014 and 8016. Again, because the duplication level is set to one (1), the highest ranked article in a column of matrix 8000 will not be removed. However, the column precedence rule would otherwise dictate that SI content objects would remain over all other redundancies. In accordance with the illustrated example embodiment, the duplication level trumps the column precedence (i.e., the Bush content object was more relevant to column S2, and will therefore stay in column S2 (which may, as noted above, represent a section of the publication)). Thus, in Fig. 30, content object 8014 is removed from SI, and replaced with a NULL object. Further analysis of matrix 8000 reveals no further redundancies, and the analysis is complete.
Note, however, that were the articles-per-section value set to, for example, three (3), analysis ofthe content would have halted after each column and at least three rows of unique content objects (depending, of course, on the duplication level). In such a case, where S 1 would not have published the Bosnia content object, it would have been preserved in column S3. That is, the analysis would have concluded before the redundancy between SI and S3 was identified.
According to one implementation, the created document is published in a publication catalog, wherein users can browse and select publications of interest for download and/or subscription.
What is claimed is:

Claims

1. A method comprising: receiving a plurality of content objects; identifying overlapping and/or duplicate content objects; and reducing the occurrence of overlapping and/or duplicate content objects in accordance with user preferences.
2. A method according to claim 1, wherein the plurality of content objects are received from a plurality of content providers.
3. A method according to claim 2, further comprising: populating the received content objects within a matrix according to content provider, each column ofthe matrix containing rows of content objects associated with a particular content provider.
4. A method according to claim 3, further comprising: prioritizing content objects within columns ofthe matrix based, at least in part, on user preferences of content provider.
5. A method according to claim 3, wherein receiving content objects comprises: reading at least a subset ofthe content object; identifying keywords characterizing the content object; and populating each cell ofthe matrix with a keyword characterizing an associated content object.
6. A method according to claim 5, wherein identifying overlapping/duplicate content objects comprises: detecting multiple occurrences of keywords within cells ofthe matrix.
7. A method according to claim 5, wherein reducing the occurrence of overlapping/duplicate content objects comprises: identifying which ofthe overlapping/duplicate content objects has precedence as a primary content object; and retaining the primary content object while removing or reducing other overlapping/duplicate content object(s) in accordance with user preferences.
8. A method according to claim 7, wherein user preferences are maintained in one or more of a user profile, publication profile, and the like.
9. A method according to claim 5, wherein the subset ofthe content object comprises one or more of a title, a first paragraph, and/or meta-data ofthe content object.
10. A method according to claim 5, wherein each column ofthe matrix is populated in order of priority based, at least in part, on content provider preferences.
PCT/US2001/018695 2000-06-07 2001-06-07 A system and related methods for dynamically selecting publication content WO2001095140A2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE10196300T DE10196300T1 (en) 2000-06-07 2001-06-07 A system and associated procedures for the dynamic selection of publication content
MXPA02012137A MXPA02012137A (en) 2000-06-07 2001-06-07 A system and related methods for dynamically selecting publication content.
JP2002502624A JP2004511836A (en) 2000-06-07 2001-06-07 How to select content
CA002412467A CA2412467A1 (en) 2000-06-07 2001-06-07 A system and related methods for dynamically selecting publication content
AU2001266818A AU2001266818A1 (en) 2000-06-07 2001-06-07 A system and related methods for dynamically selecting publication content
BR0111638-0A BR0111638A (en) 2000-06-07 2001-06-07 Method for dynamic selection of publication content

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US58967800A 2000-06-07 2000-06-07
US09/589,678 2000-06-07

Publications (2)

Publication Number Publication Date
WO2001095140A2 true WO2001095140A2 (en) 2001-12-13
WO2001095140A3 WO2001095140A3 (en) 2003-08-21

Family

ID=24359027

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/018695 WO2001095140A2 (en) 2000-06-07 2001-06-07 A system and related methods for dynamically selecting publication content

Country Status (9)

Country Link
JP (1) JP2004511836A (en)
KR (1) KR20030007915A (en)
CN (1) CN1468402A (en)
AU (1) AU2001266818A1 (en)
BR (1) BR0111638A (en)
CA (1) CA2412467A1 (en)
DE (1) DE10196300T1 (en)
MX (1) MXPA02012137A (en)
WO (1) WO2001095140A2 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1322095A2 (en) * 2001-12-20 2003-06-25 Koninklijke KPN N.V. Method and device for information selection
WO2008021506A1 (en) * 2006-08-17 2008-02-21 Google Inc. Realizing revenue from advertisement placement
US7403949B2 (en) 2005-08-17 2008-07-22 International Business Machines Corporation Elimination of redundant objects in storage systems
US7610291B2 (en) 2005-08-17 2009-10-27 International Business Machines Corporation Logical grouping and management of redundant objects in storage systems
US7747577B2 (en) 2005-08-17 2010-06-29 International Business Machines Corporation Management of redundant objects in storage systems
WO2010144350A1 (en) * 2009-06-10 2010-12-16 Skiff, Llc System and method for providing sub-publication content in an electronic device
US8611927B2 (en) 2006-01-19 2013-12-17 Locator Ip, Lp Interactive advisory system
US8634814B2 (en) 2007-02-23 2014-01-21 Locator IP, L.P. Interactive advisory system for prioritizing content
US8832121B2 (en) 2005-02-02 2014-09-09 Accuweather, Inc. Location-based data communications system and method
US8909679B2 (en) 2000-07-24 2014-12-09 Locator Ip, Lp Interactive advisory system
US9392074B2 (en) 2007-07-07 2016-07-12 Qualcomm Incorporated User profile generation architecture for mobile content-message targeting
US9398113B2 (en) 2007-07-07 2016-07-19 Qualcomm Incorporated Methods and systems for providing targeted information using identity masking in a wireless communications device
US11150378B2 (en) 2005-01-14 2021-10-19 Locator IP, L.P. Method of outputting weather/environmental information from weather/environmental sensors

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788696B2 (en) * 2003-10-15 2010-08-31 Microsoft Corporation Inferring information about media stream objects
US20080103906A1 (en) * 2006-10-26 2008-05-01 Gurvinder Singh Online publishing of multimedia content
US9430462B2 (en) * 2013-07-30 2016-08-30 Edanz Group Ltd. Guided article authorship
CN104123269B (en) * 2014-07-16 2016-10-05 华中科技大学 A kind of publication semi-automatic generation method based on template and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
US5913208A (en) * 1996-07-09 1999-06-15 International Business Machines Corporation Identifying duplicate documents from search results without comparing document content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761662A (en) * 1994-12-20 1998-06-02 Sun Microsystems, Inc. Personalized information retrieval using user-defined profile
US5913208A (en) * 1996-07-09 1999-06-15 International Business Machines Corporation Identifying duplicate documents from search results without comparing document content

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9560480B2 (en) 2000-07-24 2017-01-31 Locator Ip, Lp Interactive advisory system
US9204252B2 (en) 2000-07-24 2015-12-01 Locator IP, L.P. Interactive advisory system
US9668091B2 (en) 2000-07-24 2017-05-30 Locator IP, L.P. Interactive weather advisory system
US9998295B2 (en) 2000-07-24 2018-06-12 Locator IP, L.P. Interactive advisory system
US10411908B2 (en) 2000-07-24 2019-09-10 Locator IP, L.P. Interactive advisory system
US11108582B2 (en) 2000-07-24 2021-08-31 Locator IP, L.P. Interactive weather advisory system
US9197990B2 (en) 2000-07-24 2015-11-24 Locator Ip, Lp Interactive advisory system
US9191776B2 (en) 2000-07-24 2015-11-17 Locator Ip, Lp Interactive advisory system
US9661457B2 (en) 2000-07-24 2017-05-23 Locator Ip, Lp Interactive advisory system
US8909679B2 (en) 2000-07-24 2014-12-09 Locator Ip, Lp Interactive advisory system
US9554246B2 (en) 2000-07-24 2017-01-24 Locator Ip, Lp Interactive weather advisory system
US10021525B2 (en) 2000-07-24 2018-07-10 Locator IP, L.P. Interactive weather advisory system
EP1322095A2 (en) * 2001-12-20 2003-06-25 Koninklijke KPN N.V. Method and device for information selection
EP1322095A3 (en) * 2001-12-20 2004-06-23 Koninklijke KPN N.V. Method and device for information selection
US11150378B2 (en) 2005-01-14 2021-10-19 Locator IP, L.P. Method of outputting weather/environmental information from weather/environmental sensors
US8832121B2 (en) 2005-02-02 2014-09-09 Accuweather, Inc. Location-based data communications system and method
US8554744B2 (en) 2005-08-17 2013-10-08 International Business Machines Corporation Elimination of redundant objects in storage systems
US8131669B2 (en) 2005-08-17 2012-03-06 International Business Machines Corporation Management of redundant objects in storage systems
US7958152B2 (en) 2005-08-17 2011-06-07 International Business Machines Corporation Elimination of redundant objects in storage systems
US7895165B2 (en) 2005-08-17 2011-02-22 International Business Machines Corporation Management of redundant object in storage systems
US7747577B2 (en) 2005-08-17 2010-06-29 International Business Machines Corporation Management of redundant objects in storage systems
US7610291B2 (en) 2005-08-17 2009-10-27 International Business Machines Corporation Logical grouping and management of redundant objects in storage systems
US7403949B2 (en) 2005-08-17 2008-07-22 International Business Machines Corporation Elimination of redundant objects in storage systems
US9094798B2 (en) 2006-01-19 2015-07-28 Locator IP, L.P. Interactive advisory system
US9210541B2 (en) 2006-01-19 2015-12-08 Locator IP, L.P. Interactive advisory system
US10362435B2 (en) 2006-01-19 2019-07-23 Locator IP, L.P. Interactive advisory system
US9215554B2 (en) 2006-01-19 2015-12-15 Locator IP, L.P. Interactive advisory system
US8611927B2 (en) 2006-01-19 2013-12-17 Locator Ip, Lp Interactive advisory system
WO2008021506A1 (en) * 2006-08-17 2008-02-21 Google Inc. Realizing revenue from advertisement placement
US10021514B2 (en) 2007-02-23 2018-07-10 Locator IP, L.P. Interactive advisory system for prioritizing content
US9237416B2 (en) 2007-02-23 2016-01-12 Locator IP, L.P. Interactive advisory system for prioritizing content
US10616708B2 (en) 2007-02-23 2020-04-07 Locator Ip, Lp Interactive advisory system for prioritizing content
US8634814B2 (en) 2007-02-23 2014-01-21 Locator IP, L.P. Interactive advisory system for prioritizing content
US9596317B2 (en) 2007-07-07 2017-03-14 Qualcomm Incorporated Method and system for delivery of targeted information based on a user profile in a mobile communication device
US9497286B2 (en) 2007-07-07 2016-11-15 Qualcomm Incorporated Method and system for providing targeted information based on a user profile in a mobile environment
US9485322B2 (en) 2007-07-07 2016-11-01 Qualcomm Incorporated Method and system for providing targeted information using profile attributes with variable confidence levels in a mobile environment
US9398113B2 (en) 2007-07-07 2016-07-19 Qualcomm Incorporated Methods and systems for providing targeted information using identity masking in a wireless communications device
US9392074B2 (en) 2007-07-07 2016-07-12 Qualcomm Incorporated User profile generation architecture for mobile content-message targeting
WO2010144350A1 (en) * 2009-06-10 2010-12-16 Skiff, Llc System and method for providing sub-publication content in an electronic device

Also Published As

Publication number Publication date
BR0111638A (en) 2006-01-24
CN1468402A (en) 2004-01-14
DE10196300T1 (en) 2003-12-04
KR20030007915A (en) 2003-01-23
AU2001266818A1 (en) 2001-12-17
MXPA02012137A (en) 2003-07-14
CA2412467A1 (en) 2001-12-13
JP2004511836A (en) 2004-04-15
WO2001095140A3 (en) 2003-08-21

Similar Documents

Publication Publication Date Title
EP1101171B1 (en) A multi-sourced extensible publishing and editorial system and related methods
US6981214B1 (en) Virtual editor and related methods for dynamically generating personalized publications
EP1108240B1 (en) An agent and method for dynamically scheduling publication in an automated document delivery system
EP1217566A1 (en) A document delivery system with integrated feedback generation facilities
WO2001095140A2 (en) A system and related methods for dynamically selecting publication content
US7025346B1 (en) System and related methods for automatically determining the media count in a printing device media tray
EP1108324B1 (en) A system and related methods for automatically determining media type in a printing device media tray
EP1139258A1 (en) A system and related methods for tracking and managing content distribution
KR20230022361A (en) Method for dynamically selecting publication contents
MXPA01001482A (en) A multi-sourced extensible publishing and editorial system and related methods

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

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

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR 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
WWE Wipo information: entry into national phase

Ref document number: 2001266818

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: IN/PCT/2002/1399/KOL

Country of ref document: IN

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 2412467

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 018108377

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020027016713

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: PA/a/2002/012137

Country of ref document: MX

WWP Wipo information: published in national office

Ref document number: 1020027016713

Country of ref document: KR

122 Ep: pct application non-entry in european phase
RET De translation (de og part 6b)

Ref document number: 10196300

Country of ref document: DE

Date of ref document: 20031204

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10196300

Country of ref document: DE

ENP Entry into the national phase

Ref document number: PI0111638

Country of ref document: BR