# Patent

## Title
System and method for facilitating distribution of limited resources

## Abstract

A method is provided for distributing limited resources. The method comprising the following steps. A plurality of limited resources about to expire on a given day is determined. The plurality of limited resources is made available simultaneously. Resource requests from a plurality of clients for a registration period are allowed starting at a predetermined time. The resource requests are processed after the registration period by correlating the limited resources with the received resource requests.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of earlier application having application Ser. No. 11/532,061 filed Sep. 14, 2006 now U.S. Pat. No. 8,234,379, granted on Jul. 31, 2012 and claims priority under 35 U.S.C. 120 thereto. The disclosure of aforementioned application Ser. No. 11/532,061 is hereby incorporated by reference in it's entirety.


The present invention relates generally to the distribution of limited resources, and specifically to a server and method for facilitating the distribution of such resources.
BACKGROUND
A domain name is a name that can be entered into a computing device in order to access a web-site, for example. The domain name is looked up in a global Domain Name System (DNS) which informs the computing device of the Internet Protocol (IP) address for that domain name. The computing device can then access the web-site by contacting a server at the received IP address.
Although assigned to a “domain holder” or “registrant”, domain names are controlled by domain name registries. Typically registration of a domain name is described as follows. Each registry is assigned one or more top-level domains, such as .com, .org, and the like. Most domain registries implement a registry-registrar model for registering the domain names. In this model, the registry only has to manage its relationship with the registrars. In turn, each registrar maintains its relationship with the registrants.
The registrant purchases a domain name from the registrar. The registrar registers the purchase with the registry. The registry updates the DNS to reflect the IP address of the registrant for the purchased domain name. In order to maintain rights to use the domain names, the registrant pays an renewal fee before an annual expiration date.
If the registrant does not renew the domain name by the expiration date, the domain name becomes expired. A grace period is often provided by the registrar before sending a delete request to the registry.
After the grace period, the registrar requests deletion of the domain name from the registry. Upon request of the deletion, the domain name enters a redemption grace period. The redemption grace period, typically 30 days, allows the registrar (and registrant) to restore the domain name from a pending deletion status and further allows them to renew the domain name. However, during this period all Internet services associated the domain name are disabled.
After the redemption grace period, the domain name becomes locked and enters a redemption hold period. The redemption hold period typically lasts for five days. On the last day, the domain name is officially dropped from the registry database and becomes available for registration on a “first-come, first-served” basis.
Due to the proliferation of the Internet, domain names can be extremely valuable marketing tools. Specifically, domain names that are intuitive can be very useful for a person or company wishing to make information available to the general public. This is a concept that is well known in the art and has led to practices such as domain name speculation.
Accordingly, when a previously used, but desirable domain name becomes available, registrants and, more typically, registrars that are involved in domain name speculation have a great incentive to apply a heavy load on the corresponding registry. Specifically, since domain names are awarded on a first-come, first-served basis, a speculator with the fastest access to the registry, or most number of connections that access the registry, stands the best chance of being the first to register a previously used domain name.
It is desirable for registries to provide relatively equivalent or equal access to previously used domain names that does not favour either large or incumbent registrars in the industry. However, using the first-come, first served model described above rewards registrars with the most powerful equipment or the most number of connections into the registry via multiple proxy registrars. Accordingly, this has resulted in an escalating “arms” race, with competing registrars applying constantly increasing loads against the registry, thereby threatening the ongoing performance and stability of the registry.
For example, the load generated on the registry when registrars attempt to acquire a previously used domain name via the current process is many times greater than that generated during regular registry operations. Therefore, the registry has to be maintained to accommodate a peak bandwidth that is significantly greater than it would typically require for normal operation. Continuing to increase resources at the registry to address this small percentage of competing registrars is an inadequate solution as it provides a continuously escalating additional cost to the registry.
Further, the current process limits fair and equivalent access to the list of previously used domain names being deleted by the registry on a daily basis, as smaller registrars are less likely to have the resources to compete with larger registrars.
Accordingly, it is an object of the present invention to provide a mechanism for acquiring previously used domain names that obviates or mitigates at least some of the problems described above.
SUMMARY
In accordance with an aspect of the present invention there is provide a method for distributing limited resources, the method comprising the steps of: determining a plurality of limited resources about to expire on a given day; making the plurality of limited resources available simultaneously; allowing resource requests from a plurality of clients for a registration period starting at a predetermined time; and processing the resource requests after the registration period by correlating the limited resources with the received resource requests.
In accordance with a further aspect of the present invention there is provide a system for distributing limited resources, the system comprising: a main server configured to provide standard application server functionality; a drop zone server configured to receive resource requests for the limited resource; and a drop zone control module configured determine when the limited resource expires from the main server, parse the drop zone server for corresponding resource requests, and distribute the limited resource accordingly.
In accordance with a further aspect of the present invention there is provided a computer readable medium comprising instructions which, when executing by a computer, cause the computer to implement the steps of: determining a plurality of limited resources about to expire on a given day; making the plurality of limited resources available simultaneously; allowing resource requests from a plurality of clients for a registration period starting at a predetermined time; and processing the resource requests after the registration period by correlating the limited resources with the received resource requests.
In the system described above, the drop zone server may further be configured to make a plurality of limited resources available simultaneously.



BRIEF DESCRIPTION OF THE DRAWINGS
Embodiments of the present invention will now be described by way of example only with reference to the following drawings in which:
FIG. 1 is block diagram of a drop zone infrastructure;
FIG. 2 is a flow chart illustrating a registration process for previous used domain names that become available;
FIG. 3 is a flow chart illustrating the registration request process of FIG. 2 in greater detail; and
FIG. 4 is a flow chart illustrating the registration fulfillment process of FIG. 2 in greater detail.



DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
For convenience, like numerals in the description refer to like structures in the drawings. Referring to FIG. 1, a drop zone infrastructure is illustrated generally by numeral 100. The drop zone infrastructure 100 includes one or more registrars 102, one or more drop zone servers 104, one or more main registry servers 106, and a drop zone control module 108.
The registrars 102 are in communication with both the drop zone server 104 and the main registry server 106 via a communication network 110. As will be appreciated, the communication network 110 may be a wide-area network (WAN), such as the Internet, or a local-area network (LAN).
The drop zone server 104 is in communication with the drop zone control module 108, which is in communication with the main registry servers 106. Although the drop zone control module 108 is illustrated as a separate device, it will be appreciated that it can be incorporated as part of either the drop zone server 104 or the main registry server 106. Further, the registrars 102 have a corresponding account set up with either the drop zone server 104 or main registry server 106, or both, to facilitate payment of services. Different configurations of the drop zone infrastructure 100 will become apparent to a person of ordinary skill in the art.
Effectively, the drop zone server 104 provides a limited registry system. Accordingly, the drop zone server supports a limited number of commands. In the present embodiment, the drop zone server 104 supports three primary commands: Login; Domain Create; and Extensible Provisioning Protocol (EPP) Hello. EPP provides a standard Internet domain name registration protocol for use between the registrars 102 and the main registry server 106. EPP is well known in the art and need not be described in detail. The Login command is used by the registrars 102 to access the drop zone server 104. Domain Create is used to request a domain name. EPP Hello is used to verify connectivity by the registrars 102 to the drop zone servers 104.
The drop zone control module 108 controls the distribution of requested domain names in accordance with available domain names and registration requests submitted to the drop zone servers 104, as will be described. Accordingly, it will be appreciated that the main registry servers 106 can be used primarily for tasks such as maintaining the DNS registry and servicing DNS resolution queries. Connectivity to the drop zone server 104 can be highly limited and equivalent between registrars. For example, each registrar 102 can be limited to three connections to the drop zone server 104. This affords scalability and the ability to maintain separate connectivity policies for the drop zone server 104 and the main registry server 106.
Further, it can be seen that the drop zone server 104 provides a segregated system from the main registry server 106 for managing a synchronized full release of previously used domain names that have reached the end of their redemption hold periods. Registrars 102 will be less likely and will have less incentive to maintain a high number of connections to the main registry server 106 for catching a domain name when previously used domain names are released, or dropped via the drop zone server 104.
Referring to FIG. 2, a flow diagram illustrating a process for registering a domain name using the drop zone infrastructure 100 is shown generally by numeral 200. In step 202 the registrars submit registration requests to the drop zone server 104 for previously used domain names available for registration. In step 204, the drop zone control module 108 parses the registration requests received by the drop zone server 104 and assigns the previously used domain names accordingly. Both of these steps 202 and 204 are described in greater detail with reference to FIGS. 3 and 4.
Referring to FIG. 3, a flow diagram illustrates the step 202 of requesting registration of a previously used domain name in greater detail. In step 302, the registrars 102 connect with the drop zone server 104. The registrars 102 are initially able to test their connectivity to the drop zone server 104 using the EPP Hello command. However, an attempt to register a previously used domain name at this point, using the Domain Create command, would result in an error.
In step 304, a plurality of previously used domain names for which the redemption hold period is expiring that day is made accessible for registration simultaneously to all registrars. In the present embodiment, the term day refers to a calendar day, although it will be appreciated that it can be any predefined time period. Further, in the present embodiment, all previously owned domain names for which the redemption hold period is expiring that day are made accessible.
In step 306, at a predefined time that allows the registrars 102 to have established a connection with the drop zone server 104, a change is made to the status of the drop zone server 104 and it is opened for domain name registrations. Once the drop zone server 104 opens, the registrars 102 can submit registration requests for desired domain names. The registrars 102 may only register for previously used domain names listed for release that day. This information is made available to each of the registrars 102 by a daily published redemption hold period domain reports, provided to all registrars 102.
At step 308, the drop zone server 104 records the received registration requests and maintains them in the order in which they are received. As will be appreciated by a person skilled in the art, this can be achieved in a number of different ways. For example, the registration requests may be maintained in a first-in-first-out (FIFO) queue. Alternatively, the time the registration request is received is stored along with the registration request. In this example, the resolution of the time is sufficient to distinguish between consecutive registration requests. Accordingly, since the order of the registration requests is maintained, the drop zone server 104 accepts duplicate registration requests.
In the present embodiment, it is the responsibility of the registrar 102 to ensure that the registration request is for an available previously used domain name. If the registrar 102 submits an incorrect registration request, for example, for a domain name not in the published report, the request results in an error and is not processed by the drop zone control module 108. Optionally, the registrar is advised of the error via an error message from the drop zone server 104.
In step 310, after a predefined time a change is made to the status of the drop zone server 104 and it is closed to domain name registrations for that day. As an example, the drop zone server 104 remains open for two hours. However, it will be appreciated that since all previously owned domain names available for registration are released simultaneously, they will likely be spoken for within several minutes.
Referring to FIG. 4, a flow diagram illustrates the step 204 of assigning a previously owned domain name in greater detail. In step 402, the drop zone control module 108 determines which previously owned domain names maintained by the main registry server 106 are completing their redemption hold period that day.
At step 404, as the redemption hold period expires for each previously used domain name, the drop zone control module 108 determines if a corresponding registration request was submitted to the drop zone server 104. If no corresponding registration request was received for the previously used domain name, the process continues to step 406. In step 406, the previously used domain name is deleted from the main registry server 106 and released in a manner that is standard in the art.
If a corresponding registration request was received for the previously used domain name, the process continues to step 408. In step 408, the drop zone control module 108 retrieves the first received registration request for the previously used domain name. In step 410, the drop zone control module 108 determines whether or not the registrar 102 that submitted the registration request has sufficient funds in its corresponding account to pay for the registration request.
If there are sufficient funds in the account, the drop zone control module 108 continues to step 412. In step 412, the drop zone control module 108 processes the registration request. That is, old registration information for the previously used domain name is deleted and replaced with new registration information provided by the registrar 102. The registrar's corresponding account is charged for the registration.
If, however, there are insufficient funds in the account, the drop zone control module 108 continues to step 414. In step 414, the drop zone control module 108 determines if there are any further registration requests for the previously used domain name.
If there are no further registration requests for the previously used domain name, the drop zone control module 108 continues to step 406 and the previously used domain is released as described above. If, however, there are further registration requests for the previously used domain name, the drop zone control module 108 continues to step 416. In step 416, the drop zone control module 108 retrieves the next sequential registration request from the drop zone server 104.
As previously described, in the present embodiment, the sequence in which the duplicate registration requests are received by the drop zone server 104 is maintained. The drop zone control module 108 returns to step 410 to determine whether or not the registrar 102 that submitted the next sequential registration request has sufficient funds in its corresponding account to pay for the registration request. This process is implemented for the previously used domain names listed in the daily redemption hold period report for that particular day.
The registrar 102 is informed that the registration request was successful via a daily result report. The daily result report lists the results following the completion of the distribution process described above. In the present embodiment, the daily result report is private to each registrar 102. After this point the registrar 102 can confirm the registration of the previously used domain name with the main registry server 106.
Accordingly, it will be appreciated that registration of previously used domain names as described above improves the fairness in which the domain names are distributed. Specifically, since the number of connections per registrar 102 can be significantly limited and a plurality of domain names become available simultaneously, the registrars 102 have to prioritize the previously used domain names for which they will attempt to register. This feature increases the odds that previously used domain names will be distributed more evenly amongst the registrars.
Although the previous embodiment relates specifically to the distribution of previous used domain names, a person skilled in the art will appreciate that the invention need not be so limited. Rather, the same solution may be implemented to solve similar problems. That is, when there are a number of different bidders competing for limited resources the solution described above may be implemented.
For example, consider the case where the limited resources are newly released domain names. This may occur with the release of a new top-level domain or with the release of previously withheld domain names for an existing top-level domain. Such a release would result in a similar problem as the release of previously used domain names. Accordingly, the system and method described above could be implemented to facilitate distribution of these domain names.
As another example, consider the case when the limited resources are auction items rather than previously used domain names. The drop zone server 104 can open to bids on all items for which the auction is expiring during a given time period. Similarly to the embodiment described above, bidders would have to prioritize their bid, rather than being able to focus on each auction item. This, in turn, increases the likelihood that more bidders will be successful in at least one bid.
Although the invention has been described with reference to certain specific embodiments, various modifications thereof will be apparent to those skilled in the art without departing from the scope of the invention as defined by the appended claims.

## Claims

1. A system for distributing a limited resource selected from a plurality of limited resources in response to resource requests from a plurality of clients competing for the limited resource, the system comprising:
a main server configured to provide standard application server functionality for maintaining the plurality of limited resources and maintaining a main server connectivity policy therefore for providing communication with the plurality of clients via a communication network;
a server supporting a limited number of commands including those relating to submission of the resource requests, the server providing a segregated system from the main server and configured to:
receive the resource requests for the limited resource from the plurality of clients via the communication network, and
maintain a server connectivity policy separate from the main server connectivity policy of the main server in order to reduce a maintaining of connections to the main server for the resource requests; and

a control module in communication with the server to coordinate distribution of the limited resource by;
process a resource request of said resource and
distribute the limited resource accordingly to a client of the plurality of clients associated with the resource request;

wherein the client subsequently confirms the resource request with the main server.

2. The system of claim 1, wherein the server is further configured to make the plurality of limited resources available simultaneously.

3. The system of claim 1, where the plurality of limited resources comprises all limited resources that are previously used domain names expiring on a given day.

4. The system of claim 1, wherein the server connectivity policy limits each client to three connections.

5. The system of claim 1, wherein the limited resource is a previously used domain name; the resource request is a registration request; the main server is a main registry server configured to provide domain name system functionality.

6. The system of claim 1, wherein the limited resource is a new domain name; the resource request is a registration request; and the main server is a main registry server configured to provide domain name system functionality.

7. The system of claim 1, wherein the limited resource is an auction item; the resource request is a bid on the auction item; and the main server is a main auction server configured to provide auction functionality.

8. The system of claim 1, wherein the server and the main server have different connectivity policies, such that connectivity to the server is limited and equivalent between the plurality of clients.

9. The system of claim 1, wherein the control module is incorporated as either part of the main server or as part of the server.

10. A method for distributing a limited resource selected from a plurality of limited resources in response to resource requests from a plurality of clients competing for the limited resource, the method stored as a set of instructions, which, when executed by one or more computer processors, cause the one or more computer processors to implement the steps of:
providing standard application server functionality by a main server for maintaining the plurality of limited resources;
maintaining by the main server a main server connectivity policy therefore for providing communication with the plurality of clients via a communication network;
supporting by a server a limited number of commands including those relating to submission of the resource requests, the server providing a segregated system from the main server by;
receiving the resource requests for the limited resource at the server from the plurality of clients via the communication network;
maintaining a server connectivity policy separate from the main server connectivity policy of the main server in order to reduce a maintaining of connections to the main server for the resource requests; and
coordinating distribution of the limited resource by processing a resource request of said resource requests and distributing the limited resource accordingly to a client of the plurality of clients associated with the resource request;
wherein the client subsequently confirms the resource request with the main server.

11. The method of claim 10, wherein the plurality of limited resources comprises all limited resources expiring during a given day.

12. The method of claim 10, wherein the limited resources are processed as they expire.

13. The method of claim 10, wherein duplicate resource requests are maintained and processed in a sequence in which they are received.

14. The method of claim 13, wherein if one of the resource requests fails, a subsequent duplicate resource request is processed.

15. The method of claim 14, wherein the resource request fails due to insufficient funds in an account of a corresponding requesting client.

16. The method of claim 10, further comprising instructions for providing a connection period prior to allowing the resource requests for enabling the clients to confirm that they can establish a connection.

17. The method of claim 10, wherein the limited resource is a previously used domain name; the resource request is a registration request; and the client is a registrar.

18. The method of claim 10, wherein the limited resource is a new domain name; the resource request is a registration request; and the client is a registrar.

19. The method of claim 10, wherein the limited resource is an auction item; the resource request is a bid on the limited resource; and the client is a bidder.

20. The method of claim 10, wherein the server and the main server have different connectivity policies, such that connectivity to the server is limited and equivalent between the plurality of clients.