WO2002035421A1 - Method and apparatus for recognizing electronic commerce web pages and sites - Google Patents

Method and apparatus for recognizing electronic commerce web pages and sites Download PDF

Info

Publication number
WO2002035421A1
WO2002035421A1 PCT/US2000/029430 US0029430W WO0235421A1 WO 2002035421 A1 WO2002035421 A1 WO 2002035421A1 US 0029430 W US0029430 W US 0029430W WO 0235421 A1 WO0235421 A1 WO 0235421A1
Authority
WO
WIPO (PCT)
Prior art keywords
web
merchant
browser
product
web page
Prior art date
Application number
PCT/US2000/029430
Other languages
French (fr)
Inventor
Anne Burnett
Allen Tom
Jim Ambach
Valerie Chu
Edwin Khodabakchian
Trang Li
Glenn Mi
Original Assignee
Netscape Communications Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netscape Communications Corporation filed Critical Netscape Communications Corporation
Priority to AU2001212315A priority Critical patent/AU2001212315A1/en
Priority to PCT/US2000/029430 priority patent/WO2002035421A1/en
Publication of WO2002035421A1 publication Critical patent/WO2002035421A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Definitions

  • This invention pertains to the field of electronic commerce and the selection and rating of electronic commerce merchants and the web sites that they publish over a computer network.
  • the WWW structures information into graphical user interfaces (GUIs) known as web pages. These web pages organize and present information in a manner that is easy to comprehend. Navigating the WWW requires a specialized software tool called a browser. The browser can retrieve web pages from remote computers connected to the Internet and then present them to a computer user in their intended graphic form. The act of viewing web pages in their graphic form, especially in succession, has come to be known as browsing.
  • GUIs graphical user interfaces
  • Electronic commerce merchants will ordinarily operate a web site that offers a plurality of products and/or services that consumers may purchase electronically over the Internet.
  • a small, specialized retail store might carry sporting goods.
  • Grander retail stores often referred to as department stores, may in fact offer a wide variety of different products.
  • the traditional retail establishment offers some collection of products for sale.
  • the products are usually displayed on product shelves that are organized in a manner that helps the consumer find the product they want.
  • the department store not only are the products organized on aisles of shelves, but collection of shelves are segregated by product category.
  • a web site can offer a variety of products in a single category, such as a web site devoted to sporting goods. Or, a web site could conceivably offer a plethora of various merchandise categories, each of which has a variety of product offerings.
  • Advertising has long been the traditional means for attracting customers to the specialized retail or department store. In the real world, this is accomplished through conventional media such as radio, television, and newspapers. These traditional forms of media are usually targeted toward a specific segment of the buying population. Potential customers would see an advertisement and presumably flock to the retail store with credit card or cold, green cash in hand.
  • the merchandising game follows new rules because of the inherent publication capabilities provided by the World Wide Web.
  • electronic merchants normally advertise their product offerings using banner advertisements published by various means.
  • the most common mechanism for displaying banner ads to potential customers is through a specialized web tool that is called a search engine.
  • the search engine is normally embodied with an interactive graphical user interface.
  • the search engine allows any Internet user to search the WWW for web pages that that person may be interested in.
  • the search engine can ascertain if the user is searching for a product, and if so what type of product. Of course, the search engine can determine any other buying propensity that a particular user exhibits by the structure of the queries they submit.
  • the search engines known to date will correlate the computer user's buying propensity to a category of advertisements that sponsoring merchants want to present to potential consumers. Once an appropriate advertisement is selected, it is presented the to the computer user as a banner along with the results of the search query.
  • the search engine will present one or more banner advertisements that promote products or services commensurate with the postulated buying propensity.
  • the search engine will most probably present an advertisement for a web site that sells obsolete or hard to find automotive parts.
  • electronic commerce merchants are compelled to present their banner advertisements on as many search engines and in as many product categories as possible.
  • the search engine will present an advertisement to the computer user.
  • the banner advertisement displayed to a computer user includes a hyperlink that will direct the browser to the sponsors' web site.
  • the electronic commerce merchant that sponsored the advertisement hopes that this will draw the computer user to their web site.
  • the search engine can not identify actual potential customers. This means that there is little incentive for electronic commerce merchants to present their banner advertisements every time the search engine indicates an interest in a product category.
  • the probability that that particular computer user is really shopping for a product increases substantially.
  • a banner advertisement to hyper-link to an electronic merchants' web site, there is an implicit qualification of that computer user as an actual shopper.
  • the prior art banner presentation mechanism as embodied in the various search engines has proven itself as an efficient means to attract potential computer users to electronic commerce web sites.
  • the prior art has not incorporated any means to provide competitive information to potential consumers.
  • This technology could not feasibly provide consumers with information relative to competing merchants and/or products.
  • sponsoring merchants can not be assured that a banner advertisement will be presented to a computer user that has been qualified as a potential customer means that competing merchants are not financially motivated to present competing advertisements. And even if they were so inclined, search engine companies can not accommodate every merchant and in fact they are financially motivated not to.
  • one prior art comparison web site has used a dedicated server to crawl the web in search of available web pages. This method parses the content of every web page that is found on the WWW and determines if that web page is in fact an electronic commerce web page, and if so, the corresponding merchant and product that the page offers.
  • the prior art can only identify these web pages by there content and presupposes that content to be immutable. This renders the results of a crawling session obsolete if any electronic commerce merchant changes the appearance or substance of a web page.
  • the computer user must visit the special product comparison web site in order to experience the benefits of competing merchants and products.
  • Both the search engines that present banner advertisements and the specialized merchant comparison web sites that seek to foster competition are of no value if the computer user does not first visit those sites. If the computer user directly enters the web address of a merchant that sells a particular product, that user will not have access to any comparison data. So, in the case where a computer user knows the address of a particular on-line book seller and calls up that web site directly using the browser, the prior art could not provide an enumeration of comparable web sites or products.
  • the present invention cures the shortcomings of the prior art.
  • the present invention ascertains that the computer user is actually shopping for a product. This enables the present invention to qualify the computer user as a potential consumer.
  • the search engine of prior art is simply incapable of making this distinction.
  • comparison data is automatically presented to the computer user. The computer user does not need to visit a special web site to view the comparison data.
  • the present invention works with every web site and presents comparison data to the user while the user is actually viewing a product web site.
  • a shopping assistant server is used to accepts or otherwise accumulate information on competing web sites and product web pages published on the Internet.
  • the shopping assistant server is connected to a computer network.
  • the Internet is used as the connection means.
  • the shopping assistant server maintains two databases. The first database maintains information about the products web pages are offering for sale. The second database maintains information pertaining to electronic commerce merchants doing business over the Internet. Collectively, these two databases enable the shopping assistant server to provide any computer user with information about competing web sites and the products that they offer.
  • the shopping assistant server can accept information pertaining to electronic commerce merchants or products available for sale over the Internet in one of two ways. First, the shopping assistant server can accept direct input from a system operator. Second, the shopping assistant server can actively crawl the World Wide Web and seek out the Web pages that are offering to sell products. Product web pages are automatically correlated with electronic commerce merchants registered in a merchant database. If a particular web page cannot be associated with a merchant already registered in the database, the shopping assistant server automatically creates a new electronic commerce merchant profile in the database.
  • the present invention further comprises an enhanced web browser tool.
  • the enhanced web browser tool creates a first web browser control.
  • the enhanced web browser retrieves a web page specified by the user and then forwards the page description for that page to the first web browser control.
  • This enhanced web browser waits until a new web page is loaded and then automatically parses the address of that web page.
  • a lexical analyzer determines if the web page is affiliated with an electronic commerce merchandise site and if so what product that particular page is presenting or offering for sale. It does so by extracting a merchant name and product identification code from the web page address.
  • the lexical analyzer extracts a merchant name, a product identifier, or both from the web page address.
  • a merchant database hosted on a server is consulted to determine if that merchant is registered.
  • the server contains merchant attributes for the extracted merchant name, the server returns either a tag or a set of attributes to the enhanced web browser.
  • a shopping assistant module in the enhanced web browser can create a web page description that reflects the merchant attributes.
  • the server can return a preco posed web page that depicts the merchant attributes. This web page is called a merchant tag.
  • a product database server For product identification codes that are successfully extracted from the web page address, a product database server is consulted.
  • the product database server also returns either a tag or a set of attributes to the enhanced web browser.
  • a shopping assistant module in the enhanced web browser can create a web page description that reflects the product attributes.
  • the server can return a precomposed web page that depicts the product attributes. This web page is called a product tag.
  • the page descriptions are forwarded to a second web browser child control.
  • the second web browser child control is place adjacent to the first child control so as to be perceived by a computer as a single web browser window.
  • Fig. 1 is a block diagram that depicts the interconnection of a shopping assistant sever, a search engine server, a merchant server and a computer user by way of a computer network;
  • Fig. 2 is a flow diagram that depicts the various processes that cooperate in order to provide the functionality of the present invention
  • Fig. 3 is a pictorial representation of a typical search engine query form
  • Fig. 4 is a pictorial representation of a web page composed by the search engine server in response to a computer users query;
  • Fig. 5 is a process flow diagram that illustrates the actions taken by the shopping assistant browser module whenever a new web page is loaded by the browser;
  • Fig. 6 is a process flow diagram that illustrates the remaining actions taken by the shopping assistant browser module after the merchant name and product identifier are extracted from the web page address;
  • Fig. 7 is a process flow diagram that depicts the process flow executed by the shopping assistant server when it receives a data query request from the shopping assistant browser module;
  • Fig. 8 is a process flow diagram that depicts the processing thread executed by the shopping assistant browser module after it has submitted a data query to the shopping assistant server;
  • Fig. 9 is a pictorial representation of the computer screen presented to the computer user while using this invention.
  • Fig. 10 is a pictorial representation of the GUI for a typical web page where the amalgamated merchant/product XML tag-set has been integrated with the GUI;
  • Fig. 10A is a process flow diagram that demonstrates how the enhanced web browser spawns web-browser controls; and Fig. 1 1 is a pictorial representation of a merchant comparison GUI.
  • Fig. 10A is a process flow diagram that demonstrates how the enhanced web browser spawns web-browser controls; and Fig. 1 1 is a pictorial representation of a merchant comparison GUI.
  • Fig. 1 is a block diagram that illustrates how the shopping assistant server 15 is connected to a computer network 10. Also connected to the computer network are a plurality of search engine servers 20, a plurality of merchant servers 25, and a plurality of user computers 30.
  • the computer network 10 can be any suitable network, but the present invention is most appropriately utilized using the Internet.
  • Fig. 2 is a flow diagram that depicts the various processes that cooperate in order to provide the functionality of the present invention.
  • the computer user 35 will ordinarily interact with the enhanced web browser 40 for the purpose of viewing web pages published over the Internet.
  • the enhanced web browser 40 accepts web page addresses from the computer user 35. When the computer user 35 enters a web page address, the enhanced web browser 40 will attempt to loaded a web page corresponding to the web address. In a typical browsing session, the computer user 35 would ordinarily enter the web address of a search engine.
  • the enhanced web browser 40 will establish a communications session with the search engine server 15 using a first TCP/IP communications channel 45. Once this first TCP/IP communications channel 45 is open, the enhanced web browser 40 and the search engine 50 can effectively communicate with each other whenever the computer user 35 submits queries to the search engine 50.
  • the search engine server 15 uses active server page technology to compose a web page that the computer user 35 can use to submit search queries.
  • the search engine server 50 will respond to an initial web browser request by preparing this query form and delivering it to the enhanced web browser 40.
  • the enhanced web browser 40 will then present the search engine query form to the computer user 35.
  • the computer user 35 will then use the search engine query form to submit a search topic.
  • the search query form embodied as an active server page, will then return the search topic to the search engine server 50.
  • the search engine server 50 will use the search topic as the basis of a query as it consults an index of all known web pages published over the Internet.
  • the search engine maintains this index of web pages in a web page index 55.
  • Fig. 3 is a pictorial representation of a typical search engine query form. Although not an important aspect of the present invention, this figure is presented for the sake of completeness.
  • the search engine query form shown in this figure will minimally be comprised of a search-topic data-entry-field 100 and a search submission command of button 105.
  • the computer user 35 would enter a search topic into the search engine query form a using the search-topic data-entry field 100.
  • the computer user 35 will then submit the search query to search engine 50 by using the search submission command of button 105.
  • the computer user 35 has entered a search topic "CLASSIC CARS".
  • Fig. 4 is a pictorial representation of a web page composed by the search engine server 50 in response to a computer users query.
  • the search results for "CLASSIC CARS" include two web pages. These are presented in the search results window 110.
  • banner advertisements are presented to the computer user 35.
  • “Rod's Rods Classic Cars” and “ENTER CLASSIC RALLY” represent two such banner advertisements.
  • the substantive composition of this Fig. 4 is for illustrative purposes only. What is important to note is that a plurality of banner advertisements are presented to the computer user 35. Not only do these banner advertisements present a graphical message, but they further comprise a hyper-link.
  • the hyper-link for each banner advertisement will direct the enhanced web browser 40 to a web page designated by the sponsoring advertiser.
  • the search results presented in the search results window 110 also further comprise hyper-links. These hyper-links will direct the enhanced web browser 40 to the web page identified by the search engine server 50 when it consulted the web page index database 55.
  • Fig. 2 further illustrates that the enhanced web browser 40 establishes a second TCP/IP connection 60 with a merchant server 65. This occurs when the computer user 35 either directly enters the Web address of the merchant server 65 or uses one of the hyper links affiliated with the banner advertisements or search results presented by the search engine server 50. Once the second TCP/IP communications channel is established, the enhanced web browser 40 can retrieve web pages stored by the merchant server 65 in a web page repository 70. Having so retrieved a web page, the enhanced web browser 40 will present the web page to the computer user 35.
  • the enhanced web browser 40 further comprises a software module called a shopping assistant browser module 42.
  • the shopping assistant browser module 42 examines the web address of every web page retrieved by the enhanced web browser 40, but only after the web page is fully loaded. Once a web page is fully loaded, the shopping assistant browser module 42 uses a set of rules to parse the actual web address. Most electronic commerce merchants will use a fairly standard syntax for the web page addresses. Consider the following example:
  • This particular web page address follows a reasonably predictable pattern, or syntax.
  • the shopping assistant browser module 42 can infer that the web page currently loaded by the enhanced web browser 40 describes a product with a particular product code.
  • the product code is "1234".
  • a simple extension to this rule structure would include syntax for determining the name of the electronic commerce merchant.
  • the product web page is affiliated with an electronic commerce merchandising site published by a merchant called "test- merchant”.
  • the rules engine in the shopping assistant browser module 42 infers this from the domain name included in the web page address. Again, the substantive content of this example is for illustration purposes only.
  • the shopping assistant browser module 40 will establish a third TCP/IP communications channel 75 with the shopping assistant server 80. This can be done on an as needed basis or the communications channel can be established when the computer user first begins a browsing session and can be maintained so long as the computer user is actively browsing the Internet. Using the third TCP/IP communications channel 75, the shopping assistant browser module 42 will communicate with the shopping assistant server 80 in order to retrieve information on competitive electronic commerce merchants and/or comparative products.
  • Fig. 5 is a process flow diagram that illustrates the actions taken by the shopping assistant browser module 42 whenever a new web page is loaded by the browser 40.
  • the first step in this process thread causes the shopping assistant browser module 42 to wait until a new web page is completely loaded (step 120).
  • the shopping assistant browser module 42 checks to see if the web page's domain name is affiliated with an electronic commerce merchant. In the first part of this process, the rules engine extracts the domain name from the web address.
  • the shopping assistant browser module 42 then consults a database maintained locally on the computer users computer. This is called the shopping domain database 130. If the newly loaded web page domain is not found in the shopping domain database 130, the shopping assistant browser module 42 does not perform any additional processing. It then returns to the beginning of the processing thread and waits for a new web page the loaded.
  • the shopping assistant browser module 42 will attempt to extract the merchant name and a product identifier from the web address (steps.140 and 145).
  • the shopping assistant browser module 42 attempts to extract a product code from the web address (step 145).
  • the product code is known as the merchant product identifier (MPI).
  • MPI merchant product identifier
  • the rules engine assumes that the web page loaded by the browser 40 is not part of an electronic commerce merchant site. In this case the shopping assistant browser module 42 returns to the start of its processing thread and waits for a new web page to be loaded.
  • the shopping assistant browser module 42 recognizes a merchant name or a valid MPI, it sends this information to the shopping assistant server 80 (step130).
  • the shopping assistant browser module 42 parses the web address into a series of tokens. Each token is then assigned some significance in a standardized web address syntax.
  • the simplest token would be the ASCII ⁇ FORWARD-SLASH> character.
  • the rules engine uses this token to identify different portions of a web address. For instance, in the aforementioned example, the ⁇ FORWARD-SLASH> is used to recognize the termination of the network identifier "http://”. After having recognized the network identifier, the rules engine assumes that the next portion of the web address contains the domain name of the electronic commerce merchant. Again, in the aforementioned example, the rules engine would extract as a merchant name of the textual representation "test-merchant".
  • Fig. 6 is a process flow diagram that illustrates the remaining actions taken by the shopping assistant browser module 42 after the merchant name and product identifier are extracted from the web page address.
  • the shopping assistant browser module 42 determines if the merchant name was successfully extracted from the web page address (step 150).
  • the shopping assistant browser module 42 also determines if the purchase product identifier was successfully extracted from the web page address (step 155). Once these two Boolean operations are completed, the shopping assistant browser module 42 sends a query request to the shopping assistant server 15.
  • Fig. 7 is a process flow diagram that depicts the process flow executed by the shopping assistant server 5 when it receives a request from the shopping assistant browser module 42.
  • the first thing that the shopping assistant server 15 does is to determine if the merchant has been previously identified.
  • the shopping assistant server 80 does this by performing a query of the merchant database 90.
  • the shopping assistant server 15 retrieves a set of merchant attributes for the merchant (step 165). These merchant attributes are stored in the merchant database 90.
  • the merchant attributes include, but should not be limited to a merchant rating, an enumeration of the type electronic commerce facilities the merchant supports, a flag that indicates if the merchant can support secure transactions and a second flag that indicates that the merchant has been certified by a consumer watch service.
  • the merchant attributes are stored in the merchant database 90 as a web page tag-set using extensible markup language (XML). Although not the preferred embodiment because of the associated latency, the merchant attributes could be used as the basis of dynamic web page creation.
  • the shopping assistant server 15 determines if the product for the instant request has been previously identified. It does so by looking for the product identifier in the product database 85 (step 175). If the shopping assistant server 15 cannot find the product identifier in the product database 85, no additional product level processing is performed. If the product identifier is found in the product database 85, then the shopping assistant server 15 retrieves product attributes from that database (step 180).
  • the product attributes include, but should not be limited to a reasonable price range for the product, product reviews that may describe the performance for quality level of the product, and a list of other merchants that may be offering the product for sale.
  • the product attributes are also stored as a pre-composed web page tag-set using XML.
  • the shopping assistant server 15 Once the shopping assistant server 15 has retrieved XML based tag-sets for both the merchant attributes and the product attributes, it then combines the merchant and product XML segments (step 190) before returning the amalgamation to the client, i.e. the shopping assistant browser module 42 (step 195).
  • Fig. 8 is a process flow diagram that depicts the processing thread executed by the shopping assistant browser module 42 after it has submitted a data query to the shopping assistant server 15.
  • the shopping assistant browser module 42 waits to receive the XML tag-set from the shopping assistant server 15 (step 200).
  • a timeout is declared. Once the timeout is declared, shopping assistant browser module 42 will return to the start of its processing thread and wait for a new web page to be loaded by the browser 40.
  • the shopping assistant browser module 42 After having successfully received the amalgamated XML tag-set from the shopping assistant server 15, the shopping assistant browser module 42 will then notify the main process thread of the enhanced web browser (step 205). The shopping assistant browser module 42 will then deliver the amalgamated XML tag-set to the enhanced browser. The enhanced web browser will then parse and display the XML tag-set to the computer user This concludes the processing threat executed by shopping assistant browser module 42.
  • Fig. 9 is a pictorial representation of the computer screen presented to the computer user while using this invention.
  • the enhanced browser 40 generates the outer-most window 210 of this graphical user interface. For the purposes of this discussion this outer-most window can be considered to be the parent window.
  • the parent window includes traditional pull down menus and toolbar buttons.
  • This window also includes a web page address data entry field 215.
  • the enhanced browser 40 creates a plurality of child windows 220 in a presentation area.
  • the child windows 220 comprise web-browser controls and are used to present the graphical representation of web pages that are retrieved from remote servers.
  • a typical electronic commerce web page is presented. It should be noted that the web page presented here is for illustration purposes only and can vary based on computer user requests for different web pages.
  • the computer user requests web pages by using the web page address data entry field 215.
  • the main thread of the enhanced web browser receives the description of the user requested web page in a page description language.
  • the main thread of the enhanced web browser directs this page description to a first web browser child control.
  • the first web browser child control will then paint the web page graphics onto the computer screen for presentation to the computer user.
  • Fig. 10 is a pictorial representation of the GUI for a typical web page where the amalgamated merchant/product XML tag-set has been integrated with the GUI.
  • the shopping assistant browser module After the shopping assistant browser module has delivered the XML tag-set to the enhanced browser's main thread, the browser creates a second web-browser control element. The XML page description for the tag-set is then forwarded to the second web-browser control element. The second web browser child control paints the XML page onto the computer screen for presentation to the computer user.
  • the enhanced web browser creates the second browser control element directly adjacent to the screen location of the first browser control element. This results in an apparently seamless integration of the shopping assistant functionality of the present invention with the product web page presented by browser 40 to the computer user 35. This results in the computer user having immediate, simultaneous access to the requested web page and comparison information obtained from the shopping assistant server.
  • Fig. 10A is a process flow diagram that demonstrates how the enhanced web browser spawns web-browser controls.
  • the main thread of the enhanced browser is shown as reference number 400.
  • the main thread of the enhanced browser will forward the page description for the web page to the first web browser control 405.
  • the first web browser control 405 will paint the web page according to the page description it received from the web browser main thread.
  • the main thread of the web browser receives an XML tag-set for a merchant and product, it will create a second browser- control 410.
  • the web browser main thread defines the screen position of both the first browser control and the second browser control.
  • the web browser main thread defines the position and size of the second browser control in a manner that causes the edge of the second browser control to abut the edge of the first browser control.
  • the web browser sets the size of the second browser control such that the length of the edge of the second browser control that abuts the first browser control is visually indistinguishable from the length of the edge of the first browser control that abuts the second browser control.
  • the XML tag-set received from the shopping assistant server 15 can be extremely simplistic, or as in the preferred embodiment described here, it can include drop-down menus, data entry fields, command buttons and hyperlinks.
  • the XML tag-set of the present invention comprises:
  • a search command button 230 • a pull down that allows the computer user to view key attributes for the electronic merchant presenting the web page 235;
  • Fig. 11 is a pictorial representation of a merchant comparison GUI.
  • the computer user 35 selects the "other merchants" hyperlink 245 integral to the XML tag-set presented with the web page, a new child window is created by browser 40.
  • the browser 40 contacts the shopping assistant server 15 directly and requests the merchant comparison page corresponding to the product identifier affiliated with the page being displayed in the first child window.
  • the shopping assistant server has been segregated into two separate servers; one being a merchant database server and the second being a product database server. These two servers respond to two separate queries and return separate attribute based XML tags. The enhanced wen browser then performs the amalgamation of the two XML tags.
  • the main thread of the enhanced web browser can create the web browser child controls when it first start up, or it can create the controls as they are needed.

Abstract

By parsing a web page address, the present invention relies on basic web page address syntax to extract a merchant name and a product identifier for each web page loaded by an enhanced web browser. The enhanced web browser creates two child window controls that are web browser elements. The enhanced web browser retrieves the page description for the web page a user desires to have displayed. The page description is forwaded to a first web browser child control. The first web browser child control paints a graphical representation of the web page according to the page description it received. After the enhanced web browser extracts either a merchant name and/or a product identification code, a database server is consulted to discover if the merchant and/or product have been previously registered there. If either the merchant or product are found in the database server, the description of web pages in a page description language are returned to the enhanced web browser. The returned web pages include attributes that are of interest to a consumer engaged in electronic shopping. The merchant and product attribute web pages are forwarded to the second web browser child control. The second web browser child control then paints the graphic representation of the merchant and product attribute web pages on the users display screen.

Description

Method and Apparatus for
Recognizing Electronic Commerce Web
Pages and Sites
BACKGROUND OF THE INVENTION
TECHNICAL FIELD
This invention pertains to the field of electronic commerce and the selection and rating of electronic commerce merchants and the web sites that they publish over a computer network.
DESCRIPTION OF THE PRIOR ART
Electronic commerce has steadily expanded over the past few years. This expansion has been primarily fueled by the graphical subset of the Internet known as the World Wide Web (WWW). The WWW structures information into graphical user interfaces (GUIs) known as web pages. These web pages organize and present information in a manner that is easy to comprehend. Navigating the WWW requires a specialized software tool called a browser. The browser can retrieve web pages from remote computers connected to the Internet and then present them to a computer user in their intended graphic form. The act of viewing web pages in their graphic form, especially in succession, has come to be known as browsing.
Electronic commerce has been facilitated by a technology that supports the implementation of interactive graphical user interfaces. These interactive GUIs are commonly known as active server pages (ASPs). These are much more complicated in structure than their early non- interactive predecessors that are referred to as static pages. A particular electronic commerce merchant normally publishes both static and ASP web pages over the Internet. The collection of web pages that an electronic commerce merchant publishes is normally referred to as a web site.
Electronic commerce merchants will ordinarily operate a web site that offers a plurality of products and/or services that consumers may purchase electronically over the Internet. To bring the notion of electronic commerce into a more familiar context, it is sometimes helpful to compare a web site to a traditional brick and mortar retail store. A small, specialized retail store might carry sporting goods. Grander retail stores, often referred to as department stores, may in fact offer a wide variety of different products. In either case, the traditional retail establishment offers some collection of products for sale. In the brick and mortar establishment, the products are usually displayed on product shelves that are organized in a manner that helps the consumer find the product they want. In the department store, not only are the products organized on aisles of shelves, but collection of shelves are segregated by product category.
Electronic merchandising approximates this retail store paradigm. A web site can offer a variety of products in a single category, such as a web site devoted to sporting goods. Or, a web site could conceivably offer a plethora of various merchandise categories, each of which has a variety of product offerings.
Advertising has long been the traditional means for attracting customers to the specialized retail or department store. In the real world, this is accomplished through conventional media such as radio, television, and newspapers. These traditional forms of media are usually targeted toward a specific segment of the buying population. Potential customers would see an advertisement and presumably flock to the retail store with credit card or cold, green cash in hand.
In electronic commerce, the merchandising game follows new rules because of the inherent publication capabilities provided by the World Wide Web. In the virtual world of electronic commerce, electronic merchants normally advertise their product offerings using banner advertisements published by various means. The most common mechanism for displaying banner ads to potential customers is through a specialized web tool that is called a search engine. The search engine is normally embodied with an interactive graphical user interface. The search engine allows any Internet user to search the WWW for web pages that that person may be interested in.
By monitoring the queries that a user submits to the search engine, the search engine can ascertain if the user is searching for a product, and if so what type of product. Of course, the search engine can determine any other buying propensity that a particular user exhibits by the structure of the queries they submit. The search engines known to date will correlate the computer user's buying propensity to a category of advertisements that sponsoring merchants want to present to potential consumers. Once an appropriate advertisement is selected, it is presented the to the computer user as a banner along with the results of the search query.
With this correlation in hand, the search engine will present one or more banner advertisements that promote products or services commensurate with the postulated buying propensity. In lay terms, for example, if a computer user submits a query looking for classic cars, the search engine will most probably present an advertisement for a web site that sells obsolete or hard to find automotive parts. In the realm of electronic commerce, just about any computer user can be a potential consumer. Consequently, electronic commerce merchants are compelled to present their banner advertisements on as many search engines and in as many product categories as possible. Whenever a computer user submits a query, even if that computer user is only interested in obtaining information, the search engine will present an advertisement to the computer user. The banner advertisement displayed to a computer user includes a hyperlink that will direct the browser to the sponsors' web site. Of course, the electronic commerce merchant that sponsored the advertisement hopes that this will draw the computer user to their web site.
From the electronic merchants' perspective, computer users using any given search engine can only be considered potential customers. There is simply no way for the search engine to determine if the computer user is simply looking for information on a given topic or if that computer user is actually interested in purchasing a product. Electronic merchants incur a cost for each impression of their banner advertisement that is presented to computer user. If the search engine could guarantee that a particular computer user was actually a potential consumer, all of the electronic commerce merchants that are engaged in a given product category would want to have their banners presented to that user.
Unfortunately, the search engine can not identify actual potential customers. This means that there is little incentive for electronic commerce merchants to present their banner advertisements every time the search engine indicates an interest in a product category. However, once the computer user is attracted to a web site as a result of a banner advertisement, the probability that that particular computer user is really shopping for a product increases substantially. In a sense, whenever a computer user uses a banner advertisement to hyper-link to an electronic merchants' web site, there is an implicit qualification of that computer user as an actual shopper.
This is where three sets of competing interests collide. First, there is the interest of the merchant that sponsored the banner ad. Second, there is the interest of the search-engine company that owes its existence to advertising revenue. Lastly, the computer user, as a potential consumer, would benefit from knowing about competing merchants that are selling the same product. Also, once a computer user has used a hyper-link to traverse a web site, other competing merchants would certainly like to know about that computer user. Unfortunately, only the merchant that sponsored the banner ad will be graced by a visit to it's web site and that merchant is not likely to share its contact with a qualified consumer with its competitors.
Electronic commerce merchants that operate web sites use banner advertisements as a means to attract potential customers. The number of electronic commerce merchants that are on-line today continues to increase. The problem with using a search engine as a presentation means for advertisements is that there are only a handful of popular search engines. To foster competition, electronic merchants would need to have their banners presented alongside those of their competitors. This conflicts with the limited amount of screen space that the search engine can devote to advertisements while still providing the search utility the computer user is looking for. The limited advertising space has driven the search engine companies to create elaborate presentation mechanisms that let sponsoring merchants pay additional fees in order to occlude their competition. None of these factors consider the benefits that competition offers to the on-line consumers.
The prior art banner presentation mechanism as embodied in the various search engines has proven itself as an efficient means to attract potential computer users to electronic commerce web sites. The prior art, though, has not incorporated any means to provide competitive information to potential consumers. Not only is the prior art financially motivated to curb competition, it is technically limited to the presentation of banner ads that are coupled with hyper-links. This technology could not feasibly provide consumers with information relative to competing merchants and/or products. The fact that sponsoring merchants can not be assured that a banner advertisement will be presented to a computer user that has been qualified as a potential customer means that competing merchants are not financially motivated to present competing advertisements. And even if they were so inclined, search engine companies can not accommodate every merchant and in fact they are financially motivated not to.
What is needed then is a mechanism that provides a computer user with a list of competing products and electronic commerce merchants whenever the computer user is actually seeking to make an electronic purchase. The utility of this mechanism would be greatly enhanced if it could also provide rating information about those merchants and the products they offer. One such mechanism has appeared in the prior art, that being specialized web sites that manage catalogues of competing web sites and the products offered there. However, this is not a desirable means of shopping for products because these specialized web sites do not have the exhaustive search capability that known search engines provide to the computer user. One additional, but very annoying artifact of these specialized comparison web sites is that the computer user can not view the comparison data concurrently with the web site that is actually part of the merchant's web site.
Using these specialized merchant comparison web sites, the computer user can only find merchants and products that have been registered with that site. Hence, the computer user could not find competitive information about products that are not so pre-registered with the comparison site. One solution to this pre-registration problem has been demonstrated quite successfully; one prior art comparison web site has used a dedicated server to crawl the web in search of available web pages. This method parses the content of every web page that is found on the WWW and determines if that web page is in fact an electronic commerce web page, and if so, the corresponding merchant and product that the page offers. The prior art can only identify these web pages by there content and presupposes that content to be immutable. This renders the results of a crawling session obsolete if any electronic commerce merchant changes the appearance or substance of a web page. And again, the computer user must visit the special product comparison web site in order to experience the benefits of competing merchants and products.
Both the search engines that present banner advertisements and the specialized merchant comparison web sites that seek to foster competition are of no value if the computer user does not first visit those sites. If the computer user directly enters the web address of a merchant that sells a particular product, that user will not have access to any comparison data. So, in the case where a computer user knows the address of a particular on-line book seller and calls up that web site directly using the browser, the prior art could not provide an enumeration of comparable web sites or products.
SUMMARY OF THE INVENTION
The present invention cures the shortcomings of the prior art. The present invention ascertains that the computer user is actually shopping for a product. This enables the present invention to qualify the computer user as a potential consumer. The search engine of prior art is simply incapable of making this distinction. Once the present invention has determined that the computer user is actually shopping, comparison data is automatically presented to the computer user. The computer user does not need to visit a special web site to view the comparison data. The present invention works with every web site and presents comparison data to the user while the user is actually viewing a product web site.
In the preferred embodiment of the present invention, a shopping assistant server is used to accepts or otherwise accumulate information on competing web sites and product web pages published on the Internet. The shopping assistant server is connected to a computer network. In many cases, the Internet is used as the connection means. The shopping assistant server maintains two databases. The first database maintains information about the products web pages are offering for sale. The second database maintains information pertaining to electronic commerce merchants doing business over the Internet. Collectively, these two databases enable the shopping assistant server to provide any computer user with information about competing web sites and the products that they offer.
The shopping assistant server can accept information pertaining to electronic commerce merchants or products available for sale over the Internet in one of two ways. First, the shopping assistant server can accept direct input from a system operator. Second, the shopping assistant server can actively crawl the World Wide Web and seek out the Web pages that are offering to sell products. Product web pages are automatically correlated with electronic commerce merchants registered in a merchant database. If a particular web page cannot be associated with a merchant already registered in the database, the shopping assistant server automatically creates a new electronic commerce merchant profile in the database.
What distinguishes the present invention from the prior art is the unique manner in which the present invention determines if a computer user is actually shopping. The present invention further comprises an enhanced web browser tool. The enhanced web browser tool creates a first web browser control. The enhanced web browser retrieves a web page specified by the user and then forwards the page description for that page to the first web browser control. This enhanced web browser waits until a new web page is loaded and then automatically parses the address of that web page. Once the web address is parsed, a lexical analyzer determines if the web page is affiliated with an electronic commerce merchandise site and if so what product that particular page is presenting or offering for sale. It does so by extracting a merchant name and product identification code from the web page address.
By parsing the web page address, the lexical analyzer extracts a merchant name, a product identifier, or both from the web page address. A merchant database hosted on a server is consulted to determine if that merchant is registered. In the event that the server contains merchant attributes for the extracted merchant name, the server returns either a tag or a set of attributes to the enhanced web browser. A shopping assistant module in the enhanced web browser can create a web page description that reflects the merchant attributes. In an alternative, the server can return a preco posed web page that depicts the merchant attributes. This web page is called a merchant tag.
For product identification codes that are successfully extracted from the web page address, a product database server is consulted. The product database server also returns either a tag or a set of attributes to the enhanced web browser. A shopping assistant module in the enhanced web browser can create a web page description that reflects the product attributes. In an alternative, the server can return a precomposed web page that depicts the product attributes. This web page is called a product tag.
Once the merchant and/or product tags are received by the enhanced browser, the page descriptions are forwarded to a second web browser child control. The second web browser child control is place adjacent to the first child control so as to be perceived by a computer as a single web browser window. With the first web browser control displaying the content of the user requested web page and the second web browser control displaying the content of the merchant and/or product tags, the user has simultaneous access to the requested web page and comparative data for the merchant and/or product affiliated with the requested web page.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a block diagram that depicts the interconnection of a shopping assistant sever, a search engine server, a merchant server and a computer user by way of a computer network;
Fig. 2 is a flow diagram that depicts the various processes that cooperate in order to provide the functionality of the present invention;
Fig. 3 is a pictorial representation of a typical search engine query form;
Fig. 4 is a pictorial representation of a web page composed by the search engine server in response to a computer users query;
Fig. 5 is a process flow diagram that illustrates the actions taken by the shopping assistant browser module whenever a new web page is loaded by the browser;
Fig. 6 is a process flow diagram that illustrates the remaining actions taken by the shopping assistant browser module after the merchant name and product identifier are extracted from the web page address;
Fig. 7 is a process flow diagram that depicts the process flow executed by the shopping assistant server when it receives a data query request from the shopping assistant browser module;
Fig. 8 is a process flow diagram that depicts the processing thread executed by the shopping assistant browser module after it has submitted a data query to the shopping assistant server;
Fig. 9 is a pictorial representation of the computer screen presented to the computer user while using this invention;
Fig. 10 is a pictorial representation of the GUI for a typical web page where the amalgamated merchant/product XML tag-set has been integrated with the GUI;
Fig. 10A is a process flow diagram that demonstrates how the enhanced web browser spawns web-browser controls; and Fig. 1 1 is a pictorial representation of a merchant comparison GUI. When the computer user selects the "other merchants" hyperlink integral to the XML tag-set presented with the web page, a new child window is created by browser.
DETAILED DESCRIPTION OF THE INVENTION
Fig. 1 is a block diagram that illustrates how the shopping assistant server 15 is connected to a computer network 10. Also connected to the computer network are a plurality of search engine servers 20, a plurality of merchant servers 25, and a plurality of user computers 30. The computer network 10 can be any suitable network, but the present invention is most appropriately utilized using the Internet.
Fig. 2 is a flow diagram that depicts the various processes that cooperate in order to provide the functionality of the present invention. The computer user 35 will ordinarily interact with the enhanced web browser 40 for the purpose of viewing web pages published over the Internet. The enhanced web browser 40 accepts web page addresses from the computer user 35. When the computer user 35 enters a web page address, the enhanced web browser 40 will attempt to loaded a web page corresponding to the web address. In a typical browsing session, the computer user 35 would ordinarily enter the web address of a search engine. The enhanced web browser 40 will establish a communications session with the search engine server 15 using a first TCP/IP communications channel 45. Once this first TCP/IP communications channel 45 is open, the enhanced web browser 40 and the search engine 50 can effectively communicate with each other whenever the computer user 35 submits queries to the search engine 50.
The search engine server 15 uses active server page technology to compose a web page that the computer user 35 can use to submit search queries. The search engine server 50 will respond to an initial web browser request by preparing this query form and delivering it to the enhanced web browser 40. The enhanced web browser 40 will then present the search engine query form to the computer user 35. The computer user 35 will then use the search engine query form to submit a search topic. The search query form, embodied as an active server page, will then return the search topic to the search engine server 50. The search engine server 50 will use the search topic as the basis of a query as it consults an index of all known web pages published over the Internet. The search engine maintains this index of web pages in a web page index 55.
Fig. 3 is a pictorial representation of a typical search engine query form. Although not an important aspect of the present invention, this figure is presented for the sake of completeness. The search engine query form shown in this figure will minimally be comprised of a search-topic data-entry-field 100 and a search submission command of button 105. The computer user 35 would enter a search topic into the search engine query form a using the search-topic data-entry field 100. Once the computer user 35 has entered a search topic, the computer user 35 will then submit the search query to search engine 50 by using the search submission command of button 105. In the example presented in this case, the computer user 35 has entered a search topic "CLASSIC CARS".
Fig. 4 is a pictorial representation of a web page composed by the search engine server 50 in response to a computer users query. In the example presented in this figure, the search results for "CLASSIC CARS" include two web pages. These are presented in the search results window 110. Also presented to the computer user 35 are two banner advertisements. In this figure, "Rod's Rods Classic Cars" and "ENTER CLASSIC RALLY" represent two such banner advertisements. It should be noted that the substantive composition of this Fig. 4 is for illustrative purposes only. What is important to note is that a plurality of banner advertisements are presented to the computer user 35. Not only do these banner advertisements present a graphical message, but they further comprise a hyper-link. The hyper-link for each banner advertisement will direct the enhanced web browser 40 to a web page designated by the sponsoring advertiser. The search results presented in the search results window 110 also further comprise hyper-links. These hyper-links will direct the enhanced web browser 40 to the web page identified by the search engine server 50 when it consulted the web page index database 55.
Fig. 2 further illustrates that the enhanced web browser 40 establishes a second TCP/IP connection 60 with a merchant server 65. This occurs when the computer user 35 either directly enters the Web address of the merchant server 65 or uses one of the hyper links affiliated with the banner advertisements or search results presented by the search engine server 50. Once the second TCP/IP communications channel is established, the enhanced web browser 40 can retrieve web pages stored by the merchant server 65 in a web page repository 70. Having so retrieved a web page, the enhanced web browser 40 will present the web page to the computer user 35.
In the current embodiment, the enhanced web browser 40 further comprises a software module called a shopping assistant browser module 42. The shopping assistant browser module 42 examines the web address of every web page retrieved by the enhanced web browser 40, but only after the web page is fully loaded. Once a web page is fully loaded, the shopping assistant browser module 42 uses a set of rules to parse the actual web address. Most electronic commerce merchants will use a fairly standard syntax for the web page addresses. Consider the following example:
http://www. test-merchant.com/product. cgi?product=1234
This particular web page address follows a reasonably predictable pattern, or syntax. In this simple example, the rule set will immediately recognize the keyword "product" and the equal sign (=) as lexical tokens that will immediately be followed by a product identification code. From this simple rule structure, the shopping assistant browser module 42 can infer that the web page currently loaded by the enhanced web browser 40 describes a product with a particular product code. In this illustration, the product code is "1234". A simple extension to this rule structure would include syntax for determining the name of the electronic commerce merchant. In the example web address presented above, the product web page is affiliated with an electronic commerce merchandising site published by a merchant called "test- merchant". The rules engine in the shopping assistant browser module 42 infers this from the domain name included in the web page address. Again, the substantive content of this example is for illustration purposes only.
The shopping assistant browser module 40 will establish a third TCP/IP communications channel 75 with the shopping assistant server 80. This can be done on an as needed basis or the communications channel can be established when the computer user first begins a browsing session and can be maintained so long as the computer user is actively browsing the Internet. Using the third TCP/IP communications channel 75, the shopping assistant browser module 42 will communicate with the shopping assistant server 80 in order to retrieve information on competitive electronic commerce merchants and/or comparative products.
All of this processing occurs transparently to the computer user 35. In fact, if the web page loaded by the enhanced browser is not identified by the browser module 42 as a shopping page, the computer user 35 would be entirely oblivious to the fact that the shopping assistant browser module 42 was even present.
Fig. 5 is a process flow diagram that illustrates the actions taken by the shopping assistant browser module 42 whenever a new web page is loaded by the browser 40. The first step in this process thread causes the shopping assistant browser module 42 to wait until a new web page is completely loaded (step 120). After the new web page is completely loaded, the shopping assistant browser module 42 checks to see if the web page's domain name is affiliated with an electronic commerce merchant. In the first part of this process, the rules engine extracts the domain name from the web address. The shopping assistant browser module 42 then consults a database maintained locally on the computer users computer. This is called the shopping domain database 130. If the newly loaded web page domain is not found in the shopping domain database 130, the shopping assistant browser module 42 does not perform any additional processing. It then returns to the beginning of the processing thread and waits for a new web page the loaded.
If the domain name for the newly loaded web page can be found in the shopping domain database 130, then the shopping assistant browser module 42 will attempt to extract the merchant name and a product identifier from the web address (steps.140 and 145).
If the shopping assistant browser module 42 cannot successfully extract the name of a merchant from the web address, it then attempts to extract a product code from the web address (step 145). The product code is known as the merchant product identifier (MPI). If the shopping assistant browser module 42 cannot extract a valid merchant name or a valid MPI, the rules engine assumes that the web page loaded by the browser 40 is not part of an electronic commerce merchant site. In this case the shopping assistant browser module 42 returns to the start of its processing thread and waits for a new web page to be loaded. When the shopping assistant browser module 42 recognizes a merchant name or a valid MPI, it sends this information to the shopping assistant server 80 (step130).
All data extractions from a web address are accomplished using lexical analysis. The shopping assistant browser module 42 parses the web address into a series of tokens. Each token is then assigned some significance in a standardized web address syntax. The simplest token would be the ASCII <FORWARD-SLASH> character. The rules engine uses this token to identify different portions of a web address. For instance, in the aforementioned example, the <FORWARD-SLASH> is used to recognize the termination of the network identifier "http://". After having recognized the network identifier, the rules engine assumes that the next portion of the web address contains the domain name of the electronic commerce merchant. Again, in the aforementioned example, the rules engine would extract as a merchant name of the textual representation "test-merchant".
Fig. 6 is a process flow diagram that illustrates the remaining actions taken by the shopping assistant browser module 42 after the merchant name and product identifier are extracted from the web page address. The shopping assistant browser module 42 determines if the merchant name was successfully extracted from the web page address (step 150). The shopping assistant browser module 42 also determines if the purchase product identifier was successfully extracted from the web page address (step 155). Once these two Boolean operations are completed, the shopping assistant browser module 42 sends a query request to the shopping assistant server 15.
Fig. 7 is a process flow diagram that depicts the process flow executed by the shopping assistant server 5 when it receives a request from the shopping assistant browser module 42. The first thing that the shopping assistant server 15 does is to determine if the merchant has been previously identified. The shopping assistant server 80 does this by performing a query of the merchant database 90.
If the shopping assistant server 15 cannot find the merchant in the merchant database 90, then no further processing for the instant request is performed (step 160). If, however, the merchant can be found in the database 90 then the shopping assistant server 15 retrieves a set of merchant attributes for the merchant (step 165). These merchant attributes are stored in the merchant database 90. In the present embodiment, the merchant attributes include, but should not be limited to a merchant rating, an enumeration of the type electronic commerce facilities the merchant supports, a flag that indicates if the merchant can support secure transactions and a second flag that indicates that the merchant has been certified by a consumer watch service. The merchant attributes are stored in the merchant database 90 as a web page tag-set using extensible markup language (XML). Although not the preferred embodiment because of the associated latency, the merchant attributes could be used as the basis of dynamic web page creation.
The shopping assistant server 15 then determines if the product for the instant request has been previously identified. It does so by looking for the product identifier in the product database 85 (step 175). If the shopping assistant server 15 cannot find the product identifier in the product database 85, no additional product level processing is performed. If the product identifier is found in the product database 85, then the shopping assistant server 15 retrieves product attributes from that database (step 180). In the present embodiment, the product attributes include, but should not be limited to a reasonable price range for the product, product reviews that may describe the performance for quality level of the product, and a list of other merchants that may be offering the product for sale. The product attributes are also stored as a pre-composed web page tag-set using XML.
Once the shopping assistant server 15 has retrieved XML based tag-sets for both the merchant attributes and the product attributes, it then combines the merchant and product XML segments (step 190) before returning the amalgamation to the client, i.e. the shopping assistant browser module 42 (step 195).
Fig. 8 is a process flow diagram that depicts the processing thread executed by the shopping assistant browser module 42 after it has submitted a data query to the shopping assistant server 15. As can be seen from this figure, the shopping assistant browser module 42 waits to receive the XML tag-set from the shopping assistant server 15 (step 200). In the event that the shopping assistant server 15 does not respond within the designated time period for the shopping assistant server 15 responds with a negative knowledge, a timeout is declared. Once the timeout is declared, shopping assistant browser module 42 will return to the start of its processing thread and wait for a new web page to be loaded by the browser 40.
After having successfully received the amalgamated XML tag-set from the shopping assistant server 15, the shopping assistant browser module 42 will then notify the main process thread of the enhanced web browser (step 205). The shopping assistant browser module 42 will then deliver the amalgamated XML tag-set to the enhanced browser. The enhanced web browser will then parse and display the XML tag-set to the computer user This concludes the processing threat executed by shopping assistant browser module 42.
Fig. 9 is a pictorial representation of the computer screen presented to the computer user while using this invention. The enhanced browser 40 generates the outer-most window 210 of this graphical user interface. For the purposes of this discussion this outer-most window can be considered to be the parent window. The parent window includes traditional pull down menus and toolbar buttons. This window also includes a web page address data entry field 215. The enhanced browser 40 creates a plurality of child windows 220 in a presentation area. The child windows 220 comprise web-browser controls and are used to present the graphical representation of web pages that are retrieved from remote servers.
In the example presented in figure 9, a typical electronic commerce web page is presented. It should be noted that the web page presented here is for illustration purposes only and can vary based on computer user requests for different web pages. The computer user requests web pages by using the web page address data entry field 215. The main thread of the enhanced web browser receives the description of the user requested web page in a page description language. The main thread of the enhanced web browser directs this page description to a first web browser child control. The first web browser child control will then paint the web page graphics onto the computer screen for presentation to the computer user.
Fig. 10 is a pictorial representation of the GUI for a typical web page where the amalgamated merchant/product XML tag-set has been integrated with the GUI. After the shopping assistant browser module has delivered the XML tag-set to the enhanced browser's main thread, the browser creates a second web-browser control element. The XML page description for the tag-set is then forwarded to the second web-browser control element. The second web browser child control paints the XML page onto the computer screen for presentation to the computer user.
The enhanced web browser creates the second browser control element directly adjacent to the screen location of the first browser control element. This results in an apparently seamless integration of the shopping assistant functionality of the present invention with the product web page presented by browser 40 to the computer user 35. This results in the computer user having immediate, simultaneous access to the requested web page and comparison information obtained from the shopping assistant server.
Fig. 10A is a process flow diagram that demonstrates how the enhanced web browser spawns web-browser controls. The main thread of the enhanced browser is shown as reference number 400. When the main thread of the browser receives the description of a web page, it spawns a first web-browser control element 405. The main thread of the enhanced browser will forward the page description for the web page to the first web browser control 405. The first web browser control 405 will paint the web page according to the page description it received from the web browser main thread. When the main thread of the web browser receives an XML tag-set for a merchant and product, it will create a second browser- control 410.
The web browser main thread defines the screen position of both the first browser control and the second browser control. The web browser main thread defines the position and size of the second browser control in a manner that causes the edge of the second browser control to abut the edge of the first browser control. The web browser sets the size of the second browser control such that the length of the edge of the second browser control that abuts the first browser control is visually indistinguishable from the length of the edge of the first browser control that abuts the second browser control. Once the second browser control has been created, the main thread of the enhanced browser will forward the XML tag-set to the second browser control. The second browser control will then present the XML tag-set to the user.
The XML tag-set received from the shopping assistant server 15 can be extremely simplistic, or as in the preferred embodiment described here, it can include drop-down menus, data entry fields, command buttons and hyperlinks. As can be seen in figure 10, the XML tag-set of the present invention comprises:
• a search topic data entry field 225;
• a search command button 230 • a pull down that allows the computer user to view key attributes for the electronic merchant presenting the web page 235;
• a pull down that allows the computer user to view a list of other electronic commerce merchants that are selling products similar to one described in the page 240; • a hyperlink that allows the computer user to call up to the enumeration of other electronic commerce merchants selling the same product; and
• a pull down that allows the computer user to retrieve help information on how to use the features of the present invention 250.
Fig. 11 is a pictorial representation of a merchant comparison GUI. When the computer user 35 selects the "other merchants" hyperlink 245 integral to the XML tag-set presented with the web page, a new child window is created by browser 40. The browser 40 then contacts the shopping assistant server 15 directly and requests the merchant comparison page corresponding to the product identifier affiliated with the page being displayed in the first child window. Alternative Embodiments
While this invention has been described in terms of several preferred embodiments, it is contemplated that alternatives, modifications, permutations, and equivalents thereof will become apparent to those skilled in the art upon a reading of the specification and study of the drawings. It is therefore intended that the true spirit and scope of the present invention include all such alternatives, modifications, permutations, and equivalents. Some, but by no means all of the possible alternatives are described herein.
In one of the alternative embodiments considered by the inventor, the shopping assistant server has been segregated into two separate servers; one being a merchant database server and the second being a product database server. These two servers respond to two separate queries and return separate attribute based XML tags. The enhanced wen browser then performs the amalgamation of the two XML tags.
It is also important to note that the sequence of creation of web browser child controls is not important. The main thread of the enhanced web browser can create the web browser child controls when it first start up, or it can create the controls as they are needed.

Claims

1. A method for recognizing electronic commerce web sites comprising the steps of: creating a first browser control element; creating a second browser control element; accepting a web page address; retrieving the page description of the web page referenced by said web page address; forwarding the retrieved contents of the web page to said first browser control element; and parsing the web page address in order to extract a merchant name.
2. The method for recognizing electronic commerce web sites of Claim 1 further comprising the step of: orienting the first browser control immediately adjacent to the second browser control.
3. The method for recognizing electronic commerce web sites of Claim 1 further comprising the steps of: submitting a request to a server to identify if said merchant name is included in a merchant database; retrieving merchant attributes from said server; creating a merchant attribute tag in a web page description language based on said attributes; and forwarding the merchant attribute tag to said second web browser control element.
4. The method for recognizing electronic commerce web sites of Claim 1 further comprising the steps of: submitting a request to a server to identify if said merchant name is included in a merchant database; retrieving a merchant attribute tag stored in a web page description language wherein the merchant attribute tag is based on merchant attributes; and forwarding the merchant attribute tag to said second web browser control element.
5. A method for recognizing electronic commerce web sites comprising the steps of: creating a first browser control element; creating a second browser control element; accepting a web page address; retrieving the page description of the web page referenced by said web page address; forwarding the retrieved contents of the web page to said first browser control element; and parsing the web page address in order to extract a product identifier.
6. The method for recognizing electronic commerce web sites of Claim 5 further comprising the step of: orienting the first browser control immediately adjacent to the second browser control.
7. The method for recognizing electronic commerce web sites of Claim 5 further comprising the steps of: submitting a request to a server to identify if said product identifier is included in a product database; retrieving product attributes from said server; creating a product attribute tag in a web page description language based on said product attributes; and forwarding the product attribute tag to said second web browser control element.
8. The method for recognizing electronic commerce web sites of Claim 5 further comprising the steps of: submitting a request to a server to identify if said product identifier is included in a product database; retrieving a product attribute tag stored in a web page description language wherein the product attribute tag is based on product attributes; and forwarding the merchant attribute tag to said second web browser control element.
9. A system for recognizing electronic commerce web sites comprising: merchant database server; computer network; enhanced web browser comprising: web control creation module that creates a first web browser child control and a second web browser child control; web address selection module that accepts a web page address; web page selection module that retrieves a web page description from a merchant commerce server and forwards the web page description to said first web browser child control; and syntax analyzer that parses the web page address in order to extract a merchant name from said web address.
10. The system for recognizing electronic commerce web sites comprising of Claim 9 wherein the web control creation module creates the second web browser child control adjacent to the first web browser child control.
11. The system for recognizing electronic commerce web sites of Claim 9 wherein the enhanced web browser further comprises: merchant identification module that conveys a query to said merchant database server using said computer network wherein said query is based on said extracted merchant name; merchant attribute module that retrieves merchant attributes from said merchant database server corresponding to said extracted merchant name; tag composer that creates a merchant tag in page description language for a web page that presents said merchant attributes; and tag presentation module that forwards the merchant tag to said second web browser child control.
12. The system for recognizing electronic commerce web sites of Claim 9 wherein the enhanced web browser further comprises: merchant identification module that conveys a query to said merchant database server using said computer network wherein said query is based on said extracted merchant name; merchant attribute module that retrieves merchant tag from said merchant database server wherein the merchant tag is comprised of a page description language definition of a web page that presents merchant attributes corresponding with said extracted merchant name; and tag presentation module that forwards the merchant tag to said second web browser child control.
13. A system for recognizing electronic commerce web sites comprising: product database server; computer network; enhanced web browser comprising: web control creation module that creates a first web browser child control and a second web browser child control; web address selection module that accepts a web page address; web page selection module that retrieves a web page description from a merchant commerce server and forwards the web page description to said first web browser child control; and syntax analyzer that parses the web page address in order to extract a product identification code from said web address.
14. The system for recognizing electronic commerce web sites comprising of Claim 13 wherein the web control creation module creates the second web browser child control adjacent to the first web browser child control.
15. The system for recognizing electronic commerce web sites of Claim 13 wherein the enhanced web browser further comprises: product identification module that conveys a query to said product database server using said computer network wherein said query is based on said extracted product identification code; product attribute module that retrieves product attributes from said product database server corresponding to said extracted product identification code; tag composer that creates a product tag in page description language for a web page that presents said product attributes; and tag presentation module that forwards the product tag to said second web browser child control.
16. The system for recognizing electronic commerce web sites of Claim 13 wherein the enhanced web browser further comprises: merchant identification module that conveys a query to said merchant database server using said computer network wherein said query is based on said extracted merchant name; merchant attribute module that retrieves merchant tag from said merchant database server wherein the merchant tag is comprised of a page description language definition of a web page that presents merchant attributes; and tag presentation module that forwards the merchant tag to said second web browser child control.
PCT/US2000/029430 2000-10-24 2000-10-24 Method and apparatus for recognizing electronic commerce web pages and sites WO2002035421A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2001212315A AU2001212315A1 (en) 2000-10-24 2000-10-24 Method and apparatus for recognizing electronic commerce web pages and sites
PCT/US2000/029430 WO2002035421A1 (en) 2000-10-24 2000-10-24 Method and apparatus for recognizing electronic commerce web pages and sites

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2000/029430 WO2002035421A1 (en) 2000-10-24 2000-10-24 Method and apparatus for recognizing electronic commerce web pages and sites

Publications (1)

Publication Number Publication Date
WO2002035421A1 true WO2002035421A1 (en) 2002-05-02

Family

ID=21741926

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/029430 WO2002035421A1 (en) 2000-10-24 2000-10-24 Method and apparatus for recognizing electronic commerce web pages and sites

Country Status (2)

Country Link
AU (1) AU2001212315A1 (en)
WO (1) WO2002035421A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2377522A (en) * 2001-03-06 2003-01-15 Philip Alan Birchley Browser software to automatically open multiple web pages
US20130110818A1 (en) * 2011-10-28 2013-05-02 Eamonn O'Brien-Strain Profile driven extraction
WO2014018780A1 (en) * 2012-07-25 2014-01-30 Indix Corporation Adaptive gathering of structured and unstructured data system and method
US9973950B2 (en) 2013-10-31 2018-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Technique for data traffic analysis
US10169802B2 (en) 2012-07-25 2019-01-01 Indix Corporation Data refining engine for high performance analysis system and method
US10552898B2 (en) 2016-11-16 2020-02-04 Microsoft Technology Licensing, Llc User trainable user interface page classification system
US11537271B2 (en) 2018-04-16 2022-12-27 Ebay Inc. System and method for aggregation and comparison of multi-tab content
US11922475B1 (en) 2013-07-25 2024-03-05 Avalara, Inc. Summarization and personalization of big data method and apparatus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5897622A (en) * 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US5913210A (en) * 1998-03-27 1999-06-15 Call; Charles G. Methods and apparatus for disseminating product information via the internet
US6029141A (en) * 1997-06-27 2000-02-22 Amazon.Com, Inc. Internet-based customer referral system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5897622A (en) * 1996-10-16 1999-04-27 Microsoft Corporation Electronic shopping and merchandising system
US6029141A (en) * 1997-06-27 2000-02-22 Amazon.Com, Inc. Internet-based customer referral system
US5913210A (en) * 1998-03-27 1999-06-15 Call; Charles G. Methods and apparatus for disseminating product information via the internet

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DOORENBOS R B ET AL: "A SCALABLE COMPARISON-SHOPPING AGENT FOR THE WORLD-WIDE WEB", PROCEEDINGS OF THE FIRST INTERNATIONAL CONFERENCE ON AUTONOMOUS AGENTS MARINA DEL REY, CA., FEB. 5 - 8, 1997, PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON AUTONOMOUS AGENTS, NEW YORK, ACM, US, vol. CONF. 1, 1997, pages 39 - 48, XP000915342, ISBN: 0-89791-877-0 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2377522A (en) * 2001-03-06 2003-01-15 Philip Alan Birchley Browser software to automatically open multiple web pages
US20130110818A1 (en) * 2011-10-28 2013-05-02 Eamonn O'Brien-Strain Profile driven extraction
WO2014018780A1 (en) * 2012-07-25 2014-01-30 Indix Corporation Adaptive gathering of structured and unstructured data system and method
GB2518117A (en) * 2012-07-25 2015-03-11 Indix Corp Adaptive gathering of structured and unstructured data system and method
US9047614B2 (en) 2012-07-25 2015-06-02 Indix Corporation Adaptive gathering of structured and unstructured data system and method
US10169802B2 (en) 2012-07-25 2019-01-01 Indix Corporation Data refining engine for high performance analysis system and method
US11922475B1 (en) 2013-07-25 2024-03-05 Avalara, Inc. Summarization and personalization of big data method and apparatus
US9973950B2 (en) 2013-10-31 2018-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Technique for data traffic analysis
US10552898B2 (en) 2016-11-16 2020-02-04 Microsoft Technology Licensing, Llc User trainable user interface page classification system
US11537271B2 (en) 2018-04-16 2022-12-27 Ebay Inc. System and method for aggregation and comparison of multi-tab content

Also Published As

Publication number Publication date
AU2001212315A1 (en) 2002-05-06

Similar Documents

Publication Publication Date Title
US7933893B2 (en) Method and system for providing a link in an electronic file being presented to a user
US7257604B1 (en) System and method for communicating information relating to a network resource
US6978263B2 (en) System and method for influencing a position on a search result list generated by a computer network search engine
US9269106B2 (en) System and method for dynamically changing the content of an internet web page
US8954886B2 (en) System to present additional item information
KR100543768B1 (en) System and method for managing and serving consumer product related information over the internet
US7693834B2 (en) Search engine that dynamically generates search listings
US6925456B2 (en) Information searching apparatus and method for online award entry
US20100131840A1 (en) Products and processes for providing one or more links in an electronic file that is presented to a user
US20130117687A1 (en) System and method for dynamically changing the content of an internet web page
US20090106108A1 (en) Website management method and on-line system
JP2006506707A (en) Information transmission system and method based on web page content
JPH11282393A (en) Method for placing advertisement for individual on internet according to purchase history
JP2002014997A (en) Method and system for distribution of advertisement information
WO2002035421A1 (en) Method and apparatus for recognizing electronic commerce web pages and sites
JP2001167199A (en) Advertising method attained on network through user computer or internet tv and computer readable recording medium recording the method
JP2002222356A (en) Method and program for menu display of advertisement banner in web page
WO2000068756A2 (en) Method of controlling customers&#39; response to a group of information in a cyberspace
JP2001306607A (en) Method for providing advertisement information
KR100418242B1 (en) Key-word processing method
JP2000250991A (en) System and method for issuing coupon
US8700609B2 (en) Advertising in an online community
JP3613552B2 (en) Search system
KR20000007139A (en) Internet stock deal apparatuse and method for gathering a member there of
KR100345756B1 (en) Comparison auction method and system using comparison advertisement

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP