Claims
- 1. A method for providing network services comprising:
executing a non-blocking, multi-threaded host name server on one or more processors connected to a network, said host name server responding to multiple concurrent host name resolution requests; returning one or more host addresses corresponding to said multiple concurrent host name resolution requests; and executing a second server on said one or more processors connected to said network, said second server responding to said one or more host addresses returned by said non-blocking, multi-threaded host name server.
- 2. The method of claim 1, wherein said second server provides electronic message server services corresponding to an electronic message directed to said host address.
- 3. The method of claim 1, wherein said second server provides web server services corresponding to a hypertext transfer protocol request directed to said host address.
- 4. A method for providing network services comprising:
executing a non-blocking host name service on one or more processors connected to a network, said non-blocking host name service responding to multiple concurrent host name resolution requests; concurrently executing a database coherency thread with said non-blocking network name service, said database coherency thread continuously updating a host name cache based on changing values in a database, said host name cache having network name service response information; returning one or more host addresses corresponding to said multiple concurrent host name resolution requests; receiving electronic message directed to one of said one or more host addresses returned by said network name service, said electronic message identifying an intended recipient; and forwarding said electronic message to a remote forwarding address indexed to said intended recipient in said database.
- 5. The method of claim 4, further comprising selecting an advertisement for delivery to said forwarding address, said advertisement corresponding to the context of said electronic message.
- 6. The method of claim 5, further comprising storing ad placement information in an ad placement table in said database, said ad placement information indicating that said advertisement corresponds to said electronic message.
- 7. The method of claim 6, wherein said ad placement information stored in said table includes demographic information corresponding to said intended recipient.
- 8. The method of claim 6, further comprising generating a cost corresponding to said ad placement information stored in said ad placement table.
- 9. The method of claim 5, further comprising sending said advertisement asynchronously with said electronic message.
- 10. The method of claim 5, further comprising sending said advertisement synchronously with said electronic message.
- 11. The method of claim 5, further comprising querying multiple tables in said database to find said advertisement to insert into said electronic message, said multiple tables comprising advertisement information and demographic information corresponding to said intended recipient.
- 12. A method for providing network services comprising:
executing a non-blocking host name service on one or more processors connected to a network, said non-blocking network name service responding to multiple concurrent host name resolution requests; concurrently executing a database coherency thread with said non-blocking network name service, said database coherency thread continuously updating a host name cache based on changing values in a database, said host name cache having network name service response information; returning one or more host addresses corresponding to said multiple concurrent host name resolution requests; receiving a hypertext transfer protocol request directed to one of said one or more host address returned by said network name service; retrieving a hypertext markup language template, said template corresponding to said hypertext transfer protocol request; inserting data into said hypertext markup language template, said data inserted from said database and corresponding to said host name; and returning said hypertext markup language template, including said inserted data, as a response to said hypertext transfer protocol request.
- 13. The method of claim 12, wherein said inserted data includes text data and embedded hypertext markup language links.
- 14. The method of claim 12, wherein said inserted data includes an advertisement, said advertisement corresponding to demographic information stored in said database, said demographic information associated with said host name.
- 15. An internet services system comprising:
a computer system including:
one or more processors; a memory communicatively coupled to said one or more processors; and a disk communicatively coupled to said one or more processors; wherein said one or more processors includes a first server, said first server configured to execute a multi-threaded domain name system, said multi-threaded domain name system comprising:
a request dispatcher thread, said request dispatcher thread configured to receive multiple concurrent host name requests over a wide area network; and multiple concurrent request handler threads, each of said multiple concurrent request handler threads spawned by said request dispatcher thread and corresponding to exactly one of said multiple concurrent host name requests, each of said request handler threads configured to respond to exactly one of said host name requests by returning a host address; and wherein said memory comprises a host name cache, said host name cache comprising a plurality of host names, said host name cache configured to be read by said multiple concurrent request handler threads; wherein said disk comprises records for a database, said records comprising a plurality of domain names and user information corresponding to said host names, said plurality of host names providing a foundation for said host name cache; and wherein said one or more processors further includes a second server, said second server configured to respond to a request directed to said host address returned by said first server, and further configured to include data stored in said database in said response from said second server.
- 16. The system of claim 15, wherein said one or more processors are further configured to concurrently execute a database coherency thread, said database coherency thread continuously updating said host name cache based on changing values in said database.
- 17. The system of claim 15, wherein said request directed to said host address is an electronic message, and wherein second server is further configured to:
extract information identifying an intended recipient of said electronic message; match said extracted information to a forwarding address; and forward said electronic message including to said forwarding address.
- 18. The system of claim 17, wherein said second server is further configured to:
select an advertisement corresponding to one or more words contained in said electronic message; and transmit said advertisement to said forwarding address.
- 19. The system of claim 18, wherein said second server is further configured to store ad placement information in an ad placement table in said database, said ad placement information indicating that said advertisement is associated with said electronic message.
- 20. The system of claim 19, wherein said ad placement information stored in said table includes demographic information corresponding to said intended recipient.
- 21. The system of claim 19, wherein said system is further configured to generate a cost for said advertisement, said cost corresponding to said ad placement information stored in said table.
- 22. The system of claim 18, further configured to transmit said advertisement to said forwarding address synchronously with said forwarding of said electronic message to said forwarding address.
- 23. The system of claim 18, further configured to transmit said advertisement asynchronously relative to said forwarding of said electronic message to said forwarding address.
- 24. The system of claim 19, wherein said request directed to said host address is a hypertext transfer protocol request, and wherein second server is further configured to:
extract information identifying a host name from said hypertext transfer protocol request; retrieve a hypertext markup language template corresponding to said information identifying said host name; fetch template values corresponding to said host name; insert said template values into said template; and return said hypertext markup language template including said template values as a response to said hypertext transfer protocol request.
- 25. The system of claim 24, wherein said second server is further configured to:
retrieve an advertisement corresponding to said host name; insert said advertisement into a frame which surrounds a body of said template; and store advertisement placement information indicating that said advertisement has been inserted into a hypertext markup language template.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to U.S. patent application Ser. No. [Not Yet Assigned] (attorney docket 244/083), entitled “MULTI-THREADED NAME SERVER” and [Not Yet Assigned] (attorney docket 244/084), entitled “E-MAIL ADVERTISEMENT SELECTION METHOD AND APPARATUS”, both filed on the same day herewith, and both of which are incorporated herein by reference in their entirety.