Internet hosting system
First Claim
1. An internet service 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; and
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 if the requested host name is present in the host name cache or else to terminate the request if the requested host name is not present in the host name cache; 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 host names for which said server is an authority 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 its response;
wherein said request directed to said host address is an electronic message; and
wherein said second server is further configured to;
extract information identifying an intended recipient of said electronic message;
match said extracted information to a forwarding address;
select an advertisement corresponding to one or more words contained in said electronic message;
forward said electronic message including data from said database to said forwarding address; and
transmit said advertisement, either embedded in or separate from said electronic message, to said forwarding address.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for providing domain name services includes a multi-threaded name server which concurrently handles multiple domain name resolution requests and is particulary well suited for an Internet host system controlling information relating to a very large number of domain names. A database coherency thread continuously refreshes a host name cache that is utilized by the multi-threaded name server. The multi-threaded name server may comprise a request dispatcher thread capable of spawning multiple child threads, resulting in a multi-threaded, non-blocking name server. One or more additional network services are also provided by the system, preferably through a common, centralized database. For example, in one embodiment, electronic message forwarding services are provided. In another embodiment, web services are provided wherein hypertext markup language (HTML) pages are dynamically generated from data in the database corresponding to the requested host name.
-
Citations
8 Claims
-
1. An internet service 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; and
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 if the requested host name is present in the host name cache or else to terminate the request if the requested host name is not present in the host name cache; 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 host names for which said server is an authority 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 its response;
wherein said request directed to said host address is an electronic message; and
wherein said second server is further configured to;
extract information identifying an intended recipient of said electronic message;
match said extracted information to a forwarding address;
select an advertisement corresponding to one or more words contained in said electronic message;
forward said electronic message including data from said database to said forwarding address; and
transmit said advertisement, either embedded in or separate from said electronic message, to said forwarding address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
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.
-
-
6. The system of claim 5, wherein said second server is further configured to:
-
retrieve an advertisement corresponding to said host name;
insert said advertisement into a frame that surrounds a body of said template; and
store advertisement placement information indicating that said advertisement has been inserted into a hypertext markup language template.
-
-
7. The system of claim 1, further configured to transmit said advertisement to said forwarding address synchronously with said forwarding of said electronic message to said forwarding address.
-
8. The system of claim 1, further configured to transmit said advertisement asynchronously relative to said forwarding of said electronic message to said forwarding address.
Specification