BACKGROUND

As Internet usage grows exponentially, the demand for Internet-related services is also growing rapidly. As a result of the increased usage of the Internet, the demand for domain names is also growing rapidly. Consequently, demand for domain related services is also on the rise. Such domain related services can include domain name creation, domain name registration renewal, and the like. Typically, a website serves as a primary vehicle for establishing an online presence for a domain name. To meet this ever increasing demand for domain name related services, it is necessary that the entities that provide these services do so in an efficient and cost-effective manner.

The Domain Name System (“DNS”) is the part of the Internet infrastructure that translates human-readable domain names into the Internet Protocol (“IP”) numbers needed to establish TCP/IP communication over the Internet. DNS allows users to refer to web sites, and other resources, using easier to remember domain names, such as “www.example.com”, rather than the numeric IP addresses associated with a website, e.g., 123.4.56.78, and assigned to computers on the Internet. Each domain name can be made up of a series of character strings (e.g., labels) separated by dots. The right-most label in a domain name is known as the top-level domain (“TLD”). Examples of well-known TLDs are “corn”; “net”; “org”; and the like. Each TLD supports second-level domains, listed immediately to the left of the TLD, e.g., the “example” level in “www.example.com”. Each second-level domain can include a number of third-level domains located immediately to the left of the second-level domain, e.g. the “www” level in www.example.com. Each domain name includes one or more characters (labels), each of which may either be an ASCII character or a language-specific character (e.g., Arabic, Chinese, Hindi, and Latin letters with diacritics (e.g., e)). Domain names represented, in whole or in part, by language-specific characters are called Internationalized Domain Names (IDNs). While not yet available, potential IDN versions of well-known TLDs, such as “.com,” “.net,” and “.org.” could also be created (e.g. “.net”).

The responsibility for operating each TLD, including maintaining a registry of the second-level domains within the TLD, is delegated to a particular organization, known as a domain name registry (“registry”). The registry is primarily responsible for answering queries for IP addresses associated with domains (“resolving”), typically through DNS servers that maintain such information in large databases, and for operating its top-level domain.

For most TLDs, in order to obtain a domain name, that domain name has to be registered with a registry through a domain name registrar, an entity authorized to register Internet domain names on behalf end-users. Alternatively, an end-user can register a domain name indirectly through one or more layers of resellers. A registry may receive registrations from hundreds of registrars.

A registrar usually has a dedicated service connection with the registries in order to access domain related services, e.g., domain name creation or renewal. Registrars typically use the Extensible Provisioning Protocol (“EPP”) as a vehicle to communicate with the registries in order to register or renew domain names. EPP is a protocol designed for allocating objects within registries over the Internet. The EPP protocol is based on Extensible Markup Language (“XML”), which is a structured, text-based format. The underlying network transport is not fixed, although the currently specified method is over Transmission Control Protocol (“TCP”).

A zone file is a text file that describes a portion of the DNS called a DNS zone. A zone file is organized in the form of resource records (RR) and contains information that defines mappings between domain names and IP addresses and other resources. The format of zone files is defined by a standard, with each line typically defining a single resource record. A line begins with a domain name, but if left blank, defaults to the previously defined domain name. Following the domain name is the time to live (TTL), the class (which is almost always “IN” for “Internet” and rarely included), the type of resource record (A, MX, SOA, etc.), followed by type-specific data, such as the IPv4 address for A records. Comments can be included by using a semi-colon and tines can be continued by using parentheses. There are also file directives that are marked with a keyword starting with a dollar sign.

The DNS distributes the responsibility of assigning domain names and mapping those names to IP addresses by designating authoritative name servers for each domain. Authoritative name servers are assigned to be responsible for their particular domains, and in turn can assign other authoritative name servers for their sub-domains. This mechanism generally helps avoid the need for a single central register to be continually consulted and updated. The DNS resolution process allows for users to be directed to a desired domain by a lookup process whereby the user enters the desired domain, and the DNS returns appropriate IP numbers. During the DNS resolution process, a request for a given domain name is routed from a resolver (e.g., a stub resolver) to an appropriate server (e.g., a recursive resolver) to retrieve the IP address. To improve efficiency, reduce DNS traffic across the Internet, and increase performance in end-user applications, the DNS supports DNS cache servers that store DNS query results for a period of time determined by the time-to-live (TTL) of the domain name record in question. Typically, such caching DNS servers, also called DNS caches, also implement the recursive algorithm necessary to resolve a given name starting with the DNS root through to the authoritative name servers of the queried domain. Internet service providers (ISPs) typically provide recursive and caching DNS servers for their customers. In addition, home networking routers may implement DNS caches and proxies to improve efficiency in the local network.

Conventionally, EPP is used to by the registrar to request the registry perform a single action for a single provisioned DNS registry object for a registrant. If one or more actions are required for numerous provisioned DNS registry objects, then the EPP command process can unnecessarily burden the registrar or the registry with these numerous command requests. What is needed is an improved technique whereby multiple provisioned DNS registry objects can be managed together in a single operation.

SUMMARY

A computer-implemented method for managing multiple provisioned domain name system (“DNS”) registry objects is disclosed. The method can comprise receiving, at a DNS registry, a multiple domain extensible provisioning protocol (“EPP”) command from a registrar on behalf of a registrant to perform an action for each provisioned DNS registry object of the multiple provisioned DNS registry objects; comparing the action with one or more allowable actions in a policy maintained by the registry; determining, by a processor, that the action is allowable based on the comparing; and performing, based on the determining, the action on each of the provisioned DNS registry objects in one transaction.

The multiple domain EPP command can comprise one or more of: a multiple domain create operation to create an instance of each DNS registry object, a multiple domain transfer operation to manage sponsorship changes of each DNS registry object, a multiple domain renew operation to extend a validity period of each DNS registry object, a multiple domain update operation to change information associated with each DNS registry object, and a multiple domain delete operation to delete an instance of each DNS registry object. The multiple domain EPP command can comprises one or more of a new operation based on extending an existing operation.

Each provisioned DNS registry object of the multiple DNS registry objects can comprise a domain name, hosts, or contacts.

The method can further comprise determining, by a processor, that the action is not allowable based on the comparing and providing a notification that the action is not allowable to the registrar.

A first provisioned DNS registry object of the multiple provisioned DNS registry objects can have a relationship with a second provisioned DNS registry object of the multiple provisioned DNS registry objects. The relationship can be an international language version of a provisioned DNS registry object. The relationship can be an international language version of a top-level domain. The relationship can be a similarity in a character string in the first and the second provisioned DNS registry object. The relationship can include where a top-level domain of a first provisioned DNS registry object of the multiple provisioned DNS registry objects and a top-level domain of a second provisioned DNS registry object of the multiple provisioned DNS registry objects can be the same or different. The top-level domain of the second provisioned DNS registry object of the multiple provisioned DNS registry objects can be an international language version of the top-level domain of a first provisioned DNS registry object of the multiple provisioned DNS registry objects.

The policy can comprises one or more of: domain name system security extensions (DNSSEC)-related policy, top level domain launch policy, redemption grace period policy, or domain lifecycle policy.

A non-transitory computer-readable storage medium having instructions which, when executed on a processor, perform a method for managing multiple provisioned domain name system (“DNS”) registry objects is disclosed. The method can comprise receiving, at a DNS registry, a multiple domain extensible provisioning protocol (“EPP”) command from a registrar on behalf of a registrant to perform an action for each provisioned DNS registry object of the multiple provisioned DNS registry objects; comparing the action with one or more allowable actions in a policy maintained by the registry; determining, by a processor, that the action is allowable based on the comparing; and performing, based on the determining, the action on each of the provisioned DNS registry objects in one transaction.

An apparatus is disclosed that comprises a processor and a memory communicatively coupled to the processor, the memory storing instructions which, when executed on the processor, perform a method for managing multiple provisioned domain name system (“DNS”) registry objects, the method comprising receiving, at a DNS registry, a multiple domain extensible provisioning protocol (“EPP”) command from a registrar on behalf of a registrant to perform an action for each provisioned DNS registry object of the multiple provisioned DNS registry objects; comparing the action with one or more allowable actions in a policy maintained by the registry; determining, by a processor, that the action is allowable based on the comparing; and performing, based on the determining, the action on each of the provisioned DNS registry objects in one transaction.

