Method and apparatus for generating website links7032168Abstract An application program interface (API), enables web development tools to interact directly with a hyperlink database subsystem. Tool developers use this API to design functionality that enables affiliates to log on to the hyperlink database system and generate merchant links. In response to requests from vendors' tools, the invention API uses the XML format to deliver requested hyperlink generation information. The requests are encrypted for users' privacy. The returned hyperlink generation information includes lists of merchants, lists of hyperlinks to the merchants web sites, the HTML code supporting the hyperlinks, and graphics for the links. Users implement hyperlinks by selecting among the choices returned in the response to the request and graphically placing (i.e., by drag and drop interaction) the resulting hyperlinks on subject web pages in a simple, error-free manner. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
Similarly, a computer method and system of the present invention delivers a hyperlink on hyperlink generation information by a server computer (i) receiving a request having an input set of hyperlink parameters, and (ii) sending a response comprising at least one of:
The input set of hyperlink parameters may be selected from a plurality of input sets of hyperlink parameters. The input set of hyperlink parameters includes a user name and password (e.g., of the affiliate end user). The input set of hyperlink parameters and/or the output set of hyperlink parameters includes any combination of at least one of a Merchant identifier, Affiliate Site identifier, Section Link Group identifier, Link identifier, Image identifier, and Program identifier. The data necessary for generating the at least one hyperlink comprises code data necessary to execute each said hyperlink. The code data conforms to the Hypertext Markup Language (HTML) standard. The code data may also include a uniform resource locator (URL). The data necessary for generating the at least one hyperlink comprises visual representation data describing at least one form of visual appearance of said at least one hyperlink on the web page. The visual representation data includes a uniform resource locator (URL) for an image. Further the visual representation data includes indications of dimensions of an image. Further, the input set of hyperlink parameters may be combined with the output set of hyperlink parameters to form a second input set of hyperlink parameters. The invention by its ease and simplicity of operation benefits both users of the web development tools employing the invention system and the merchants whose web pages and sites are being promoted by the hyperlinks placed on web pages using the invention API. BRIEF DESCRIPTION OF THE DRAWING The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawing. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. FIG. 1 is an overview of the invention system and the communications between a client computer and a server computer during deployment of one embodiment. FIG. 2 is a flowchart of actions performed in the embodiment of FIG. 1. FIG. 3 is a schematic view of the security configured request messages employed in the embodiment of FIG. 1. DETAILED DESCRIPTION OF THE INVENTION A description of preferred embodiments of the invention follows. The word "hyperlink" or "link" used below without additional qualifications refers to both the underlying code and visual representation of a hyperlink created in the process and as a result of practicing the present invention. The terms "affiliate," "end user," "merchant," "section link group," "vendor," and "web development tool" will be used throughout this specification. An "affiliate" is someone who creates hyperlinks for subsequent inclusion in a web page or web pages. Typically, such web pages are owned by the affiliate. The nature of these hyperlinks and how they are created will be explained below. An "end user" is someone viewing a web page that includes a link or links created by an affiliate. A "merchant" is someone who offers to an affiliate to create a specific hyperlink or hyperlinks to a page or pages on the merchant's web site (i.e., this merchant's hyperlinks). A merchant's hyperlinks are usually grouped into several "section link groups." A merchant usually deals with several affiliates (i.e., this merchant's affiliates). An affiliate may deal with several merchants (i.e., this affiliate's merchants). A "vendor" is someone who develops and supplies a computer application program, called a "web development tool," for use by an affiliate to design web pages. The present invention, when employed by a web development tool, simplifies and makes more reliable the creation of hyperlinks during the design of web pages. Typically, a hyperlink is intended to bring the end user from a web page on the affiliate's web site to a web page owned by the merchant (normally located on the merchant's web site). In the process of bringing the end user to the hyperlink's destination, some additional information may be transmitted from the end user's computer to a merchant or a third party. This transmission of information is controlled by the code implementing the hyperlink on a web page. The information thus transmitted may be used for accounting purposes, for collecting statistics about the end users' actions on the network, or to facilitate a commercial transaction between the end user and a merchant (e.g., a purchase). Clearly, it is important that the proper code is used in the hyperlink. Human errors (e.g., a mistake in a single character in the code) are highly probable without automated web development tools. The present invention allows a vendor's program to automate creation of hyperlinks by accessing a hyperlink database. In the preferred embodiment illustrated in FIG. 1, the hyperlink database 30 stores various preformatted (generally error free) hyperlink code in HTML format and image representations for hyperlinks to respective merchants' web pages. The hyperlink database 30 is combined with a query engine 25 and a search engine 29 to form a database subsystem 31. The query engine 25 enables requests 26 for data from the database 30 to be made. The query engine 25 forms queries from received requests 26. These queries are in a format and configuration acceptable by the search engine 29. The query engine 25 passes the generated queries to search engine 29. In turn, the search engine 29 responds to the queries received from query engine 25. The search engine 29 processes the received queries (which represent a request 26) and searches the hyperlink database 30 for data that satisfies the queries and hence satisfies the request 26. The search engine 29 extracts or otherwise retrieves data (i.e., preformatted, prepared code for desired hyperlinks, graphical images for visually representing hyperlinks on web pages, etc.) from the database 30 and provides the retrieved data to the query engine 25 as a response to the initial queries from query engine 25. Query engine 25 formats the responses received from the search engine 29 and therefrom provides responses 27 to respective requests 26. An example of a hyperlink database subsystem is the BFAST system operated by Be Free, Inc. of Marlborough, Mass., (BFAST is a trademark of Be Free, Inc.) Other database subsystems are suitable. The hyperlink database subsystem 31 is a part of a computer system 21 capable of receiving data requests 26 and transmitting the resulting data (desired hyperlink code and the like) 27 over a network 28. In particular, computer system 21 is coupled for communication across network 28 to a the vendor's web development tool 24 running on a client computer 20. During the design of a web page 23, the web development tool 24 invokes an application program interface (API) 22 to generate the data requests 26 and to receive the resulting responses 27 (e.g., hyperlink code extracted from database 30). Thus, the API 22 enables web development tools 24 to interact directly with the hyperlink database subsystem 31 (e.g., BFAST) to create hyperlinks on web pages 23 under design/construction. In the preferred embodiment, the invention API 22 benefits affiliates and vendors by allowing seamless integration of link creation into web development tools 24. For example Netopia (of Alameda, Calif.), a vendor, can use the invention API 22 with its netJane program to connect to the BFAST database subsystem 31 on behalf of an affiliate. This allows affiliates to get their merchants' hyperlinks (i.e., underlying code especially) and insert these hyperlinks directly into the web pages 23 they are developing using netJane's integrated interface. The invention API 22 also benefits merchants by offering an easier and more accurate alternative for their affiliates to create the desired links on subject web pages 23. Vendors can use the invention API 22 as part of their web development tools 24 to provide affiliates with the ability to do the following:
For security measures, in one embodiment, a user name and a password of the affiliate are required to use the hyperlink database 30. In that case the invention API 22 uses a data encryption scheme to include affiliate user name and password in the requests 26 and to protect the affiliate's (or web development tool's 24) communications. In particular, the portion 37 of requests 26 containing the affiliate user name and password (collectively affiliate ID 35) are encrypted as illustrated in FIG. 3. Each vendor is assigned an encryption key which is stored in server computer system 21 (e.g., accessible to database subsystem 31). The vendor is also assigned a vendor ID 39 (FIG. 3) which is sent unencrypted in request 26. Computer system 21 in receipt of a request 26 uses the unencrypted vendor ID 39 in the request 26 to locate the key assigned to the respective vendor and to decrypt encrypted portion 37 of received request 26. In particular, computer system 21 utilizes the respective vendor encryption key to decode the encrypted portion 37 into the affiliate ID 35 and data request portion of received request 26. Preferably, the invention API 22 uses the EncryptServer, a reusable component DLL on the Microsoft Windows platform, to encrypt the messages (requests 26 and responses 27) it sends and receives. In the decrypted state the requests 26 received by the hyperlink database subsystem 31 are character strings containing: (i) the version number of the invention API 22; (ii) a time stamp, identifying the time and date when the request 26 was made; (iii) the user name and password of the affiliate; and (iv) information describing what data are requested. In the preferred embodiment, the invention API 22 sends all data requests 26 to the hyperlink database subsystem 31 through the HTTP protocol using URLs as "data containers." The hyperlink database subsystem 31 parses the URL sent via HTTP, locates the vendor's encryption key (via the unencrypted vendor ID 39 discussed above), decrypts the data request string 37 (including affiliate ID 35), and performs the appropriate actions. This is an example of the URL sent via HTTP by the invention API 22 in one embodiment:
Further, in the preferred embodiment, the invention API 22 provides four types of data requests 26: merchant list request, section link group request, section link list request, and hyperlink data request. With regard to "merchant list requests", the encrypted data request string 37 includes the following parameters:
When the data request string 37 of the merchant list request type is decoded, the hyperlink database subsystem 31 verifies the affiliate user name and a password and returns (in a response 27) a list of merchants for the affiliate. Preferably the return list of merchants is in the XML data format. This return list includes:
With regard to the "section link group request" type, the encrypted data request string 37 includes the following parameters:
When the data request string 37 of the section link group request type is decoded, the hyperlink database subsystem 31 verifies the affiliate user name and a password and returns (in response 27) a list of section link groups, preferably in the XML data format, for the given combination of Merchant ID and Affiliate Site ID. This return list includes:
With regard to the "section link list request" type, the encrypted data request string 37 includes the following parameters:
When this type of data request string 37 is decoded, the hyperlink database subsystem 31 verifies the user name and a password and returns (in response 27) a list of hyperlinks, in the XML data format, for the given combination of Merchant ID, Affiliate Site ID, and Section Link Group ID. This return list includes:
With regard to the "hyperlink data request" type, the encrypted data request string 37 includes the following parameters:
When this type of data request string 37 is decoded, the hyperlink database subsystem 31 verifies the user name and a password, and returns in XML format (in response 27) the HTML code for the hyperlinks meeting the given combination of Merchant ID, Affiliate Site ID, Link ID, and Image ID. If Image ID contains no data, the hyperlink database subsystem 31 returns the HTML code for a hyperlink which is represented to the end user as text. In the preferred embodiment, affiliates/users using the web development tool 24 employing the invention API 22 do not see the underlying code for the subject desired hyperlinks. They simply drag and drop a completed hyperlink from the vendor's web development tool's interface onto their web pages 23. Using the above-described data request types of the preferred embodiment, a typical sequence of data requests 26 and responses 27 combined with intermediate user actions is shown as a flowchart in FIG. 2. In step 50, the web development tool 24 invokes API invention 22 and generates a request 26 for a merchant list from hyperlink database 30. Following HTTP protocol, the API 22 transmits the generated request 26 to hyperlink database subsystem 31. In response, hyperlink database subsystem 31 processes the received merchant list request 26 and supplies a list of merchants based on the affiliate identified in the request 26. Hyperlink database subsystem 31 provides the merchant list in XML format in a response 27 which is communicated over network 28 following HTTP protocol to web development tool 24. In step 52 of FIG. 2, the web development tool 24 receives the merchant list from the database 30 and displays the same to the user (i.e., web developer). In step 54, the web developer selects a merchant from the displayed merchant list. In response, the web development tool 24 employing API 22 generates a request for the merchant's link group list. That is, in step 56 the API 22 generates a request 26 of the "section link group request" type and transmits the request 26 to the hyperlink database subsystem 31. In response, hyperlink database subsystem 31 decodes the data request string 37 corresponding to the section link group request 26 and determines the affiliate selected merchant (from the merchant ID parameter) and the affiliate site associated with the selected merchant (from the affiliate site ID parameter). Based on the determined affiliate selected merchant and associated affiliate site, the hyperlink database subsystem 31 extracts the appropriate section link groups of the merchant from hyperlink database 30 and forms a return list of the merchant's section link groups. Hyperlink database subsystem 31 transmits the return list in XML format in a response 27 via network 28 to the web development tool 24 (through API 22). As illustrated in step 58, the web development tool 24 receives the merchant's link group list as extracted from database 30 and displays the received list to the user (web developer). Continuing with step 60 the web developer selects a link group from the displayed list of merchant's section link groups. In response to this selection, at step 62 web development tool 24 employs API 22 to generate a request 26 for the link list of the selected link group. In particular API 22 generates and transmits a request 26 of the "section link list request" type. Upon receipt of this request 26, hyperlink database subsystem 31 determines the affiliate selected merchant (from the merchant ID parameter), the affiliate site associated with the select merchant (from the affiliate site ID parameter) and the affiliate selected section link group (from the section link group ID parameter) upon the decoding of the respective data request string 37 of the received request 26. Based on the determined affiliate-selected merchant, associated affiliate site and affiliate selected section link group, hyperlink database subsystem 31 extracts the names of pertinent hyperlinks from database 30. Hyperlink database subsystem 31 places the extracted hyperlink names in a return list in XML format and transmits the return list in a response 27 to API 22/web development tool 24. With reference to step 64, the web development tool 24 receives the requested link list from response 27 returned by hyperlink database subsystem 31. In turn, web development tool 24 displays the received list of hyperlink names such that the web developer may select a desired link from the displayed list at step 66. With this selection, at step 68 the web development tool 24 employs API 22 and generates a "hyperlink data request" 26. API 22 transmits the generated hyperlink data request 26 to hyperlink database subsystem 31. In response, hyperlink database subsystem 31 decodes the corresponding data request string 37 of the hyperlink data request 26 and determines the affiliate selected merchant, associated affiliate site, affiliate selected link name and optionally the affiliate selected link image URL. With this combination of parameter values, the hyperlink database subsystem 31 searches and retrieves from database 30 the desired hyperlink data. That is, hyperlink database subsystem 31 returns in an XML formatted response 27 the HTML code for the hyperlinks in database 30 meeting the combination of affiliate selected merchant, associated affiliate site, affiliate selected link name and link image URL from the request 26. Web development tool 24, through API 22, receives the links data in response 27 at step 70. The web development tool 24 displays the received link data to the web developer. In step 72 the web developer uses a drag and drop interaction with the displayed links data to include the links data in the desired web page 23 under construction by the web developer. Where the responses 27 are in the XML data format, the web developer is able to interact with the displayed responses using a graphical user interface drag and drop operation to effect the embedding of the HTML code for the desired hyperlink into the subject web page 23 without the end user (web developer) actually seeing the underlying hyperlink code. Providing and placing desired hyperlinks in a subject web page 23 in this manner automates the process for developing hyperlinks in web pages and reduces error in the process as heretofore unachieved by the prior art. While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims. For example, computer system 21 is depicted as a single server in FIG. 1 for simplicity and clarity in illustrating the present invention. It is understood that multiple computers or a network of computers may form computer system 21. Similarly, only one hyperlink database 30 is depicted in FIG. 1 but may physically be implemented by a plurality of data stores with the same overall functionality as described above. Further it is understood that various other parameters may be employed in the data request string 37 in addition to or in place of those discussed above in the preferred embodiment. For example, the parameter Program Name or Program ID that indicates the network of the affiliate may be employed.
|
Same subclass Same class Consider this |
||||||||||
