Internet Draft L. Huang ZST University Expires January 2009 July 20, 2008 Distributed Universal Resource Name Resolution based on Distributed DNS Status of this Memo Distribution of this memo is unlimited. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This file is a proposal for Universal Resource Name resolution based on P2P DNS. Huang, Lican Expires January 2009 FORMFEED[Page 1] Internet Draft Universal Resource Name Resolution July 20, 2008 Table of Contents 1. Introduction ................................................2 2. Convention for Universal Resource Name ......................2 3. Universal Resource Name Resolution framework.................3 3.1 Universal Resource Name Resolution.......................4 3.1.1 SQL-like Query language ...........................4 3.1.2 SQL-like Maintanence Language .....................6 3.2 Hierarchical Management of global-hier-part .............6 4. References ..................................................7 4.1. Normative References ..................................7 4.2. Informative References ................................7 1. Introduction This file is a proposal for P2P based Universal Resource Name resolution based on Internet draft --Distributed DNS Implementation in IpV6[lican]. In Internet, every resource needs an uniform name. There are RFCs URI[RFC2396] ,URL[RFC1738] and URN[RFC2611]. However, when there are more and more computers connected in Internet and more and more users use Internet, resources in Internet will be more and more. In this large, decentralized, distributed resource sharing environments today or in the future, the efficient discovery of static and/or dynamic resources (the dynamic resources are meant both in dynamic change of attributes or dynamic exist in the network) is a big challenge. The resource resolution based on Client/Server is not suitable for huge amount of resources. Here we argue that the resources can be classified as hierarchical Domains. It is nature way to use DNS to resolute resources. Although DNS implementation today may be scalable for translating Domain Names into IP addresses, it may encounter problem if using it to resolute huge amount resources today and even more amount resources in the future. The framework proposed here based on Distributed DNS Implementation in IpV6[lican] is suitable for the huge amount of resources' resolution 2. Convention for Universal Resource Name The convention for resource name is formatted as global unique hierarchical domains like domain names in DNS, and a local name to specify the local attributes of resource name. The format of convention of resource names is as follows syntax: Huang, Lican Expires January 2009 FORMFEED[Page 2] Internet Draft Universal Resource Name Resolution July 20, 2008 functionscheme ":"global-hier-part"/"local-name The functionscheme is type or function or schema for the resource; the global-hier-part is the global hierarchical name similar as domain name and the local-name is the local name for the resource. for example, blog:Britney.popular.music/storyofBritney This is a resource name for a blog article about the story of Britney Spears song:Britney.popular.music/Lonely This is a resource name for the song Lonely by Britney Spears. Britney Spears is classified as Britney.popular.music. 3. Universal Resource Name Resolution framework We treat global-hier-part in the invention of resource name as domain name. We also use the similar concept of DNS zone for DNS server to manage the domain names. For example. if a DNS server's zone is Science.Biology.Bioinformatics, then this DNS server manages all resource information under the catalogue of Science.Biology.Bioinformatics. In other case, if a DNS server's zone is Science.Biology, then this DNS server manages all resource information under the catalogue of Science.Biology, which may includes sub domains of BioInformatics , botany, zoology,etc. Resource names are published in their authoritative DNS server which keeps local domain RRs[RFC1035]. The extension RRs in DNS server contains the parts of the functionscheme and local-part of conventions of resource name. The local-part of resource can be a URL for the other repository which contains the resource metadata and/or other information. For example, the location information for blog:Britney.popular.music/storyofBritney is stored on the server of Britney.popular.music. Every DNS server is the same but some coexist in more than one layer. Every DNS Server maintains a route table and RRs related to its authoritative domain zone. Route Tables in servers are the same as [lican]. The DNS servers join virtual groups in VIRGO network as their Huang, Lican Expires January 2009 FORMFEED[Page 3] Internet Draft Universal Resource Name Resolution July 20, 2008 authoritative domain names. When a DNS server joins, its route table will add some other nodes' entities, and some other nodes will update their route table by adding the joining node's entity. The detail of the algorithm can be found in [lican]. 3.1 Universal Resource Name Resolution For the Universal Resource Name Resolution, we first locate the domain name server as[lican]. For example, to resolute resource "blog:Britney.popular.music/storyofBritney", we first locate the server Britney.popular.music, then in the server Britney.popular.music, we check its extension RRs for the resource blog:Britney.popular.music/storyofBritney for its location, etc. The query process is as the following: User program sends QUERY MESSAGE, which contains SQL-like query statenment described in section3.1.1, to Local Name Server. If Local Name Server is the authoritative Domain Name Server, then the Local Name Server will check its extension RRs to resolve the request resource. Otherwise, The Local Name Server will route to the Foreign Name Server which is closer to the authoritative Domain Name Server by calculating theoretical hops. Then the Foreign Name Server routes to the even closer Foreign Domain Name Server. Repeat this process, until the authoritative Domain Name Server has been found. Finally, the authoritative Domain Name Server resolves request resource by check its extension RR record, and responses to the Local Name Server. The latter will forward the response to the User Program. The details of the algorithm can be found [lican]. 3.1.1 SQL-like Query Language query::=SELECT{SCHEMA|SUBDOMAIN|ENTITY|ATTRIBUTE|*|expr[[AS]c_alias] {,expr[[AS]c_alias]...}} FROM domainref [WHERE search_condition]; Here, SCHEMA is for querying functionschema for a Domain; SUBDOMAIN is for querying subdomain for a given super Domain; ENTITY is for querying all entities for a given search condition ; ATTRIBUTE is for querying all attributes for a given search condition ;expr is for the property queried, which may be a set of properties; [AS] c_alias is the alias name for expr; domainref is for Domain Name, in which we can use * to indicate all sub domains; search_condition is similar to SQL statement in Database. Huang, Lican Expires January 2009 FORMFEED[Page 4] Internet Draft Universal Resource Name Resolution July 20, 2008 In the following, there are several examples of query operations. Operation 1 The form "?:global-hier-part" is to query all functionschema of the global-hier-part domain. For example, "?:Britney.popular.music" queries all functionschema of Britney.popular.music. We can use the following Statement: SELECT SCHEMA FROM Britney.popular.music; Operation 2 The form "functionschema:global-hier-part/?" is to query all resources with the functionschema in the global-hier-parts domain. For example, "song:Britney.popular.music/?" queries all songs by Britney Spears. We can use the following Statement: SELECT * FROM Britney.popular.music WHERE SCHEMA ='song'; Operation 3 Suppose that global-hier-part can be expressed as leafDomain.superDomain. The form "functionschema:?.superDomain/" is to query all leafDomains. This is possible because of the hierarchical structure and the protocols. For example, "song:?.popular.music" queries all popular singers. We can use the following Statement: SELECT SUBDOMAIN FROM *.popular.music WHERE SCHEMA ='song'; Operation 4 The form "functionscheme :global-hier-part/local-name" is to query specific resource. For example, "song:Britney.popular.music/Lonely" queries the information of the song-Lonely. We can use the following Statement: SELECT Lonely FROM Britney.popular.music WHERE SCHEMA ='song'; Operation 5 The form "functionscheme :global-hier-part/expression" is to query the resources which satisfy the conditions of the expression indicated. Expression can be scope, maximum, minimum, where condition like SQL statements. For example, "song:Britney.popular.music/where year between 2006 and 2007" queries Huang, Lican Expires January 2009 FORMFEED[Page 5] Internet Draft Universal Resource Name Resolution July 20, 2008 all songs by Britney Spears which are produced between 2006 and 2007. We can use the following Statement: SELECT * FROM Britney.popular.music WHERE SCHEMA ='song'AND Year >=2006 AND Year <=2007; Another example, "hardware:cluster.computer.IT/max(cpu)" queries a cluster with maximum cpu numbers. We can use the following Statement: SELECT max(cpu) FROM cluster.computer.IT WHERE SCHEMA ='hardware'; 3.1.2 SQL-like Maintanence Language The resources are maintained by the SQL-like maintenance language. Insert statement registers new resources into the domain. Delete statement drops the resource registration from the domain. Update statement changes the information registered in the domain. The formats of these statements are as the following: DELETE FROM domainref [WHERE search_condition]; INSERT INTO domainref[(entity.attribute{, entity.attribute...})] {VALUES (expr | NULL {,expr |NULL...}) ; UPDATE domainref SET entity.attribute = expr |NULL{, entity.attribute = expr|NULL ...}; For example, the following statement deletes all songs by Britney Spears which are produced between 2006 and 2007. DELETE FROM Britney.popular.music WHERE SCHEMA ='song'AND year > 2006 AND year < 2007; 3.2 Hierarchical Management of global-hier-part To be a unique resource name for global scope, The Internet Corporation for Assigned Names and Numbers (ICANN) may govern the root of global-hier-part in Universal Resource Name organized by the users automatically. For example, in www.Madonna.popular.music, music Huang, Lican Expires January 2009 FORMFEED[Page 6] Internet Draft Universal Resource Name Resolution July 20, 2008 is managed by music virtual organization, which reports to ICANN to approve, popular.music is controlled by popular music virtual organization,which reports to music virtual organization to approve. The request of www.Madonna.popular.music is sent to virtual organization of popular music to be approved. In www.Beethoven.classic.music, classic.music is controlled by classic music virtual organization, which reports to music virtual organization to approve. The request of www.Beethoven.classic.music is managed by virtual organization of classic music. 4. References 4.1. Normative References [RFC1035] Mockapetris, P., "DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION",Specification," RFC1035, USC/Information Sciences Institute,November, 1987. 4.2. Informative References [RFC2396] T. Berners-Lee,R. Fielding,U.C. Irvine,L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, August 1998 [RFC1738] T. Berners-Lee, L. Masinter,M. McCahill, "Uniform Resource Locators (URL)",RFC 1738, December 1994 [RFC2611] L. Daigle,D. van Gulik,R. Iannella,P. Faltstrom, "URN Namespace Definition Mechanisms",RFC 2611, June 1999 [Lican] Lican Huang, "draft-licanhuang-dnsop-distributeddns-04.txt" (work in progress) , June 2008. [LicanICCS] Lican Huang, "Resource Discovery Based on VIRGO P2P Distributed DNS Framework", ICCS 2008, LNCS 5103 pp:501-509 Huang, Lican Expires January 2009 FORMFEED[Page 7] Internet Draft Universal Resource Name Resolution July 20, 2008 Authors' Addresses Lican Huang Current Address: Institute of Network & Distributed Computing, Zhejiang Sci_Tech University, Hangzhou, P.R.China EMail: licanhuang@zist.edu.cn; huang_lican@yahoo.co.uk Huang, Lican Expires January 2009 FORMFEED[Page 8] Internet Draft Universal Resource Name Resolution July 20, 2008 Full Copyright Statement Copyright (C) The IETF Trust (2008). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Huang, Lican Expires January 2009 FORMFEED[Page 9]