METHOD FOR PROVIDING INTERNET SERVICE WITH ADVERTISING

Abstract: A method and system of displaying advertisements (155) while providing an Internet connection (130). The method comprises the steps of establishing a connection between a computer and an Internet Service Provider, framing a tool bar at the top of the screen on a computer monitor, shifting any icons and windows on the display below the tool bar, displaying an advertisement in the tool bar, and maintaining a connection between the computer and the Internet Service Provider for as long as the advertisement is displayed on the monitor. A terminal stay resident program or a ping server (120) monitor whether the advertisement is properly positioned and continuously displayed on the computer monitor. The advertisements are also displayed in a dialing window when using a dial-up networking entry to establish a connection between the computer and the Internet Service Provider.

Description: TITLE Method for Providing Internet Service with Advertising BACKGROUND OF THE INVENTION The present invention relates to the internet. More particularly, the invention relates to a method and apparatus of displaying advertisements while providing an internet connection. BRIEF SUMMARY OF THE INVENTION The present invention is a system and method for providing internet service with advertising. A connection is established between a computer and an Internet Service Provider ("ISP"). Advertisements are displayed in an advertisement bar, which is for example a Windows® tool bar framed at the top of the client computer. Any icons or windows on the client desktop are shifted beneath the advertisement bar. If another program attempts to load icons or windows on top of the advertisement bar, those icons or windows are also shifted beneath the advertisement bar. In the present invention, the advertisement bar must be loaded to maintain a connection with the ISP. One method of determining whether the advertisement bar is loaded is for a Terminal Stay Resident program embedded on the client's computer to take a screen shot of the client computer and analyze the color of pixels. If the pixels do not match what should be there, it is assumed the advertisement bar has been removed. If the advertisement bar is removed or, alternatively, if it is moved from a selected position, then the client is disconnected from the ISP. Another method to determine if the ISP client program is running is by use of a ping server. The ping server accomplishes this by sending an encrypted message to each client connected to the ISP. The client program must respond automatically as requested in the message. If the client does not respond, it is assumed that the ISP client program has been altered and a message is then sent to a Radius server to disconnect the client. The present invention also provides for displaying advertisements when establishing a connection to the ISP. The client computer will use the established dial-up networking entry to make a connection. While the connection is being made, advertisements appear with the dialing window, which can then be moved on to the client screen. According to the invention, there is provided a method for providing an internet service provider connection with advertising. The method includes establishing a connection between a computer and an internet service provider, framing a tool bar on a computer monitor, shifting any object displayed on the computer monitor below the tool bar and displaying an advertisement in the tool bar. Also according to the invention, there is provided a system for providing an internet service provider connection with advertising on a user's computer. The system includes a computer operable to connect to an internet service provider, a tool bar framed on a computer monitor, an object displayed on the monitor wherein the object is shifted below the tool bar on the monitor, and an advertisement displayed in the tool bar. These and other objects, features and advantages of the present invention are readily apparent from the following drawings and detailed description. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of an exemplary Internet Service Provider ("ISP") system. FIG. 2 is a block diagram of an exemplary client system which may be used in conjunction with the exemplary ISP system. FIG. 3 is a flowchart describing the installation of a setup program, the set up of a new user, and the basic processing of the ISP client program for an exemplary ISP system. FIG. 4 illustrates the preferred placement of the advertisement bar on a desktop. FIG. 5 illustrates the functions of the advertisement bar. FIG. 6 is a block diagram of the method of the ISP client program for selecting advertisements from the user's list of advertisements. FIG. 7 is a block diagram describing the selection of advertisements for each user and the functioning of the advertisement administration tool. FIG. 8 describes the information that may be communicated between a client system and a server system according to an embodiment of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT The invention is described only by way of example in its application to client/server systems and Internet Service Providers (ISPs). The invention has much broader utility and is not in any way limited to either client/server systems or ISPs. The invention applies to network clients and individual end users. Figure 1 illustrates an exemplary ISP system embodying the invention. The exemplary ISP system includes a client computer 100, a client connection means 105, a connection line 110, an ISP connection means 115, and an ISP system 190. The client connection means 105 and the ISP connection means 115 can implemented, for example, as modems. The ISP connection means 115 can further be implemented, for example, as a bank of modems. Other connection means are equally appropriate. INTERNET SERVICE One embodiment of the invention provides a method and apparatus for providing clients with free internet service in exchange for displaying advertising on clients' computers. Other embodiments of the invention provide a method and apparatus of displaying advertisements while providing internet connections to clients and users. INSTALLATION AND SETUP OF THE ISP CONNECTION Reference is made to Figures 1 and 2. Figure 2 illustrates components of a conventional client system 100, 105 which may be used with this invention. The client system includes a monitor 205, a processing unit 210, floppy drive 215, compact diskette drive 220, a keyboard 225, and a mouse 230. Processing unit 210 also includes a hard drive. Figure 3 describes the installation of startup software on a client computer and setup of a new user account with the ISP. According to the preferred embodiment, client installs and sets up software provided by the ISP in order to initiate a first internet connection. The client can download the installation and setup software 305 through an internet connection or from a floppy diskette or a compact disk. Once a client downloads the software, the installation and setup program is stored at the client location, such as on the hard drive of the client computer. The installation and setup software includes an ISP client program. If a client downloads the software using an internet connection, the client conventionally would enter a specified Uniform Resource Locator ("URL") which indicates the software location on a remote web/file server. The ISP places the installation and setup software on the web server 130, for example, by uploading it using a FTP ("File Transfer Protocol") client program. Once downloaded and installed 310, the installation and setup program scans the client computer settings and hardware and copies necessary files to the user's computer for the installation and setup. Should the client computer have any incorrect settings, the setup program will warn the user and provide information on altering settings. The installation and setup program advantageously will prompt the client to select a dial-up number based on an ISP location closest to the client. According to the preferred embodiment, the client can select the ISP location by choosing the appropriate area on a world map displayed on the client computer. As the client selects an area, the map will zoom in on a country and then a region. Once the client zooms in a region, the client can select a dial-up number from a list of area codes in various countries. Alternatively, the client can select the ISP location by completing fields such as country and area code. The installation and setup software will then create a program group entry, which allows the ISP client program to be displayed in the program group of the Windows® start button. The installation and setup software also creates a desktop icon for easy access to the service. NEW USER SETUP The installation and setup software prompts the client to create a new user account 315. Preferably, the installation and setup software creates a phone book entry within Windows® Dial-Up Networking. The phone book entry contains an ISP phone number selected based on the users location. The Windows® Dial-Up Networking phone book is one standard method for connecting to the Internet. The installation and setup software will dial the phone book entry of the selected ISP to connect to the internet. The installation and setup software will dial the phone book entry using a standard user name and password, which only provides the user with local access to the selected Internet Service Provider. The standard user name and password is encrypted in a file on the client computer and cannot be easily determined by the client. This process of connecting a user to the ISP is not displayed on the client screen and is invisible to the user. The installation and setup software will attempt to run the default browser on the client computer. If the client does not have a browser, the client will be given the opportunity to download one of a selection of browsers from the web server 130. The installation and setup software will then direct the browser 320 to open a web page which interfaces with the proxy database server. A web page will be displayed which allows a user to select a user name, a password, and an e-mail address. The user will also provide demographic information such as phone number, address, race, sex, date of birth, interests, and income. Alternatively, a small executable program may be downloaded that contains the list of questions. Rather than loading a browser, a "new user" program is loaded that performs the same functions. Once the user submits this information, the account server preferably does a validity check 325 to ensure that all the information is correct and there are no redundant account names created. Upon clearing the validity check, an e-mail account and web page account are created for the user 325. The client is prompted to close the browser, disconnect, and reconnect using the selected user name and password 330. The ISP client program loads the main connection screen and the user is prompted to enter the user name and password created. A permanent phone book entry is created with the user name and password. The user information is stored in a user database server 145, which is the central data warehouse for all user-specific information. The user database server 145 allows a proxy database server 125 access to information on users. The proxy database server 125 is the only server which the client program connects to. The proxy database server 125 serves as a translator, translating the clients language into actions carried out on the server side. CONNECTING TO THE ISP Once an account has been created, the client has at least two possible methods of connecting to the ISP 330. One method by which the client may connect to the internet is by using the dial-up-networking entry previously created. If a client connects using dial-up networking, the client must enter a user name and password which will be authenticated in a user database by the Proxy Database Server 125. A Radius Server may be used for the authentication procedures. The client will then be assigned a DNS server 140 to access the internet. The DNS server 140 matches web URLs to Internet Protocol ("IP") addresses. The ISP client program detects when the client has connected to the ISP. This feature of the ISP client program may be implemented as a Terminal Stay Resident ("TSR") 345. TSR runs continuously. It is preferably a small program with a size on the order of 50 KB, and is stored in the memory of the client computer separately from other portions of the ISP client program. TSR monitors the user's IP address. If the client IP address matches the ISP's address, then TSR directs the ISP client program to load 350. If the advertisement bar is not detected, then the client is disconnected from the ISP 355. The advertisement bar as illustrated in Figure 4 is a frame which runs across the client screen in which advertisements are displayed 405. A second method which the client can use to connect to ISP is by running the ISP client program. This can be done for example by using the mouse to click on a program icon which starts the connection procedure. The user then has the option of clicking on a connect button to start the connection or to modify the user settings (including the ISP dial-up number and the modem type). The client computer will use the established dial-up-networking entry to make a connection. While the connection is being made, advertisements appear within the dialing window. These advertisements can then be moved on to the client screen. CONNECTING TO THE INTERNET Reference is made to Figure 1. Once the connection is made with the ISP, the ISP client program automatically connects to a web server 130 and preferably downloads a small version file. The version file indicates the most recent version of files available. If the ISP client program detects that it needs to update any versions of files, the ISP client program will communicate to the ISP web server 130 to automatically download and install new components. A dynamically linked library ("DLL") embedded within the ISP client program handles the intricate task of automatically updating files on the client computer. The ISP client program then interacts with the proxy database server 125 in order to log a user into the system. Proxy database server 125 manages client interactions preferably via a Structured Query Language ("SQL") database. Proxy database server 125 connects to the client and handles client/server interactions. Proxy database server 125 also translates the ISP client program communication into SQL commands to record information to a SQL database. Proxy database server 125 is responsible for logging a user onto the service, looking up data from a database requested by the ISP client program and recording data to a SQL database. Proxy database server 125 will connect to the user database server 145 and compile a list of advertisements for the user to view. Proxy database server 125 will transmit this information to the ISP client program 335. This list may be stored in the memory of the client computer. Proxy database server 125 preferably will check for news items and system messages 340 within user database 145. Should there be any news items for that user, they will be sent to the ISP client program to be displayed. The list of advertisements preferably contains a number of advertisements the user is to view and the weights associated with the advertisement. The weight indicates the priority of the advertisement relative to other advertisements, the location of the advertisement, and the maximum number of times a particular advertisement should be displayed. Advertisements will be displayed in the advertisement bar 405 which is loaded as long as the client maintains a connection with the ISP 350. The user's demographic information may also be updated when the user logs on. Should a user's profile contain any questions that have not been answered, the proxy database server 125 will transmit those questions to the client computer. The ISP client program preferably will then freeze all operations until the user answers the questions. The question answers are transmitted from the client to the proxy database server 125 and are in turn added to the user database server 145. ADVERTISEMENT BAR DISPLAY AND FUNCTION Advertisements are displayed in advertisement bar 405 while the client is connected to the ISP. Periodically, for example, each minute, the ISP client program cycles through the list of advertisements and based on their weights selects an advertisement to display. The ISP client program advantageously first looks on the client hard drive cache to determine if the advertisement has been previously downloaded. If the advertisement has been stored on the client hard drive, the ISP client program then loads the advertisement from that location. If however the advertisement is not on the user's hard drive, the ISP client program downloads the advertisement 360 from web server 130. The ISP client program will continue to cycle through advertisements for the duration of the connection with the ISP. Advertisements can be comprised of any combination of information including textual, graphic, audio, or video data or a combination thereof. The advertisements can be stored in a compressed data format, such as JPEG or other proprietary format. The advertisements may also be executable programs. Advertisement bar 405 is preferably a Windows® tool bar framed at the top of the client computer that allows various advertisements to be displayed. Any icons or windows on the client desktop are shifted beneath advertisement bar 405. If another program attempts to load icons or windows on top of advertisement bar 405, the icons or windows are shifted beneath the advertisement bar. The advertisements may be linked to either a web site URL or an executable program. Should a user select an advertisement by clicking with a mouse button on the advertisement, the client default browser and the advertisement URL may be loaded. Alternatively, a previously downloaded program may be executed. This is simpler, faster and more powerful than loading a web page. It allows advertisers to make a great deal of information available to the client quickly. Figure 5, items 505 (illustrated as a pull-down menu) and 510 illustrate the functions of the advertisement bar. In the illustrated embodiment, the functions include web search, email, messenger, games, settings, help, disconnect, and web links. When an advertisement is displayed or the user clicks on an advertisement, a message is sent to the proxy database server 125, which compiles a list of records and updates the advertisement server 155. An impression is a data record of a user's activity, including such things as when a user has clicked on an advertisement or passed the mouse over an advertisement. Advertisement bar 405 shown in Figure 4, according to the preferred embodiment, must be loaded to maintain a connection with the ISP. One method of determining whether the advertisement bar is loaded is for the TSR program embedded on the client's computer to take a screen shot of the client computer and analyze the color of the pixels. If the pixels do not match what should be there, it is assumed the advertisement bar has been removed. If the advertisement bar is removed or, alternatively, if it is moved from a selected position, then the client is disconnected from the ISP. Another method to determine if the ISP client program is running is by use of a ping server 120. Ping server 120 accomplishes this by sending an encrypted message to each client connected to the ISP. The client program must respond automatically as requested in the message. If the client does not respond, it is assumed that the ISP client program has been altered and a message is then sent to the Radius server to disconnect the client. SELECTION OF ADVERTISEMENTS Figure 6 illustrates the means for selecting advertisements for users. When the ISP client program transmits the user name and password 605, proxy database server 125 verifies the user name and password 610 in the user database and transmits a list of advertisements to the user 615. The advertisement list is a list of advertisements targeted to users based on the their demographic information and other factors such as duration of advertisement and frequency shown to each user. The advertisement weights are added up to reach a sum, XSUM, of all advertisement weights in the advertisement list 620. The weight of each advertisement determines how many times it is put into the list. For example, an advertisement of weight 2 will go into the list twice whereas an advertisement of weight 30 would go into the list thirty times. Periodically, preferably every minute, a location within the list is picked randomly and that advertisement is displayed and removed from the list 625, 630. Other factors such as the time of day to show the advertisement and the frequency per user will affect the selection process within the list. The higher the weight of each advertisement, the more times it will be shown. Once the advertisement list is empty, the ISP client program will recreate the list and cycle through it again 635. User database 145 contains the list of advertisements each user should view. As described below in connection with Figure 7, an advertisement administration tool determines which advertisements each user should view at the next logon 705, updates lists of advertisements for each user and allows administrators to add advertisements, monitor statistics, and perform other useful functions. A complete list of all available advertisements along with associated demographic and other target restrictions placed on the advertisement is preferably maintained on advertisement database server 150. Advertisement database server 150 maintains a list of advertisements designated on a per country basis. Ad Database server 150 will contain advertiser billing information and contact information. Ad Database server 150 will also contain current advertisement statistics. Ad Database server 150 will allow the advertisement administration tool (a Graphical User Interface ("GUI") program) to access this information to place, remove or update advertisements as well as display statistics to advertisers. The demographic and other target requirements are developed by the advertiser 710 can be entered into advertisement database server 150 by an ISP administrator 715. The advertisement URL is stored in advertisement server 155 (720). The ISP determines the weights associated with each advertisement based on payment and other agreements made with advertisers and demographic and other factors such as the frequency that an advertisement is to be displayed relative to other advertisements, the time of day, and how often an advertisement should be displayed to the same user. For example, an advertisement could be restricted to males with ages between 20 to 30 to be shown between August 1 st and August 3 rd for a maximum of 5 times to each client. The advertisement administration tool cycles through the list of users maintained in user database 145. If a user matches the demographic profile of the advertisement and all other criteria are met, the advertisement is placed in the user's list of advertisements. The advertisement administration tool cycles through each user and matches them to appropriate advertisements 725. If a user matches the advertisement targeting requirements, the advertisement is added to the user's list of advertisements 730 in user database 145. E-MAIL AND WEB SERVICE Figure 8 illustrates the services provided by the ISP 835 (also shown in Figure 1, 190). Client 805 can both transmit and receive e-mail 810 through an ISP e-mail system. Client 805 can also access web pages through ISP web server 130 and host a web page on ISP web server 130 (815). The ISP system 835 also allows the ISP to transmit advertisements 820, news and messages 825, and to update user information profiles 830. The ISP 835 provides its services through an Internet connection 840. While the preferred mode and best mode for carrying out the invention have been described, those familiar with the art to which this invention relates will appreciate that various alternative designs and embodiments for practicing the invention are possible, and will fall within the scope of the following claims.

Claims: What is claimed is: 1. A method for providing an internet service provider connection with advertising, the improvement comprising the steps of: (A) establishing a connection between a computer and an internet service provider; (B) framing a tool bar on a monitor of said computer; (C) shifting any object displayed on said computer monitor below said tool bar; and (D) displaying an advertisement in said tool bar. 2. The method claimed in claim 1, further comprising the step of determining whether to maintain said connection between said computer and said internet service provider. 3. The method claimed in claim 2, wherein the determining step includes running a terminal stay resident program on said computer, to determine whether to maintain said connection between said computer and said internet service provider. 4. The method claimed in claim 3, wherein the determining step includes the steps of: (A) using said terminal stay resident program to capture a screen shot of said monitor; (B) analyzing said screen shot to determine whether said advertisement is displayed on said monitor; and (C) disconnecting said connection between said computer and said internet service provider if said advertisement is not displayed. 5. The method claimed in claim 2, wherein the determining step includes using a ping server to determine whether to maintain said connection between said computer and said internet service provider. 6. The method claimed in claim 1, wherein said object is an icon. 7. The method claimed in claim 1, wherein said object is a window. 8. The method claimed in claim 4, wherein said analyzing step includes comparison of pixels in the advertisement with pixels of the monitor. 9. The method claimed in claim 5, wherein said determining step further includes, transmitting, from said internet service provider, a message to said computer, and, responding, from said computer to said internet service provider. 10. The method claimed in claim 1, wherein said establishing step and displaying step are substantially overlapping in time. 11. A system for providing an internet service provider connection with advertising on a user's computer, the improvement comprising: (A) a computer operable to connect to an internet service provider; (B) a tool bar framed on a monitor of said computer; (C) an object displayed on said monitor, wherein said object is shifted below said tool bar on said monitor; and (D) an advertisement displayed in said tool bar. 12. The system claimed in claim 11, further comprising a determining unit to determine whether to maintain a connection between said computer and said internet service provider. 13. The system claimed in claim 12, wherein said determining unit includes a terminal stay resident program on said computer, to determine whether to maintain said connection between said computer and said internet service provider. 14. The system claimed in claim 13, wherein said terminal stay resident program captures a screen shot of said monitor, analyzes said screen shot to determine whether said advertisement is displayed on said monitor, and disconnects said connection between said computer and said internet service provider if said advertisement is not displayed. 15. The system claimed in claim 12, wherein said determining unit includes a ping server, wherein said ping server determines whether to maintain said connection between said computer and said internet service provider. 16. The system claimed in claim 11 , wherein said object is an icon. 17. The system claimed in claim 11 , wherein said object is a window. 18. The system claimed in claim 14, wherein said terminal stay resident program analyzes said screen shot by a comparison of pixels in said advertisement with pixels of said monitor. 19. The system claimed in claim 15, wherein said ping server transmits a message from said internet service provider to said computer, and receives a message from said computer to said internet service provider. 20. The system claimed in claim 11, wherein said advertisement is displayed at substantially the same time as said connection is being established between said computer and said internet service provider. 21. A method for providing an internet service provider connection with advertising, the improvement comprising the steps of: (A) establishing a connection between a computer and an internet service provider, wherein an advertisement is displayed on a monitor while establishing said connection; (B) framing a tool bar on said monitor of said computer; (C) shifting any object displayed on said computer monitor below said tool bar, wherein said object is an icon or said object is a window; (D) displaying said advertisement in said tool bar; and (E) determining whether to maintain a connection between said computer and said internet service provider, wherein the determining step further includes the steps of: (i) using a terminal stay resident program to capture a screen shot of said monitor; (ii) analyzing said screen shot to determine whether said advertisement is displayed on said monitor, wherein said analyzing step includes comparison of pixels in the advertisement with pixels of the monitor; and (iii) disconnecting said connection between said computer and said internet service provider if said advertisement is not displayed. 22. A system for providing an internet service provider connection with advertising on a user's computer, the improvement comprising: (A) a computer operable to connect to an internet service provider; (B) a tool bar framed on a monitor of said computer; (C) an object displayed on said monitor, wherein said object is shifted below said tool bar on said monitor, wherein said object is an icon or said object is a window; (D) an advertisement displayed in said tool bar, wherein said advertisement is displayed at substantially the same time as a connection is being established between said computer and said internet service provider; and (E) a terminal stay resident program running on said computer, wherein said terminal stay resident program captures a screen shot of said monitor, analyzes said screen shot by a comparison of pixels in said advertisement with pixels of said monitor to determine whether said advertisement is displayed on said monitor, and disconnects said connection between said computer and said internet service provider if said advertisement is not displayed.

Inventors: SUKORNYK CHRIS, SUKORNYK, CHRIS
Applicants: X STREAM NETWORK INC, THE X-STREAM NETWORK, INC.
Application year: 2000
Main classification: G06F17
IPC codes: G06Q30