The subject invention relates generally to purchase, set up and configuration of Domain Name Services (DNS) for networks and servers, and more particularly to systems and methods that facilitate purchase, remote configuration and maintenance of DNS providers that host a domain name, via a structured messaging format and protocol.
Increasing advances in computer technology (e.g., microprocessor speed, memory capacity, data transfer bandwidth, software functionality, and the like) have generally contributed to increased computer application in various industries. Ever more powerful server systems, which are often configured as an array of servers, are often provided to service requests originating from external sources such as the World Wide Web, for example.
At the same time, the rapid growth of the Internet and Internet based applications has created a multitude of benefits for businesses, such as ease of marketing and sales to clients. In such environments, a Domain Name Service (DNS) provider allows potential clients to key a URL (Uniform Resource Locator) or domain name into the address line of their browser and access a corresponding server of the business.
In general, a Domain Name Service (DNS) includes distributed set of servers primarily used by internet applications to lookup the network address of a given internet server. For example, an internet application that requires to look up a server name initially can send a DNS query to a local Domain Name server (LDNS), which may be located at the same site. The LDNS can also maintain a cache of resource records, for example, mappings between server names and IP addresses. To facilitate mnemonic identification of destination computer systems, a Domain Name Service (DNS) can typically translate a unique textual name for a destination computer system into the IP address for that computer. The textual name is called a “domain name.”
As such, the basic function of DNS is to provide a distributed database that maps between human-readable host names and IP addresses. The DNS name space can be hierarchically organized so that subdomains can be locally administered. The root of the hierarchy can be centrally administered and served from a collection of root servers. In addition, sub domains can be delegated to other servers that are authoritative for their portion of the name space, and such process can be repeated recursively.
An example of a domain name is “www.Microsoft.com”, wherein, “www” indicates World-Wide Web, “Microsoft” indicates an example of a company name, .com indicates commercial (as opposed to .gov for government entities, .edu for education entities, org for non-profit organizations, and the like). Likewise, progressing from right to left, the host name can be structured from general to very specific. For example, “com” can typically be referred to as a top-level domain name, “Microsoft” is sometimes referred to as a second-level domain name, and “www” can designate the server that handles Internet requests, and is sometimes referred to as a third-level domain name.
An example of a URL is “http://www.Microsoft.com/1.gif”, where the “http://” indicates the type of resource and the last field, “1.gif”, indicates a file name, but may also be a Web page, executable application, or other computer readable or executable file located at the URL that the user wishes to access.
When the user enters the URL into a browser, the browser can make a determination as to whether it knows a corresponding IP (Internet Protocol) address. For example, a corresponding IP address for “Microsoft.com” may be 207.46.130.108. The browser knows the corresponding IP address if that host name has been visited recently and the address is still in a short-term host name address table in the browser.
At the same time, generally, required steps for an internet presence includes purchasing a domain name, configuration of the DNS services, certification purchase procedures, and the like. Such numerous steps can typically include cumbersome procedures, such as manual configuration, which can be susceptible to errors. In addition, some users (e.g., small business owners) may be unfamiliar with such procedures and may require expert help that can be time consuming and increase users' set up costs.
For example, before a small business can initiate a presence electronically on the Internet and the World Wide Web, such a business is often required to purchase a domain name and register with a DNS provider to host such domain. To do so, a representative of the small business can be required to initiate communication (e.g., via telephone, fax, mail and the like) with a representative of the DNS provider in order to establish an account therewith. During such communication, the DNS representative is provided with general information (e.g., name, address, business type and the like) and a form of payment (e.g., a credit card number). In return, the DNS provider can supply the user with a username and password that can be employed to authenticate the user and authorize presence of the domain name on the Internet. Hence, the different presentation of the plan options offered by the various DNS providers can be confusing to a user and require cumber some registration steps.
Moreover, each provider of DNS can require loading and implementing specialized proprietary software/procedures that can further complicate matters, and impede a user's ability to accurately compare plans offered by DNS providers. Such disparate configuration tools can thwart users from employing opportunities provided by the internet to their full potentials. For example, the DNS provider can send, via a postal or other delivery service, proprietary software (e.g., certification software) that may need to be installed on a computer system prior to hosting the domain name by the DNS provider. Any such associated software and/or hardware must be correctly installed on the computer system, in order for the user of small business to enjoy benefits of a domain name and thereby presence on the Internet. Thus, such a user is generally required to wait until such software and hardware is received. Thereafter, the user must correctly install the associated software and/or hardware at the computer system to enable Internet presence.
If correctly installed, a user can configure inbound traffic, and interact with the DNS provider. In order to support secure web traffic, the user must also obtain proper certificate provisions via third parties for the domain name of the user. Obtaining such certificate can further add to the complexities of establishing presence on the internet.
Thus and as explained above, users wishing to enjoy presence of their domain names on the Internet can typically be subjected to: non-uniform presentations in a multi-vendor environment, cumber some contacting requirements, waiting periods for appropriate access software and/or hardware to be delivered or installed.
Therefore, there is a need to overcome the aforementioned exemplary deficiencies associated with conventional systems and devices.
The following presents a simplified summary of the invention in order to provide a basic understanding of one or more aspects of the invention. This summary is not an extensive overview of the invention. It is intended to neither identify key or critical elements of the invention, nor to delineate the scope of the subject invention. Rather, the sole purpose of this summary is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented hereinafter.
The subject invention provides for systems and methods that facilitate hosting of a domain name and presence of users on the internet, by using a schema that operates between an end user machine and a plurality of Domain Name Service (DNS) providers, wherein the schema employs; a purchasing component, and a configuration component. The purchasing component can further include various sub components that characterize the DNS providers' offered term of sale for service agreement of hosting the domain name, such as; billing, plan selection, renewal, promotional calls, and the like. Also, a status query can be performed as part of the purchase to verify that the user is in fact entitled to the domain name for which hosting is required. Likewise, the configuration component can include various sub components that configure the mail exchange records (MX records), the address records (A records), the canonical or reference name records (CNAME records) and the like, to a user's designated machines or IP addresses, to manage in-bound traffic to the user's domain name.
In accordance with an aspect of the subject invention, a plurality of third party DNS providers can register and receive a standardized set of messages for hosting a domain name(s) obtained by a user. Such standard messages can provide a user with a uniform presentation of various plans offered by the plurality of the DNS providers, wherein the user can then select a desired plan therefrom for hosting the domain name. The standardized messages can be for example in a form of XML (Extensible Markup Language).
The invention thus facilitates initial server configurations (e.g., presence of small businesses on the internet), and on-going maintenance, wherein employing multi vendor components are simplified by using a unified and common message structure. Such unified and common message structure can be used by a plurality of end user networked devices such as stand alone routers, window servers, and the like when interacting with third party DNS providers.
According to a methodology of the subject invention, once a user has selected a domain name, the purchasing component can automatically query the provider(s) for terms of the service plan to host such domain name. The terms can include; duration for hosting the domain name, price, terms of payments and the like. Subsequently, a response to such query can be received by the end user machine. A billing query can automatically then be prepared and submitted to the DNS provider(s). Next, the DNS provider(s) can provide a billing response that outlines the service agreement terms for hosting such domain name. The received response can then be displayed to a user, via a uniform presentation such that a user enjoys a similar experience, regardless of which DNS provider the user interacts with. Next, the user can elect a desired plan to initiate internet presence.
To the accomplishment of the foregoing and related ends, the invention, then, comprises the features hereinafter fully described. The following description and the annexed drawings set forth in detail certain illustrative aspects of the invention. However, these aspects are indicative of but a few of the various ways in which the principles of the invention may be employed. Other aspects, advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.
FIGS. 4(a) & 4(b) illustrate a sequence of query steps performed between the end user machine and the DNS provider in accordance with an aspect of the subject invention.
Appendix A presented infra provides one particular exemplary set of schema in accordance with an aspect of the subject invention—this appendix is to be considered part of this specification describing the invention.
The subject invention is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the subject invention. It may be evident, however, that the subject invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the subject invention.
As used in this application, the terms “component,” “handler,” “model,” “system,” and the like are intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. Also, these components can execute from various computer readable media having various data structures stored thereon. The components can communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
The subject invention provides for a standardized messaging schema that facilitates hosting of a domain name, and presence of users on the internet, by using a well defined protocol to interact with a plurality of Domain Name Service (DNS) providers, via employing; a purchasing component, and a configuration component. Such a messaging schema can further provide for a uniform presentation of various hosting plans offered by a plurality Domain Name Service (DNS) providers, and thus a user can enjoys a similar experience, regardless of which DNS provider the user interacts with.
Referring initially to
The end user machine 110 can be a personal computer, work stations personal digital assistant, and the like. In addition, the end user machine 110 can also be an Internet Connection Sharing Device (ICSD) that facilitates sharing a connection 112 from a network 114 to the Internet 116. As such, the end user machine 110 can be a computer executing a process that facilitates time-sharing or frequency sharing of the Internet connection 112, for example. The connection 112 can be, for example, a modem connection, a DSL connection and/or a wireless connection. The network 114 can be, for example, an Ethernet LAN, a token ring LAN, or other LAN. Although the invention is primarily described within the context of an end user machine 110 that communicates with a Domain Name Service (DNS) provider 120, it is to be appreciated that the network 114 can also include a Wide Area Network (WAN). Moreover, the network 114 can include hardwired and/or optical and/or wireless connection paths. The connection 112 can be shared among a plurality of devices connected to the network 114. Such devices can include, personal computers, workstations, televisions and telephones, for example. Sharing of the connection 112 facilitates reducing the cost of one or more of the LAN devices, and can reduce the complexity of managing the network 114 and optimizes the throughput of the connection 112.
Likewise, the DNS provider 120 can provide access to a distributed Internet directory service (not shown), while translating between domain names specified by the user with its IP addresses, and further controlling in bound traffic (e.g., Internet email delivery). Typically, most Internet services rely on DNS to work, and if DNS fails, web sites cannot be located and email delivery stalls.
Once the DNS 120 provider registers to receive the standardized messages of the subject invention, a user can select such provider to offer plans for hosting the domain name selected by the user. Each plan can have a plurality of terms and conditions such as, duration, price and the like associated therewith. Upon selection of a plan by the user, the DNS provider can then configure the DNS server (not shown) at the back end.
Referring now to
An exemplary schema that can define an expression of shared vocabulary between the end user machine 208 and DNS provider 210 is presented at the end of this document, as part of appendix A. Such exemplary schema can for example be in form of an Extensible Markup Language (XML) that can define and describe a class of XML documents using schema constructs of an XML schema language. These schema constructs can be used to constrain and document the meaning, usage, and relationships of data types, elements and their content, attributes and their values, entities and their contents, and notations, as used in XML documents. Thus, in general any computer system that can access an XML schema can process XML documents in accordance with the XML schema. Furthermore, typically any computer system that can access an XML schema can compose or modify XML documents for use by other computer systems that can also access the XML schema. A schema can be utilized to define virtually any data type including logical, binary, octal, decimal, hexadecimal, integer, floating-point, character, character string, user-defined data types, and combinations of these data types used to defined data structures. XML elements and attributes can be defined to represent data types that are defined by a schema.
In a related aspect of the subject invention, the purchasing component can further include a status query component 305 as illustrated in
The DNS provider 404 can register and receive the standardized set of messages for hosting a domain name(s) obtained by a user. For example, at 414 the purchasing component of the standardized schema of the subject invention can query the DNS provider(s), which are registered for receiving the standardized messages for a purchase query of the various plan offerings. Next, and at 416 a purchase query response identifying the various plans and terms of the service is communicated via the standardized set of messages of the subject invention back to the end user machine. Subsequently and at 416, a billing query is transferred to the DNS provider 404. A response can then be prepared and sent back to the end user machine regarding various billing requirements for hosting the domain name. The received response can then be displayed to a user, via a uniform presentation such that a user enjoys a similar experience, regardless of which DNS provider the user interacts with. The user can then select a desired plan for purchase, with a purchase request/response pair 444(a) & 444(b) exchanged between the DNS provider 404 and the end user machine(s) 402. Likewise,
Referring now to
Typically, the basic function of the DNS provider 650 is to provide a distributed data base that maps between human readable host names and IP addresses as well as mail routing information. As such, a DNS name space can be hierarchically organized, so that sub-domains can be locally administered, wherein for any group of computers partaking of the DNS naming scheme there can be a single definitive list of DNS names and associated IP addresses. The group of computers included in such list is called a zone. A zone could be a top level national domain, a business and the like. Within a zone DNS service for subsidiary zones can be delegated along with a subsidiary domain, and the computer that maintains the master list for a zone is said to have authority for that zone, e.g., will be the primary name server for that zone, there will also be secondaries for that zone. When any process needs to determine an IP address given a DNS address it calls upon the local host to resolve the address. This can be done in a variety of ways.
For example, when a client searching for a business related to the end user of the subject invention enters a designated domain name (e.g., enduserbusiness.com), which is being hosted by the DNS provider, a local server associated with the client is queried for such name. If such server does not know about such domain name, it will then ask the root server. The root server can then refer such query to the “.com” server, which in turn refers to the enduserbusinnes.com, which responds with an address. An exemplary XML schema for the configuration component, (as well as for the purchasing component described supra) is presented as part of appendix A—infra.
While the exemplary method is illustrated and described herein as a series of blocks representative of various events and/or acts, the present invention is not limited by the illustrated ordering of such blocks. For instance, some acts or events may occur in different orders and/or concurrently with other acts or events, apart from the ordering illustrated herein, in accordance with the invention. In addition, not all illustrated blocks, events or acts, may be required to implement a methodology in accordance with the present invention. Moreover, it will be appreciated that the exemplary method and other methods according to the invention may be implemented in association with the method illustrated and described herein, as well as in association with other systems and apparatus not illustrated or described.
Similarly, vendor 940 can manage certificate authority and authenticating technologies such as Secure Sockets Layer (SSL) encryption with the domain name web site to verify validity (e.g., the website is trusted). Such technologies can verify a web site via ensuring the website is associated with a valid (e.g., signed) web site certificate. Generally, the web site certificate can provide web site identification, such as the web site's publisher, and can be employed to match a web site publisher with the certificate. When a match is successful, the web client is typically provided access to the web site. Accordingly, a user enjoys a similar experience, regardless of which DNS provider the user interacts with.
Referring now to
The system bus can be any of several types of bus structure including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of commercially available bus architectures. The system memory may include read only memory (ROM) 1024 and random access memory (RAM) 1025. A basic input/output system (BIOS), containing the basic routines that help to transfer information between elements within the computer 1020, such as during start-up, is stored in ROM 1024.
The computer 1020 further includes a hard disk drive 1027, a magnetic disk drive 1028, e.g., to read from or write to a removable disk 1029, and an optical disk drive 1030, e.g., for reading from or writing to a CD-ROM disk 1031 or to read from or write to other optical media. The hard disk drive 1027, magnetic disk drive 1028, and optical disk drive 1030 are connected to the system bus 1023 by a hard disk drive interface 1032, a magnetic disk drive interface 1033, and an optical drive interface 1034, respectively. The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions, etc. for the computer 1020. Although the description of computer-readable media above refers to a hard disk, a removable magnetic disk and a CD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, and the like, can also be used in the exemplary operating environment, and further that any such media may contain computer-executable instructions for performing the methods of the subject invention.
A number of program modules can be stored in the drives and RAM 1025, including an operating system 1035, one or more application programs 1036, other program modules 1037, and program data 1038. The operating system 1035 in the illustrated computer can be substantially any commercially available operating system.
A user can enter commands and information into the computer 1020 through a keyboard 1040 and a pointing device, such as a mouse 1042. Other input devices (not shown) can include a microphone, a joystick, a game pad, a satellite dish, a scanner, or the like. These and other input devices are often connected to the processing unit 1021 through a serial port interface 1046 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB). A monitor 1047 or other type of display device is also connected to the system bus 1023 via an interface, such as a video adapter 1048. In addition to the monitor, computers typically include other peripheral output devices (not shown), such as speakers and printers.
The computer 1020 can operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 1049. The remote computer 1049 may be a workstation, a server computer, a router, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 1020, although only a memory storage device 1050 is illustrated in
When employed in a LAN networking environment, the computer 1020 can be connected to the local network 1051 through a network interface or adapter 1053. When utilized in a WAN networking environment, the computer 1020 generally can include a modem 1054, and/or is connected to a communications server on the LAN, and/or has other means for establishing communications over the wide area network 1052, such as the Internet. The modem 1054, which can be internal or external, can be connected to the system bus 1023 via the serial port interface 1046. In a networked environment, program modules depicted relative to the computer 1020, or portions thereof, can be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers can be employed.
In accordance with the practices of persons skilled in the art of computer programming, the subject invention has been described with reference to acts and symbolic representations of operations that are performed by a computer, such as the computer 1020, unless otherwise indicated. Such acts and operations are sometimes referred to as being computer-executed. It will be appreciated that the acts and symbolically represented operations include the manipulation by the processing unit 1021 of electrical signals representing data bits which causes a resulting transformation or reduction of the electrical signal representation, and the maintenance of data bits at memory locations in the memory system (including the system memory 1022, hard drive 1027, floppy disks 1028, and CD-ROM 1031) to thereby reconfigure or otherwise alter the computer system's operation, as well as other processing of signals. The memory locations wherein such data bits are maintained are physical locations that have particular electrical, magnetic, or optical properties corresponding to the data bits.
Referring now to
A sample XML schema that provides an example for the various components according to the subject invention is provided infra, as part of appendix A, and this appendix is to be considered part of this specification describing the invention.
Moreover, although the invention has been shown and described with respect to certain illustrated aspects, it will be appreciated that equivalent alterations and modifications will occur to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In particular regard to the various functions performed by the above described components (assemblies, devices, circuits, systems, etc.), the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., that is functionally equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the invention. In this regard, it will also be recognized that the invention includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the invention. Furthermore, to the extent that the terms “includes”, “including”, “has”, “having”, and variants thereof are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term “comprising.”