INTERNET HOSTING SYSTEM
First Claim
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.
7 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for providing network hosting services is provided. According to one aspect of the invention, a multi-threaded name server handles multiple concurrent name requests, and is particularly well suited for a host system controlling information relating to a large number of domain names. In a preferred embodiment as described herein, a multi-threaded name server comprises a request dispatcher thread capable of spawning multiple child threads. The result is a multi-threaded, non-blocking name server capable of handling multiple concurrent name requests for a large number of domain names. In one embodiment, one or more additional network services are also provided, preferably using a centralized database. For example, in a particular embodiment, electronic message forwarding services are provided wherein an advertisement is associated with an electronic message based on the message contents. In another embodiment, web services are provided wherein hypertext markup language (HTML) pages are dynamically generated. In still another embodiment, both electronic message forwarding services and web services are provided on by the same system using the centralized database.
83 Citations
25 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. - View Dependent Claims (2, 3)
-
-
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. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11)
-
-
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. - View Dependent Claims (13, 14)
-
-
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. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification