FIELD The present invention relates generally to a method and apparatus for processing website requests, and more particularly to a method and apparatus for processing website requests in order to provide local geographical management of web page content.
BACKGROUND The Internet provides electronic communication among computer networks and users worldwide. Through the Internet, entities such as businesses, governments, organizations, and individuals can provide users with access to information and advertisements on a nationwide or even an international scale. For example, by placing advertisements on various websites on the Internet, or by utilizing a search service from an Internet search engine company to link advertisements with particular search terms entered by a user, businesses may be able to increase revenues by reaching a larger audience for their products and services.
While the Internet provides an effective communication medium for entities seeking to reach a larger number or broader range of users over an expanded geographical range, it may be less effective for entities seeking to reach users in a particular local market or in a limited geographical area. For example, currently, many Internet advertisements are placed on a website-by-website basis depending on the type of product, service, or targeted user demographic (e.g., by creating a dedicated website or web page for an automobile, or by placing an advertisement for the automobile on the website of a popular auto trade publication). Many other advertisements are placed with an Internet search engine company to link the advertisements with particular search terms entered by a user. While these methods of advertising may be effective for targeting large numbers of users nationwide or worldwide based on a particular type of subject matter or anticipated class of user, they may be less effective in allowing users to be targeted on a localized geographical basis. Further, while computers or other electronic devices communicating via the Internet are assigned an Internet Protocol (IP) address that may be used for tracking purposes, many IP addresses provide no information as to the actual geographical location of the computer and user. Thus, there is need for a method and apparatus for processing website requests that provides local geographical management of web page content such that entities may provide information and advertisements to users based on a particular geographic location of the user.
SUMMARY According to an exemplary embodiment, a method includes receiving an electronic website request regarding a website, wherein the website request is received by a network device in communication with a Local Area Network (LAN) from a client device in communication with the LAN. The method also includes transmitting the website request from the network device to a server associated with the website, and receiving a web page from the server associated with the website in response to the website request, wherein the web page is received by the network device. The method further includes modifying the web page within the network device to include additional content associated with an approximate geographic area having access to the LAN, and transmitting the modified web page from the network device to the client device.
According to another exemplary embodiment, a method includes receiving a Domain Name System (DNS) request associated with an electronic website request regarding a first website. The DNS request is received by a DNS server in communication with a Local Area Network (LAN) from a client device in communication with the LAN. The method also includes redirecting the website request to a server associated with a second website different from the first website by transmitting an Internet Protocol (IP) address for the server associated with the second website from the DNS server to the client device in response to the DNS request. The DNS server is configured to respond to all DNS requests by transmitting the IP address for the server associated with the second website. The method also includes transmitting a web page included in the second website from the server associated with the second website to the client device in response to the redirected website request.
According to another exemplary embodiment, a network device configured to process an electronic request regarding a website includes means for receiving the electronic request regarding the website from a client device in communication with a Local Area Network (LAN). The network device is in communication with the LAN. The network device also includes means for transmitting the request to a server associated with the website, means for receiving a web page from the server associated with the website in response to the request, means for modifying the web page to include additional content associated with an approximate geographic area having access to the LAN, and means for transmitting the modified web page to the client device.
According to another exemplary embodiment, a Domain Name System (DNS) server configured to process an electronic request regarding a website includes means for receiving a DNS request associated with an electronic website request regarding a first website. The DNS request is received from a client device in communication with the DNS server via a LAN. The DNS server also includes means for redirecting the website request to a server associated with a second website different from the first website by transmitting an Internet Protocol (IP) address for the server associated with the second website from the DNS server to the client device in response to the DNS request. The DNS server is configured to respond to all DNS requests by transmitting the IP address for the server associated with the second website.
According to another exemplary embodiment, a method includes receiving an electronic website request regarding a first website. The website request is received by a network device in communication with a Local Area Network (LAN) from a client device in communication with the LAN. The method also includes redirecting the website request to a server associated with a second website different from the first website. The network device is configured to redirect all website requests to the server associated with the second website. The method also includes transmitting a web page included in the second website from the server associated with the second website to the client device in response to the redirected website request. The content of the web page includes content associated with an approximate geographic area having access to the LAN.
Other features and advantages of the present invention will become apparent from the following detailed description and accompanying drawings. It should be understood, however, that the detailed description and specific examples are given by way of illustration and not limitation. Many modifications and changes within the scope of the present invention may be made without departing from the spirit thereof, and the invention includes all such modifications.
BRIEF DESCRIPTION OF THE DRAWINGS The exemplary embodiments will hereafter be described with reference to the accompanying drawings, wherein like numerals depict like elements, and:
FIG. 1 is a diagram illustrating a system in which a method of processing a website request may be implemented according to an exemplary embodiment;
FIG. 2 is a flow diagram illustrating a method of processing a website request using the system ofFIG. 1 according to an exemplary embodiment;
FIG. 3 illustrates the content of a web page before modification using the method ofFIG. 2 to add additional content according to an exemplary embodiment;
FIG. 4 illustrates the content of the web page ofFIG. 3 after modification using the method ofFIG. 2 to add additional content according to an exemplary embodiment;
FIG. 5 is a diagram illustrating a system in which a method of processing a website request may be implemented according to another exemplary embodiment;
FIG. 6 is a flow diagram illustrating a method of processing a website request using the system ofFIG. 5 according to an exemplary embodiment;
FIG. 7 illustrates the content of a web page corresponding to a requested website before using the method ofFIG. 6 to process the website request according to an exemplary embodiment;
FIG. 8 illustrates the content of an alternate web page provided in response to the web request after using the method ofFIG. 6 to process the website request according to an exemplary embodiment;
FIG. 9 is a diagram illustrating a system which is an embodiment of the system ofFIG. 5 and in which exemplary methods of processing a website request may be implemented;
FIG. 10 is a flow diagram illustrating a method of processing a website request using the system ofFIG. 9 according to an exemplary embodiment;
FIG. 11 is a flow diagram illustrating a method of processing a website request using the system ofFIG. 9 according to another exemplary embodiment; and
FIG. 12 is a flow diagram illustrating a method of processing a website request using the system ofFIG. 9 according to another exemplary embodiment.
DETAILED DESCRIPTIONFIG. 1 is a diagram illustrating asystem100 in which a method of processing a website request may be implemented according to an exemplary embodiment. Insystem100, one or more client devices102 are in communication with a Local Area Network (LAN)104 and anetwork device106.Network device106 is also in communication with aserver108 via anetwork110.System100 is generally configured to process website requests from a client device102 in communication withnetwork device106 via LAN104, and to transmit web pages fromserver108 to the client device102 in response to the website request. More particularly,system100 is configured to modify web pages received fromserver108 withinnetwork device106 to include additional content, and to transmit the modified web page fromnetwork device106 to the client device102. The term content as used herein generally refers to any data being returned to client device102 in association with the website request.
Client device102 may be one of several types of microprocessor-based devices configured for communication withnetwork device106 via LAN104 and having appropriate display capabilities. For example, client device102 may be alaptop computer102a, adesktop computer102b, ahandheld computer102c(e.g., a “Personal Digital Assistant” or “PDA”), acellular telephone102dhaving a suitable display, or the like. According to an exemplary embodiment, client device102 utilizes an AMD Thunderbird 800 Megahertz microprocessor, Windows XP Professional, and is Dynamic Host Configuration Protocol (DHCP) enabled.
Client device102 may be configured to communicate withLAN104 using a wired or wireless communication connection. For example, inFIG. 1,laptop computer102a,handheld computer102c, andcellular telephone102dare illustrated as being in communication withLAN104 via a wireless connection, whiledesktop computer102bis illustrated as being in communication withLAN104 via a wired connection. Exemplary communication mediums for communication withLAN104 include telephone line or “dial-up” connections, cable, Digital Subscriber Line (DSL), Ethernet, Wireless High-Fidelity (i.e., “Wi-Fi” or IEEE standard 802.11), or the like.
Client device102 may be configured to communicate withnetwork device106 via LAN104 using one of several types of communications protocols and/or formats. Preferably,system100 is configured such that client device102 communicates website requests to networkdevice106 viaLAN104 using a Hypertext Transfer Protocol (HTTP) and suitable Internet browser software (e.g., Internet Explorer, Opera, Firefox, etc.), which may also be utilized to facilitate viewing web pages received by client device102. Client device102 may be configured to establish communication withLAN104 using any suitable technique. For example, client device102 may be configured to establish communication withLAN104 by sending a DHCP request to a DHCP server associated withLAN104, wherein the DHCP server is configured to respond to the DHCP request with various IP addresses for devices associated withLAN104, such as the IP addresses for client device102, a network submask associated with the LAN, a DNS server associated with the LAN, a gateway associated with the LAN, etc.
LAN104 is generally configured to facilitate communication between client device102 andnetwork device106. More particularly,LAN104 is configured to facilitate the transmission of electronic website requests from client device102 tonetwork device106, and the transmission of web pages received bynetwork device106 fromserver108 to client device102 in response to the website request. The term “website request” as used herein refers to an electronic website request, such as an HTTP request for a particular web server hosting the website, comprising a Universal Resource Locator (URL) transmitted by a client device over a network or other connection for processing so that a host server for the website may return data in response to the request. In a typical website request process, one or more host servers are waiting for electronic website requests from a client device. The client device attempts to connect to one of the host servers using the Internet Protocol (IP) address and port address for the server. The IP address for the server is obtained through the process of domain name resolution, wherein the client device sends a Domain Name System (DNS) request associated with the website request to a DNS server to translate the domain name for the requested website to the IP address for the host server for the website. The IP address may then be cached in the client device so that domain name resolution is not necessary each time the website is requested by the client device. The port address for the server is typically known by the client device prior to attempting to connect to the host server. For example, a typical HTTP server implementation may operate on port address80. Once the host server accepts the connection, the client device completes the web request to the host server, and the host server responds to the website request with data for the requested URL.
According to an exemplary embodiment,LAN104 is configured to facilitate the transmission of electronic website requests from client device102 tonetwork device106, and the transmission of web pages received bynetwork device106 fromserver108 to client device102 in response to the website request when client device102 initiates a website request. According to another exemplary embodiment,LAN104 is configured to facilitate the transmission of electronic website requests from client device102 tonetwork device106, and the transmission of web pages received bynetwork device106 fromserver108 to client device102 in response to the website request when client device102 is in authorized communication withLAN104. The term “authorized communication” refers to communication between client device102 andLAN104 once client device102 has received access to the LAN after completing an authentication process, such as a “login” transaction requiring a user identification and/or password. In an exemplary authentication process, client device102 may establish a connection with LAN104 (e.g., a wireless connection) and initiate a website request. Client device102 may then receive an authentication or login screen or webpage viaLAN104 requiring entry of a user identification, password, or other information. Once this information is provided, client device102 may transmit this information viaLAN104 for authentication. Once the information provided by client device102 is authenticated, client device102 is in authorized communication withLAN104.
Access toLAN104 is limited to an approximategeographic area112 that is relatively smaller in size, as opposed to a Wide Area Network (WAN) that links two or more networks to cover a large geographic area (e.g., the Internet or World Wide Web or another network linking several cities, states, countries, etc.). For example, according to various exemplary embodiments,LAN104 may be accessible to users in the approximate geographic area of an entity such as anairport120, ahotel122, a business, university ororganizational facility124, acruise ship126, or the like. According to various other embodiments,LAN104 may be interconnected with one or more additional LANs to form a Metropolitan Area Network (MAN) providing access to a town orcity128.
Network device106 may be one of several types of network devices. For example, according to an exemplary embodiment,network device106 is a LAN gateway configured to implement a “transparent proxy.” According to various other embodiments,network device106 is a router, a bridge, or a similar device that may be used to receive and transmit LAN communications. An exemplary configuration fornetwork device106 is as follows:
Compaq DeskPro EN ATX Desktop computer;
RedHat Linux 7.2 Server;
Squid Cache Proxy 2.4 STABLE1;
Privoxy 3.0.3;
Transparent Proxy on Port 80;
Network Card 1: Internet;
Network Card 2: Network Address Translation, DHCP Server
Network Device106 is generally configured to receive and process website requests from client device102 viaLAN104, to transmit the website request toserver108, and to transmit web pages received fromserver108 to the client device102 in response to the website request.Server108 is a host server associated with the website which includes information in the form of one or more web pages.Server108 is in communication withnetwork device106 vianetwork110.Network110 may be of any suitable configuration to connectserver108 withnetwork device106. According to an exemplary embodiment,network110 is a WAN such as the Internet or an Intranet.
Network device106 is also configured to modify web pages received from
server108 to include additional content, and to transmit the modified web page from
network device106 to the client device
102. According to an exemplary embodiment,
network device106 utilizes a proxy, such as Privoxy, to modify web pages received from
server108 to include the additional content. An exemplary Privoxy configuration for
network device106 is as follows:
| #actionsfile standard | # Internal purpose, recommended |
| #actionsfile default | # Default stuff |
| #actionsfile user | # User customizations |
| #actionsfile adserver | # AdServer customizations |
| adserver.action |
| { +filter{adserver} } |
| .* |
| adserver.filter |
| FILTER: adserver Add Text at Beginning of Document |
| s|(<BODY[{circumflex over ( )}>]*)>|$1>\n\n<CENTER><IFRAME |
| SRC=http://www.websitename.com/adserver/adserver.cgi |
| WIDTH=800 |
| HEIGHT=100 SCROLLING=NO FRAMEBORDER=0 |
| MARGINWIDTH=0 |
| MARGINHEIGHT=0>AdServer |
| Advertisement</IFRAME><BR><FONT |
| SIZE=1 ALIGN=CENTER>You are on the Adserver |
| Network</CENTER></FONT><BR><HR SIZE=1 |
| WIDTH=100%>\n\n|Uisg |
| |
The additional content provided bynetwork device106 includes additional information, an advertisement, or the like, that is associated with the approximategeographic area112 having access toLAN104. For example, the additional content may be information or an advertisement provided by an entity located in approximategeographic area112. According to an exemplary embodiment,LAN104 is accessible to users in the approximategeographic area112 ofairport120, andnetwork device106 is configured to modify web pages received fromserver108 to include advertisements targeted to users ofLAN104, such as advertisements for in-house restaurants and bars, car rental agencies, bookstores, local hotels, and local transportation services.
According to another exemplary embodiment,LAN104 is accessible to users in the approximategeographic area112 ofhotel122, andnetwork device106 is configured to modify web pages received fromserver108 to include advertisements for internal hotel services, or local restaurants and attractions.
According to another exemplary embodiment,LAN104 is accessible to users in the approximategeographic area112 of an organization, business orentity124 providing products or services (e.g., a bookstore, coffee shop, shopping mall, etc.), andnetwork device106 is configured to modify web pages received fromserver108 to include advertisements for the particular business, product, or service (e.g., ads from publishers or individual shops in a mall).Network device106 may also be configured to modify web pages received fromserver108 to include messaging or announcements to employees, departments, or to the entire business or organization.
According to another exemplary embodiment,LAN104 is accessible to users in the approximategeographic area112 ofcruise ship126, andnetwork device106 is configured to modify web pages received fromserver108 to include information on the ship's position, course, speed, and next ports of call, as well as information regarding internal attractions on the ship, such as theater performances, restaurants, internal shops, and casinos.
According to various other embodiments,LAN104 is interconnected with one or more additional LANs to form a MAN providing access to a town orcity128, andnetwork device106 is configured to modify web pages received fromserver108 to include information or advertisements for various entities located citywide.
FIG. 2 is a flow diagram illustrating amethod200 of processing a websiterequest using system100 according to an exemplary embodiment.Method200 begins with astep210. Instep210, an electronic request regarding a website is received bynetwork device106 from client device102 viaLAN104. In astep220, the electronic request regarding the website is transmitted fromnetwork device106 toserver108 associated with the requested website. In astep230, a web page transmitted fromserver108 in response to the electronic website request is received bynetwork device106. In astep240, the web page is modified withinnetwork device106 to include additional content associated with an approximategeographic area112 having access to the LAN. In astep250, the modified web page is transmitted fromnetwork device106 to client device102 viaLAN104.
FIG. 3 illustrates the content of aweb page300 before modification by network device106 (shown inFIG. 1) to include additional content according to an exemplary embodiment. The only web page content included inweb page300 is that which was provided byserver108 in response to the electronic website request.
FIG. 4 illustrates the content ofweb page300 after modification by network device106 (shown inFIG. 1) to include additional content according to an exemplary embodiment. As shown inFIG. 4,web page300 has been modified bynetwork device106 such that, in addition to the web page content provided byserver108 in response to the electronic website request,additional content400 has been added (e.g., additional information, advertisements, etc.). The additional content is associated with an approximategeographic area112 having access to LAN104 (shown inFIG. 1).
In this way, the method and apparatus for processing a website request provides local geographical management of web page content. Entities such as local businesses, governments, organizations, individuals, etc. may post information or advertisements onLAN104 usingnetwork device106 such that when users of client device102 access network110 (e.g., the Internet) viaLAN104, local information, advertisements, etc. are returned whenever a user requests a web page from a website overnetwork110. Because users ofLAN104 are physically located in an approximate geographic area having access toLAN104, these entities may target information, advertisements, etc. to the particular local market or limited geographic area.
FIG. 5 is a diagram illustrating asystem500 in which a method of processing a website request may be implemented according to another exemplary embodiment. Insystem500, one or more client devices502 are in communication with anetwork device506 via aLAN504.LAN504 is also optionally in communication withserver508 vianetwork510, and is in communication withserver509 vianetwork511.System500 is generally configured to receive a DNS request associated with a website request forserver508 from a client device502 in communication withnetwork device506 viaLAN504, and to transmit a web page fromserver509 to the client device502 in response to the website request. More particularly,system500 is configured to redirect the website request toserver509 by responding to the associated DNS request with the IP address ofserver509 rather thanserver508, and to transmit a web page fromserver509 to the client device502 in response to the website request.
As with client device102 (shown inFIG. 1), client device502 may be one of several types of microprocessor-based devices configured for communication withnetwork device506 viaLAN504 and having appropriate display capabilities. For example, client device502 may be alaptop computer502a, adesktop computer502b, ahandheld computer502c(e.g., a PDA), acellular telephone502dhaving a suitable display, or the like. According to an exemplary embodiment, client device502 utilizes anAMD Thunderbird 800 Megahertz microprocessor, Windows XP Professional, and is DHCP enabled.
As with client device102, client device502 may be configured to communicate withLAN504 using a wired or wireless communication connection. For example, inFIG. 5,laptop computer502a,handheld computer502c, andcellular telephone502dare illustrated as being in communication withLAN504 via a wireless connection, whiledesktop computer502bis illustrated as being in communication withLAN504 via a wired connection. Exemplary communication mediums for communication withLAN504 include telephone line or “dial-up” connections, cable, DSL, Ethernet, Wireless High-Fidelity (i.e., “Wi-Fi” or IEEE standard 802.11), or the like.
Client device502 may be configured to communicate withnetwork device506 viaLAN504 using one of several types of communications protocols and/or formats. Preferably,system500 is configured such that client device502 communicates website requests toserver509 viaLAN504 using HTTP and suitable Internet browser software (e.g., Internet Explorer, Opera, Firefox, etc.), which may also be utilized to facilitate viewing web pages received by client device502. Client device502 may be configured to establish communication withLAN504 using any suitable technique. For example, client device502 may be configured to establish communication withLAN504 by sending a DHCP request to a DHCP server associated withLAN504, wherein the DHCP server is configured to respond to the DHCP request with various IP addresses for devices associated withLAN504, such as an IP address for client device502, a network subnet mask associated with the LAN, a DNS server associated with the LAN, a gateway associated with the LAN, etc.
LAN504 is generally configured to facilitate communication between client device502 andnetwork device506. More particularly,LAN504 is configured to facilitate the transmission of a DNS request associated with a website request forserver508 from client device502 tonetwork device506, and to facilitate the transmission of web pages fromserver509 to client device502 in response to the website request. According to an exemplary embodiment,LAN504 is configured to facilitate the transmission of DNS requests associated with website requests forserver508 from client device502 tonetwork device506, and the transmission of web pages fromserver509 to client device502 in response to the website request for all website requests. According to another exemplary embodiment,LAN504 is configured to facilitate the transmission of DNS requests associated with website requests forserver508 from client device502 tonetwork device506, and the transmission of web pages fromserver508 to client device502 in response to the website request whenever client device502 is allowed access to or is in authorized communication withserver508, such as after completing an authentication process.
As with LAN104 (shown inFIG. 1) access toLAN504 is limited to an approximategeographic area512 that is relatively smaller in size, as opposed to a WAN that links two or more networks to cover a large geographic area (e.g., the Internet or World Wide Web or another network linking several cities, states, countries, etc.). For example, according to various exemplary embodiments,LAN504 may be accessible to users in the approximate geographic area of an entity such as asports facility530, areal estate location532, a business, university ororganizational facility534, ahistorical site536, agolf course538, apark540, or the like. According to various other embodiments,LAN504 may be interconnected with one or more additional LANs to form a MAN providing access to a town orcity542.
Network device506 may be one of several types of network devices. According to an exemplary embodiment,network device506 is a DNS server configured to respond to DNS requests from client device502 using a particular network device protocol. An exemplary configuration fornetwork device506 is as follows:
Compaq DeskPro EN ATX Desktop computer;
RedHat Linux 7.2 Server;
ISC BIND 9;
ISC BIND Zone file configuration: @ IN A ip-addr;
Network Card 1: LAN;
Network Device506 is generally configured to receive and process DNS requests associated with website requests forserver508 from client device502 viaLAN504. More particularly,network device506 is configured to respond to the DNS request with the IP address forserver509 so that the website request is redirected toserver509 regardless of the originally requested URL. For example,network device506 is configured to redirect a website request from client device502 for a website hosted byserver508 toserver509.
Servers508 and509 are host servers associated with different websites which include information in the form of one or more web pages.Server508 is optionally in communication withserver509.Network510 may be of any suitable configuration. According to an exemplary embodiment,network510 is a WAN such as the Internet or an Intranet.
Server509 is in communication with client device502 vianetwork511.Network511 may be of any suitable configuration to connectserver509 with client device502. According to an exemplary embodiment,network511 is a WAN such as the Internet or an Intranet. According to another exemplary embodiment,network511 is a part ofLAN504 or another LAN or MAN.Server509 is configured to receive redirected website requests transmitted from client device502, and to transmit a web page to client device502 viaLAN504.
According to an exemplary embodiment, the web page or pages provided byserver509 include content that is associated with the approximategeographic area512 having access toLAN504. For example, the content may be information or an advertisement provided by an entity located in approximategeographic area512. According to an exemplary embodiment,LAN504 is accessible to users in the approximategeographic area512 ofsports facility530, such as an auto or horse racing track, football or baseball stadium, etc. In this embodiment, the web pages provided byserver509 include information or advertisements targeted to users ofLAN504, such as information on wagering, statistics on competitors or teams, scores and highlights, live video feeds and instant replays, or advertisements and information for various concessions available.
According to another exemplary embodiment,LAN504 is accessible to users in the approximategeographic area512 ofreal estate location532. In this embodiment, the web pages provided byserver509 include information targeted to users ofLAN504, such as information on the property (e.g., listing price, square footage and other specifications of the property, inspection reports, home features, etc.), photographs of the interior, video clips and “virtual tours,” information on associated real estate agents or brokers, etc.
According to another exemplary embodiment,LAN504 is accessible to users in the approximategeographic area512 ofhistorical site536. In this embodiment, the web pages provided byserver509 include information targeted to users ofLAN504, such as information on the history of the site, maps of site, points of interest, etc.
According to another exemplary embodiment,LAN504 is accessible to users in the approximategeographic area512 ofgolf course538. In this embodiment, the web pages provided byserver509 include information targeted to users ofLAN504, such as information on players in a tournament, live video feeds of players at the various holes throughout the course, tournament statistics and updates, maps of the course and hole and par information, etc.
According to another exemplary embodiment,LAN504 is accessible to users in the approximategeographic area512 ofpark540, such as a national park. In this embodiment, the web pages provided byserver509 include information targeted to users ofLAN504, such as information and maps for the park, self-guided wireless tours, etc.
FIG. 6 is a flow diagram illustrating amethod600 of processing a websiterequest using system500 according to an exemplary embodiment.Method600 begins with astep610. Instep610, a DNS request associated with an electronic website request regarding a website hosted byserver508 is sent from client device502 and received bynetwork device506. In astep620,network device506 responds to the DNS request by transmitting the IP address forserver509 to client device502 which redirects the website request from client device502 to a website hosted byserver509.Server509 is associated with a website different from the requested website hosted byserver508 and may include one or more web pages having content associated with an approximategeographic area512 having access toLAN504. In astep630, client device502 transmits the website request toserver509 using the IP address forserver509 received fromnetwork device506. In astep640 the website request is received byserver509, and a web page is transmitted fromserver509 to client device502.
FIG. 7 illustrates the content of aweb page700 corresponding to a requested website before usingmethod600 to redirect the website request according to an exemplary embodiment. The content included inweb page700 is that which would be provided by the server hosting the requested website (e.g.,server508 shown inFIG. 5), which is shown as http://www.website.com/, assuming that the server hosting the website is accessible.
FIG. 8 illustrates the content of aweb page800 provided in response to the web request after usingmethod600 to redirect the website request according to an exemplary embodiment. As shown inFIG. 8, the requested website URL is still shown as http://www.website.com/. However, the actual content is not that which would be provided by the server hosting the requested website (e.g.,server508 shown inFIG. 5). The actual content is from a web page provided byserver509 that may include content that is associated with the approximategeographic area512 having access toLAN504.
In this way, the method and apparatus for processing a website request provides local geographical management of web page content by allowing all clients having access toLAN504 to view a single designated web page as a default home page regardless of the requested website. Various entities may provide information oradvertisements using server509 andnetwork device506 such thatLAN504 functions as a localized, specialized network. Because users ofLAN504 are physically located in an approximate geographic area having access toLAN504, these entities may target information, advertisements, etc. to the particular local market or limited geographic area and limit usage ofLAN504 to a particular localized purpose.
FIG. 9 is a diagram illustrating asystem900 which is an embodiment ofsystem500 in which exemplary methods of processing a website request may be implemented. Insystem900, one ormore client devices902 are in communication with aLAN904.LAN904 is in communication with aDHCP server905, aDNS server906, which is an embodiment ofnetwork device506, and agateway907.Gateway907 is in communication withserver908 vianetwork910.System900 optionally includesauthentication engine950, which is shown in communication withDNS server906,gateway907, andserver909.System900 is generally configured to receive a DNS request associated with a website request forserver908 from aclient device902 in communication withDNS server906 viaLAN904, and to transmit a web page fromserver909 toclient device902 in response to the website request. More particularly,system900 is configured to redirect the website request toserver909 by responding to the associated DNS request with the IP address ofserver909 rather thanserver908, and to transmit a web page fromserver909 toclient device902 in response to the website request.System900 is optionally configured to include an authentication engine or other system for allowing or denying access toserver908.
Client device902 may be one of several types of microprocessor-based devices configured for communication withDNS server906 viaLAN904 and having appropriate display capabilities as described above with regard to client device502.Client device902 may also be configured to communicate withLAN904 using a wired or wireless communication connection, and may also be configured to communicate withDNS server906 viaLAN904 using one of several types of communications protocols and/or formats as described above.Client device902 may be configured to establish communication withLAN904 using any suitable technique. For example,client device902 may be configured to establish communication withLAN904 by sending a DHCP request toDHCP server905, whereinDHCP server905 is configured to respond to the DHCP request with IP addresses forclient device902, network subnet masks forclient device902,DNS server906,gateway907, etc.
LAN904 is generally configured to facilitate communication betweenclient device902 andDHCP server905,DNS server906, andgateway907. More particularly,LAN904 is configured to facilitate the transmission of a DNS request associated with a website request forserver908 fromclient device902 toDNS server906, to facilitate the transmission of an IP address fromDNS server906 toclient device902 in response to the DNS request, and to facilitate the transmission of web pages from server909 (oroptionally server908 via server909) toclient device902 in response to the website request. As with LAN504 (shown inFIG. 5), access toLAN904 is limited to an approximate geographic area that is relatively smaller in size, as opposed to a WAN that links two or more networks to cover a large geographic area (e.g., the Internet or World Wide Web or another network linking several cities, states, countries, etc.). According to various embodiments,LAN904 may be interconnected with one or more additional LANs to form a MAN providing access to a town or city as described above.
DNS Server906 is in communication withLAN904 either directly, vianetwork910, or both directly and vianetwork910.DNS server906 is generally configured to receive and process DNS requests associated with website requests received fromclient device902 viaLAN904, so that web pages received from server909 (oroptionally server908 via server909) may be transmitted to theclient device902 in response to the website request. Typical DNS systems operate in a distributed database environment where multiple DNS servers are in communication with each other to complete a domain name system. Beginning at the root or top-level domains, each DNS server may be authoritative for a number of domains or zones. To complete a distributed domain name system, current DNS servers may be non-authoritative for at least one or more zones. During a typical DNS request, a DNS server may determine whether it is authoritative or non-authoritative for the given domain or zone. When authoritative, a typical DNS server may return the known IP address to the client device issuing the DNS request. When non-authoritative, a typical DNS server may return the known IP address to the client device issuing the DNS request after having issued its own DNS request to the root or authoritative server for the given domain name or zone. According to an exemplary embodiment,DNS server906 is configured to be authoritative for every possible domain or zone forclient device902.
Servers908 and909 are host servers associated with different websites which include information in the form of one or more web pages.Server908 is optionally in communication withgateway907 vianetwork910.Network910 may be of any suitable configuration to connectserver908 withgateway907. According to an exemplary embodiment,network910 is a WAN such as the Internet or an Intranet.
Server909 is in communication withLAN904 either directly, vianetwork910, or both directly and vianetwork910.Server909 is configured to receive website requests transmitted from client device902 (e.g., a website request redirected byDNS server906 fromserver908 to server909), and to transmit a web page toclient device902 viaLAN904 either directly or routed vianetwork910 andgateway907.
As with server509 (shown inFIG. 5) the web page or pages provided byserver909 may include content that is associated with the approximate geographic area having access toLAN904 according to various exemplary embodiments. For example, the content may be information or an advertisement provided by an entity located in approximate geographic area. Accordingly, the geographic web page applications described above with reference toserver509 are also generally applicable toserver909. According to an exemplary embodiment,server909 may also contain web pages used as part of an authentication process.
Authentication engine950, which is shown as being optionally in communication withDNS server906,gateway907, andserver909, is generally configured to facilitate the selective redirection of a web request received fromclient device902 toserver909. For example, in the illustrated embodiment,authentication engine950 is optionally in communication withDNS server906 andserver909 so that if the user ofclient device902 has successfully completed an authentication process,DNS server906 responds to a DNS request associated with a request for a website hosted byserver908 fromclient device902 with the IP address forserver909.Client device902 then initiates a website request toserver909 for a website associated withserver908.Server909 is able to communicate withserver908, initiate a website request toserver908 by translating the website request fromclient device902 to the URL for server908 (i.e., HTTP header or virtual hosts), obtain a response fromserver908, and transmit the response toclient device902. If the user ofclient device902 has not successfully completed the authentication process,DNS server906 responds to the DNS request with the IP address forserver909.Client device902 then initiates a website request toserver909 for a website associated withserver908, whereinserver909 responds to the website request fromclient device902 with a web page associated withserver909. In the illustrated embodiment,authentication engine950 is optionally in communication with a firewall associated withgateway907 to block access toserver908 if the user ofclient device902 has not successfully completed an authentication process such as by blocking particular IP addresses or hardware (i.e., MAC) addresses. In the illustrated embodiment,authentication engine950 is also in communication withserver909 to access an interface for the authentication process, such as web pages used as part of the authentication process (e.g., a login screen, etc.). Preferably,authentication engine950 is not in communication withDHCP server905. By avoiding the use ofDHCP server905 to manipulate network lease times, unnecessary network traffic caused by dropping and reconnecting unauthenticated users fromsystem900 may be avoided.
FIG. 10 is a flow diagram illustrating amethod1000 of processing a websiterequest using system900 according to an exemplary embodiment, whereinoptional authentication engine950 is not utilized, whereinserver909 is part ofLAN904, and whereinDNS server906 is configured to redirect all web requests received fromclient device902 toserver909. In this embodiment,DNS server906 allowssystem900 to operate without being in communication with any additional DNS servers or other networks (e.g., the Internet) because the IP address forserver909 is the only IP address needed.Method1000 begins with astep1010. Instep1010, a DNS request associated with a website request regarding a website hosted byserver908 is sent fromclient device902 and received byDNS server906. In astep1020,DNS server906 responds to the DNS request by transmitting the IP address forserver909 toclient device902 which redirects the website request fromclient device902 to a website hosted byserver909.Server909 is associated with a website different from the requested website hosted byserver908 may include one or more web pages having content associated with an approximate geographic area having access toLAN904. In astep1030,client device902 transmits the website request toserver909 using the IP address forserver909 received fromDNS server906. In astep1040 the website request is received byserver909, and one of the web pages included in the website hosted byserver909 is transmitted fromserver909 toclient device902.
FIG. 11 is a flow diagram illustrating amethod1100 of processing a websiterequest using system900 according to another exemplary embodiment, whereinoptional authentication engine950 is not utilized, whereinnetwork device906 is configured to redirect website requests fromclient device902 for a website hosted byserver908 toserver909, and whereinserver909 is configured to selectively return content fromserver909 orserver908 depending on whether access is generally allowed toserver908.Method1100 begins with astep1110. Instep1110, a DNS request associated with a website request regarding a website hosted byserver908 is sent fromclient device902 and received byDNS server906. In astep1120,DNS server906 responds to the DNS request by transmitting the IP address forserver909 toclient device902. In astep1130,client device902 transmits the website request forserver908 toserver909 via LAN904 (and optionally via gateway907) using the IP address forserver909 received fromDNS server906. In astep1140, the website request forserver908 is received byserver909 fromclient device902. In astep1150,server909 determines whether access toserver908 is generally allowed bysystem900. If access toserver908 is generally allowed, the method continues with astep1160, in whichserver909 translates the website request fromclient902 forserver908 to obtain the URL address forserver908 and obtains the IP address forserver908 via the authoritative DNS server of the domain associated with the translated URL. In astep1170,server909 transmits a website request toserver908 for the translated URL address via network910 (and optionally via gateway907). In astep1180,server908 receives a website request fromserver909 and responds toserver909 with the requested web page. In astep1190,server909 receives the web page response fromserver908 and transmits the web page toclient device902 via LAN904 (and optionally via gateway907).
If access is not allowed, the method continues with astep1199, in whichserver909 responds to the website request forserver908 by transmitting one of the web pages included in the website hosted byserver909 toclient device902 via LAN904 (and optionally via gateway907).Server909 is associated with a website different from the requested website and may include, for example, one or more web pages having content associated with an approximate geographic area having access toLAN904.
FIG. 12 is a flow diagram illustrating amethod1200 of processing a websiterequest using system900 according to another exemplary embodiment, whereinoptional authentication engine950 is utilized, whereinnetwork device906 is configured to redirect website requests fromclient device902 for a website hosted byserver908 toserver909, and whereinserver909 is configured to selectively return content fromserver909 orserver908 depending on whether the user has successfully completed an authentication process. Upon redirection toserver909, users that have not successfully completed the authentication process may be presented with, for example, a login screen for completing the authentication process, or may receive web pages related to other applications as described above with reference toservers509 and909.
Method1200 begins with astep1210. Instep1210, a DNS request associated with a website request regarding a website hosted byserver908 is sent fromclient device902 and received byDNS server906. In astep1220,DNS server906 responds to the DNS request by transmitting the IP address forserver909 toclient device902. In astep1230,client device902 transmits the website request forserver908 toserver909 via LAN904 (and optionally via gateway907) using the IP address forserver909 received fromDNS server906. In astep1240, the website request forserver908 is received byserver909 fromclient device902. In astep1250,server909 determines whether the user ofclient device902 has successfully completed an authentication process and whether the time limit of the user's session has expired. If the user ofclient device902 has already successfully completed the authentication process and the time limit of the user's session has not expired, the method continues with astep1260, in whichserver909 translates the website request fromclient902 forserver908 to obtain the URL address forserver908 and obtains the IP address forserver908 via the authoritative DNS server of the domain associated with the translated URL. In astep1270,server909 transmits a website request toserver908 for the translated URL address via network910 (and optionally via gateway907). In astep1280,server908 receives the website request fromserver909 and responds toserver909 with the requested web page. In astep1290,server909 receives the web page response fromserver908 and transmits the web page toclient device902 via LAN904 (and optionally via gateway907).
If the user ofclient device902 has not already successfully completed the authentication process or the time limit of the user's session has expired, the method continues with astep1299, in whichserver909 responds to the website request forserver908 by transmitting one of the web pages included in the website hosted byserver909 toclient device902 via LAN904 (and optionally via gateway907).Server909 is associated with a website different from the requested website and may include, for example, one or more web pages having content associated with an approximate geographic area having access toLAN904.Server909 may also contain web pages used as part of the authentication process (e.g., a login screen, etc.). As described above, a firewall associated withgateway907 is used in conjunction withauthentication engine950 to block access toserver908 if the user ofclient device902 has not successfully completed the authentication process, such as by blocking particular IP addresses or hardware (i.e., MAC) addresses.
As described above,DNS server906 andweb server909 are used insystem900 for redirecting web requests received fromclient device902, and for selectively returning requested content. In addition to allowingsystem900 to redirect web requests in several embodiments without being in communication with any additional DNS servers or other networks (e.g., the Internet), the use of a DNS server insystem900 may also allow for redirecting web requests without reconfiguringclient device902. The use of a DNS server and a web server insystem900 for redirecting web requests may also reduce system CPU power requirements in some systems because a proxy server is not required to translate client requests from unauthenticated clients. The use of a DNS server in a system for redirecting web requests may also allow for more efficient implementation of new types of user authentication interfaces. New types of user authentication interfaces may be implemented by reconfiguring the server used for the authentication interfaces, and without the need to establish a new proxy for redirection to the server.
The foregoing description of embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiments were chosen and described in order to explain the principals of the invention and its practical application to enable one skilled in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated.