US20020184367A1 - Opportunity analysis system and method for updating a computer inventory - Google Patents
Opportunity analysis system and method for updating a computer inventory Download PDFInfo
- Publication number
- US20020184367A1 US20020184367A1 US10/202,164 US20216402A US2002184367A1 US 20020184367 A1 US20020184367 A1 US 20020184367A1 US 20216402 A US20216402 A US 20216402A US 2002184367 A1 US2002184367 A1 US 2002184367A1
- Authority
- US
- United States
- Prior art keywords
- client computer
- product
- opportunity
- marketing
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0242—Determining effectiveness of advertisements
- G06Q30/0244—Optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0242—Determining effectiveness of advertisements
- G06Q30/0245—Surveys
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
Definitions
- the present invention relates generally to computer systems and computer networks. More specifically, the present invention relates to a method and system for marketing products based upon the detection and analysis of software and hardware components or peripherals present on a client computer.
- a software manufacturer may elect to collect preferences of consumers and potential consumers through a survey. Such a survey can be conducted through the mail, by phone interview, and/or through a Web site. For purposes of clarity in this example, this disclosure will use the example of a survey posted on a Web site.
- the software manufacturer places a survey on the Web site which is accessed and completed by the consumer.
- the software manufacturer generally provides some sort of incentive for the consumer to complete the survey. Results of the survey may be collected, stored, aggregated, and analyzed for the purpose of determining the behavior of the consumer.
- the software manufacturer may choose to send a print advertisement, email communication, or other marketing communication to the consumer based upon the answers to the questions provided on the survey.
- the marketing communication may be general, based upon grouping the responses into demographic groups, or may be individualized utilizing a knowledge-based determination of the consumer's preferences based upon that consumer's responses.
- a consumer may purchase a new hardware item for a computer system for which the manufacturer includes a registration information packet.
- This registration information packet could be in the form of a registration card, requesting from the user of the computer system such information as name, address, and phone number and containing a number of questions designed to give the manufacturer insight into the consumer's purchasing behavior, profession, income, and so on.
- Hardware manufacturers may include an electronic version of the registration packet or may link to the registration packet to the Internet, where the information can be collected immediately into some sort of database storage. When the user returns the registration information to the manufacturer, the manufacturer will then have a record of the manufacturer's product purchased by the user in addition to any of the supplementary information requested and/or supplied by the consumer.
- the manufacturer can choose to target marketing communications to this user.
- This technique of collecting registration information is not restricted to hardware manufacturers. Indeed, this collection and use of registration data for marketing purposes is common in all types of business, including products such as software, consumer electronics, appliances, and many other products not related to computer systems.
- FIG. 1 shows a system 100 for updating diverse software products on a user computer system similar to the method of Ser. No. 08/660,488.
- System 100 comprises a plurality of vendor computer systems 102 communicatively coupled via the Internet 106 to a service provider computer system 106 containing an update information database 108 , to which a user computer 110 containing an update application is also coupled.
- Service provider computer system 106 comprises, among other elements described in Ser. No. 08/660,488, an update information database 108 .
- Update information database 108 contains information, such as update name, version, location, installation instructions and the like, about products for which updates are available.
- Client computer 110 comprises an update application 112 for periodically communicating with the service provider computer system 106 for checking against the contents of the client computer 110 products specified in the update information database 108 . If a product specified in the product information database 108 is identified on the client computer 110 , the client computer is placed in communication with the relevant vendor computer system 102 to download or install the software update.
- a system and method are disclosed for conducting an opportunity analysis for updating a computer inventory. Initially, a client computer inventory associated with a client computer is generated based on a scan. Next, an opportunity analysis is performed to identify update opportunities for the client computer inventory. In use, the opportunity analysis involves rules of a rule knowledge base.
- FIG. 1 is an illustration of a system for providing diverse software product updates to a client computer according to the prior art
- FIG. 2 shows a system for marketing products according to a preferred embodiment
- FIGS. 3 - 1 and 3 - 2 are flowcharts of the overall method of providing marketing information in accordance with a preferred embodiment
- FIG. 4 is an illustration of a client computer following the execution of the method of a preferred embodiment
- FIG. 5 is a diagram of a product knowledge base according to a preferred embodiment
- FIG. 6 is an example of a user profile in accordance with a preferred embodiment
- FIG. 7 shows the elements of an inventory database on client computer according to a preferred embodiment
- FIG. 8 is an illustration of the process of generating an inventory database according to a preferred embodiment
- FIG. 9 is a flowchart of the process of executing a scan method to create the inventory database according to a preferred embodiment
- FIG. 10 is a block diagram of a marketing knowledge base according to a preferred embodiment
- FIG. 11 is an illustration of the process of detecting marketing opportunities according to a preferred embodiment
- FIG. 12 shows a list of marketing opportunities according to the preferred embodiment.
- FIG. 13 shows a sample display of marketing information to a user based upon the configuration of a client computer.
- a system and method for actively marketing products to a user of a client computer that is generally coupled over a network to a service provider computer system are disclosed.
- the following description is presented to enable any person skilled in the art to make and use the invention. Descriptions of specific embodiments and applications are provided only as examples and various modifications will be readily apparent to those skilled in the art. The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Thus, the present invention is to be accorded the widest scope encompassing numerous alternatives, modifications and equivalents consistent with the principles and features disclosed herein. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail so as not to unnecessarily obscure the present invention.
- FIG. 2 shows the architecture of a system 200 in accordance with a preferred embodiment.
- a plurality of vendor computer systems 202 is communicatively coupled by a network 204 , such as the Internet, to a service provider computer system 206 and to a client computer 208 .
- a network 204 such as the Internet
- service provider computer system 206 hosts an active marketing host program 210 , a product information database 212 , a marketing rule knowledge base 214 , and an opportunity detection object 216 .
- Opportunity detection object 216 further comprises a scan method or engine 218 , an opportunity analysis method or engine 220 , and a presentation method or engine 222 .
- the client computer 208 comprises a plurality of hardware items or peripherals 224 and an addressable memory 226 . Resident in the addressable memory may be a plurality of client applications 228 , a plurality of drivers 230 , a registry 232 , a plurality of configuration files 234 , and an operating system 236 . It is important to note that hardware items or peripherals 224 may be any hardware device, for example, one that is generally connected to the client computer 208 such as a hard disk or a monitor, or one that may be temporarily connected to the client computer 208 , such as a Palm Computing® connected organizer or an Iomega® JAZ drive.
- the product information database 212 contains information regarding one or more products for which a marketing opportunity exists.
- the product information database 212 is downloaded to the client computer upon execution of the active marketing host program 210 .
- the downloading is initiated by the user at the client computer.
- the product information database 212 is further described below with reference to FIG. 5.
- the marketing rule knowledge base 214 contains for each product in the product information database 212 information about the marketing opportunities for that product, including a set of conditions that indicates a match for a marketing opportunity.
- the marketing rule knowledge base 214 is downloaded to the client computer upon execution of the active marketing host program 210 .
- the marketing rule knowledge base 214 is described in further detail with reference to FIG. 10.
- the opportunity detection object 216 contains the overall operation of a method for marketing based upon the detection and analysis of files and/or other configurations, hardware or software, present on the client computer.
- the opportunity detection object 216 is preferably downloaded to the client computer 208 upon execution of the active marketing host program 210 and may be executed locally thereon in a preferred embodiment.
- the opportunity detection object 216 is installed into the addressable memory 226 of the client computer 208 , either in whole or in parts, preferably with a unique identifier.
- the opportunity detection object 216 may be implemented as Active X controls, Java applets, Perl scripts or any other suitable client-side applications.
- the opportunity detection object 216 may be instantiated by referring to its unique identifier or the unique identifiers of its component parts through an Application Programming Interface (API).
- API Application Programming Interface
- a Web browser on the client computer 208 may read a Web page and encounter a VBScript directive to run the opportunity detection object 216 using its unique identifier. This VBScript directive may be interpreted through the Web browser's API and the opportunity detection object 216 is executed on the client computer 208 .
- the methods 218 , 220 , 222 of the opportunity detection object 216 collectively serve to scan the current configuration of the client computer 208 , analyze the current configuration of the client computer 208 for marketing opportunities, and present marketing information to a user of the client computer 208 .
- the methods 218 , 220 , 222 of the opportunity detection object 216 may be called separately during the execution of the opportunity detection object 216 .
- the scan method 218 analyzes the client computer 208 to detect the presence of hardware items 224 , client applications 228 or other properties of the client computer 208 , such as the operating system 236 . If the scan method 218 detects the parameters specified in the product information database 212 indicating the presence of a product on the client computer 208 , the scan method 218 optionally records the match. The scan method 218 is described in further detail with reference to FIG. 8.
- the opportunity analysis method 220 analyzes the results of the scan method 218 against data in the marketing rule knowledge base 214 .
- the opportunity analysis method 220 determines whether the appropriate conditions exist for marketing a particular product or type of product to the user of the client computer 208 .
- the opportunity analysis method 220 optionally records information for the match.
- the presentation method 222 analyzes the results of the opportunity analysis method 220 and provides information regarding related products to the user of the client computer 208 . It is important to note that the presentation method 222 may be executed each time the client computer 208 connects to the service provider computer system 206 in order to provide contextual advertising to the user through, for example, the execution of a client-side control that displays advertising campaigns relevant to the configuration of the client computer 208 connected to the service provider computer system 206 .
- FIGS. 3 - 1 and 3 - 2 illustrate an overall operation 300 of the method for marketing products and/or services to the user at the client computer, preferably utilizing the system as shown in and described with reference to FIG. 2.
- a service provider compiles related product marketing information onto the service provider computer system in the form of the product information database and the marketing information database. This information may be compiled by experts, either manually or electronically, preferably while utilizing product presence conditions that indicate the presence of a product on the client computer and marketing opportunity conditions on the client computer that indicate an opportunity to market a product to the user of the client computer. Typically, the conditions are predetermined and stored in the service provider computer system.
- the client computer connects to a Web site located on the service provider computer system.
- the service provider may request the user to initiate the scan of the client computer by providing a link to initiate the active marketing host program resident on the service provider computer system.
- the act of visiting the service provider computer system would initiate the active marketing host program, which would be a more intrusive way of marketing products and/or services to the user of the client computer.
- the user of the client computer completes a user profile at step 306 .
- the implementation of the user profile is flexible.
- the user profile may include a number of predefined profile options provided by the service provider computer system from which the user may select.
- the user profile may comprise a series of questions designed to elicit further stated preference information from the user of the client computer, such as user address, phone number, ZIP code, and the like.
- the user profile may be a combination of predefined profile and stated preference elements.
- the user profile or relevant elements thereof are optionally downloaded to the client computer for use by the opportunity detection object, preferably by the opportunity analysis method.
- the active marketing host program resident on the service provider computer system analyzes the client computer to determine whether the current version of the opportunity detection object is found on the client computer. If the current version of the opportunity detection object is not found on the client computer, the version of the opportunity detection object resident on the service provider computer system may be downloaded to the client computer, at step 310 . Alternately, if the current version of the opportunity detection object is found on the client computer, the opportunity detection object is not downloaded. In another aspect of a preferred embodiment (not shown), the user of the client computer may be informed by means of a message transmitted to the client computer whether or not the opportunity detection object is current and given the option of executing the download step 310 if the opportunity detection object is not current. An affirmative response would result in downloading the opportunity detection object to the client computer.
- the opportunity detection object may be downloaded in a single connection between the client computer and the service provider computer system or may be downloaded in multiple connections across the network.
- the active marketing host program checks to determine whether the current version of the product information database is detected on the client computer at step 312 . If the current version of the product information database is not found on the client computer, the version of the product information database resident on the service provider computer system is optionally downloaded to the client computer at step 314 . If the current version of the product information database is found on the client computer, the product information database is not downloaded.
- step 316 begins the analysis of the client computer to determine which products in the product information database are present on the client computer.
- the analysis of the client computer is performed on the client computer using the opportunity detection object on the client computer.
- an alternate preferred embodiment performs the analysis across the network using procedures stored and executed on the service provider computer system to analyze the client computer.
- the scan method is executed to analyze the client computer and create an inventory database (reference numeral 402 as shown and to be described with reference to FIG. 4).
- This inventory database is stored on the client computer and is described in further detail below with reference to FIG. 7.
- the inventory database remains on the client computer and is not transmitted across the network to a receiving computer system in order to preserve the privacy of the user.
- the service provider desires to provide user client configuration directly to vendors
- the inventory database may be transmitted to the service provider computer system or to one or more vendor computer systems.
- a preferred embodiment of the scan method is detailed in reference to FIGS. 8 and 9.
- the active marketing host program searches for the presence of the current version of the marketing rule knowledge base on the client computer. If the current version of the marketing rule knowledge base is not found on the client computer, the marketing rule knowledge base on the service provider computer system is downloaded to the client computer in step 322 . If the current version of the marketing rule knowledge base is found on the client computer, the marketing rule knowledge base is not downloaded.
- the marketing rule knowledge base may be downloaded as a single file containing all marketing opportunities in a single connection between the client computer and the service provider computer system or it may be downloaded as multiple files based on the products contained in the inventory database that may be downloaded separately using multiple connections across the network.
- Each of the analyzing the client computer steps 308 , 312 , and 318 , and the corresponding downloading steps 310 , 314 , and 322 need not be executed in the order described and may be completed in any suitable order.
- each of the analyzing steps 308 , 312 , and 318 may be completed and then any resultant downloading steps may then be executed, either in separate steps or in a single combined downloading step.
- each of steps 308 , 312 , and 318 of analyzing the client computer to determine whether the current version of the opportunity detection object, the product information database, and the marketing rule knowledge base, respectively, is found on the client computer, as well as the corresponding step of downloading such data to the client computer in steps 310 , 314 , and 322 , respectively, may be optional.
- the user of the client computer may alternatively be informed by means of a message transmitted to the client computer whether or not a particular object or database is current and, if it is not current, the user is given the option of executing the corresponding download step 310 , 314 , or 322 . An affirmative response would result in the execution of the download step 310 , 314 , or 322 to the client computer 208 .
- the scanning, opportunity analysis, and presentation method or engine of the opportunity detection object may each be optionally downloaded.
- the opportunity detection object be downloaded or not downloaded to the client computer as a whole, each of the components of the opportunity detection object may be individually downloaded or not downloaded.
- the scanning engine can be downloaded while the opportunity analysis engine and the presentation engine are not downloaded to the client computer.
- the opportunity analysis method is executed at step 324 .
- the inventory database is analyzed against the marketing rule knowledge base to create a list of marketing opportunities (reference numeral 404 as shown and to be described with reference to FIG. 4).
- the opportunity analysis method identifies a marketing opportunity for a related product by analyzing the information contained in the marketing knowledge base pertaining to the presence or absence of one or many products in the inventory database. The opportunity analysis method is described in further detail below with reference to FIG. 11.
- the presentation method executes to present the user of the client computer with marketing information regarding products recorded in the list of marketing opportunities.
- the presentation method will be described in further detail with reference to FIG. 13.
- the user may be presented with one or many types of information regarding the marketing opportunity identified based upon the configuration of the client computer at step 328 including, but not limited to, an option to purchase products, advertisements pertaining to the products, further marketing information about the products, an opportunity to search for further related products, and the like.
- FIG. 4 schematically illustrates the contents of the client computer 208 at the conclusion of the process 300 of a preferred embodiment as described in FIGS. 3 - 1 and 3 - 2 .
- the hardware items 224 , client applications 226 and other items originally comprising the addressable memory 226 of the client computer 208 preferably remain unaltered on the client computer 208 .
- the client computer 208 preferably further contains the product information database 212 , the marketing rule knowledge base 214 , and the opportunity detection object 216 , and more preferably the current versions thereof, as downloaded by the active marketing host program to the client computer 208 , described above with reference to FIGS. 3 - 1 and 3 - 2 .
- the client computer 208 preferably contains the inventory database 402 as generated by the opportunity detection object as well as the list of marketing opportunities 404 as generated by the presentation method, described above with reference to FIGS. 3 - 1 and 3 - 2 .
- the user profile 400 is completed by the user of the client computer 208 .
- This user profile is optionally downloaded to the client computer 208 and is used by the opportunity analysis method 220 to further define marketing opportunities on the client computer 208 . It is important to note that any of the methods 218 , 220 , 222 of the opportunity detection object 216 may optionally utilize the user profile 400 to further determine information about the user of the client computer 208 .
- the inventory database 402 is created by the scan method 218 (executed at step 318 illustrated in FIG. 3- 2 ) using instructions embedded in the scan method 218 itself and optionally using further information compiled in the product information database 212 .
- the list of marketing opportunities 404 is generated by the opportunity analysis method 220 by comparing the conditions in the marketing rule knowledge base 214 to the inventory database 402 on the client computer 208 .
- Product Information Database 212 Product Summary Files (PSFs)
- FIG. 5 illustrates an example of the product information database 212 in accordance with a preferred embodiment.
- the products illustrated in FIG. 5 are software program A, software program B, software program C, hardware item D, hardware item E, hardware item F, hardware item G, and hardware H.
- the product information database 212 comprises product summary or signature files (PSFs) for each product.
- PSF product summary or signature files
- Each PSF comprises a detection command 500 and a product signature.
- the detection command 500 for each PSF comprises a command sub-component of the scan method that, like the opportunity detection object, may be implemented as Active X controls, Java applets, Perl scripts or any other suitable client-side application.
- the product signature comprises the response and/or values that indicate the presence of a product on the client computer. It is important to note that a PSF may comprise multiple detection commands 500 and/or multiple product signatures.
- FIG. 5 illustrates a PSF for each of software programs A-C 502 , 504 , 506 and a PSF for each of hardware items D-H 508 , 510 , 512 , 514 , and 538 .
- the executable-type product signature 516 generally comprises executable file properties that indicate the existence of a product on the client computer 208 . Examples of executable file properties illustrated are: an executable name 522 , an executable file size 524 , and an executable timestamp 526 . Other file properties may be included in the executable-type product signature 516 .
- the scan method 218 calls an Active X control specified by the detection command 500 , for example, that searches the hard drive of the client computer 208 for the executable name PROGRAMA.EXE with a last modified date of Jan. 1, 1999 and a size value between 50 KB and 100 KB. If a file is found by the scan method 218 on the client computer 208 that meets these criteria, it constitutes a product match and information for product A is written into the inventory database 402 .
- the registry-type product signature 518 generally comprises a registry entry 528 that indicates the existence of a product on the client computer 208 .
- the scan method 218 calls an Active X control specified by the detection command 500 , for example, to scan the Windows registry of the client computer 208 for a key that matches the pattern specified in the product signature 518 .
- a sample registry-type signature file 518 may match the following registry key: HKEY_LOCAL_MACHINE ⁇ SOFTWARE ⁇ ACME ⁇ PROGRAMB ⁇ PRODUCT_ID. If a registry entry is found by the scan method 218 on the client computer 208 that meets this criterion, it constitutes a product match and information for product B is written into the inventory database 402 .
- the initialization-type product signature 520 generally comprises initialization file properties that indicate the existence of a product on the client computer 208 . Examples of initialization file properties illustrated are: an initialization file name 530 , an initialization parameter name 532 , and an initialization parameter value 534 . Other properties may be included in the initialization-type product signature 520 .
- the scan method 218 may call an Active X control specified by the detection command 500 , for example, that searches the addressable memory 226 of the client computer 208 for the initialization parameter file with the name PROGRAMC.INI.
- the driver-type product signature 522 generally comprises driver file properties that indicate the existence of a product on the client computer 208 .
- driver file properties illustrated are: a driver file name 536 , a driver file size 538 , and a driver file timestamp 540 .
- Other properties may be included in the driver-type product signature 522 .
- the scan method 218 may call an Active X control specified by the detection command 500 , for example, that searches the addressable memory 226 of the client computer 208 for the driver with the name HARDWARED_DRIVER.DRV that has a timestamp of Jan. 1, 1999 and a size of 10 KB. If a file matching these criteria is found on the client computer 208 , it constitutes a product match and information for product D is written into the inventory database 402 .
- the command-type product signature 536 illustrated by the PSF for hardware item H 538 .
- the command-type product signature 536 generally comprises a command response 540 that indicates the existence of a product on the client computer 208 and, optionally, may provide additional information about the existing product.
- the scan method 218 calls an Active X control, for example, to elicit a response from a hardware item on the client computer 208 .
- a sample command-type signature file 540 may call an Active X control specified by the detection command 500 to determine the number of MB available on the hard disk of the client computer 208 .
- the resulting value of the detection command 500 is written into the inventory database 402 along with other information for the hardware match.
- the PSFs contained in the product information database 212 allow the opportunity detection object 216 to identify products on the client computer 208 .
- Each product in the product information database 212 is summarized by a PSF containing information such as the product name, vendor name, valid platforms.
- Each PSF optionally also includes the main product signatures and the parameters that indicate which elements of the scan method 218 should be called to identify the elements of the product signatures.
- the PSF for software program A 502 is the first example of such a PSF in the product information database 212 .
- the PSF for software program A 502 contains information about software program A, including the executable-type product signature 516 .
- PSF for software program B 504 Another potential product is illustrated in the PSF for software program B 504 . Similar to the PSF for software program A 502 , the PSF for software program B 504 contains information about software program B, including the registry-type product signature 518 .
- PSF for software program C 506 Another product is illustrated in a PSF for software program C 506 .
- the PSF for software program C 506 contains information about software program C including the initialization-type product signature 520 .
- FIG. 1 Another possible product type—this one a hardware product—is illustrated in the PSF for hardware item D 508 .
- the PSF for hardware D 508 contains information about hardware D including the driver-type product signature 522 .
- Executable-, registry-, and initialization-type product signatures 516 , 518 , 520 are not limited to use by software programs.
- the PSFs 510 , 512 , 514 for hardware items E, F, and G contain the executable-type product signature 516 , the registry-type product signature 518 , and the initialization-type product signature 520 , respectively.
- the PSF for a product may use one or more product signatures.
- each product has a primary signature supported by secondary signatures designed to verify that the main signature accurately identified the product.
- secondary signatures designed to verify that the main signature accurately identified the product.
- Vendor Name Microsoft Corporation
- Verifications Ver_Check — 1, Ver_Check — 2
- Condition STRNOCASECOMPARE, “Microsoft Office 2000 Standard”
- the function of the PSF need not necessarily be specified entirely in the product information database 212 .
- the format of the product information database 212 described here is intended to illustrate the functions of identifying a product based on a set of criteria and may be embodied in any number of ways.
- the scan method 218 may, for some or all signature types, comprise all elements of the PSF needed to detect the presence of a product on the client computer 208 , including the detection command 500 and product signature.
- the PSFs contained in the product information database 212 may be used to supplement information determined by the detection command for each product in the scan method 218 .
- FIG. 6 illustrates an embodiment of the user profile 400 .
- a plurality of predefined profile options 602 are presented for selection to the user of the client computer.
- the purpose of the user profile 400 in a preferred embodiment is the collection of further information about the user of the client computer 208 that may optionally be used to supplement the configuration information mined from the client computer 208 through the execution of the scan method 218 .
- predefined user profile options 602 are provided for selection by the user.
- the predefined user profile options may include, for example, a bargain hunter user profile, a business user profile, a professional user profile, a home user profile, a game player user profile, a road warrior user profile.
- the user profile 400 comprises a series of questions designed to elicit further stated preference information from the user of the client computer 208 , such as user address, phone number, ZIP code, and the like.
- the user profile 400 is a combination of predefined profile and stated preference elements. It is important to note that the user profile may also contain other information about the client computer, the files thereon, and/or the hardware peripherals associated therewith. The contents of the user profile 400 are not limited by the examples provided herein.
- the user profile 400 or relevant elements thereof are optionally downloaded to the client computer 208 for use by the opportunity detection object 216 during the execution of the opportunity analysis method 220 .
- FIG. 7 illustrates the inventory database 402 , preferably on the client computer 208 , resulting from the execution of the scan method 218 .
- the inventory database 402 comprises a product record which further comprises an existing product ID 700 , an existing product category 702 , and an existing product property 704 .
- the product record in the inventory database 402 may comprise one or more existing product categories 702 and/or one or more existing product properties 704 .
- the inventory database 402 in this illustration comprises a product record for software program A 706 , a product record for software program C 708 , a product record for hardware item D 710 , a product record for hardware item F 712 , and a product record for hardware item H 714 . Shown for each illustrated product record are the existing product ID 700 , the existing product category, and sample values for the existing product properties.
- the existing product category 702 identifies the matched product in the inventory database 402 as a particular type of product, for example, software, hard disk, CPU, operating system, hardware peripheral, and the like.
- Existing product properties 704 include, but are not limited to, an existing product description 716 , an existing product vendor 718 , an existing product version 720 , an existing product information 722 , an existing product type 724 , a measurement of size 726 , and a measurement of free units 728 .
- the value resulting from the analysis of the combination of the existing product category 702 and the existing product property 704 determines the opportunity found by the opportunity analysis method 220 and displayed to the user of the client computer 208 .
- FIG. 8 is an illustration of the scan method 218 generating the inventory database 402 according to a preferred embodiment.
- the scan method 218 compares the contents of the client computer 208 comprised of hardware items 224 and items such as client applications 228 , drivers 230 , the registry 232 , configuration files 234 , and operating system 238 in the addressable memory 226 to the PSF for each product in the product information database 212 . If the scan method 218 detects the appropriate response from the detection command(s) 500 for each PSF, a product match is identified. The scan method 218 then writes a product record for the matched product to the inventory database 402 .
- the product record for each product comprises information regarding that product, derived from the product information database 212 .
- This information in each product record in the inventory database 402 includes, but is not limited to, the existing product ID 700 for the matched product, the existing product category 702 for the matched product, and the existing product properties 704 , such as existing product description 716 , existing product vendor 718 , existing product version 720 , and the like.
- FIG. 9 is a flowchart of illustrating a process 900 of the scan method 218 to generate the inventory database 402 by comparing the contents of the client computer 208 to the product information database 212 .
- the process commences at step 902 when the scan method 218 is initiated.
- the scan method 218 commences the evaluation of the PSFs contained in the product information database 212 .
- the scan method 218 executes the detection command 500 indicated by the PSF in order to detect the presence of the product indicated by that PSF.
- the scan method 218 evaluates the product signature in the PSF and compares the product signature elements to the contents of the client computer 208 .
- the scan method 218 returns to step 904 to evaluate the next PSF in the product information database 212 . If the product signature elements are found in the contents of the client computer 208 in step 908 , the scan method 218 optionally writes the existing product ID 700 , the existing product category 702 , and existing product properties 704 , to the inventory database 402 in step 910 . At step 912 , the scan method 218 determines whether there are more PSFs in the product information database 212 to evaluate.
- the scan method 218 returns to step 904 to evaluate the next PSF in the product information database 212 repeating steps 904 , 906 , 908 , 910 , and 912 until a negative response is returned at step 912 and the scan method 218 terminates. In other words, once all of the PSFs have been evaluated, the scan method 218 ends.
- FIG. 10 is a block diagram of the marketing rule knowledge base 214 in accordance with a preferred embodiment.
- the marketing rule knowledge base 214 comprises one or more opportunity rule files 1000 .
- Each opportunity rule file 1000 comprises an opportunity key 1002 , a related product ID 1004 , and related product marketing information 1006 .
- the opportunity key 1002 specifies the conditions under which an opportunity match occurs and preferably comprises an existing product ID 700 and a match value 1008 for that existing product ID 700 .
- the opportunity key 1002 may comprise one or many existing product IDs 700 and/or match values 1008 .
- Related product marketing information 1006 comprises, for example, a related product description 1010 , a related product location 1012 , a related product search string 1014 , and a related product advertisement campaign 1016 . Additional related product marketing information 1006 is possible and may be included in the opportunity rule file 1000 . It is important to note that there may be a set of related product information 1006 for purchasing a related product and a separate set of related product information 1006 for providing more information to the user about the related product. It is noted that “related product” refers to a product to be marketed but not necessarily related to one or more existing products on the client computer 208 .
- the related product may be a product, such as a hardware item, a software application, a book pertaining to an existing or related product, or may be a service, such as support, training, or the like for an existing or related product.
- a related product may also be a product that is marketed to the user based upon an inferred profile of the user of the client computer 208 resulting from the analysis conducted by the opportunity detection object 216 . For example, if the configuration detected on the client computer 208 is determined to infer that the user of the client computer 208 is a “road warrior”, meaning that the user requires both power and mobility in computing products, the related product marketed to that user may be a handheld computing device such as a Palm Computing® connected organizer.
- the rules for determining the existence of a marketing opportunity are developed by the service provider and are compiled in the marketing rule knowledge base 214 .
- This expertise is compiled manually or electronically and utilizes data relating to what conditions on the client computer 208 indicate an opportunity to market a related product to the user of the client computer 208 .
- related product information supplied by vendors of hardware, software, and related products as part of an agreement between the service provider and the vendor or distributor may also be utilized. Further, related product information for products may be independently researched by the service provider for the purposes of providing a useful marketing service for related products to the user of the client computer 208 .
- the information contained in the marketing rule knowledge base 214 is structured to enable the identification of marketing opportunities based upon the presence or absence of products in the inventory database 402 on the client computer 208 .
- the opportunity key 1002 contains the existing product ID 700 of at least one product that is evaluated against the inventory database 402 .
- the opportunity key 1002 further contains the match value 1008 corresponding to the existing product ID 700 .
- the possible match values 1008 are REQUIRED, OPTIONAL, ABSENT, or a specified or predetermined value of a measurable characteristic resulting from the execution of the detection command 500 . Examples of measurable characteristics include processor speed, memory, modem speed.
- Each match value 1008 indicates a condition for the presence of the existing product ID 700 in the inventory database 402 .
- the match value 1008 of REQUIRED indicates that for a successful opportunity match to occur, the corresponding existing product ID 700 must be present in the inventory database 402 .
- the match value 1008 of OPTIONAL indicates that the presence of any of the corresponding existing product IDs 700 with an OPTIONAL match value 1008 will constitute a successful match.
- the match value 1008 of ABSENT indicates that for a successful opportunity match to occur, the corresponding existing product ID 700 must be absent from the inventory database 402 . If the match value 1008 is designated as a specified value resulting from the execution of the detection command 500 , the opportunity analysis method 220 matches the value as specified. Note that the match value 1008 may be an exact value or a range of values. In addition, the match value 1008 may be a relative number, such as a percentage of available memory.
- the opportunity key 1002 may contain one or more existing product IDs 700 each corresponding to a match value 1008 .
- the opportunity rule file 1000 for opportunity A has the opportunity key 1002 of a single existing product ID 700 with a match value 1008 of REQUIRED.
- the existing product ID 700 is found in a product record in the inventory database 402 that matches an existing product ID 700 in the opportunity key 1002 for an opportunity rule file 1000 in the marketing rule knowledge base 214 is the opportunity is considered to be matched.
- the opportunity rule file 1000 for opportunity B has the opportunity key 1002 comprising multiple existing product IDs 700 .
- One existing product ID 700 has an associated match value 1008 of REQUIRED.
- a second existing product ID 700 has an associated match value 1008 of ABSENT.
- the opportunity rule file 1000 for opportunity C has the opportunity key 1002 comprising multiple existing product IDs 700 .
- One existing product ID 700 has an associated match value 1008 of REQUIRED.
- two existing product IDs 700 have associated match values 1008 of OPTIONAL.
- the existing product ID 700 with the corresponding match value 1008 REQUIRED must be detected and at least one of the existing product IDs 700 with the corresponding match value 1008 of OPTIONAL must be detected to constitute an opportunity match. If the existing product ID 700 with the match value 1008 of REQUIRED is not present, the opportunity does not match, even if one or all of the existing product IDs 700 with match values 1008 of OPTIONAL are detected.
- a match value 1008 of OPTIONAL may alternatively indicate that none of the optional existing product IDs 700 need be detected, for example, rather than that at least one of the optional existing product IDs 700 must be detected for an opportunity match to occur.
- the opportunity rule file 1000 for opportunity D has the opportunity key 1002 of a single existing product ID 700 with a match value 1008 of a specific value.
- the specified value of the opportunity key 1002 may be an exact value or a range of values, and may be represented relatively, e.g. free memory as a percentage of total memory.
- the specified value is a range of values, if free space on a hard disk less than or equal to 30% based on the results of the detection command 500 , the opportunity is considered to be matched.
- the value specified may be less than or equal to 300 MHz for the speed of the processor.
- the related product ID 1004 in the opportunity rule file 1000 is the name of the product or service to be marketed to the user of the client computer 208 .
- An opportunity match between the inventory database 402 and the marketing rule knowledge base 214 results in the related product ID 1004 and its associated related product marketing information 1006 being marketed to the user.
- the related product marketing information 1006 optionally comprises the related product description 1010 , related product location 1012 , related product search string 1014 , and any applicable related product advertisement campaign 1016 .
- the related product marketing information 1006 specified here is done so by way of example and is not meant to limit the types of related product marketing information 1006 that can be included in the opportunity rule file 1000 for any product marketing opportunity.
- the related product description 1010 may contain information about the related product, such as version number, manufacturer, distributor, advertisement campaign information, installation instructions, pricing, additional marketing information and the like.
- the related product location 1012 may be a URL location at which the related product is available for download, a location where additional marketing information is available, or a location from which the product may be purchased (for example, from the vendor computer system 202 ).
- the related product search string 1014 may be used to search external systems for the related product.
- this related search string 1014 may include the related product ID 1004 and required parameters and format that are sent as search criteria to a search engine on the vendor computer system 202 for purposes of retrieving purchase or further marketing information regarding the related product.
- the location of the external search engine is specified as a component in the related product marketing information 1006 .
- the related product search string 1014 is optimized for the external search engine to which it will be sent, including the search engine-specific search key that will result in the match desired by the service provider.
- the related product marketing information 1006 may also contain the related product advertisement campaign 1016 specifying what information to provide to the client computer 208 advertising a related product.
- the related product advertisement campaign 1016 may be parameters sent to the advertising server on the service provider computer system 206 . The advertising server then interprets the parameters and returns the value to the client computer 208 .
- All components of the related product marketing information 1006 are optional. Any combination of the exemplary components presented above may be present in any given opportunity rule file 1000 for a marketing opportunity in the marketing rule knowledge base 214 .
- some or all components of the related product marketing information 1006 may be stored as parameters on the client computer 208 . These parameters may optionally be sent to the service provider computer system 206 upon which may reside a marketing information server.
- the marketing information server in a preferred embodiment processes the parameters received from the client computer 208 and delivers to the client computer 208 relevant marketing information based upon those parameters. For example, the related product location 1012 for a matched opportunity may be stored as one or more parameters in the client computer 208 .
- the presentation method 222 displays information to the user of the client computer 208
- the parameter of the related product location 1012 is transmitted to the marketing information server, which returns a set of instructions to the client computer Web browser for the display of the appropriate URL and/or graphic for the commerce opportunity and/or advertisement.
- this preferred embodiment may allow the service provider to track opportunities passed through to vendor computer systems 202 and may provide increased flexibility in maintaining the most up-to-date product marketing information.
- the links to URLs contained in the related product information 1006 are preferably maintained by the service provider.
- a method for ensuring that links to URLs contained in the related product information 1006 are valid is detailed in the application, “Automatic Updating of Diverse Software Products on Multiple Client Computer Systems”, U.S. Ser. No. 08/660,488, filed with the USPTO on Jun. 7, 1996 which is incorporated herein by reference in its entirety.
- FIG. 11 is an illustration of the opportunity analysis method 220 that identifies marketing opportunity matches on the client computer 208 .
- the opportunity analysis method 220 compares the marketing rule knowledge base 214 and, optionally, the user profile 400 , with the inventory database 402 that resulted from the execution of the scan method 218 .
- the results of the opportunity analysis method 220 are written to the list of marketing opportunities 404 .
- the list of marketing opportunities 404 comprises multiple opportunity match records and is described below in detail with reference to FIG. 12.
- the opportunity analysis method 220 evaluates the opportunity rule file(s) 1000 in the marketing rule knowledge base 214 to determine whether the conditions present on the client computer 208 match the opportunity keys 1008 in each opportunity rule file 1000 . For each successful match of the opportunity key 1008 of an opportunity rule file 1000 in the marketing rule knowledge base 214 , the opportunity analysis method 220 preferably records the following information specified by the opportunity analysis method 220 into the list of marketing opportunities 404 : the existing product ID 700 , the related product ID 1004 , and related product marketing information 1006 .
- the opportunity analysis method 220 additionally evaluates the user profile 400 along with the marketing rule knowledge base 214 against the inventory database 402 .
- the preferences in the user profile 400 that are predefined, stated, and/or inferred are evaluated to further define the marketing information to be presented to the user of the client computer 208 .
- the opportunity analysis method 220 may utilize a stated preference in the user profile 400 such as the user's ZIP code to market a more specific opportunity to the user. Opportunities further specified by information in the user profile 400 need not be based upon explicitly stated preferences but may be based upon information inferred from any stated preferences given by the user in the user profile 400 .
- ISP Internet Service Provider
- FIG. 12 illustrates the list of marketing opportunities 404 generated as a result of the opportunity analysis method 220 .
- four opportunity matches resulted from the execution of the opportunity analysis method 220 : a record for opportunity match A 1202 , a record for opportunity match B 1204 , a record for opportunity match C 1206 , and a record for opportunity match D 1208 .
- the information recorded in each opportunity match is the existing product ID 700 , related product ID 1004 , and related product marketing information 1006 .
- the related product marketing information 1006 further comprises the related product description 1010 , the related product description 1012 , the related product search string 1014 , and the related product advertisement campaign 1016 .
- Other information provided in the inventory database 404 such as existing product category 702 , existing product properties 704 , and the like is optionally recorded for each opportunity in the list of marketing information 404 .
- the information about the matched opportunities contained in each opportunity match record is derived from the marketing rule knowledge base 214 and the inventory database 402 . It is important to note that any information contained in either the marketing rule knowledge base 214 or the inventory database 402 may be utilized by the list of marketing opportunities 404 .
- the items detailed above are for the purposes of illustration only and should not be construed as limiting the potential contents of the list of marketing opportunities 404 .
- FIG. 13 illustrates an example of a screen of marketing information presented to the user of the client computer 208 as a result of the execution of the opportunity detection object 216 .
- An active marketing results page 1300 is presented to the user of the client computer 208 .
- the active marketing results page 1300 optionally displays the following information to the user based upon the results of the presentation method 222 : an existing product name 1302 , an existing product vendor name 1304 , existing product information 1306 , a marketing link to purchase related products 1308 , a marketing link to learn more about related products 1310 , and an advertisement 1312 for related products.
- the presentation method 222 of the opportunity detection object 216 analyzes the list of marketing opportunities 404 on the client computer 208 to determine what information to present to the user and how to present it.
- the existing product name 1302 displayed to the user is based upon the existing product ID 700 in and is derived from the list of marketing opportunities 404 .
- This existing product name may be the name of a specific product such as “NeoMagic MagicGraph 128XD” or a generic item.
- the existing product vendor name 1304 may be displayed by the presentation method 222 and is also derived from the list of marketing opportunities 404 .
- the presentation method 222 may read directly from the marketing information database 214 , product information database 212 , user profile 400 and the like to retrieve any information it requires to display marketing information to the user.
- Other existing product information 1306 may be provided to the user as a result of the execution of the presentation method 222 .
- Other existing product information may be, for example, the existing product version 720 , the measurement of size 726 , and/or the measurement of free units 728 .
- FIG. 13 shows the measurement of size 726 and the measurement free units 728 for the hard disk on the client computer under the Hard Disks category (“You Have: 6 GB total disk space (31% free)”).
- the marketing link to purchase related products 1308 and the marketing link to learn more about related products 1310 are produced by the presentation method 222 based on information in the list of marketing opportunities 404 .
- the presentation method 222 evaluates the related product information 1006 contained in the opportunity match record. Based on this related product information 1006 , the presentation method 222 executes to provide the relevant marketing information to the user of the client computer 208 . For example, if the presentation method 222 analyzing an opportunity match record detects a related product description 1010 in the related product information 1006 , then the marketing link to learn more about related products 1310 may link to a page comprising the related product ID 1004 and the related product description 1010 .
- the marketing link to purchase related products 1308 may connect the user to the vendor computer system 202 to purchase the software.
- the presentation method 222 analyzing an opportunity match record detects a related product search string 1014 in related product information 1006 designated as purchase information
- the marketing link to purchase related products 1308 may connect the user to the vendor computer system 202 with the value of the related product search string 1014 passed as a parameter to a search engine on the vendor computer system 202 .
- Another example of marketing information displayed to the user of the client computer is the advertisement 1312 for related products.
- the advertisement 1312 displayed to the user is based upon the related product advertisement campaign 1016 in the list of matched opportunities 404 .
- the advertisement 1312 displays during a subsequent session between the client computer 208 and the service provider computer system 206 .
- Information about the related product advertisement campaign 1016 specific to the client computer 208 may be accessed by the presentation method 222 resident on the client computer 208 without the need for executing the entire opportunity detection object 216 during the subsequent sessions.
- the present invention provides a method for accurately creating the inventory database 402 of software and hardware products and components or peripherals on the client computer 208 across the network 204 (with or without explicit acknowledgement by the user of the client computer 208 ) and marketing related products to the user.
- the method described as part of the present invention it is possible to identify hardware and software products associated with the client computer 208 and identify marketing opportunities that are triggered by the absence or presence of one or more products and/or a specific value resulting from the execution of a detection command 500 on the client computer 208 .
- the related products marketed to the user by this method are relevant to the user because they are based upon current configuration of the client computer 208 combined, optionally, with the contents of the user profile 400 completed by the user.
- the marketing information presented to the user may include any combination of commerce opportunities, advertisements displayed to the user, additional information about related products, and the like.
- the user is provided with a simple, accessible way to purchase or learn more about a related product directly relevant to the user's client computer configuration in a number of different ways, such as presenting links to purchase related products 1308 (commerce opportunities), marketing links to learn more about related products 1310 (additional information), advertisements 1312 for related products (advertisement display) based on the contents of the inventory database, and the like.
- a system memory and a hard drive of a computer system can be utilized to store and retrieve software programs incorporating computer code that implements aspects of the invention, data for use with the invention, and the like.
- Exemplary computer readable storage media include CD-ROM, floppy disk, tape, flash memory, system memory, hard drive, as well as a data signal embodied in a carrier wave (e.g., in a network such as the Internet).
Abstract
Description
- The present application is a continuation of an application filed Apr. 1, 2002 under Ser. No. 10/114,359 which, in turn, is a continuation of an application filed Feb. 16, 2001 under Ser. No. 09/785,676 which is now issued under U.S. Pat. No. 6,370,578 and which, in turn, is a continuation of an application filed Oct. 29, 1999 under Ser. No. 09/430,263 which is now issued under U.S. Pat. No. 6,230,199.
- 1. Field of the Invention
- The present invention relates generally to computer systems and computer networks. More specifically, the present invention relates to a method and system for marketing products based upon the detection and analysis of software and hardware components or peripherals present on a client computer.
- 2. Description of Related Art
- With the proliferation of Internet-based technology and sales, it has become increasingly important that companies carefully target their sales and marketing efforts toward appropriate and receptive audiences. Although broadcast print, television, radio, and online banner advertisements retain some effectiveness in winning new customers through exposure to sheer numbers, marketing evolution is leading toward the provision of product information based upon the user's behavior and preferences.
- Online profiling coupled with advances in database technology and knowledge base techniques enables increasingly targeted communications with consumers based both upon the stated preferences of those consumers and their prior purchasing behavior.
- Certain methods exist today for marketing products to consumers based upon the stated preferences of the consumer. By way of example, a software manufacturer may elect to collect preferences of consumers and potential consumers through a survey. Such a survey can be conducted through the mail, by phone interview, and/or through a Web site. For purposes of clarity in this example, this disclosure will use the example of a survey posted on a Web site. The software manufacturer places a survey on the Web site which is accessed and completed by the consumer. The software manufacturer generally provides some sort of incentive for the consumer to complete the survey. Results of the survey may be collected, stored, aggregated, and analyzed for the purpose of determining the behavior of the consumer. Based on this information, the software manufacturer may choose to send a print advertisement, email communication, or other marketing communication to the consumer based upon the answers to the questions provided on the survey. The marketing communication may be general, based upon grouping the responses into demographic groups, or may be individualized utilizing a knowledge-based determination of the consumer's preferences based upon that consumer's responses.
- In another example, a consumer may purchase a new hardware item for a computer system for which the manufacturer includes a registration information packet. This registration information packet could be in the form of a registration card, requesting from the user of the computer system such information as name, address, and phone number and containing a number of questions designed to give the manufacturer insight into the consumer's purchasing behavior, profession, income, and so on. Hardware manufacturers may include an electronic version of the registration packet or may link to the registration packet to the Internet, where the information can be collected immediately into some sort of database storage. When the user returns the registration information to the manufacturer, the manufacturer will then have a record of the manufacturer's product purchased by the user in addition to any of the supplementary information requested and/or supplied by the consumer. Based upon the knowledge of what product the user purchased, when the user purchased the item, and any combination of the supplementary information, the manufacturer can choose to target marketing communications to this user. This technique of collecting registration information is not restricted to hardware manufacturers. Indeed, this collection and use of registration data for marketing purposes is common in all types of business, including products such as software, consumer electronics, appliances, and many other products not related to computer systems.
- Disadvantageously, in typical existing mechanisms for collecting, storing, and analyzing consumer preferences, the process of generating notifications of new and related products can be time-consuming and imprecise. These methods of collecting consumer stated preferences and past purchasing behavior rely upon many factors, for example: the consumer responding at all to marketing surveys and/or registration information requests; the consumer accurately answering questions about previously purchased products and answering other system configuration-based questions; properly interpreting the consumer's stated preferences or observed behavior into relevant marketing tactics. To deliver hard-copy product notifications such as brochures, consumers are generally grouped into segments to minimize the number of different targeted product advertisements generated. If a preferred communication is email, the manufacturer and/or distributor must customize the email communication and send it after the fact. It would be more desirable for communications regarding the new or related product to be based on firm, timely knowledge of a consumer's computing environment and delivered in a timely manner.
- A method for scanning the user's computer for the presence of certain software programs for the purpose of providing updates to those software programs is disclosed in the application, “Automatic Updating of Diverse Software Products on Multiple Client Computer Systems”, U.S. Ser. No. 08/660,488, filed on Jun. 7, 1996 which is incorporated herein by reference in its entirety. A similar method is currently in use at the Web site http://www.mcafee.com, the contents of which are incorporated by reference as of the filing date of the present patent application.
- FIG. 1 shows a
system 100 for updating diverse software products on a user computer system similar to the method of Ser. No. 08/660,488.System 100 comprises a plurality ofvendor computer systems 102 communicatively coupled via the Internet 106 to a serviceprovider computer system 106 containing anupdate information database 108, to which auser computer 110 containing an update application is also coupled. - Service
provider computer system 106 comprises, among other elements described in Ser. No. 08/660,488, anupdate information database 108.Update information database 108 contains information, such as update name, version, location, installation instructions and the like, about products for which updates are available.Client computer 110 comprises anupdate application 112 for periodically communicating with the serviceprovider computer system 106 for checking against the contents of theclient computer 110 products specified in theupdate information database 108. If a product specified in theproduct information database 108 is identified on theclient computer 110, the client computer is placed in communication with the relevantvendor computer system 102 to download or install the software update. - However, it would be desirable to provide a system for marketing software, hardware, and related products to users of computer systems based upon the user's current computing environment configuration.
- It would be further desirable to provide a system for the marketing of products that are not yet detected on the user's computer, based upon a combination of the absence and/or presence of hardware peripherals and/or software on or connected to the client computer.
- It would be further desirable to provide a system that is relevant and compelling to the individual user by ensuring that the related product information provided is based upon the individual user's computing environment configuration.
- A system and method are disclosed for conducting an opportunity analysis for updating a computer inventory. Initially, a client computer inventory associated with a client computer is generated based on a scan. Next, an opportunity analysis is performed to identify update opportunities for the client computer inventory. In use, the opportunity analysis involves rules of a rule knowledge base.
- These and other features and advantages of the present invention will be presented in more detail in the following detailed description and the accompanying figures which illustrate by way of example the principles of the invention.
- The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
- FIG. 1 is an illustration of a system for providing diverse software product updates to a client computer according to the prior art;
- FIG. 2 shows a system for marketing products according to a preferred embodiment;
- FIGS.3-1 and 3-2 are flowcharts of the overall method of providing marketing information in accordance with a preferred embodiment;
- FIG. 4 is an illustration of a client computer following the execution of the method of a preferred embodiment;
- FIG. 5 is a diagram of a product knowledge base according to a preferred embodiment;
- FIG. 6 is an example of a user profile in accordance with a preferred embodiment;
- FIG. 7 shows the elements of an inventory database on client computer according to a preferred embodiment;
- FIG. 8 is an illustration of the process of generating an inventory database according to a preferred embodiment;
- FIG. 9 is a flowchart of the process of executing a scan method to create the inventory database according to a preferred embodiment;
- FIG. 10 is a block diagram of a marketing knowledge base according to a preferred embodiment;
- FIG. 11 is an illustration of the process of detecting marketing opportunities according to a preferred embodiment;
- FIG. 12 shows a list of marketing opportunities according to the preferred embodiment; and
- FIG. 13 shows a sample display of marketing information to a user based upon the configuration of a client computer.
- A system and method for actively marketing products to a user of a client computer that is generally coupled over a network to a service provider computer system are disclosed. The following description is presented to enable any person skilled in the art to make and use the invention. Descriptions of specific embodiments and applications are provided only as examples and various modifications will be readily apparent to those skilled in the art. The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Thus, the present invention is to be accorded the widest scope encompassing numerous alternatives, modifications and equivalents consistent with the principles and features disclosed herein. For purpose of clarity, details relating to technical material that is known in the technical fields related to the invention have not been described in detail so as not to unnecessarily obscure the present invention.
- Overview and General Architecture of a System for Active Marketing
- FIG. 2 shows the architecture of a
system 200 in accordance with a preferred embodiment. Insystem 200, a plurality ofvendor computer systems 202 is communicatively coupled by anetwork 204, such as the Internet, to a serviceprovider computer system 206 and to aclient computer 208. - In accordance with a preferred embodiment, service
provider computer system 206 hosts an activemarketing host program 210, aproduct information database 212, a marketingrule knowledge base 214, and anopportunity detection object 216.Opportunity detection object 216 further comprises a scan method orengine 218, an opportunity analysis method orengine 220, and a presentation method orengine 222. - The
client computer 208 comprises a plurality of hardware items orperipherals 224 and anaddressable memory 226. Resident in the addressable memory may be a plurality ofclient applications 228, a plurality ofdrivers 230, aregistry 232, a plurality ofconfiguration files 234, and anoperating system 236. It is important to note that hardware items orperipherals 224 may be any hardware device, for example, one that is generally connected to theclient computer 208 such as a hard disk or a monitor, or one that may be temporarily connected to theclient computer 208, such as a Palm Computing® connected organizer or an Iomega® JAZ drive. - The
product information database 212 contains information regarding one or more products for which a marketing opportunity exists. In a preferred embodiment, theproduct information database 212 is downloaded to the client computer upon execution of the activemarketing host program 210. Preferably, the downloading is initiated by the user at the client computer. Theproduct information database 212 is further described below with reference to FIG. 5. - The marketing
rule knowledge base 214 contains for each product in theproduct information database 212 information about the marketing opportunities for that product, including a set of conditions that indicates a match for a marketing opportunity. In a preferred embodiment, the marketingrule knowledge base 214 is downloaded to the client computer upon execution of the activemarketing host program 210. The marketingrule knowledge base 214 is described in further detail with reference to FIG. 10. - In a preferred embodiment, the
opportunity detection object 216 contains the overall operation of a method for marketing based upon the detection and analysis of files and/or other configurations, hardware or software, present on the client computer. Theopportunity detection object 216 is preferably downloaded to theclient computer 208 upon execution of the activemarketing host program 210 and may be executed locally thereon in a preferred embodiment. Upon download, theopportunity detection object 216 is installed into theaddressable memory 226 of theclient computer 208, either in whole or in parts, preferably with a unique identifier. Theopportunity detection object 216 may be implemented as Active X controls, Java applets, Perl scripts or any other suitable client-side applications. Theopportunity detection object 216 may be instantiated by referring to its unique identifier or the unique identifiers of its component parts through an Application Programming Interface (API). By way of example but not limitation, a Web browser on theclient computer 208 may read a Web page and encounter a VBScript directive to run theopportunity detection object 216 using its unique identifier. This VBScript directive may be interpreted through the Web browser's API and theopportunity detection object 216 is executed on theclient computer 208. - The
methods opportunity detection object 216 collectively serve to scan the current configuration of theclient computer 208, analyze the current configuration of theclient computer 208 for marketing opportunities, and present marketing information to a user of theclient computer 208. Themethods opportunity detection object 216 may be called separately during the execution of theopportunity detection object 216. - Each method of the
opportunity detection object 216 will now be described in more detail. In particular, thescan method 218 analyzes theclient computer 208 to detect the presence ofhardware items 224,client applications 228 or other properties of theclient computer 208, such as theoperating system 236. If thescan method 218 detects the parameters specified in theproduct information database 212 indicating the presence of a product on theclient computer 208, thescan method 218 optionally records the match. Thescan method 218 is described in further detail with reference to FIG. 8. - The
opportunity analysis method 220 analyzes the results of thescan method 218 against data in the marketingrule knowledge base 214. Theopportunity analysis method 220 determines whether the appropriate conditions exist for marketing a particular product or type of product to the user of theclient computer 208. When an opportunity is detected, theopportunity analysis method 220 optionally records information for the match. - The
presentation method 222 analyzes the results of theopportunity analysis method 220 and provides information regarding related products to the user of theclient computer 208. It is important to note that thepresentation method 222 may be executed each time theclient computer 208 connects to the serviceprovider computer system 206 in order to provide contextual advertising to the user through, for example, the execution of a client-side control that displays advertising campaigns relevant to the configuration of theclient computer 208 connected to the serviceprovider computer system 206. - It is important to note that it is not necessary to download the
product information database 212, the marketingrule knowledge base 214, and/or theopportunity detection object 216 to theclient computer 208. These items could remain on the serviceprovider computer system 206 and run across thenetwork 204 against theclient computer 208. However downloading these items to theclient computer 208 reduces the bandwidth requirements of executing programs across the network over a communications device, such as a modem. - Overview and General Method for Active Marketing
- FIGS.3-1 and 3-2 illustrate an
overall operation 300 of the method for marketing products and/or services to the user at the client computer, preferably utilizing the system as shown in and described with reference to FIG. 2. Although the system and method of the present invention are generally described in terms of marketing products, it is to be understood that services, tickets, and the like may be marketed. Atstep 302, a service provider compiles related product marketing information onto the service provider computer system in the form of the product information database and the marketing information database. This information may be compiled by experts, either manually or electronically, preferably while utilizing product presence conditions that indicate the presence of a product on the client computer and marketing opportunity conditions on the client computer that indicate an opportunity to market a product to the user of the client computer. Typically, the conditions are predetermined and stored in the service provider computer system. - At
step 304, the client computer connects to a Web site located on the service provider computer system. In a preferred embodiment, the service provider may request the user to initiate the scan of the client computer by providing a link to initiate the active marketing host program resident on the service provider computer system. In another preferred embodiment, the act of visiting the service provider computer system would initiate the active marketing host program, which would be a more intrusive way of marketing products and/or services to the user of the client computer. - Optionally, the user of the client computer completes a user profile at
step 306. The implementation of the user profile is flexible. By way of example, but not limitation, the user profile may include a number of predefined profile options provided by the service provider computer system from which the user may select. Alternately, the user profile may comprise a series of questions designed to elicit further stated preference information from the user of the client computer, such as user address, phone number, ZIP code, and the like. In another preferred embodiment, the user profile may be a combination of predefined profile and stated preference elements. The user profile or relevant elements thereof are optionally downloaded to the client computer for use by the opportunity detection object, preferably by the opportunity analysis method. - In a preferred embodiment, at
step 308, the active marketing host program resident on the service provider computer system analyzes the client computer to determine whether the current version of the opportunity detection object is found on the client computer. If the current version of the opportunity detection object is not found on the client computer, the version of the opportunity detection object resident on the service provider computer system may be downloaded to the client computer, atstep 310. Alternately, if the current version of the opportunity detection object is found on the client computer, the opportunity detection object is not downloaded. In another aspect of a preferred embodiment (not shown), the user of the client computer may be informed by means of a message transmitted to the client computer whether or not the opportunity detection object is current and given the option of executing thedownload step 310 if the opportunity detection object is not current. An affirmative response would result in downloading the opportunity detection object to the client computer. - It is also important to note that the opportunity detection object may be downloaded in a single connection between the client computer and the service provider computer system or may be downloaded in multiple connections across the network.
- Once the opportunity detection object, and preferably the current version thereof, is resident on the client computer, the active marketing host program checks to determine whether the current version of the product information database is detected on the client computer at
step 312. If the current version of the product information database is not found on the client computer, the version of the product information database resident on the service provider computer system is optionally downloaded to the client computer atstep 314. If the current version of the product information database is found on the client computer, the product information database is not downloaded. - Once the product information database, and preferably the current version thereof, is found on the client computer, the method progresses to step316, which begins the analysis of the client computer to determine which products in the product information database are present on the client computer. According to a preferred embodiment, the analysis of the client computer is performed on the client computer using the opportunity detection object on the client computer. However, an alternate preferred embodiment performs the analysis across the network using procedures stored and executed on the service provider computer system to analyze the client computer.
- At
step 318 the scan method is executed to analyze the client computer and create an inventory database (reference numeral 402 as shown and to be described with reference to FIG. 4). This inventory database is stored on the client computer and is described in further detail below with reference to FIG. 7. In a preferred embodiment, the inventory database remains on the client computer and is not transmitted across the network to a receiving computer system in order to preserve the privacy of the user. However, in another preferred embodiment in which the service provider desires to provide user client configuration directly to vendors, the inventory database may be transmitted to the service provider computer system or to one or more vendor computer systems. A preferred embodiment of the scan method is detailed in reference to FIGS. 8 and 9. - At
step 320 of a preferred embodiment, the active marketing host program searches for the presence of the current version of the marketing rule knowledge base on the client computer. If the current version of the marketing rule knowledge base is not found on the client computer, the marketing rule knowledge base on the service provider computer system is downloaded to the client computer instep 322. If the current version of the marketing rule knowledge base is found on the client computer, the marketing rule knowledge base is not downloaded. - It is also important to note that the marketing rule knowledge base may be downloaded as a single file containing all marketing opportunities in a single connection between the client computer and the service provider computer system or it may be downloaded as multiple files based on the products contained in the inventory database that may be downloaded separately using multiple connections across the network.
- Each of the analyzing the client computer steps308, 312, and 318, and the corresponding downloading steps 310, 314, and 322, need not be executed in the order described and may be completed in any suitable order. For example, each of the analyzing steps 308, 312, and 318 may be completed and then any resultant downloading steps may then be executed, either in separate steps or in a single combined downloading step.
- Further, although not shown, as noted above, each of
steps steps corresponding download step download step client computer 208. - In another alternative embodiment, the scanning, opportunity analysis, and presentation method or engine of the opportunity detection object may each be optionally downloaded. In other words, although it is preferred that the opportunity detection object be downloaded or not downloaded to the client computer as a whole, each of the components of the opportunity detection object may be individually downloaded or not downloaded. As an example, the scanning engine can be downloaded while the opportunity analysis engine and the presentation engine are not downloaded to the client computer.
- Once the opportunity detection object, the product information database, and the marketing rule knowledge base, and preferably the current versions thereof, are found on the client computer, the opportunity analysis method is executed at
step 324. Instep 324, the inventory database is analyzed against the marketing rule knowledge base to create a list of marketing opportunities (reference numeral 404 as shown and to be described with reference to FIG. 4). The opportunity analysis method identifies a marketing opportunity for a related product by analyzing the information contained in the marketing knowledge base pertaining to the presence or absence of one or many products in the inventory database. The opportunity analysis method is described in further detail below with reference to FIG. 11. - At
step 326, the presentation method executes to present the user of the client computer with marketing information regarding products recorded in the list of marketing opportunities. The presentation method will be described in further detail with reference to FIG. 13. - The user may be presented with one or many types of information regarding the marketing opportunity identified based upon the configuration of the client computer at
step 328 including, but not limited to, an option to purchase products, advertisements pertaining to the products, further marketing information about the products, an opportunity to search for further related products, and the like. - Contents of Client Computer after
Process 300 - FIG. 4 schematically illustrates the contents of the
client computer 208 at the conclusion of theprocess 300 of a preferred embodiment as described in FIGS. 3-1 and 3-2. Thehardware items 224,client applications 226 and other items originally comprising theaddressable memory 226 of theclient computer 208 preferably remain unaltered on theclient computer 208. Theclient computer 208 preferably further contains theproduct information database 212, the marketingrule knowledge base 214, and theopportunity detection object 216, and more preferably the current versions thereof, as downloaded by the active marketing host program to theclient computer 208, described above with reference to FIGS. 3-1 and 3-2. Further, theclient computer 208 preferably contains theinventory database 402 as generated by the opportunity detection object as well as the list ofmarketing opportunities 404 as generated by the presentation method, described above with reference to FIGS. 3-1 and 3-2. - In a preferred embodiment, the
user profile 400 is completed by the user of theclient computer 208. This user profile is optionally downloaded to theclient computer 208 and is used by theopportunity analysis method 220 to further define marketing opportunities on theclient computer 208. It is important to note that any of themethods opportunity detection object 216 may optionally utilize theuser profile 400 to further determine information about the user of theclient computer 208. - The
inventory database 402 is created by the scan method 218 (executed atstep 318 illustrated in FIG. 3-2) using instructions embedded in thescan method 218 itself and optionally using further information compiled in theproduct information database 212. - The list of
marketing opportunities 404 is generated by theopportunity analysis method 220 by comparing the conditions in the marketingrule knowledge base 214 to theinventory database 402 on theclient computer 208. - Product Information Database212: Product Summary Files (PSFs)
- FIG. 5 illustrates an example of the
product information database 212 in accordance with a preferred embodiment. The products illustrated in FIG. 5 are software program A, software program B, software program C, hardware item D, hardware item E, hardware item F, hardware item G, and hardware H. - The
product information database 212 comprises product summary or signature files (PSFs) for each product. Each PSF comprises adetection command 500 and a product signature. Thedetection command 500 for each PSF comprises a command sub-component of the scan method that, like the opportunity detection object, may be implemented as Active X controls, Java applets, Perl scripts or any other suitable client-side application. The product signature comprises the response and/or values that indicate the presence of a product on the client computer. It is important to note that a PSF may comprise multiple detection commands 500 and/or multiple product signatures. - Examples of PSFs are illustrations in FIG. 5. In particular, FIG. 5 illustrates a PSF for each of software programs A-C502, 504, 506 and a PSF for each of hardware items D-H 508, 510, 512, 514, and 538.
- Illustrated, also, are examples of product signature types contained in the PSFs, as described in a preferred embodiment: an executable-
type product signature 516, a registry-type product signature 518, an initializationtype product signature 520, a driver-type product signature 522. It is important to note that other product signature types are possible and that the specific product signature types discussed herein are provided merely for the purposes of illustration. - The executable-
type product signature 516 generally comprises executable file properties that indicate the existence of a product on theclient computer 208. Examples of executable file properties illustrated are: anexecutable name 522, anexecutable file size 524, and anexecutable timestamp 526. Other file properties may be included in the executable-type product signature 516. To identify the executable-type product signature 516 for software program A, thescan method 218 calls an Active X control specified by thedetection command 500, for example, that searches the hard drive of theclient computer 208 for the executable name PROGRAMA.EXE with a last modified date of Jan. 1, 1999 and a size value between 50 KB and 100 KB. If a file is found by thescan method 218 on theclient computer 208 that meets these criteria, it constitutes a product match and information for product A is written into theinventory database 402. - The registry-
type product signature 518 generally comprises aregistry entry 528 that indicates the existence of a product on theclient computer 208. To identify a registry-type product signature 518 for software program B, thescan method 218 calls an Active X control specified by thedetection command 500, for example, to scan the Windows registry of theclient computer 208 for a key that matches the pattern specified in theproduct signature 518. For example, a sample registry-type signature file 518 may match the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\ACME\PROGRAMB\PRODUCT_ID. If a registry entry is found by thescan method 218 on theclient computer 208 that meets this criterion, it constitutes a product match and information for product B is written into theinventory database 402. - The initialization-
type product signature 520 generally comprises initialization file properties that indicate the existence of a product on theclient computer 208. Examples of initialization file properties illustrated are: aninitialization file name 530, aninitialization parameter name 532, and aninitialization parameter value 534. Other properties may be included in the initialization-type product signature 520. To identify the initialization-type product signature for software product C, thescan method 218 may call an Active X control specified by thedetection command 500, for example, that searches theaddressable memory 226 of theclient computer 208 for the initialization parameter file with the name PROGRAMC.INI. Based on the results of the Active X control, a second Active X control might read PROGRAMC.INI, searching for a parameter name/value pair of “INSTALL_DIRECTORY=C:/WINDOWS/PROGRAMS/PROGRAMC”. If a file containing this parameter name/value pair is found by thescan method 218 on theclient computer 208, it constitutes a product match and information for product C is written into theinventory database 402. - The driver-
type product signature 522 generally comprises driver file properties that indicate the existence of a product on theclient computer 208. Examples of driver file properties illustrated are: adriver file name 536, adriver file size 538, and adriver file timestamp 540. Other properties may be included in the driver-type product signature 522. To identify the driver-type product signature for hardware item D thescan method 218 may call an Active X control specified by thedetection command 500, for example, that searches theaddressable memory 226 of theclient computer 208 for the driver with the name HARDWARED_DRIVER.DRV that has a timestamp of Jan. 1, 1999 and a size of 10 KB. If a file matching these criteria is found on theclient computer 208, it constitutes a product match and information for product D is written into theinventory database 402. - Another type of PSF is the command-
type product signature 536 illustrated by the PSF forhardware item H 538. The command-type product signature 536 generally comprises acommand response 540 that indicates the existence of a product on theclient computer 208 and, optionally, may provide additional information about the existing product. To identify a command-type product signature 540 for hardware item H, thescan method 218 calls an Active X control, for example, to elicit a response from a hardware item on theclient computer 208. For example, a sample command-type signature file 540 may call an Active X control specified by thedetection command 500 to determine the number of MB available on the hard disk of theclient computer 208. The resulting value of thedetection command 500 is written into theinventory database 402 along with other information for the hardware match. - The PSFs contained in the
product information database 212 allow theopportunity detection object 216 to identify products on theclient computer 208. Each product in theproduct information database 212 is summarized by a PSF containing information such as the product name, vendor name, valid platforms. Each PSF optionally also includes the main product signatures and the parameters that indicate which elements of thescan method 218 should be called to identify the elements of the product signatures. - For example, the PSF for
software program A 502 is the first example of such a PSF in theproduct information database 212. The PSF forsoftware program A 502 contains information about software program A, including the executable-type product signature 516. - Another potential product is illustrated in the PSF for
software program B 504. Similar to the PSF forsoftware program A 502, the PSF forsoftware program B 504 contains information about software program B, including the registry-type product signature 518. - Another product is illustrated in a PSF for
software program C 506. The PSF forsoftware program C 506 contains information about software program C including the initialization-type product signature 520. - Another possible product type—this one a hardware product—is illustrated in the PSF for
hardware item D 508. The PSF forhardware D 508 contains information about hardware D including the driver-type product signature 522. - Executable-, registry-, and initialization-
type product signatures PSFs type product signature 516, the registry-type product signature 518, and the initialization-type product signature 520, respectively. - The PSF for a product may use one or more product signatures. In a preferred embodiment, each product has a primary signature supported by secondary signatures designed to verify that the main signature accurately identified the product. Below is a sample of a PSF for a software product, Microsoft Word 2000, which uses an executable-
type product signature 516 as a primary signature and performs other checks against the executable as a secondary validation. The sample PSF also utilizes a registry-type product signature 518 as a secondary signature. - Sample PSF for Microsoft Word 2000:
- ;Word2000.psf
- ;modified the product name added the ‘edition’, Last Modified, Arun Aug. 21, 1999
- [Product Details]
- Product Name=Microsoft Word 2000 Standard Edition
- Vendor Name=Microsoft Corporation
- Product Type=APPLICATION
- Main Signatures=
Sig —1 - Verifications=
Ver_Check —1, Ver_Check—2 - Platforms=W95,W98
- [Sig—1]
- Signature Type=SIG_FILE
- Signature Data=winword.exe
- [Ver_Check—1 ]
- Verification Type=REG_CHECK
- MajorKey=HKEY_LOCAL_MACHINE
- MinorKey=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- SubKey=*
- ValueName=DisplayName
- ValueType=STRING
- Condition=STRNOCASECOMPARE, “Microsoft Office 2000 Standard”
- [Ver_Check—2]
- Verification Type=VERSION_CHECK
- File Name=EXE_DIR\winword.exe
- Condition=VER_RANGE, “9.0.0000”-“10.0.0000”
- It is important to note that the function of the PSF need not necessarily be specified entirely in the
product information database 212. The format of theproduct information database 212 described here is intended to illustrate the functions of identifying a product based on a set of criteria and may be embodied in any number of ways. For example, thescan method 218 may, for some or all signature types, comprise all elements of the PSF needed to detect the presence of a product on theclient computer 208, including thedetection command 500 and product signature. In another preferred embodiment, the PSFs contained in theproduct information database 212 may be used to supplement information determined by the detection command for each product in thescan method 218. -
User Profile 400 - FIG. 6 illustrates an embodiment of the
user profile 400. In the user profile illustrated, a plurality ofpredefined profile options 602 are presented for selection to the user of the client computer. The purpose of theuser profile 400 in a preferred embodiment is the collection of further information about the user of theclient computer 208 that may optionally be used to supplement the configuration information mined from theclient computer 208 through the execution of thescan method 218. - As shown, a number of predefined
user profile options 602 are provided for selection by the user. The predefined user profile options may include, for example, a bargain hunter user profile, a business user profile, a professional user profile, a home user profile, a game player user profile, a road warrior user profile. - In another embodiment, the
user profile 400 comprises a series of questions designed to elicit further stated preference information from the user of theclient computer 208, such as user address, phone number, ZIP code, and the like. Alternately, theuser profile 400 is a combination of predefined profile and stated preference elements. It is important to note that the user profile may also contain other information about the client computer, the files thereon, and/or the hardware peripherals associated therewith. The contents of theuser profile 400 are not limited by the examples provided herein. - The
user profile 400 or relevant elements thereof are optionally downloaded to theclient computer 208 for use by theopportunity detection object 216 during the execution of theopportunity analysis method 220. -
Inventory Database 402 - FIG. 7 illustrates the
inventory database 402, preferably on theclient computer 208, resulting from the execution of thescan method 218. Theinventory database 402 comprises a product record which further comprises an existingproduct ID 700, an existingproduct category 702, and an existingproduct property 704. Note that the product record in theinventory database 402 may comprise one or more existingproduct categories 702 and/or one or more existingproduct properties 704. - The
inventory database 402 in this illustration comprises a product record forsoftware program A 706, a product record forsoftware program C 708, a product record forhardware item D 710, a product record forhardware item F 712, and a product record forhardware item H 714. Shown for each illustrated product record are the existingproduct ID 700, the existing product category, and sample values for the existing product properties. - The existing
product category 702 identifies the matched product in theinventory database 402 as a particular type of product, for example, software, hard disk, CPU, operating system, hardware peripheral, and the like. Existingproduct properties 704 include, but are not limited to, an existingproduct description 716, an existingproduct vendor 718, an existingproduct version 720, an existingproduct information 722, an existingproduct type 724, a measurement ofsize 726, and a measurement offree units 728. - In a preferred embodiment, the value resulting from the analysis of the combination of the existing
product category 702 and the existingproduct property 704 determines the opportunity found by theopportunity analysis method 220 and displayed to the user of theclient computer 208. - Scan Method & Process for Generating Client Computer Inventory Database
- FIG. 8 is an illustration of the
scan method 218 generating theinventory database 402 according to a preferred embodiment. Thescan method 218 compares the contents of theclient computer 208 comprised ofhardware items 224 and items such asclient applications 228,drivers 230, theregistry 232, configuration files 234, and operating system 238 in theaddressable memory 226 to the PSF for each product in theproduct information database 212. If thescan method 218 detects the appropriate response from the detection command(s) 500 for each PSF, a product match is identified. Thescan method 218 then writes a product record for the matched product to theinventory database 402. The product record for each product comprises information regarding that product, derived from theproduct information database 212. This information in each product record in theinventory database 402 includes, but is not limited to, the existingproduct ID 700 for the matched product, the existingproduct category 702 for the matched product, and the existingproduct properties 704, such as existingproduct description 716, existingproduct vendor 718, existingproduct version 720, and the like. - FIG. 9 is a flowchart of illustrating a
process 900 of thescan method 218 to generate theinventory database 402 by comparing the contents of theclient computer 208 to theproduct information database 212. The process commences atstep 902 when thescan method 218 is initiated. Atstep 904, thescan method 218 commences the evaluation of the PSFs contained in theproduct information database 212. Atstep 906, thescan method 218 executes thedetection command 500 indicated by the PSF in order to detect the presence of the product indicated by that PSF. Atstep 908, thescan method 218 evaluates the product signature in the PSF and compares the product signature elements to the contents of theclient computer 208. If it does not find the product signature elements in the contents of theclient computer 208, thescan method 218 returns to step 904 to evaluate the next PSF in theproduct information database 212. If the product signature elements are found in the contents of theclient computer 208 instep 908, thescan method 218 optionally writes the existingproduct ID 700, the existingproduct category 702, and existingproduct properties 704, to theinventory database 402 instep 910. Atstep 912, thescan method 218 determines whether there are more PSFs in theproduct information database 212 to evaluate. If there are more PSFs to evaluate, thescan method 218 returns to step 904 to evaluate the next PSF in theproduct information database 212repeating steps step 912 and thescan method 218 terminates. In other words, once all of the PSFs have been evaluated, thescan method 218 ends. - Marketing
Rule Knowledge Base 214 - FIG. 10 is a block diagram of the marketing
rule knowledge base 214 in accordance with a preferred embodiment. The marketingrule knowledge base 214 comprises one or more opportunity rule files 1000. Eachopportunity rule file 1000 comprises anopportunity key 1002, arelated product ID 1004, and relatedproduct marketing information 1006. Theopportunity key 1002 specifies the conditions under which an opportunity match occurs and preferably comprises an existingproduct ID 700 and amatch value 1008 for that existingproduct ID 700. The opportunity key 1002 may comprise one or many existingproduct IDs 700 and/or match values 1008. - Related
product marketing information 1006 comprises, for example, arelated product description 1010, arelated product location 1012, a relatedproduct search string 1014, and a relatedproduct advertisement campaign 1016. Additional relatedproduct marketing information 1006 is possible and may be included in theopportunity rule file 1000. It is important to note that there may be a set ofrelated product information 1006 for purchasing a related product and a separate set ofrelated product information 1006 for providing more information to the user about the related product. It is noted that “related product” refers to a product to be marketed but not necessarily related to one or more existing products on theclient computer 208. Additionally, by way of example, but not limitation, the related product may be a product, such as a hardware item, a software application, a book pertaining to an existing or related product, or may be a service, such as support, training, or the like for an existing or related product. A related product may also be a product that is marketed to the user based upon an inferred profile of the user of theclient computer 208 resulting from the analysis conducted by theopportunity detection object 216. For example, if the configuration detected on theclient computer 208 is determined to infer that the user of theclient computer 208 is a “road warrior”, meaning that the user requires both power and mobility in computing products, the related product marketed to that user may be a handheld computing device such as a Palm Computing® connected organizer. - The rules for determining the existence of a marketing opportunity are developed by the service provider and are compiled in the marketing
rule knowledge base 214. This expertise is compiled manually or electronically and utilizes data relating to what conditions on theclient computer 208 indicate an opportunity to market a related product to the user of theclient computer 208. In addition, related product information supplied by vendors of hardware, software, and related products as part of an agreement between the service provider and the vendor or distributor may also be utilized. Further, related product information for products may be independently researched by the service provider for the purposes of providing a useful marketing service for related products to the user of theclient computer 208. - The information contained in the marketing
rule knowledge base 214 is structured to enable the identification of marketing opportunities based upon the presence or absence of products in theinventory database 402 on theclient computer 208. The opportunity key 1002 contains the existingproduct ID 700 of at least one product that is evaluated against theinventory database 402. The opportunity key 1002 further contains thematch value 1008 corresponding to the existingproduct ID 700. Thepossible match values 1008 are REQUIRED, OPTIONAL, ABSENT, or a specified or predetermined value of a measurable characteristic resulting from the execution of thedetection command 500. Examples of measurable characteristics include processor speed, memory, modem speed. - Each
match value 1008 indicates a condition for the presence of the existingproduct ID 700 in theinventory database 402. Thematch value 1008 of REQUIRED indicates that for a successful opportunity match to occur, the corresponding existingproduct ID 700 must be present in theinventory database 402. Thematch value 1008 of OPTIONAL indicates that the presence of any of the corresponding existingproduct IDs 700 with anOPTIONAL match value 1008 will constitute a successful match. Thematch value 1008 of ABSENT indicates that for a successful opportunity match to occur, the corresponding existingproduct ID 700 must be absent from theinventory database 402. If thematch value 1008 is designated as a specified value resulting from the execution of thedetection command 500, theopportunity analysis method 220 matches the value as specified. Note that thematch value 1008 may be an exact value or a range of values. In addition, thematch value 1008 may be a relative number, such as a percentage of available memory. - In a preferred embodiment, the opportunity key1002 may contain one or more existing
product IDs 700 each corresponding to amatch value 1008. By way of example, theopportunity rule file 1000 for opportunity A has theopportunity key 1002 of a single existingproduct ID 700 with amatch value 1008 of REQUIRED. Thus, when theinventory database 402 is evaluated against the marketingrule knowledge base 214, only if the existingproduct ID 700 is found in a product record in theinventory database 402 that matches an existingproduct ID 700 in theopportunity key 1002 for anopportunity rule file 1000 in the marketingrule knowledge base 214 is the opportunity is considered to be matched. - In another example, the
opportunity rule file 1000 for opportunity B has the opportunity key 1002 comprising multiple existingproduct IDs 700. One existingproduct ID 700 has an associatedmatch value 1008 of REQUIRED. A second existingproduct ID 700 has an associatedmatch value 1008 of ABSENT. Thus when theinventory database 402 is evaluated against the marketingrule knowledge base 214, the first existingproduct ID 700 must be found in theinventory database 402 while the second existingproduct ID 700 must be absent from theinventory database 402 in order for the opportunity to match. - In yet another example, the
opportunity rule file 1000 for opportunity C has the opportunity key 1002 comprising multiple existingproduct IDs 700. One existingproduct ID 700 has an associatedmatch value 1008 of REQUIRED. In addition, two existingproduct IDs 700 have associatedmatch values 1008 of OPTIONAL. Thus, when theinventory database 402 is evaluated against the marketingrule knowledge base 214, the existingproduct ID 700 with thecorresponding match value 1008 REQUIRED must be detected and at least one of the existingproduct IDs 700 with thecorresponding match value 1008 of OPTIONAL must be detected to constitute an opportunity match. If the existingproduct ID 700 with thematch value 1008 of REQUIRED is not present, the opportunity does not match, even if one or all of the existingproduct IDs 700 withmatch values 1008 of OPTIONAL are detected. Note that amatch value 1008 of OPTIONAL may alternatively indicate that none of the optional existingproduct IDs 700 need be detected, for example, rather than that at least one of the optional existingproduct IDs 700 must be detected for an opportunity match to occur. - In another example, the
opportunity rule file 1000 for opportunity D has theopportunity key 1002 of a single existingproduct ID 700 with amatch value 1008 of a specific value. Thus, when theinventory database 402 is evaluated against the marketingrule knowledge base 214, if the specified value is detected in theinventory database 402 the opportunity is considered to be matched. As noted previously, the specified value of the opportunity key 1002 may be an exact value or a range of values, and may be represented relatively, e.g. free memory as a percentage of total memory. To illustrate a case where the specified value is a range of values, if free space on a hard disk less than or equal to 30% based on the results of thedetection command 500, the opportunity is considered to be matched. As another example, the value specified may be less than or equal to 300 MHz for the speed of the processor. - The
related product ID 1004 in theopportunity rule file 1000 is the name of the product or service to be marketed to the user of theclient computer 208. An opportunity match between theinventory database 402 and the marketingrule knowledge base 214 results in therelated product ID 1004 and its associated relatedproduct marketing information 1006 being marketed to the user. - The related
product marketing information 1006 optionally comprises therelated product description 1010, relatedproduct location 1012, relatedproduct search string 1014, and any applicable relatedproduct advertisement campaign 1016. The relatedproduct marketing information 1006 specified here is done so by way of example and is not meant to limit the types of relatedproduct marketing information 1006 that can be included in theopportunity rule file 1000 for any product marketing opportunity. - The
related product description 1010 may contain information about the related product, such as version number, manufacturer, distributor, advertisement campaign information, installation instructions, pricing, additional marketing information and the like. - The related
product location 1012 may be a URL location at which the related product is available for download, a location where additional marketing information is available, or a location from which the product may be purchased (for example, from the vendor computer system 202). - The related
product search string 1014 may be used to search external systems for the related product. In a preferred embodiment, thisrelated search string 1014 may include therelated product ID 1004 and required parameters and format that are sent as search criteria to a search engine on thevendor computer system 202 for purposes of retrieving purchase or further marketing information regarding the related product. The location of the external search engine is specified as a component in the relatedproduct marketing information 1006. In another preferred embodiment, the relatedproduct search string 1014 is optimized for the external search engine to which it will be sent, including the search engine-specific search key that will result in the match desired by the service provider. - The related
product marketing information 1006 may also contain the relatedproduct advertisement campaign 1016 specifying what information to provide to theclient computer 208 advertising a related product. In a preferred embodiment, the relatedproduct advertisement campaign 1016 may be parameters sent to the advertising server on the serviceprovider computer system 206. The advertising server then interprets the parameters and returns the value to theclient computer 208. - All components of the related
product marketing information 1006 are optional. Any combination of the exemplary components presented above may be present in any givenopportunity rule file 1000 for a marketing opportunity in the marketingrule knowledge base 214. - In a preferred embodiment, some or all components of the related
product marketing information 1006 may be stored as parameters on theclient computer 208. These parameters may optionally be sent to the serviceprovider computer system 206 upon which may reside a marketing information server. The marketing information server in a preferred embodiment processes the parameters received from theclient computer 208 and delivers to theclient computer 208 relevant marketing information based upon those parameters. For example, therelated product location 1012 for a matched opportunity may be stored as one or more parameters in theclient computer 208. When thepresentation method 222 displays information to the user of theclient computer 208, the parameter of therelated product location 1012 is transmitted to the marketing information server, which returns a set of instructions to the client computer Web browser for the display of the appropriate URL and/or graphic for the commerce opportunity and/or advertisement. Advantageously, this preferred embodiment may allow the service provider to track opportunities passed through tovendor computer systems 202 and may provide increased flexibility in maintaining the most up-to-date product marketing information. - Where they are explicitly included in an
opportunity rule file 1000, the links to URLs contained in therelated product information 1006 are preferably maintained by the service provider. A method for ensuring that links to URLs contained in therelated product information 1006 are valid is detailed in the application, “Automatic Updating of Diverse Software Products on Multiple Client Computer Systems”, U.S. Ser. No. 08/660,488, filed with the USPTO on Jun. 7, 1996 which is incorporated herein by reference in its entirety. - Marketing
Opportunity Analysis Method 202 and List ofMarketing Opportunities 404 Generated Thereby - FIG. 11 is an illustration of the
opportunity analysis method 220 that identifies marketing opportunity matches on theclient computer 208. Theopportunity analysis method 220 compares the marketingrule knowledge base 214 and, optionally, theuser profile 400, with theinventory database 402 that resulted from the execution of thescan method 218. The results of theopportunity analysis method 220 are written to the list ofmarketing opportunities 404. The list ofmarketing opportunities 404 comprises multiple opportunity match records and is described below in detail with reference to FIG. 12. - The
opportunity analysis method 220 evaluates the opportunity rule file(s) 1000 in the marketingrule knowledge base 214 to determine whether the conditions present on theclient computer 208 match theopportunity keys 1008 in eachopportunity rule file 1000. For each successful match of theopportunity key 1008 of anopportunity rule file 1000 in the marketingrule knowledge base 214, theopportunity analysis method 220 preferably records the following information specified by theopportunity analysis method 220 into the list of marketing opportunities 404: the existingproduct ID 700, therelated product ID 1004, and relatedproduct marketing information 1006. - Optionally, the
opportunity analysis method 220 additionally evaluates theuser profile 400 along with the marketingrule knowledge base 214 against theinventory database 402. When theuser profile 400 is considered by theopportunity analysis method 220, the preferences in theuser profile 400 that are predefined, stated, and/or inferred are evaluated to further define the marketing information to be presented to the user of theclient computer 208. By way of example, but not limitation, if theopportunity analysis method 220 identifies the opportunity match for marketing an Internet Service Provider (ISP) through the detection in theinventory database 402 of the correct opportunity key 1002 for theopportunity rule file 1000 in the marketingrule knowledge base 214, theopportunity analysis method 220 may utilize a stated preference in theuser profile 400 such as the user's ZIP code to market a more specific opportunity to the user. Opportunities further specified by information in theuser profile 400 need not be based upon explicitly stated preferences but may be based upon information inferred from any stated preferences given by the user in theuser profile 400. - FIG. 12 illustrates the list of
marketing opportunities 404 generated as a result of theopportunity analysis method 220. In the example illustrated, four opportunity matches resulted from the execution of the opportunity analysis method 220: a record foropportunity match A 1202, a record foropportunity match B 1204, a record foropportunity match C 1206, and a record foropportunity match D 1208. In this illustration, the information recorded in each opportunity match is the existingproduct ID 700,related product ID 1004, and relatedproduct marketing information 1006. In this example, the relatedproduct marketing information 1006 further comprises therelated product description 1010, therelated product description 1012, the relatedproduct search string 1014, and the relatedproduct advertisement campaign 1016. Other information provided in theinventory database 404, such as existingproduct category 702, existingproduct properties 704, and the like is optionally recorded for each opportunity in the list ofmarketing information 404. - The information about the matched opportunities contained in each opportunity match record is derived from the marketing
rule knowledge base 214 and theinventory database 402. It is important to note that any information contained in either the marketingrule knowledge base 214 or theinventory database 402 may be utilized by the list ofmarketing opportunities 404. The items detailed above are for the purposes of illustration only and should not be construed as limiting the potential contents of the list ofmarketing opportunities 404. - Presentation of Marketing Information to the User
- FIG. 13 illustrates an example of a screen of marketing information presented to the user of the
client computer 208 as a result of the execution of theopportunity detection object 216. An activemarketing results page 1300 is presented to the user of theclient computer 208. The activemarketing results page 1300 optionally displays the following information to the user based upon the results of the presentation method 222: an existingproduct name 1302, an existingproduct vendor name 1304, existingproduct information 1306, a marketing link to purchaserelated products 1308, a marketing link to learn more aboutrelated products 1310, and anadvertisement 1312 for related products. - The
presentation method 222 of theopportunity detection object 216 analyzes the list ofmarketing opportunities 404 on theclient computer 208 to determine what information to present to the user and how to present it. As illustrated by FIG. 13, the existingproduct name 1302 displayed to the user is based upon the existingproduct ID 700 in and is derived from the list ofmarketing opportunities 404. This existing product name may be the name of a specific product such as “NeoMagic MagicGraph 128XD” or a generic item. - The existing
product vendor name 1304 may be displayed by thepresentation method 222 and is also derived from the list ofmarketing opportunities 404. In another preferred embodiment, thepresentation method 222 may read directly from themarketing information database 214,product information database 212,user profile 400 and the like to retrieve any information it requires to display marketing information to the user. - Other existing
product information 1306 may be provided to the user as a result of the execution of thepresentation method 222. Other existing product information may be, for example, the existingproduct version 720, the measurement ofsize 726, and/or the measurement offree units 728. To illustrate the display of other existingproduct information 1306, FIG. 13 shows the measurement ofsize 726 and the measurementfree units 728 for the hard disk on the client computer under the Hard Disks category (“You Have: 6 GB total disk space (31% free)”). - The marketing link to purchase
related products 1308 and the marketing link to learn more aboutrelated products 1310 are produced by thepresentation method 222 based on information in the list ofmarketing opportunities 404. For every opportunity match record in the list ofmarketing opportunities 404, thepresentation method 222 evaluates therelated product information 1006 contained in the opportunity match record. Based on thisrelated product information 1006, thepresentation method 222 executes to provide the relevant marketing information to the user of theclient computer 208. For example, if thepresentation method 222 analyzing an opportunity match record detects arelated product description 1010 in therelated product information 1006, then the marketing link to learn more aboutrelated products 1310 may link to a page comprising therelated product ID 1004 and therelated product description 1010. In another example, if thepresentation method 222 analyzing an opportunity match record detects arelated product location 1012 in therelated product information 1006, the marketing link to purchaserelated products 1308 may connect the user to thevendor computer system 202 to purchase the software. In another illustration, if thepresentation method 222 analyzing an opportunity match record detects a relatedproduct search string 1014 inrelated product information 1006 designated as purchase information, the marketing link to purchaserelated products 1308 may connect the user to thevendor computer system 202 with the value of the relatedproduct search string 1014 passed as a parameter to a search engine on thevendor computer system 202. - Another example of marketing information displayed to the user of the client computer is the
advertisement 1312 for related products. In a preferred embodiment, theadvertisement 1312 displayed to the user is based upon the relatedproduct advertisement campaign 1016 in the list of matchedopportunities 404. Optionally, theadvertisement 1312 displays during a subsequent session between theclient computer 208 and the serviceprovider computer system 206. Information about the relatedproduct advertisement campaign 1016 specific to theclient computer 208 may be accessed by thepresentation method 222 resident on theclient computer 208 without the need for executing the entireopportunity detection object 216 during the subsequent sessions. - In summary, the present invention provides a method for accurately creating the
inventory database 402 of software and hardware products and components or peripherals on theclient computer 208 across the network 204 (with or without explicit acknowledgement by the user of the client computer 208) and marketing related products to the user. Using the method described as part of the present invention, it is possible to identify hardware and software products associated with theclient computer 208 and identify marketing opportunities that are triggered by the absence or presence of one or more products and/or a specific value resulting from the execution of adetection command 500 on theclient computer 208. The related products marketed to the user by this method are relevant to the user because they are based upon current configuration of theclient computer 208 combined, optionally, with the contents of theuser profile 400 completed by the user. - By compiling and maintaining instructions about marketing opportunities from of the marketing
rule knowledge base 214 that is analyzed by theopportunity detection object 216, it is possible to provide the user with real, actionable marketing information. As is evident, the marketing information presented to the user may include any combination of commerce opportunities, advertisements displayed to the user, additional information about related products, and the like. By way of example, the user is provided with a simple, accessible way to purchase or learn more about a related product directly relevant to the user's client computer configuration in a number of different ways, such as presenting links to purchase related products 1308 (commerce opportunities), marketing links to learn more about related products 1310 (additional information),advertisements 1312 for related products (advertisement display) based on the contents of the inventory database, and the like. - A system memory and a hard drive of a computer system, whether the service provider computer system or the client computer, can be utilized to store and retrieve software programs incorporating computer code that implements aspects of the invention, data for use with the invention, and the like. Exemplary computer readable storage media include CD-ROM, floppy disk, tape, flash memory, system memory, hard drive, as well as a data signal embodied in a carrier wave (e.g., in a network such as the Internet).
- While the preferred embodiments of the present invention are described and illustrated herein, it will be appreciated that they are merely illustrative and that modifications can be made to these embodiments without departing from the spirit and scope of the invention. Thus, the invention is intended to be defined only in terms of the following claims.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/202,164 US20020184367A1 (en) | 1999-10-29 | 2002-07-23 | Opportunity analysis system and method for updating a computer inventory |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/430,263 US6230199B1 (en) | 1999-10-29 | 1999-10-29 | Active marketing based on client computer configurations |
US09/785,676 US6370578B2 (en) | 1999-10-29 | 2001-02-16 | Active marketing based on client computer configurations |
US10/114,359 US6453347B1 (en) | 1999-10-29 | 2002-04-01 | Active marketing based on client computer configurations |
US10/202,164 US20020184367A1 (en) | 1999-10-29 | 2002-07-23 | Opportunity analysis system and method for updating a computer inventory |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/114,359 Continuation US6453347B1 (en) | 1999-10-29 | 2002-04-01 | Active marketing based on client computer configurations |
Publications (1)
Publication Number | Publication Date |
---|---|
US20020184367A1 true US20020184367A1 (en) | 2002-12-05 |
Family
ID=27028524
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/114,359 Expired - Lifetime US6453347B1 (en) | 1999-10-29 | 2002-04-01 | Active marketing based on client computer configurations |
US10/202,164 Abandoned US20020184367A1 (en) | 1999-10-29 | 2002-07-23 | Opportunity analysis system and method for updating a computer inventory |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/114,359 Expired - Lifetime US6453347B1 (en) | 1999-10-29 | 2002-04-01 | Active marketing based on client computer configurations |
Country Status (1)
Country | Link |
---|---|
US (2) | US6453347B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060069606A1 (en) * | 2004-09-30 | 2006-03-30 | Kraft Foods Holdings, Inc. | Store modeling-based identification of marketing opportunities |
US8166025B1 (en) * | 2003-05-30 | 2012-04-24 | Aol Inc. | Resolving queries based on automatic determination of requestor geographic location |
US20140047101A1 (en) * | 2012-08-09 | 2014-02-13 | William Nix | Method for Personalized Shopping Recommendations |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6453347B1 (en) * | 1999-10-29 | 2002-09-17 | Mcafee.Com, Inc. | Active marketing based on client computer configurations |
US7822636B1 (en) | 1999-11-08 | 2010-10-26 | Aol Advertising, Inc. | Optimal internet ad placement |
US7392281B1 (en) * | 2000-02-25 | 2008-06-24 | Navic Systems, Inc. | System and method for providing guaranteed delivery of messages to embedded devices over a data network |
US7711798B1 (en) * | 2000-07-12 | 2010-05-04 | Paltalk Holdings, Inc. | Method and computer program for offering products and services by examining user activity |
US7047273B2 (en) | 2000-11-28 | 2006-05-16 | Navic Systems, Inc. | Load balancing in set top cable box environment |
US20050075949A1 (en) * | 2000-12-29 | 2005-04-07 | Uhrig Thomas C. | Method and system for analyzing and planning an inventory |
US7526434B2 (en) * | 2001-01-30 | 2009-04-28 | Linda Sharp | Network based system and method for marketing management |
US6769002B2 (en) | 2001-11-08 | 2004-07-27 | Jordan E. Ayan | System and methods for multilevel electronic mail communication programs |
WO2004003705A2 (en) | 2002-06-27 | 2004-01-08 | Small World Productions, Inc. | System and method for locating and notifying a user of a person, place or thing having attributes matching the user's stated prefernces |
US8427303B1 (en) | 2002-06-27 | 2013-04-23 | Geomass Limited Liability Company | System and method for providing media content having attributes matching a user's stated preference |
US8102253B1 (en) | 2002-06-27 | 2012-01-24 | Earthcomber, Llc | System and method for notifying a user of people, places or things having attributes matching a user's stated preference |
DE10241097B4 (en) * | 2002-09-02 | 2006-08-17 | Siemens Ag | Method for obtaining presence data |
US6711676B1 (en) * | 2002-10-15 | 2004-03-23 | Zomaya Group, Inc. | System and method for providing computer upgrade information |
US7577948B2 (en) * | 2003-07-02 | 2009-08-18 | Upgradedetect, Inc. | System and method for providing computer upgrade information |
AU2003248880A1 (en) * | 2002-11-26 | 2004-06-18 | The Advertizing Firm, Inc. | Method and system of advertising |
US8694381B1 (en) * | 2002-11-27 | 2014-04-08 | Hewlett-Packard Development Company, L.P. | Personal computer lifecycle management / personal computer validation tool |
US20040166940A1 (en) * | 2003-02-26 | 2004-08-26 | Rothschild Wayne H. | Configuration of gaming machines |
US7690989B2 (en) * | 2003-04-10 | 2010-04-06 | Walker Digital, Llc | System and method for awarding prizes in a local edition of an online game |
US20070113272A2 (en) | 2003-07-01 | 2007-05-17 | Securityprofiling, Inc. | Real-time vulnerability monitoring |
US9118710B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | System, method, and computer program product for reporting an occurrence in different manners |
US9100431B2 (en) | 2003-07-01 | 2015-08-04 | Securityprofiling, Llc | Computer program product and apparatus for multi-path remediation |
US9118709B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9350752B2 (en) | 2003-07-01 | 2016-05-24 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118708B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Multi-path remediation |
US9118711B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US8984644B2 (en) | 2003-07-01 | 2015-03-17 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US7503477B2 (en) * | 2004-11-09 | 2009-03-17 | International Business Machines Corporation | Method for offering location-based targeted discounts without requirement for location sensing |
US8974304B2 (en) * | 2004-12-22 | 2015-03-10 | Wms Gaming Inc. | System, method, and apparatus for detecting abnormal behavior of a wagering game machine |
US8880677B2 (en) | 2005-01-03 | 2014-11-04 | Qualcomm Connected Experiences, Inc. | System and method for delivering content to users on a network |
US8281037B2 (en) * | 2005-01-03 | 2012-10-02 | Orb Networks, Inc. | System and method for delivering content to users on a network |
US7873765B1 (en) * | 2005-03-31 | 2011-01-18 | Google, Inc. | Method and system for detection of peripheral devices and communication of related devices |
US7921035B2 (en) * | 2005-04-15 | 2011-04-05 | The Go Daddy Group, Inc. | Parked webpage domain name suggestions |
US7917389B2 (en) * | 2005-04-15 | 2011-03-29 | The Go Daddy Group, Inc. | Relevant email ads for domain name advertiser |
US7890369B2 (en) * | 2005-04-15 | 2011-02-15 | The Go Daddy Group, Inc. | Relevant online ads for domain name advertiser |
US20060247937A1 (en) * | 2005-04-28 | 2006-11-02 | International Business Machines Corporation | Method and apparatus for a context-based service look up |
US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
US9286388B2 (en) * | 2005-08-04 | 2016-03-15 | Time Warner Cable Enterprises Llc | Method and apparatus for context-specific content delivery |
US20070115498A1 (en) * | 2005-11-18 | 2007-05-24 | The Go Daddy Group, Inc. | Relevant messages associated with incoming fax documents |
US20070115512A1 (en) * | 2005-11-18 | 2007-05-24 | The Go Daddy Group, Inc. | Relevant messages associated with outgoing fax documents |
US20070143216A1 (en) * | 2005-12-16 | 2007-06-21 | Benaloh Josh D | Data Signal with a Database and a Compressed Key |
US20090006465A1 (en) * | 2006-09-07 | 2009-01-01 | Steven John Sue | Method and System For Matching Pre-Indexed Product Profiles to Consumers |
US8402114B2 (en) | 2006-12-28 | 2013-03-19 | Advertising.Com Llc | Systems and methods for selecting advertisements for display over a communications network |
US8235811B2 (en) * | 2007-03-23 | 2012-08-07 | Wms Gaming, Inc. | Using player information in wagering game environments |
US11062351B1 (en) | 2007-11-15 | 2021-07-13 | Verizon Media Inc. | Systems and methods for allocating electronic advertising opportunities |
US8255396B2 (en) | 2008-02-25 | 2012-08-28 | Atigeo Llc | Electronic profile development, storage, use, and systems therefor |
US20090216563A1 (en) * | 2008-02-25 | 2009-08-27 | Michael Sandoval | Electronic profile development, storage, use and systems for taking action based thereon |
US8150729B2 (en) * | 2008-05-05 | 2012-04-03 | International Business Machines Corporation | Method, system and program product for displaying advertising content on a music player |
US8122820B2 (en) * | 2008-12-19 | 2012-02-28 | Whirlpool Corporation | Food processor with dicing tool |
US20100223143A1 (en) * | 2009-02-27 | 2010-09-02 | The Go Daddy Group, Inc. | Dynamic content relevant domain name suggestion in online advertising |
US20100223278A1 (en) * | 2009-02-27 | 2010-09-02 | The Go Daddy Group, Inc. | Generating online advertisments based upon available dynamic content relevant domain names |
US20100223132A1 (en) * | 2009-02-27 | 2010-09-02 | The Go Daddy Group, Inc. | Embedding advertisements offering available, dynamic-content-relevant domain names in online video |
US20100223113A1 (en) * | 2009-02-27 | 2010-09-02 | The Go Daddy Group, Inc. | Systems for embedding advertisements offering available, dynamic-content-relevant domain names in online video |
US8312364B2 (en) * | 2009-09-17 | 2012-11-13 | Go Daddy Operating Company, LLC | Social website domain registration announcement and search engine feed |
US8276057B2 (en) * | 2009-09-17 | 2012-09-25 | Go Daddy Operating Company, LLC | Announcing a domain name registration on a social website |
US9858593B2 (en) | 2010-04-09 | 2018-01-02 | Go Daddy Operating Company, LLC | URL shortening based online advertising |
CA2798481A1 (en) | 2010-05-06 | 2011-11-10 | Atigeo Llc | Systems, methods, and computer readable media for security in profile utilizing systems |
US8504419B2 (en) * | 2010-05-28 | 2013-08-06 | Apple Inc. | Network-based targeted content delivery based on queue adjustment factors calculated using the weighted combination of overall rank, context, and covariance scores for an invitational content item |
US20120215613A1 (en) * | 2011-02-22 | 2012-08-23 | Rajiv Madhok | System and method for managing offers for prepaid telephony accounts |
US9846902B2 (en) * | 2011-07-19 | 2017-12-19 | Slice Technologies, Inc. | Augmented aggregation of emailed product order and shipping information |
US8849948B2 (en) * | 2011-07-29 | 2014-09-30 | Comcast Cable Communications, Llc | Variable speed playback |
US10565629B2 (en) * | 2011-10-11 | 2020-02-18 | Carrier Services Group, Inc. | Computerized valuation of electronic equipment |
US20140025510A1 (en) * | 2012-07-23 | 2014-01-23 | Sudheer Kumar Pamuru | Inventory video production |
US8938438B2 (en) | 2012-10-11 | 2015-01-20 | Go Daddy Operating Company, LLC | Optimizing search engine ranking by recommending content including frequently searched questions |
US9465878B2 (en) | 2014-01-17 | 2016-10-11 | Go Daddy Operating Company, LLC | System and method for depicting backlink metrics for a website |
CN103810623A (en) * | 2014-03-04 | 2014-05-21 | 深圳市远行科技有限公司 | Real-time automatic marketing method and system |
US9800615B2 (en) | 2014-09-09 | 2017-10-24 | Bank Of America Corporation | Real-time security monitoring using cross-channel event processor |
US10534828B2 (en) | 2016-08-12 | 2020-01-14 | Kiddy Up LLC | System and method for collection and storage of community information |
US10803064B1 (en) | 2017-03-14 | 2020-10-13 | Wells Fargo Bank, N.A. | System and method for dynamic scaling and modification of a rule-based matching and prioritization engine |
US11010675B1 (en) | 2017-03-14 | 2021-05-18 | Wells Fargo Bank, N.A. | Machine learning integration for a dynamically scaling matching and prioritization engine |
US11138269B1 (en) | 2017-03-14 | 2021-10-05 | Wells Fargo Bank, N.A. | Optimizing database query processes with supervised independent autonomy through a dynamically scaling matching and priority engine |
US10447635B2 (en) | 2017-05-17 | 2019-10-15 | Slice Technologies, Inc. | Filtering electronic messages |
US11803883B2 (en) | 2018-01-29 | 2023-10-31 | Nielsen Consumer Llc | Quality assurance for labeled training data |
US11824948B2 (en) * | 2019-11-01 | 2023-11-21 | Oracle International Corporation | Enhanced processing of user profiles using data structures specialized for graphical processing units (GPUs) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742829A (en) * | 1995-03-10 | 1998-04-21 | Microsoft Corporation | Automatic software installation on heterogeneous networked client computer systems |
US5758071A (en) * | 1996-07-12 | 1998-05-26 | Electronic Data Systems Corporation | Method and system for tracking the configuration of a computer coupled to a computer network |
US5829001A (en) * | 1997-01-21 | 1998-10-27 | Netiq Corporation | Database updates over a network |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US5864823A (en) * | 1997-06-25 | 1999-01-26 | Virtel Corporation | Integrated virtual telecommunication system for E-commerce |
US5913040A (en) * | 1995-08-22 | 1999-06-15 | Backweb Ltd. | Method and apparatus for transmitting and displaying information between a remote network and a local computer |
US6009410A (en) * | 1997-10-16 | 1999-12-28 | At&T Corporation | Method and system for presenting customized advertising to a user on the world wide web |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US6101486A (en) * | 1998-04-20 | 2000-08-08 | Nortel Networks Corporation | System and method for retrieving customer information at a transaction center |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US6230199B1 (en) * | 1999-10-29 | 2001-05-08 | Mcafee.Com, Inc. | Active marketing based on client computer configurations |
US6272677B1 (en) * | 1998-08-28 | 2001-08-07 | International Business Machines Corporation | Method and system for automatic detection and distribution of code version updates |
US6453347B1 (en) * | 1999-10-29 | 2002-09-17 | Mcafee.Com, Inc. | Active marketing based on client computer configurations |
US6529938B1 (en) * | 1999-08-06 | 2003-03-04 | International Business Machines Corporation | Method, system, and program for executing operations on a client in a network environment |
US6549932B1 (en) * | 1998-06-03 | 2003-04-15 | International Business Machines Corporation | System, method and computer program product for discovery in a distributed computing environment |
US6711676B1 (en) * | 2002-10-15 | 2004-03-23 | Zomaya Group, Inc. | System and method for providing computer upgrade information |
-
2002
- 2002-04-01 US US10/114,359 patent/US6453347B1/en not_active Expired - Lifetime
- 2002-07-23 US US10/202,164 patent/US20020184367A1/en not_active Abandoned
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742829A (en) * | 1995-03-10 | 1998-04-21 | Microsoft Corporation | Automatic software installation on heterogeneous networked client computer systems |
US5913040A (en) * | 1995-08-22 | 1999-06-15 | Backweb Ltd. | Method and apparatus for transmitting and displaying information between a remote network and a local computer |
US6317789B1 (en) * | 1995-08-22 | 2001-11-13 | Backweb, Ltd. | Method and apparatus for transmitting and displaying information between a remote network and a local computer |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US6073214A (en) * | 1995-11-27 | 2000-06-06 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US5758071A (en) * | 1996-07-12 | 1998-05-26 | Electronic Data Systems Corporation | Method and system for tracking the configuration of a computer coupled to a computer network |
US5829001A (en) * | 1997-01-21 | 1998-10-27 | Netiq Corporation | Database updates over a network |
US5864823A (en) * | 1997-06-25 | 1999-01-26 | Virtel Corporation | Integrated virtual telecommunication system for E-commerce |
US6009410A (en) * | 1997-10-16 | 1999-12-28 | At&T Corporation | Method and system for presenting customized advertising to a user on the world wide web |
US6101486A (en) * | 1998-04-20 | 2000-08-08 | Nortel Networks Corporation | System and method for retrieving customer information at a transaction center |
US6549932B1 (en) * | 1998-06-03 | 2003-04-15 | International Business Machines Corporation | System, method and computer program product for discovery in a distributed computing environment |
US6272677B1 (en) * | 1998-08-28 | 2001-08-07 | International Business Machines Corporation | Method and system for automatic detection and distribution of code version updates |
US6529938B1 (en) * | 1999-08-06 | 2003-03-04 | International Business Machines Corporation | Method, system, and program for executing operations on a client in a network environment |
US6230199B1 (en) * | 1999-10-29 | 2001-05-08 | Mcafee.Com, Inc. | Active marketing based on client computer configurations |
US6370578B2 (en) * | 1999-10-29 | 2002-04-09 | Mcafee.Com, Inc. | Active marketing based on client computer configurations |
US6453347B1 (en) * | 1999-10-29 | 2002-09-17 | Mcafee.Com, Inc. | Active marketing based on client computer configurations |
US6711676B1 (en) * | 2002-10-15 | 2004-03-23 | Zomaya Group, Inc. | System and method for providing computer upgrade information |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8166025B1 (en) * | 2003-05-30 | 2012-04-24 | Aol Inc. | Resolving queries based on automatic determination of requestor geographic location |
US9058395B2 (en) | 2003-05-30 | 2015-06-16 | Microsoft Technology Licensing, Llc | Resolving queries based on automatic determination of requestor geographic location |
US20060069606A1 (en) * | 2004-09-30 | 2006-03-30 | Kraft Foods Holdings, Inc. | Store modeling-based identification of marketing opportunities |
US20140047101A1 (en) * | 2012-08-09 | 2014-02-13 | William Nix | Method for Personalized Shopping Recommendations |
Also Published As
Publication number | Publication date |
---|---|
US6453347B1 (en) | 2002-09-17 |
US20020143937A1 (en) | 2002-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6370578B2 (en) | Active marketing based on client computer configurations | |
US6453347B1 (en) | Active marketing based on client computer configurations | |
US20020161637A1 (en) | Advertising system | |
US6216112B1 (en) | Method for software distribution and compensation with replenishable advertisements | |
US6490602B1 (en) | Method and apparatus for providing enhanced functionality to product webpages | |
US8041711B2 (en) | Method and system for providing a link in an electronic file being presented to a user | |
JP5562328B2 (en) | Automatic monitoring and matching of Internet-based advertisements | |
US9704183B2 (en) | System and method for generating and managing interactive advertisements | |
US8300819B2 (en) | Service providing apparatus and server providing method | |
US20030046149A1 (en) | Method, an apparatus, and a computer program for effectively reaching a target audience and significantly increasing the efficiency of internet banner advertisement | |
US20030101092A1 (en) | Method for software distribution and compensation with replenishable advertisements | |
US20050144073A1 (en) | Method and system for serving advertisements | |
US20110321167A1 (en) | Ad privacy management | |
US20020010757A1 (en) | Method and apparatus for replacement of on-line advertisements | |
US20060080172A1 (en) | Method, system, and software for electronic media driven promotions that include off-line actions | |
EP2196954A1 (en) | Online ad detection and ad campaign analysis | |
US20140136334A1 (en) | System and method for marketing over an electronic network | |
US11295339B1 (en) | Tracking user conversions across mobile applications and browsers | |
US20050171846A1 (en) | Apparatus, method and program for supporting purchase motivation analysis | |
JP2003529127A (en) | Web user profiling and delivery of selected content | |
US6557006B1 (en) | System and method for displaying an interactive electronic representation of a corresponding static media object | |
US20120173250A1 (en) | Behavior based loyalty system to deliver personalized benefits | |
CN104254847A (en) | Contextual application delivery | |
US20040143757A1 (en) | Method, system, and computer program product for verifying rule processing for web pages | |
KR20020007128A (en) | Network-based advertisement method with virus checking and system thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NETWORKS ASSOCIATES TECHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NETWORKS ASSOCIATES, INC.;REEL/FRAME:013386/0189 Effective date: 20020919 Owner name: NETWORKS ASSOCIATES, INC., CALIFORNIA Free format text: MERGER;ASSIGNOR:MCAFEE.COM CORPORATION;REEL/FRAME:013372/0623 Effective date: 20020913 |
|
AS | Assignment |
Owner name: NETWORKS ASSOCIATES, INC., CALIFORNIA Free format text: MERGER;ASSIGNOR:MCAFEE.COM CORPORATION;REEL/FRAME:013323/0424 Effective date: 20020913 |
|
AS | Assignment |
Owner name: NETWORKS ASSOCIATES TECHNOLOGY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NETWORKS ASSOCIATES, INC.;REEL/FRAME:013333/0459 Effective date: 20020919 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MCAFEE, INC.,CALIFORNIA Free format text: MERGER;ASSIGNOR:NETWORKS ASSOCIATES TECHNOLOGY, INC.;REEL/FRAME:016646/0513 Effective date: 20041119 Owner name: MCAFEE, INC., CALIFORNIA Free format text: MERGER;ASSIGNOR:NETWORKS ASSOCIATES TECHNOLOGY, INC.;REEL/FRAME:016646/0513 Effective date: 20041119 |