SYSTEM AND METHOD FOR MONITORING THE STATUS OF A NETWORK CONNECTION
Background Field The present invention is related to communication systems. More particularly, this invention relates to a system and method for monitoring a network connection. Description of the Related Art
Recent advances in personal computer technology, coupled with the continuing decrease in personal computer prices, have made the personal computer accessible to an ever increasing percentage of the population. The more recent development of vast communication systems and the ability to interconnect the personal computers using these communication systems have led to more and more people becoming dependent on the personal computer to access information. The personal computer connected to the communication system is emerging as the preferred mechanism by which to disseminate information.
One such communication system is the Internet. The Internet is a global network of networks connecting millions of users worldwide via many computer networks. The Internet originated as primarily a research and academic network. Recently, commercial enterprises have targeted the Internet as a means of disseminating product and service information to the vast number of Internet users. Even more recently, the Internet has become a viable means for commercial enterprises to offer their products and services worldwide and for the ever increasing number of consumers to purchase these products and services over the Internet. The potential of reaching millions of people worldwide continues to attract many content providers to the Internet.
A user accesses the Internet through an online service company, such as America Online, or through an Internet Service Provider (ISP) company. For a monthly fee, the company provides the user a software package, username, password, and access telephone number.
Generally, the user has full control of the Internet experience. The user determines when to connect to the Internet, what information to access, and when to disconnect from the Internet. The user generally is in control of his Internet behavior and determines which content provider is accessed. Thus, influencing the user's Internet behavior may potentially increase information dissemination and be beneficial to Internet content providers.
Summary The present invention is a system and method of monitoring a network. More particularly, this invention ensures that users properly utilize a network connection service by monitoring the network.
A user registers for enhanced connectivity service to a communication medium. As part of the registration process, an application program is downloaded onto the user's computer. Subsequently, the user utilizes the user computer and establishes a connection to a network service provider designated by the enhanced connectivity service to access the communication medium. While connected to the network service provider, the application program
displays a persistent window on the user computer. The persistent window displays information, such as advertisements, entertainment, or other data, to the user. Alternatively, the application may periodically display the persistent information window on the user computer. The contents of the information window can be obtained over the communication medium. While the application program is properly executing, for example, the information window is being persistently displayed on the user computer, the user computer periodically generates a notification message. The user computer transmits the notification message over the communication medium to an access or monitoring computer connected to the communication medium. In one embodiment, the notification is encrypted. In another embodiment, the notification is transmitted if the application program is not properly executing. The access computer maintains a first list of user computers identifying the registered users currently connected to a network service provider designated by the enhanced connectivity service. Additionally, the access computer maintains a second list identifying the user computers from which a notification message has been received. The access computer intermittently compares the two lists to identify the user computers from which a notification message has not been received. Subsequently, the access computer terminates the connection between the identified user computers and the network service provider. Alternatively, if the notification message indicates that the application program is not properly executing on the user computer, the access computer terminates the connection between the particular user computer and the communication service provider upon receiving the notification message. In one embodiment, the access computer transmits a request to the network service provider to terminate a user computer's connection to the network service provider. Upon receiving this request, the network service provider terminates the connection to the user computer.
In another embodiment, the access computer receives encrypted notification messages. The access computer encrypts its own encrypted notification to authenticate the encrypted notification message received. If the two encrypted notifications match, the access computer includes the particular user computer that transmitted the encrypted notification message in the list identifying the user computers the access computer received a notification from. Otherwise, if the encrypted notification messages doe not match, the received encrypted notification message is discarded.
One embodiment relates to a method of monitoring the execution of a process, said method comprising the acts of receiving at a first computer a message about a first process executing on a second computer wherein said message is generated by a second process executing on said second computer; and disconnecting said second computer from a network based on said message.
An additional embodiment relates to an apparatus that monitors the execution of a process in a computer, said apparatus comprising a first computer that is configured to receive a message about a first module executing on a second computer wherein said message is generated by a second module executing on said second computer, and wherein said first computer disconnects said second computer from a network based on said message.
Brief Description of the Drawings These and other aspects, advantages, and novel features of the invention will become apparent upon reading the following detailed description and upon reference to the accompanying drawings in which:
Figure 1 is a system block diagram illustrating an embodiment of the overall network architecture of the invention;
Figure 1 A is an illustration of one embodiment of a network monitoring system of the invention; Figure 2 is a block diagram illustrating an embodiment of the relationship between an access provider and many affiliate partners, ISP partners, and ad content partners;
Figure 3 is a representation of one embodiment of a user computer screen displaying a web page and a persistent ad window;
Figure 4 is a representation of one embodiment of the persistent ad window;
Figure 5 is a block diagram illustrating one embodiment of the flow of information between a user computer and an access server computer through a communication medium of the invention;
Figure 6 is a high level block diagram illustrating one embodiment of the access server computer system architecture of the invention;
Figure 7 is a high level block diagram illustrating one embodiment of the user computer system architecture of the invention;
Figure 8 is a high level block diagram illustrating one embodiment of an ISP unit system architecture of the invention; Figure 9 is a high level block diagram illustrating one embodiment of an ad server computer system architecture of the invention;
Figure 10 is a high level flow chart illustrating an overall business process in accordance with one embodiment of the present invention;
Figure 11 is a flow chart illustrating a user registration for enhanced internet access in accordance with one embodiment of the present invention;
Figure 12 is a flow chart illustrating a user registration for enhanced internet access in accordance with another embodiment of the present invention;
Figure 13 is a flow chart illustrating a process by which a user accesses the communication system and is thereafter presented a persistent ad window in accordance with one embodiment of the present invention; Figure 14 is a flow chart illustrating a process by which the user computer transmits an ad window notification to the access server computer in accordance with one embodiment of the present invention; and
Figure 15 is a flow chart illustrating a process by which the access server computer requests the ISP to terminate a user connection in accordance with one embodiment of the present invention.
Detailed Description The present invention- is a system and method for monitoring the status of a network connection. Figure 1A illustrates one embodiment of a system suitable for monitoring a network connection. A communications service provider 14 provides access to a communication medium 10. A user computer 102 establishes a network connection through the communication medium 1 10 utilizing the communications service provider 14. While connected to the communications service provider 14, the user computer 102 periodically transmits a status packet 16 over the communication medium 1 10. An access server computer 106 is connected to the communication medium 110. The access server computer 106 monitors the network connection status for the user computer 102 using the transmitted status packet 16. Even though the invention is suitable for monitoring any network connection through the communications medium 1 10, the invention will be further disclosed in the context of monitoring a network connection through the Internet 1 12. Throughout the drawings, components which correspond to components shown in previous figures are indicated using the same reference numbers.
One network architecture suitable for use with one preferred embodiment of the invention is indicated generally by a system 10 in Figure 1. The system 10 includes a plurality of user computers 102, a plurality of content provider computers 104, the access server computer 106, and a plurality of ad server computers 108 which communicate with each other by use of the communication medium 110.
A computer, including the computers 102, 104, 106, and 108, may be any microprocessor or processor (hereinafter referred to as processor) controlled device that permits access to the communication medium 1 10, including terminal devices, such as personal computers, workstations, servers, mini computers, main-frame computers, laptop computers, a network of individual computers, mobile computers, palm top computers, hand held computers, set top box for a TV, an interactive television, an interactive kiosk, a personal digital assistant, an interactive wireless communications device, or a combination thereof. The computers may further possess input devices such as a keyboard or a mouse, and output devices such as a computer screen or a speaker. Furthermore, the computers may serve as clients, servers, or a combination thereof.
These computers may be uniprocessor or multiprocessor machines. Additionally, these computers include an addressable storage medium or computer accessible medium, such as random access memory (RAM), an electronically erasable programmable read-only memory (EEPROM), random access memory (RAM), erasable programmable read-only memory (EPROM), hard disks, floppy disks, laser disk players, digital video devices, compact disks, video tapes, audio tapes, magnetic recording tracks, electronic networks, and other techniques to transmit or store data. In one preferred embodiment, the computers are equipped with a network communication device such a network interface card, a modem, or other network connection device suitable for connecting to the communication medium 110. Furthermore, the computers execute an appropriate operating system such as Unix, Microsoft® Windows® 3.1, Microsoft® Windows® 95, Microsoft® Windows® NT, Apple® MacOS®, or IBM® OS/2®. As is conventional, the appropriate operating system includes a communications protocol implementation which handles all incoming and outgoing
message traffic passed over the communication medium 110. In other embodiments, while the operating system may differ depending on the type" of computer, the operating system will continue to provide the appropriate communications protocols necessary to establish communication links with the communication medium 110.
Several modules will be described hereafter. The modules may advantageously be configured to reside on the addressable storage medium and configured to execute on one or more processors. The modules include, but is not limited to, software or hardware components which perform certain tasks. Thus, a module may include, by way of example, object-oriented software components, class components, processes methods, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The communication medium 110 may advantageously facilitate the transfer of electronic content and includes the Internet 112. The Internet 1 12 is a global network connecting millions of computers. The structure of the Internet 112, which is well known to those of ordinary skill in the art, is a global network of computer networks utilizing a simple standard common addressing system and communications protocol called Transmission Control Protocol/Internet Protocol (TCP/IP). The connection between different networks are called "gateways", and the gateways serve to transfer electronic data worldwide.
In one embodiment, the Internet 112 includes a Domain Name Service (DNS). As is well known in the art, the Internet 112 is based on Internet Protocol (IP) addresses. The DNS translates alphabetic domain names into IP addresses, and vice versa. The DNS is comprised of multiple DNS servers situated on multiple networks. In translating a particular domain name into an IP address, multiple DNS servers may be accessed until the domain name translation is accomplished.
One part of the Internet 112 is the World Wide Web (WWW). The WWW is generally used to refer to both (1) a distributed collection of interlinked, user-viewable hypertext documents (commonly referred to as "web documents" or "electronic pages" or "home pages") that are accessible via the Internet 1 12, and (2) the client and server software components which provide user access to such documents using standardized Internet protocols. The web documents are encoded using Hypertext Markup Language (HTML) and the primary standard protocol for allowing applications to locate and acquire web documents is the Hypertext Transfer Protocol (HTTP). However, the term WWW is intended to encompass future markup languages and transport protocols which may be used in place of, or in addition to, HTML and HTTP.
The WWW contains different computers which store electronic pages, such as HTML documents, capable of displaying graphical and textual information. The content provider computers 104 which provide information on the WWW are generally referred to as "websites." A website is defined by an Internet address, and the Internet address has an associated electronic page. Generally, an electronic page may advantageously be a document which organizes the presentation of text, graphical images, audio and video.
One of ordinary skill in the art will recognize that the communication medium 110 may advantageously be comprised of other types of networks without detracting from the invention. The communication medium 110 can
include, by way of example, local area networks (LANs), wide area networks (WANs), public internets, private internets, a private computer network, a secure internet, a private network, a public network, a value added network, interactive television networks, wireless data transmission networks, two way cable networks, interactive kiosk networks, and the like. In addition to the Internet 112, the communication medium 110 may advantageously include network service providers that offer electronic services such as, by way of example, Internet Service Providers 1 14 (hereinafter referred to as ISP). An ISP 114 or other network service provider may advantageously support both dial-up and direct connection in providing access to various types of networks. An ISP 114 is a computer system which provides access to the Internet 1 12. Generally, the ISP 1 14 is operated by an ISP company. Examples of ISP companies include America On-line, the Microsoft Network, Network Intensive, and the like. Typically for a fee, these ISP companies provide a user a software package, username, password, and access phone number. Using this information, the user can then use the user computer 102 to connect to the ISP 114 and access the Internet 112. Typically, the ISP 1 14 is connected to an Internet routing hub via one or more high speed communications links. The communication links, in turn, connect to the content provider computer 104, the access server computer 106, the ad server computer 108, and other devices accessible through the Internet 112.
Those of ordinary skill in the art will realize that the ISP 114 is optional and the user computer 102 can advantageously execute software programs providing direct access to the Internet 112. In this instance, the user computer 102 may be connected directly to the Internet 112.
In one embodiment, a user utilizes the user computer 102 and communicates with the content provider computer 104 by accessing the communication medium 110. For example, the user invokes a browser which executes on the user computer 102. The browser is further discussed below. The browser, in turn, establishes a communication link to the Internet 112 directly or through the ISP 1 14. Once connected to the communication medium 110, the user can direct the browser to access information provided by one of the content provider computers 104. The ISP 114 then communicates with the Internet 112 to establish a communications link between the user computer 102 and the desired content provider computer 104.
While communicating with the content provider computer 104, the user is presented with an offer for an enhanced or enriched connectivity to the communication medium 110 by a particular affiliate partner 206. The enhanced or enriched connectivity provides the user benefits such as, by way of example, reduced cost connectivity, free connectivity, access time credit depending on user behavior, and other incentives, benefits, and valuable consideration. The affiliate partner 206 is further discussed below. The user registers for the enhanced connectivity and is provided a login identification, password, access telephone number, and an application program executable on the user computer 102 with which to access the communication medium 1 10.
The user subsequently accesses the communication medium 1 10 by executing the application program on the user computer 102. Once logged on to the communication medium 110, the application program displays an ad window 402 (Figure 4) (hereinafter referred to as the ad window) on the user computer 102. The application program
directs the user computer 102 to communicate with the access server computer 106. The access server computer 106 may advantageously provide the user computer 102 the electronic contents to include in the ad window 402. Furthermore, the access server computer 106 can specify an ad server computer 108 from which the user computer 102 is to obtain further electronic content to include in the ad window 402. The electronic content may advantageously be an advertisement or other informational display. Subsequently, the user computer 102 can periodically communicate with the appropriate ad server computer 108 to request electronic content to include in the ad window 402.
As discussed in further detail below, the application program periodically checks to ensure that the ad window 402 is continuously displayed on the user computer 102 and thus, visible to the user. If the ad window 402 is displayed, the application program directs the user computer 102 to transmit an ad window notification to the access server computer 106. As long as the ad window 402 is continuously displayed, the user computer 102 remains logged on to the communication medium 1 10 and the user can utilize the user computer 102 to communicate with devices accessible through the communication medium 110, such as the content provider computer 104.
In another embodiment, the application program directs the user computer 102 to transmit a notification to the access server computer 106 indicating the proper functioning of the application program. As an example, the application program may periodically display a window, containing electronic content, on the user computer 102. For example, the window can pop up every thirty minutes and display particular electronic content for a few minutes, then the window can collapse or disappear, returning normal control of the user computer 102 to the user. The electronic content may advantageously be information such as, by way of example, advertisements, infomercials, commercials, and other forms of information. While the application program is functioning properly, the notification is transmitted. As long as the notification is received by the access server computer 106, the user computer 102 remains logged on to the communication medium 1 10. In still another embodiment, the user computer 102 transmits a notification if the application program is not functioning properly.
Figure 2 generally illustrates an example of multiple business relationships according to one embodiment of the invention. An access provider 202 advantageously interacts with multiple ISP partners 204, affiliate partners 206, and ad content partners 208. The interaction between the access provider 202 and its partners may advantageously involve exchanges of information as well as other valuable consideration such as various forms of legal tender. In other embodiments, similar business relationships may advantageously exist between one or more of the ISP partners 204, affiliate partners 206, and ad content partners 208. In one embodiment, the access provider 202 provides users access to the Internet 112. The access provider
202 advantageously maintains a presence on the Internet 112 through one or more access server computers 106. The access server computer 106 is capable of establishing a communications link with the Internet 112 directly or by utilizing the ISP 114. In the direct communications link instance, the access server computer 106 executes a software program providing a direct connection to the Internet 112.
Typically, the access provider 202 does not offer users Internet 1 12 connectivity by directly implementing the ISP functionality. Rather, the access provider 202 enters into an agreement to purchase access time from one or more ISP partners 204. The ISP partner 204 maintains one or more ISPs 114. The ISP partner 204 may advantageously be one or more regional, national, or multi-national service providers. A regional service provider provides Internet 112 connectivity through a local access phone number to users within a specific region such as, by way of example, a county or a state. A national or multi-nation service provider provides Internet 112 connectivity to users within a country or a number of countries, respectively. A multi-national service provider or a national service provider can be comprised of a multiple number of national service providers and regional service providers.
The access time purchased from the ISP partners 204 provides the access provider 202 the ISP functionality. The access provider 202 may now offer users access to the Internet 112. Subsequently, one or more users register with the access provider 202 for the Internet 112 connectivity. As part of the registration process, the user is provided information which enables it to establish a communications link to one of the ISP partners 204. The amount of time the registered user accesses the ISP partner 204 is counted against the access time purchased by the access provider 202 from the particular ISP partner 204. In one embodiment, the predetermined amount of access time purchased from any one ISP partner 204 may vary depending upon factors such as, by way of example, prior usage, availability of content accessible over the Internet 112, the number of users likely to utilize the ISP partner 204 in order to access the Internet 112, the location of the ISP partner 204, and the number of other ISP partners 204. The access provider 202 may enter into such a purchase agreement with one or more ISP partners 204, and the predetermined amount of access time purchased from a particular ISP partner 204 can be different than the predetermined amount of access time purchased from a different ISP partner 204.
In one embodiment, the ISP partner 204 charges the access provider 202 a flat sum for the predetermined amount of access time. The access provider 202 may advantageously be charged additional sums for actual access time in excess of the predetermined amount of access time. The additional sum charged can be negotiated beforehand between the access provider 202 and the ISP partner 204. In another embodiment, the access time is purchased in set increments or blocks of time irrespective of actual usage. In yet another embodiment, a pre-paid model is implemented in which the registered users are only provided connectivity for the predetermined quantity of access time. Once the predetermined quantity of access time is used up, the registered users are refused connectivity until additional access time is purchased by the access provider 202. In an alternative embodiment, the access provider 202 can directly provide the ISP functionality by either implementing the technology or purchasing the technology. Those of ordinary skill in the art will realize that many other types of arrangements may be structured between the access provider 202 and the ISP partner 204 whereby the access provider 202 purchases the ISP functionality from the ISP partner 204.
The agreement between the access provider 202 and the ISP partner 204 involves an exchange of benefits. The benefit to the access provider 202 is the access time obtained. The benefit to the ISP partner 204 is the sum received. Typically, the sum paid to the ISP partner 204 by the access provider 202 is in the form of legal tender, such
as United States currency. Those of ordinary skill in the art will realize that the benefit exchanged between the parties may be in other forms of valuable consideration without detracting from the invention.
The affiliate partner 206 may advantageously be any entity with a current presence, or any entity desiring to create a presence, on the Internet 1 12. Typically, the affiliate partner 206 provides a marketing and distribution mechanism for information over the Internet 112. One form of Internet 112 presence is created by providing electronic content on the Internet 112. Generally, the affiliate partner 206 maintains a presence on the Internet 112 through one or more content provider computers 104. Typically, users access the information provided on the content provider computers 104. For example, the content provider computer 104 may advantageously be a website offering one or more web documents accessible over the WWW. The user can then "surf" the WWW and access the desired web documents.
In one embodiment, the affiliate partner 206 and the access provider 202 enter into an agreement whereby the affiliate partner 206 obtains from the access provider 202 a portion of the access time obtained by the particular access provider 202 from the ISP partner 204. The affiliate partner 206 can offer the access time obtained to Internet 112 users under its own brand of Internet 112 connectivity service. For example, ABC Magazine may be a content provider maintaining a website on the WWW. ABC Magazine can advantageously enter into an agreement with the access provider 202 whereby ABC Magazine becomes one affiliate partner 206. Subsequently, ABC Magazine can offer users Internet 1 12 connectivity through its own, branded ABC Magazine Internet 1 12 connectivity service.
In one embodiment, the Internet 112 connectivity service offered by the affiliate partner 206 is ad supported and offered to the users for a reduced or no fee. A user of this Internet 112 connectivity service becomes known as an affiliate end user associated with the particular affiliate partner 206 through which the user registered for the Internet 112 connectivity service. The affiliate end user is presented with an information window that includes electronic content. The information window is continuously displayed on the affiliate end user's user computer 102. In one embodiment, the information window can be the ad window 402. The affiliate partner 206 may advantageously brand the information window with its own brand or logo. Furthermore, the affiliate partner 206 can advantageously present its home page as the default home page viewed by the affiliate end user whenever it accesses the Internet 1 12. Continuing the example above, an affiliate end user accessing the Internet 112 through the ABC Magazine access service is presented with an information window identified with the ABC Magazine name or logo. Thus, ABC Magazine is able to maintain a presence on the user computer 102 regardless of the affiliate end user's location on the Internet 112. Additionally, the ABC Magazine website home page can become the default home page initially viewed by the affiliate end user whenever the affiliate end user accesses the Internet 1 12. Therefore, the contents of ABC Magazine's home page is assured of being displayed at least once every time an affiliate end user initially access the Internet 112.
In another embodiment, the affiliate partner 206 may advantageously place other forms of electronic content, such as hypertext links or hyperlinks, within the information window. A hyperlink links to another location
within the same document, such as a web page, or to a different document, such as a different web page. Typically, a user clicks on the hyperlink using a pointing device, such as a mouse or the like, to follow the link. Continuing the above example, ABC Magazine can advantageously include a hyperlink to other web pages or web sites determined by ABC Magazine in the information window displayed to its affiliate end users. In yet another embodiment, the affiliate end user's user computer 102 can periodically transmit to the affiliate partner's 206 content provider computer 104 pertinent information regarding the affiliate end user's Internet 1 12 behavior such as, by way of example, websites visited by the affiliate end user, search strings utilized by the affiliate end user, and products purchased by the affiliate end user. This information may then advantageously be used in determining the content of the information window subsequently displayed to the particular affiliate end user. The access provider 202 benefits in its agreement with the affiliate partner 206 by generally gaining access to the particular affiliate end user. The access provider 202 obtains access to the information window which is continuously displayed to the affiliate end user. The access provider 202 may advantageously determine the actual content, as well as the form of the content, that is displayed in the information window. Furthermore, the access provider 202 can determine other information window attributes such as, by way of example, how often the information window is updated and the location the user computer 102 obtains the content to display in the information window. Additionally, the user computer 102 may advantageously make available to the access provider 202 pertinent information regarding the affiliate end user's Internet 112 behavior such as, by way of example, websites visited by the affiliate end user, search strings utilized by the affiliate end user, and products purchased by the affiliate end user. The access provider 202 can request this information to be transmitted periodically to its access server computer 106.
In one embodiment, the access provider 202 may advantageously pool the number of affiliate end users associated with the affiliate partners 206 and leverage this number in an agreement with the ad content partner 208. Typically, the ad content partner 208 is charged a predetermined fee for obtaining access to the affiliate end users. The fee charged may simply be based on the total number of affiliate end users. In another embodiment, the fee charged may advantageously be based on the number of times the ad content partner's 208 ad is actually displayed in the information window. In still another embodiment, the fee charged may depend on the number of "hits" to the ad content partner's 208 ad. Those of ordinary skill in the art will realize other compensation systems may be implemented, including a compensation system including any one, two or thee of the aforementioned fee charging methods, without detracting from the invention. Having obtained access to the affiliate end users, the ad content partner 208 can then determine a portion of the electronic content contained in the information window displayed to the affiliate end user. This content may be in various forms such as, by way of example, text, graphical, video, and hyperlink. Typically, the content is the advertisement displayed in the information window. In one embodiment, the ad content partner 208 administers one or more ad server computers 108. The ad server computer 108 is linked to, and accessible over, the Internet 112. The ad server computer 108 can periodically transmit to the user computer 102 the information window contents. In
another embodiment, the ad content partner 208 can arrange for the content to be displayed in the information window to be stored on the arccess server computer 106. The access server computer 106 can then periodically transmit to the user computer 102 the information window contents. In still another embodiment, the pool of affiliate end users may advantageously be categorized based on factors, such as, by way of example, user profiles, user preferences, and user activity on the Internet 1 12, and utilized in agreements with the ad content partner 208. Here, the ad content partner 208 benefits by gaining access to a more targeted group of affiliate end users.
In another embodiment, the ad content partner 208 can be an ad sales company such as, by way of example, DoublClick Inc. These ad sales companies sell the advertisement space or banner space available in the information window. In operation, the ad sales company can advantageously sell the space to one or more companies desiring to place their advertisement in the information window. The purchasing companies typically pay a fee for having their ads placed in the information window. The ad sales company retains a portion of the paid fees as a commission and the remainder is paid to the access provider 202. In one embodiment, the ad sales company may advantageously administer one or more ad server computers 108. The ad server computer 108 contains program logic to determine the advertisement to transmit to a particular user computer 102. The ad server computer 108 can then periodically transmit the advertisement to be displayed in the information window to the user computer 102.
In one embodiment, the affiliate partners 206 are additionally provided a share of the fees collected from the ad content partners 208. The portion of the fees actually provided to a particular affiliate partner 206 may advantageously vary depending upon various factors. The amount of fees remaining after paying the ISP partners 204 and other direct costs may be a factor. The number of affiliate end users provided by the affiliate partner 206 may be another factor. Still another factor may be the ads displayed in the information window. Yet another factor may be the total amount of Internet 112 access time for the affiliate end users for the particular affiliate partner 206. Those of ordinary skill in the art will realize that various other revenue sharing mechanisms may be implemented whereby the affiliate partner 206 shares in the fees generated from the ad content partners 208.
The access provider 202, through its various partnership arrangements, provides an outsourcing service to one or more content providers. The content providers may advantageously utilize the revenue generating infrastructure created by the access provider 202. The content providers are not burdened with the cost of developing and maintaining the underlying user connectivity technology or the necessary business relationships necessary to generate revenue through the displaying of advertisements. Rather, by partnering with the access provider 202, the content providers can outsource the necessary technology and business relationships, while increasing its presence and branding on the Internet 1 12, as well as sharing in the generated revenue..
Those of ordinary skill in the art will realize that a single company may undertake multiple roles or identities without detracting from the invention. For example, ABC Magazine may advantageously be one of the affiliate partners 206 as well as one of the ad content partners 208. In another example, ABC Magazine may be one of the affiliate partners 206, one of the ad sales companies, as well as one of the advertisement space purchasers.
Figure 3 illustrates an example of a user computer 102 screen displaying a web page and an information window according to one embodiment of the invention. The information window may advantageously be the ad window 402 as illustrated in Figure 3. The ad window 402 may advantageously be moved by the user utilizing a pointing device, such as a mouse or the like, to any desired location on the screen. In one embodiment, the ad window 402 is to remain visible to the user and may not be minimized, placed in the background, terminated, or otherwise hidden and not made visible. If the ad window 402 is not visible, the user's connection to the ISP 114 is terminated. In another embodiment, the ad window 402 may be partially obstructed or hidden as long as the portion of the ad window 402 displaying the advertisement remains visible to the user. If the portion displaying the advertisement is partially or wholly obstructed and not visible, the user's connection to the ISP 1 14 is terminated. In still another embodiment, the ad window 402 may be included in the browser window displayed on the user computer. Thus, while the user is accessing the Internet 1 12, the browser window is open and displaying the ad window 402. If the browser window is open (the user is accessing the Internet 112) and not displaying the ad window 402, or the ad window 402 is partially or wholly obstructed and not visible, the user's connection to the ISP 1 14 is terminated.
The ad window 402 may advantageously include a web navigation system. The web navigation system enables the user to surf or navigate the Internet 112 including the WWW. In one embodiment, the web navigation system may advantageously be implemented as one or more persistent hyperlink tabs 404. Clicking on the persistent hyperlink tab 404 accesses the web page or Internet 112 location linked to by the particular hyperlink. The contents of the hyperlink location may advantageously be displayed in the ad window 402. In another embodiment, the web navigation system communicates with, and drives, a browser executing on the user computer 102. As an example, the web navigation system can direct the browser to access the hyperlink location indicated by a particular persistent hyperlink tab 404 upon a user instantiating the particular persistent hyperlink tab 404 using a pointing device such as a mouse, or the like. The contents of the hyperlink location can be displayed as a web page on the user computer 102 screen. In still another embodiment, the ad window 402 may advantageously include a location where the user can specify a URL. A URL is a unique address which fully specifies the location of a file or other resource on the Internet 112.
Figure 4 illustrates one example of the ad window 402. The ad window 402 delivers to the user a constant stream of information, such as advertisements, while the user is accessing the Internet 112. The persistent hyperlink tabs 404 provide other value-added services such as, by way of example, instant messaging and e-mail notification. As an example, the persistent hyperlink tabs 404 may advantageously provide a variety of hyperlinks or channels that allow the user access to websites, such as, by way of example, news, sports, banking, and shopping sites, with one click. The persistent hyperlink tabs 404 provide users with an easy-to-use, perpetual portal that directs the users to selected websites. Furthermore, the persistent hyperlink tabs 404 may advantageously be tailored to the particular user. In another embodiment, the persistent hyperlink tabs 404 may periodically be altered.
In one embodiment, the persistent hyperlink tabs 404 may be sold to corporate partners. Typically, the corporate partner is a company or entity with an Internet 112 presence seeking to increase website traffic or improve
branding. For a fee, the purchasing company may then specify one or more of the persistent hyperlink tabs 404. As an example, ABC Magazine may enter into an agreement to purchase two (2) persistent hyperlink tabs 404. ABC Magazine can then have one (1 ) persistent hyperlink tab 404 linked to ABC Magazine's home page, and the other persistent hyperlink tab 404 linked to its sister magazine's home page. The fees generated from the sale of the persistent hyperlink tabs 404 may likewise be shared with the affiliate partners 206.
The ad window 402 and the persistent hyperlink tabs 404 are perpetual in the sense that they are present independent of the advertisement displayed in the ad window 402 or the current Internet 112 location accessed by the user. Therefore, the affiliate partner 206, if sharing in the fees collected by the access provider 202, generate revenue independent of the particular affiliate end users' Internet 112 behavior. In one embodiment, the displayed advertisement may advantageously include a hyperlink as generally illustrated by 406 in Figure 4. For example, clicking on the hyperlink "here" using a pointing device, such as a mouse or the like, will transport the user to the Internet 112 location pointed to by the hyperlink. The contents of the hyperlink location may advantageously be displayed in the ad window 402. In another embodiment, the contents of the hyperlink location can be displayed as a web page on the user computer 102 screen. In one embodiment, the ad window 402 may advantageously include a banner 408 as illustrated in Figure 4.
The banner 408 can display the name of the affiliate partner 206 through whom the user registered for the Internet 112 connectivity service. As an example, if a particular affiliate end user signed up for the connectivity service offered by ABC Magazine, which happens to be one of the affiliate partners 206, ABC Magazine is displayed in the banner 408. In another embodiment, the banner 408 may be sold to companies desiring to increase its branding and presence. The purchasing company may advantageously specify the content displayed in the banner 408. In still another embodiment, the contents of the banner 408 may advantageously be periodically altered.
As discussed in further detail below, Figure 5 illustrates one embodiment of the flow of information between the user computer 102 and the access server computer 106 when (1 ) a user logs on to the ISP 114, (2) the user transmits the ad window notification, and (3) the access server computer 106 requests the ISP 114 to terminate the user connection. The data flow sequence for the user logging on to the ISP 1 14 is represented by events A through C. Events D and E represent the data flow sequence for the transmission of the ad window notification. The data flow sequence for terminating the user connection to the ISP 1 14 is represented by event F.
In event A, the user requests to log on to the ISP 114 by executing the application program received during the registration process. Both the application program and the registration process will be further discussed below. The application program causes the user computer 102 to transmit to the ISP 1 14 login information such as a username and password. In event B, the ISP 114 proxies or transmits the login information to the access server computer 106. The access server computer verifies the login information for validity. The login information may advantageously be searched for in a database of registered users. If the login information is found in the database of registered users, the access server computer 106 can add the login information to a database of logged on users. The access server computer 106 can transmit a valid user notification to the ISP 1 14 in event C. Subsequently, the ISP
1 14 establishes a communications link between it and the user computer 102 and notifies the user computer 102 of the established communication's link. If the login information is not verified by the access server computer 106, the access server computer 106 transmits an invalid user notification to the ISP 114 in event C and the ISP 1 14 does not establish a communications link between it and the user computer 102. In another embodiment, the ISP 114 may advantageously maintain a registered users database and validate the login information received from the user computer 102 and establish the communications link. The ISP 114 can additionally maintain a database of logged on users. The access server computer 106 can periodically transmit a list of registered users to the ISP 114 and the ISP 114 can periodically transmit the list of logged on users to the access server computer 106. Once the communications link is established, the ad window 402 is displayed on the user computer 102.
Subsequently, the application program verifies that the ad window 402 is persistently displayed on the user computer 102 screen. This verification is performed periodically. If the ad window 402 is displayed, the user computer 102 transmits an ad window notification to the access server computer 106 in event D. The ad window notification will be further discussed below. The ad window notification is transmitted subsequent to an ad window verification. The access server computer 106 validates the ad window notification received and subsequently enters the appropriate identification information into a database of current ad window notifications.
In another embodiment, the ad window notification is transmitted if the ad window 402 is not displayed or is obstructed. If the application program verifies that the ad window 402 is persistently displayed on the user computer 102 screen, an ad window notification is not transmitted. Thus, the ad window notification advantageously functions as an indication from the user computer 102 to the access server computer 106 that the ad window 402 is not displaying the advertisements. Subsequent to receiving the ad window notification, the access server computer 106 can terminate the communication link between the particular user computer 102 and the ISP 114. In still another embodiment, the application program may advantageously try to redisplay the ad window 402 before transmitting the ad window notification. In event E, the access server computer 106 periodically determines if an ad window notification has been received from the users currently logged on to the ISP 1 14. The access server computer 106 compares the database of logged on users to the database of current ad window notifications. If a user is found in the database of logged on users but not found in the database of current ad window notifications, the access server computer 106 transmits a request to terminate the user's communications link to the ISP 114 in event F. In another embodiment, the access server computer 106 may advantageously transmit a request to the particular user's user computer 102 to redisplay the ad window 402.
Subsequent to receiving the request to terminate the user's communication link, the ISP 1 14 initiates the termination of the particular communications link. In one embodiment, the ISP 1 14 may advantageously disable a hardware device, such as, by way of example, a communications switch, a communications port, or a modem,
connecting the particular user computer 102. In another embodiment, the ISP 1 14 may initiate a logout procedure with the hardware device connecting the particular user computer 102.
Figure 6 illustrates in more detail selected components of the access server computer 106 of Figure 1 suitable to implement one embodiment of the present invention. The access server computer 106 includes a registration module 602, a login proxy module 604, a process notification module 606, a request remote logout module 608, a partner interaction module 610, an accounting module 612, an advertisement module 614, a registered users database 616, a logged on users database 618, and a current ad-window notifications database 620. The modules may advantageously communicate with each other through mechanisms such as, by way of example, interprocess communication, remote procedure call, and other various application program interfaces. Those of ordinary skill in the art will realize that the functionality provided for in the modules may be combined into fewer modules or further separated into additional modules. Furthermore, the modules and databases may advantageously be implemented on one or more computers.
The registration module 602 provides an interface through which one or more users register for the Internet 1 12 connectivity service. The registration module 602 requests certain identifying information from the user such as, by way of example, name, address, type of computer, current operating system, interests, intended use, requested username, requested password, and other demographic information. The registration module may determine the affiliate partner 206 the particular user is registering through. The user information is then processed, and if the registration is successful, stored in the registered users database 616.
In one embodiment, the processing of the user information may advantageously involve, by way of example, determining the ISP 114 for the user, verifying the validity of the requested username and password, verifying the completeness of the information provided, determining the home page for the user, determining the ad server computer 108 for the user, and possibly determining the contents of the ad window 402 for the user including the contents of the persistent hyperlink tabs 404 and the banner 408. The registration module 602 may advantageously determine certain attributes of the ad window 402 from the information during the registration process. As an example, the affiliate partner agreement with ABC Magazine may specify that all users registering through ABC Magazine be provided one persistent hyperlink tab 404 linking to its home page. Furthermore, there may be an agreement between the access provider 202 and a California company, for example, XYZ Company, which specifies that all California users be provided a hyperlink to the website "xyzcomp.com". Then, if the user specifies a California address, one of his persistent hyperlink tabs 404 will link to xyzcomp.com. The ad window 402 attribute information may advantageously include other information related to the display of the ad window 402 on the user computer 102. The user and attribute information may advantageously be stored in the registered users database 616 or addressable storage medium accessible by the registration module 602.
In one embodiment, the ad window 402 attribute information is transmitted to the user computer 102 upon successful registration. As an example, this information may advantageously be transmitted as part of the application program (discussed below). In another embodiment, the ad window 402 attribute information is transmitted to the
user computer 102 when the user logs on to the ISP 114. In still another embodiment, the ad window 402 attributes may be modified or altered. As an example, the user computer 102 can periodically transmit information such as, a list of recently accessed web pages, and so on, to the access server computer 106. This information may then be advantageously used to modify the ad window 402 attributes for the particular user. The modified attributes can then be transmitted to the user computer 102. In yet another embodiment, the ad window 402 attribute information may advantageously include one or more advertisements for displaying in the ad window 402. The advertisements can be stored on the user computer 102.
If the processing results in a successful registration, the registration module 602 determines the information necessary for the user to successfully utilize the Internet 112 connectivity service. In one embodiment, this information is in the form of one or more application programs executable on the particular user computer 102. The application program provides an interface that enables the user to successfully connect to a particular ISP 114. Additionally, the application program may advantageously direct the user computer 102 to periodically communicate with content provider computer 104 and one or more ad server computers 108 in the manner specified herein in order to maintain the connection to the ISP 1 14. In one embodiment, the registration module 602 transmits or "downloads" the application program to the particular user computer 102.
In one embodiment, the registration module 602 may advantageously include one or more web pages accessible over the Internet 112. The web pages may be developed utilizing standard Web server software such as, by way of example, Netscape's Internet Server software, Microsoft's Internet Server software, or the like. These web pages are accessible by users executing a standard browser on the user computer 102. The web pages may contain one or more selectable items or links which guides the user in entering the necessary information to register for the Internet 112 connectivity service. The entered information can then be processed and stored in the manner previously disclosed.
In another embodiment, the registration module 602 may advantageously include any one of the many application interfaces accessible over the communication medium 110. A device connected to the communication medium 110 can then collect the necessary user information and transmit the information to the registration module 602 via the communication medium 110. The registration module 602 can then process the information and transmit the result of the registration, along with the application program if the registration was successful, to the device via the communication medium 110. The device can then download the application program onto the user computer 102. In yet another embodiment, the registration module can download the application program onto the user computer 102. Those of ordinary skill in the art will realize that the device may be any device connected to the communication medium 1 10, such as the content provider computer 104. Furthermore, the device may collect the user information utilizing one or more web pages or any other interface suitable for collecting the user information.
In still another embodiment, the registration module 602 may advantageously include an interface enabling the receipt of information entered through an input device connected to the access server computer 106. By way of example, the input device may be a keyboard, a scanner, a microphone, or the like. The user information may then be
received using a non-electronic delivery mechanism such as, by way of example, mail or courier service. The information can then be entered into the registration module 602 through the input device and subsequently processed. If the registration is successful, the application program can be transmitted to the user via the non-electronic delivery mechanism aforementioned. One embodiment of a user registration process is illustrated in Figure 11. The user is not currently registered with the access provider 202. Beginning in a start state 1100, a user proceeds to state 1 102 wherein the user directs his user computer 102 to connect to his current ISP 114. The current ISP 114 makes the connection and establishes a communications link between the user computer 102 and the Internet 112. Proceeding to state 1 104, the user utilizes a browser executing on the user computer 102 and accesses the Internet 112. In particular, during state 1 104, the user surfs the WWW and accesses a web page containing an ad for enhanced Internet 112 access offered by ABC Magazine. ABC Magazine is one affiliate partner 206. In one embodiment, the accessed web page may advantageously be on the ABC Magazine website. In another embodiment, the accessed web page may be on a different website, but displaying the ad.
Proceeding to state 1 106, the user clicks on the displayed ad using a pointing device, such as a mouse or the like. The ad is implemented as a hyperlink. Subsequently, the user's browser displays the contents of the linked web page in state 1108. In particular, the browser displays a web page which facilitates the registration for the enhanced Internet 1 12 access and application program download. In one embodiment, the web page is located on the access server computer 106. In this embodiment, the web page may be branded based on the hyperlink (ad for the enhanced Internet 112 access) that caused the user to access the web page. For example, the web page can be branded with the ABC Magazine name or logo. Thus, the access provider 202 remains invisible to the user and permits the affiliate partner (ABC Magazine) to brand the enhanced Internet 1 12 service. In another embodiment, the web page may advantageously be on the affiliate partner 206 website. For example, the web page can be on the ABC Magazine website. In this instance, the ABC Magazine website computer collects the user information and transmits the information to the access server computer 106 for processing. In still another embodiment, the web page may be on a different website. This website can also collect the user information and transmit the information to the access server computer 106 for subsequent processing.
Proceeding to state 1110, the user provides the requested information. The registration module 602 then processes this information. The processed information is stored on the registered users database 616. The downloadable application program, including the user specific information, may be created and offered to the user. Proceeding to state 11 12, the user initiates the application program download process. In another embodiment, the application program download may advantageously be initiated by the access server computer 106, in which case, state 1 1 12 is rendered unnecessary. Upon successful application program download to the user computer 102, the registration process proceeds to end state 1114.
Another embodiment of a user registration process is illustrated in Figure 12. The user is not currently registered with the access provider 202. Beginning in a start state 1200, a user proceeds to state 1202 wherein the
user obtains information regarding the offer for enhanced Internet 1 12 access. In particular, the user obtains information, such as, by way of example, a dial-up number for an Internet Service Provider, a login identification, and a password, necessary to remotely access a computer and register for the enhanced Internet 112 access. In one embodiment, the computer can be the access server computer 106. In another embodiment, the computer may advantageously be a different computer remotely accessible via the Internet Service Provider. Furthermore, the computer is a restricted Internet 112 site in that access through the particular login identification and password restricts the user's access to the computer. As an example, the user is only permitted to register for the enhanced Internet 112 access.
Proceeding to state 1204, the user executes a communication package on his user computer 102 and directs an attached communication device, such as a modem, to dial the obtained dial-up number. As an example, the communication package may advantageously be a browser or one of the many terminal emulation programs. The computer 102 subsequently makes a connection with the dialed Internet Service Provider. In state 1206, the user provides the obtained login identification and password to gain access to the computer. In particular, during state 1206, the access computer requests user information to complete the registration process. Proceeding to state 1208, the user provides the requested information. The information is subsequently processed. The downloadable application program, including the user specific information, may be created and offered to the user. Proceeding to state 1210, the user initiates the application program download process. In another embodiment, the application program download may advantageously be initiated by the computer, in which case, state 1210 is rendered unnecessary. Upon successful application program download to the user computer 102, the registration process proceeds to end state 1212.
The login proxy module 604 processes user log on requests. In one embodiment, the ISP 114 proxies the log on request to the access server computer 106. The user log on request includes information such as, by way of example, username and password. The login proxy module 604 searches the registered users database 616 to verify the log on information. If the user is a registered user, the login proxy module 604 subsequently authorizes the ISP 1 14 to establish the communications link between the particular user computer 102 and the ISP 114. As an example, the login proxy module 604 can transmit the valid user notification to the ISP 114 authorizing the ISP 114 to establish the communications link. The login proxy module 604 stores the user log on information in the logged on users database 618. In one embodiment, the login proxy module 604 may advantageously transmit, upon successful user log on, the ad window 402 attribute information to the user computer 102. The process notification module 606 processes the ad window notifications received by the access server computer 106 from the user computers 102 currently utilizing the enhanced Internet 112 service. The ad window notifications are periodically transmitted by these user computers 102. The transmission of the ad window notification indicates the status of the network connection or communications link between the user computer 102 and the communication medium 110. (network connection and communication link is interchangeably used herein) For
■11
example, the access server computer 106 can monitor the health of the network connection through the receipt or non- receipt of the ad window notification from a particular user computer 102.
In one embodiment, the process notification module 606 stores the received ad window notification in a current ad window notifications database 620. Intermittently, the process notification module 606 compares the logged on users database 618 to the current ad window notifications database 620. If a user entry is found in the logged on users database 618 and not found in the current ad window notifications database 620, the process notification module 606 makes a request to the remote logout module 608, further discussed below, to terminate the user's ISP 114 connection. After comparing the two databases, entries in the current ad window notifications database 620 are removed or erased. In another embodiment, the process notification module 606 may advantageously utilize an event timer to determine the receipt of an ad window notification from a particular user computer 102. As an example, when a user logs on to the ISP 1 14, an event timer is set for the particular user computer 102. The time period or value the event timer is set to is further discussed below. Subsequently, if an ad window notification is received from the user computer 102, the event timer for the particular user is reset. If the event timer expires, the process notification module 606 makes a request to the remote logout module 608, to terminate the user's ISP 1 14 connection.
In one preferred embodiment, the time period between two (2) successive ad window notifications for a logged on user may advantageously be configurable and initially set to two (2) minutes by the access server computer 106 and transmitted to the user computer 102. Moreover, the intermittent period between successive database comparisons should be long enough to permit every logged on user computer 102 to transmit the ad window notification. In another embodiment, the time period between successive ad window notifications may advantageously be dynamically adjusted by the access server computer 106 and the value transmitted to the user computer 102. The time period adjustment can be based on factors such as, by way of example, duration of connectivity to the ISP 114, user behavior on the Internet 112, and the like. Those of ordinary skill in the art will realize that the time period value is arbitrary, and that other time period values may be used without detracting from the invention. The time period value should not be so small as to cause computing or communication inefficiencies, such as flooding the network transmission bandwidth or causing processor overload. In another embodiment, a flag entry for each logged on user in the logged on users database 618 may advantageously indicate the receipt of an ad window notification for that particular user.
In one preferred embodiment, the ad window notification is encrypted using a symmetric-key encryption method such as, by way of example, the Data Encryption Standard (DES). Encrypting the ad window notification provides integrity. For example, the encryption prohibits a user from spoofing or replaying the ad window notification. The goal of the symmetric-key encryption method is not to prevent decoding. In contrast, the symmetric-key encryption method utilizes an irreversible encryption algorithm, and, unless both the sender and receiver of the encrypted message have this algorithm, the encrypted message will not be validated.
As an example, the application program downloaded to the user computer 102 may advantageously contain the irreversible encryption algorithm. The application program can then periodically encrypt the ad window notification utilizing the irreversible encryption algorithm. The user computer 102 transmits the encrypted ad window notification to the access server computer 106. The process notification module 606 may advantageously possess the same irreversible encryption algorithm. The process notification module 606 can encrypt an ad window notification expected from the particular user computer 102 using the same. The process notification module 606 then compares the encrypted notification received with the encrypted notification it created. If the notifications match, then the notification is valid. If the notifications do not match, then the received notification is discarded. Those of ordinary skill in the art will realize that other encryption techniques, such as other symmetric key encryption methods and private-keγ/private-key encryption methods, or proprietary encryption methods may be used.
The request remote logout module 608 processes a request received from the process notification module 606 to terminate a user's communication link. The request remote logout module 608 transmits a request to terminate the user's communication link message to the ISP 114 maintaining the communications link for the particular user computer 102 requesting the ISP 1 14. In one embodiment, the request remote logout module 608 may advantageously remove the particular user from the logged on users database 618.
One embodiment of the comparison of the logged on users database 618 to the current ad window notifications database 620 is illustrated in Figure 15. More particularly, the flow diagram in Figure 15 illustrates one iteration of the database comparison performed by the process notification module 606. Beginning in a start state 1500, the process notification module 606 proceeds to state 1502 wherein the process notification module 606 checks the logged on users database 618 to see if there are any users to process. If no users are logged on, the process notification module 606 proceeds to end state 1510. If there are logged on users, the process notification module 606 proceeds to state 1504 and retrieves the next user information to process from the logged on users database 618. The process notification module 606 then checks the current ad window notifications database 620 for the particular user information in state 1506. If the user information is found, the process notification module 606 proceeds to state 1502 and determines if there are more users to process in the logged on users database 618. In one embodiment, the process notification module 606 may advantageously remove the user information from the current ad window notifications database 620 in state 1506. If the user information is not found in state 1506, the process notification module 606 proceeds to state 1508 and sends a request to terminate the particular user's communications link. The process notification module 606 proceeds to state 1502 and determines if there are more users to process in the logged on users database 618.
The partner interaction module 610 processes the necessary communication between the access server computer 106 and the computers maintained by the ISP partners 204, the affiliate partners 206, and the ad content partners 208. The partner interaction module 610 is optional and may not be necessary if there is no interaction between the partner computers. In one embodiment, the partner interaction module 610 can periodically request a list of logged on users from the ISP 114. For example, this request for the list of logged on users may be necessary if the
ISP 1 14 processes user log on requests and maintains the list of logged on users. In another embodiment, the partner interaction module 610 may periodically transmit updated ISP 1 14 connection information to the user computers 102. As an example, the access server computer 106 may determine from communications with the ISPs 114 that certain ISPs 1 14 are over utilized while other ISPs 114 are under utilized. In this case, the partner interaction module 610 may advantageously reassign certain registered users to different ISPs 1 14 and transmit this information to the particular user computers 102.
In another embodiment, the partner interaction module 610 can periodically request advertisement related information, such as, by way of example, the advertisements displayed, the frequency with which the advertisements were displayed, and the users on which the advertisements were displayed, from the ad server computers 108. Furthermore, the ad server computer 108 may transmit updated information regarding the advertisements serviced by the particular ad server computer 108 to the access server computer 106. Furthermore, the ad server computer 108 may advantageously transmit URL information for the users serviced to the access server computer 106. These data transmissions can be processed by the partner interaction module 610. In still another embodiment, if the user computer 102 requests the ad window 402 contents from the access server computer 106 instead of the ad server computer 108, the partner interaction module 610 may advantageously forward the request to the ad server computer 108. Subsequently, the partner interaction module 610 may receive the advertisement to display in the ad window 402.
In one alternative embodiment, one or more affiliate partners 206 may transmit updated information regarding the ad window 402 attributes to the access server computer 106. More particularly, the partner interaction module 610 may advantageously process this transmission from the affiliate partner's 206 content provider computer 104. Subsequently, the partner interaction module 610 may update the information in the registered users database 616.
The accounting module 612 maintains the accounting information regarding, by way of example, the registered users, the advertisements displayed, and the persistent hyperlink tabs 404. In one embodiment, the accounting module 612 may advantageously track user information such as, by way of example, the URLs visited, the number of times the user logged on, and the duration of each log on session. The accounting module 612 may also keep count of the number of times a particular advertisement is displayed, as well as the number of times a particular persistent hyperlink tab 404 is displayed, in the ad window 402. The information required to maintain such data may advantageously be requested by the partner interaction module 610 or the accounting module 612 from either the user computers 102 or the ad server computers 108. Alternatively, this information may be periodically transmitted by the computers to one another.
The advertisement module 614 processes ad window 402 related data transmissions. In one embodiment, The access server computer 106 may service advertisement requests from the user computer 102. As an example, the user computer 102 can transmit a request for advertisement. This request may advantageously include information such as, by way of example, user identifying information and the URL currently accessed by the browser executing on
the user computer 102. The advertisement module 614 may then obtain further information regarding the user from the registered users database' 616. Subsequently, the advertisement module 614 can process the information, determine the advertisement to be displayed, and transmit the advertisement to the user computer 102.
In another embodiment, the advertisement module 614 may perform a forwarding function and forward the advertisement request to an appropriate ad server computer 108. Subsequently, the ad server computer 108 can determine the advertisement to be displayed and either (1 ) transmit the advertisement directly to the user computer 102, or (2) transmit the advertisement to the access server computer 106 for subsequent transmission to the user computer 102. In still another embodiment, the advertisement module 614 may periodically transmit updated ad window 402 attributes to the user computer 102. The registered users database 616, the logged on users database 618, and the current ad window notifications database 620 contain information as previously disclosed. The databases 616, 618, and 620, as well as other databases disclosed herein, may advantageously be implemented on addressable storage medium on the same or different computers. In one preferred embodiment, the databases are implemented with Structured Query Language (SQL) code. SQL is a relational database language standardized by the International Standards Organization (ISO). The databases can be implemented utilizing any number of commercially available database products such as, by way of example, Microsoft® Access and the like. In another embodiment, the databases may conform to any database standard, or may even conform to a non-standard, private specification.
Figure 7 illustrates in more detail selected components of the user computer 102 of Figure 1 suitable to implement one embodiment of the present invention. The user computer 102 includes a browser module 702, a login module 704, an ad window verification module 706, an ad window control module 708, and an ad window module 710. The modules may advantageously communicate with each other through mechanisms such as, by way of example, interprocess communication, remote procedure call, and other various application program interfaces. Those of ordinary skill in the art will realize that the functionality provided for in the modules may be combined into fewer modules or further separated into additional modules. Furthermore, the modules and databases may advantageously be implemented on one or more computers. In one preferred embodiment, the login module 704, ad window verification module 706, and the ad window control module 708 is obtained as part of the application program downloaded during the registration process.
The browser module 702 is a software program which allows a user to access different content provider computers 104 through the communication medium 110 utilizing the enhanced Internet 112 access. In one preferred embodiment, the browser module may be a standard browser such as the Netscape® Navigator developed by Netscape, Inc. or the Microsoft® Internet Explorer developed by Microsoft Corporation. One of ordinary skill in the art will realize that other types of access software could also be used to implement the browser. The other types of access software could be, by way of example, other types of Internet 112 browsers, custom network browsers, two- way communications software, cable modem software, point-to-point software, custom emulation programs, and the like.
A user utilizes the login module 704 to log on to the ISP 114. One embodiment of a log on process is illustrated in Figure 13. Beginning in a start state 1300, the user proceeds to a state 1302 wherein the user initiates the execution of the login module 704 on his user computer 102. More particularly, the login module 704 directs the user computer 102 to connect to the particular ISP 1 14 and transmit a login packet. The login packet may advantageously include the necessary user identification information to log on to the enhanced Internet 1 12 service. The ISP 1 14 was specified by the access server computer 106 and downloaded to the user computer 102 as part of the application program or subsequently transmitted to the user computer 102 during one periodic data transmission between the access server computer 106 and the user computer 102. In one embodiment, the user may be prompted to select from a list of access telephone numbers identifying one or more ISPs 1 14. Proceeding to state 1304, the login module 704 receives confirmation of a successful login. Subsequently, the login module 704 specifies a default home page, such as, by way of example, the affiliate partner 206 website, for the browser module 702 and starts executing the browser module 702. In one embodiment, the default home page specification is included in the application program downloaded and subsequently stored on the user computer 102. In another embodiment, the default home page specification is transmitted as part of the login confirmation, or shortly thereafter.
Proceeding to state 1306, the login module 704 transmits an advertisement request. The advertisement request may advantageously include user information used to select the appropriate advertisement. In one embodiment, the advertisement request may advantageously be transmitted to the access server computer 106. Subsequently, the access server computer can, by way of example, (1) determine the advertisement to display in the ad window 402 and transmit the advertisement to the user computer 102, (2) have the appropriate ad server computer 106 determine the advertisement to display and subsequently transmit the advertisement to the user computer 102, (3) forward the request to the appropriate ad server computer 106 for processing and have the ad server computer 106 transmit the advertisement to the user computer 102, or (4) determine the ad server computer 106 to service the user computer 102 and transmit the connection information for the particular ad server computer 106 to the user computer 102. In another embodiment, the advertisement to display in the ad window computer 402 is included in the downloaded application program. In still another embodiment, the connection information for the ad server computer 106 assigned to service the user computer is included in the downloaded application program. Thus, the login module 704 transmits the advertisement request to the assigned ad server computer 106. In yet another embodiment, the connection information for the ad server computer 106, or the advertisement itself, may advantageously be transmitted as part of the login confirmation or shortly thereafter.
Proceeding to state 1308, the login module 704 determines the ad window 402 attributes such as, by way of example, the number and content of the persistent hyperlink tabs 404 and the content to display in the banner 408. In one embodiment, these attributes are included in the downloaded application program. In another embodiment, the access server computer 106 transmits these attributes to the user computer 102. For example, the access server computer 106 may periodically transmit these attributes to the user computer 102, the access server computer 106
may transmit these attributes subsequent to receiving a request for these attributes from the user computer 102, or the access server computer 102 may transmit these attributes in the login confirmation or at a time shortly thereafter. The login module then displays the ad window 402 on the user computer 102 in state 1310 and proceeds to end state 1312. The ad window verification module 706 determines the status or health of the network connection and enables the user to continue utilizing the enhanced Internet 112 access. One embodiment of determining the status of the network connection by, for example, ensuring that the ad window 402 is persistently visible is illustrated in Figure 14. Beginning in a start state 1400, the ad window verification module 706 proceeds to state 1402 to determine if the ad window 402 is being persistently displayed on the user computer 102. In one embodiment, this check of the ad window 402 is performed shortly after the login module 704 displays the ad window 402. If the ad window 402 is not persistently displayed, for example, the ad window 402 has been covered in part or whole by another window displayed on the user computer 102 or the ad window 402 has been terminated, the ad window verification module 706 proceeds to end state 1410. Otherwise, if the ad window 402 is persistently displayed, the ad window verification module 706 creates an ad window notification in state 1404. In another embodiment, the ad window notification is not transmitted (the ad window verification module
706 proceeds to end state 1410) if the portion of the ad window 402 displaying the advertisement is wholly or partially obstructed, and thus, not visible. In still another embodiment, the ad window 402 may be included in the browser screen displayed on the user computer 102. If a user is accessing the Internet 1 12, and thus the browser window is open or displayed, but the ad window 402 is wholly or partially obstructed, the ad window notification is not transmitted.
The ad window verification module 706 may advantageously utilize the ad window module 710 to determine the status of the ad window 402. In one embodiment, the ad window module 710 performs functions or tasks related to determining the status of the display of the ad window 402. These tasks include, by way of example, determining the location of the ad window 402 display, determining the real estate or size of the ad window 402 display, determining if the ad window 402 contents are wholly or partially obstructed and not displayed, determining if the ad window 402 has been reduced or collapsed, determining if the ad window 402 display has been terminated, and the like. Those of ordinary skill in the art will realize that the ad window module 710 functions may advantageously be implemented utilizing one or more system services included as part of generally available operating systems which include graphical user interfaces such as Unix, Microsoft® Windows® 3.1 , Microsoft® Windows® 95, Microsoft® Windows® NT, Apple® MacOS®, or IBM® OS/2®
In one preferred embodiment, the ad window notification is encrypted using a symmetric-key encryption method such as, by way of example, the Data Encryption Standard (DES). The irreversible encryption algorithm may advantageously be included in, for example, the downloaded application program, the login confirmation, or any periodic transmission from the access server computer 106 to the user computer 102. The encryption methodologies
suitable for use in the present invention was previously disclosed herein. More particularly, the ad window verification module 706 directs the user computer 102 to transmit the ad window notification to the access server computer 106. Proceeding to state 1406, the ad window verification module 706 sets a notification timer to indicate the next transmission of the ad window notification. In one preferred embodiment, the notification timer value may advantageously be configurable and initially set to two (2) minutes by the access server computer 106 and included in, for example, the downloaded application program, the login confirmation, or any periodic transmission from the access server computer 106 to the user computer 102. Those of ordinary skill in the art will realize that the notification timer value selected is arbitrary, and that other values may be used without detracting from the invention. The timer value should not be so small as to cause computing or communication inefficiencies, such as flooding the network transmission bandwidth or causing processor overload. The ad window verification module 706 waits for the termination of the notification timer in state 1408, and subsequently proceeds to state 1402 upon termination of the notification timer.
In another embodiment, the ad window verification module 706 may advantageously determine the status of the network connection by, for example, transmitting a notification to the access server computer 106 indicating the proper functioning of the application program. As an example, the application program may periodically display information in a window on the user computer 102. As an example, the window can pop up every thirty minutes, display information, and then the widow can collapse or disappear. The information may advantageously be an advertisement. While the application program is properly functioning, the ad window verification module 706 transmits the notification to the access server computer. In still another embodiment, the ad window verification module transmits a notification if the application program is not functioning properly.
The ad window control module 708 periodically requests an advertisement to display in the ad window 402. The advertisement request may advantageously include user information used to select the appropriate advertisement such as, by way of example, the current URL and user identification. In one preferred embodiment, the request is made every thirty (30) seconds. Those of ordinary skill in the art will realize that setting the notification timer to thirty (30) seconds is arbitrary, and that other values may be used without detracting from the invention. The timer value should not be so small as to cause computing or communication inefficiencies, such as flooding the network transmission bandwidth or causing processor overload.
In one embodiment, the periodic advertisement request is transmitted to the ad server computer 108 specified by the access server computer 106. In another embodiment, the periodic advertisement request is transmitted to the access server computer 106. In still another embodiment, a multiple number of advertisements may have been received by the user computer 102 in a prior transmission from either the ad server computer 108 or the access server computer 106, and stored on addressable storage medium accessible by the user computer 102. In this case, the periodic advertisement request is processed within the user computer 102. In yet another embodiment, the periodic advertisement request may be transmitted to a different computer accessible over the communication medium 1 10 which is specified by the access server computer 106 and capable of processing the advertisement request.
In another embodiment, the ad window control module 708 may periodically transmit user related information, such as, by way o example, the current URL accessed by the browser, a list of URLs visited, and other network activity information, to the access server computer 106. In still another embodiment, the ad window control module 708 may process periodic transmissions from the access server computer 106. As an example, the ad window control module 708 can process periodic transmissions of updated ad window 402 attributes from the access server computer 106.
Figure 8 illustrates in more detail selected components of the ISP 114 of Figure 1 suitable to implement one embodiment of the present invention. The ISP 114 includes a switch bank 802, a login proxy module 804, a terminate connection module 806, and a logged on users database 808. The modules may advantageously communicate with each other through mechanisms such as, by way of example, interprocess communication, remote procedure call, and other various application program interfaces. Those of ordinary skill in the art will realize that the functionality provided for in the modules may be combined into fewer modules or further separated into additional modules. Furthermore, the modules and databases may advantageously be implemented on one or more computers.
The switch bank 802 may advantageously be a hardware device facilitating the connection between the user computer 102 modem or network interface card and the ISP 114. In one embodiment, the switch bank 802 may advantageously include a multiple number of dial-up modems, typically called a "modem bank," one or more switches, and one or more routers. The switch bank 802 may also include one or more high speed communication links offering access through public data networks such as, by way of example, CompuServe Public Network (CPN).
The login proxy module 804 proxies a received user log on request to the access server computer 106. If the access server computer 106 transmits the valid user notification to the ISP 1 14, the login proxy module 804 establishes the network connection between the user computer 102 and the ISP 114. In another embodiment, the login proxy module 804 may service the user log on request without forwarding the log on request to the access server computer 106. In this instance, the login proxy module 804 may advantageously maintain a list of registered users. Furthermore, the login proxy module 804 can maintain a list of currently logged on users in the logged on users database 808 and periodically transmit the list of logged on users to the access server computer 106.
The terminate connection module 806 processes a request to terminate or disable a particular user's communications link between the particular user computer 102 and the connected ISP 114. In one embodiment, the terminate connection module 806 terminates the communication link at the hardware level such as the switch bank 802. As an example, the terminate connection module 806 may advantageously disable the hardware device, such as, by way of example, a communications switch, a communications port, or a modem, in the switch bank 802 currently connecting the particular user computer 102. In another embodiment, the terminate connection module 806 can initiate a logout procedure with the hardware device connecting the particular user computer 102. In still another embodiment, the terminate connection module 806 can disconnect the particular user computer 102 by changing a virtual local area network (VLAN), altering a network firewall, or otherwise obstructing the particular user computer's 102 network stream.
Figure 9 illustrates in more detail selected components of the ad server computer 108 of Figure 1 suitable to implement one embodiment oHhe present invention. The ad server computer 108 includes a process advertisement request module 902, a transmit advertisement module 904, and an advertisement database 906. The modules may advantageously communicate with each other through mechanisms such as, by way of example, interprocess communication, remote procedure call, and other various application program interfaces. Those of ordinary skill in the art will realize that the functionality provided for in the modules may be combined into fewer modules or further separated into additional modules. Furthermore, the modules and databases may advantageously be implemented on one or more computers.
The process advertisement request module 902 processes an advertisement request received by the ad server computer 108. The process advertisement request module 902 advantageously considers factors, such as, by way of example, the requesting user information and the current URL accessed by the particular user computer 102, in determining the advertisement to display in the user's ad window 402. This information may advantageously be included in the advertisement request. In one embodiment, the user information, including certain information submitted by the user during registration, may have advantageously been previously received from the access server computer 106. The process advertisement request module 902 may then also consider the previously received user information in selecting the advertisement.
The selected advertisement is subsequently retrieved from the advertisement database 906. Subsequently, the transmit advertisement module 904 directs the ad server computer 108 to transmit the retrieved advertisement to the requesting computer, for example, the particular user computer 102. In another embodiment, the requesting computer may have been the access server computer 106. In another embodiment, the process advertisement request module 902 may select a multiple number of advertisements.
One embodiment of the overall business process of the present invention is illustrated in Figure 10. Beginning in a start state 1000, the access provider 202 proceeds to a state 1002 wherein the access provider 202 establishes the necessary partnerships to enable partners to provide branded Internet 102 service and to increase their online presence. In particular, the access provider 202 enters agreements with one or more ISP partners 204, one or more affiliate partners 206, and one or more ad content partners 208. Furthermore, the access provider 202 establishes agreements with one or more ad sales companies and other entities and companies seeking to increase online awareness.
Proceeding to state 1004, users register for the enhanced Internet 112 access through the affiliate partner 206 or the access provider 202. The access provider 202 may advantageously leverage the increasing numbers of registered users in subsequent agreements with entities and companies desiring to increase online presence. Proceeding to state 1006, the registered users start utilizing the enhanced Internet 112 access. While accessing the Internet 112, an ad window 402 is persistently displayed on the user's computer. A continuous stream of advertisements are displayed in the ad window 402. More importantly, the ad window 402 pays the cost of Internet
1 12 access; the enhanced Internet 112 access is the benefit to the user. The ad window 402 additionally provides the user a high quality web surfing Εxperience through the persistent hyperlink tabs 404.
Proceeding to state 1008, the access provider 202 ensures the integrity of the business process. In particular, the access server computer 106 monitors the network connection of user computers 102 with an active communications link to the ISP 114. If the ad window 402 is not persistently displayed on the user computer, the communications link between the particular user computer 102 and the connected ISP 1 14 is terminated.
The access provider 202 interacts with its partners, as well as other companies and entities with which an agreement exists, in the state 1010. The interaction may advantageously involve exchanges of legal tender (money), information, as well as other items of value or benefit to the parties. The business process can continue indefinitely, but may eventually proceed to an end state 1012.
This invention may be embodied in other specific forms without departing from the essential characteristics as described herein. The embodiments described above are to be considered in all respects as illustrative only and not restrictive in any manner. The scope of the invention is indicated by the following claims rather than the foregoing description.