SYSTEM AND METHOD FOR REGISTERING A DATA
RESOURCE IN A NETWORK
FIELD AND BACKGROUND OF THE INVENTION The present invention relates to a system and method for registering a data resource through a network, and in particular, to a system and method for enabling users to access the data resource through the Internet, an intranet or an extranet, without requiring the registration of a domain name for the data resource through a Domain Name registry such as NSI (Network Solutions Inc.) or ICANN (Internet Corporation for Assigned Names and Numbers). In the Internet, as well as extranets and intranets, communication between a computer site which hosts a data resource and the computer of a user may be performed according to the TCP/IP communication protocol. According to the v4 version of this protocol, for example, both the host computer and the user computer have an IP address, which is composed of four groups of numbers between 0 and 255, such as "200.184.23.111" for example. Each such IP address is unique, particularly with regard to communication through the Internet, such that a computer can be addressed according to this IP address for communication with other computers. Since an IP address is a long number and is somewhat difficult to remember, the DNS (Domain Name Service) system was invented, according to which each IP address can be linked to a fixed word name, which is easier to remember. An organization called Inter-NIC first attempted to order the DNS system for the Internet. The current organization derived from Inter-NIC, known as NSI, is the largest organization to register Domain names. However, other competing organizations have been initiated, also for registering Domain names.
The process for registering Domain names for each data resource, such as Web sites, FTP (file transfer protocol) sites for sending and receiving data through the FTP communication protocol and e-mail (electronic mail) address sites, has many strict rules. Therefore, individuals and organizations who wish to register Domain names must rely upon an organization such as NSI in order to register the Domain name. The requirement for such an organization also increases the cost for registering and maintaining the Domain name. Thus, such a Domain name system is difficult and cumbersome.
Furthermore, the choice of word (symbolic) names for Domain names is very limited (see the section entitled "Summary of the Invention" for a definition of this term). Many symbolic names have already been selected and registered, further narrowing the available choices. In addition, the current Domain name system is limited to symbolic names containing only the letters of the English alphabet, even though currently the majority of users of the Internet do not use English as their first language. Also, the structure of the Domain name must conform to the content of the data resource which is addressed by the Domain name. For example, commercial data resource sites, such as the Web site for a company, must feature a ".com" ending. Sites from different countries (outside the United States of America) also must have a particular ending, such as ".il" for sites from Israel and so forth. Thus, the symbolic names are limited by the current system. Various other obstacles exist for the user, particularly the private individual, who wishes to register a Domain name for a data resource, such as a Web site. First, the Domain name must be selected. Next, the user must locate a host, such as a hosting service for hosting the Web site, which may charge the user for such costs as a storage fee for storing the relevant data and even a traffic fee according to the number of access requests for the Web site. Once the Domain name has been selected and an IP address has been received from the host, then the registration process is started. Then , after the registration process has been initiated, there is no guarantee that the Domain name will be successfully registered. The various Domain name registries may fail to approve the symbolic name, for example. Such a system therefore presents a serious psychological and actual barrier for the individual user to be able to make a data resource available with a symbolic name.
Although various solutions have been proposed in an attempt to help users locate Web pages and other data resources more easily and in an automated manner, none of these solutions can solve the problems created by the Domain registry. For example, U.S. Patent No. 5,884,035 discloses a system for managing a virtual community of intranets. Various related patents include U.S. Patent No. 5,870,562, which discloses a method for using this system to access and publish information in a controlled manner. U.S. Patent No. 5,867,667 discloses a method for using this system to locate resources within the various connected intranets. U.S. Patent No. 5,867,665 discloses a domain communications server, which is used to register the external intranets. The system disclosed in these patents enables a first company to include the intranet of one or more outside companies within an extranet, in a secure manner. These external intranets are registered with a server connected to the intranet of the first company, such that at least a portion of the external intranet is accessible through the intranet of the first company. However, the system does not include any features for enabling a Web page to be accessed globally from any location on the Internet, and in fact is limited to a closed intranet/extranet system. Indeed, all of these patents require a valid registered domain name in order to use HTTP commands to retrieve information and/or execute a function according to an URL, for example.
PCT Application No. WO 98/26558 discloses a method for aiding a DNS server to translate symbolic (word-based) names into IP addresses. The translation process is sensitive to information accessible by a client which requests the translation, such that the same symbolic name requested by different clients with different associated information might be translated differently. However, this system does not bypass the current domain name registry system.
Therefore, none of these suggested solutions is able to overcome the two basic problems with the Domain registry, which include the inability to register IP addresses with different name structures and the limitations placed generally on the selection and use of symbolic names for data resources.
There is thus a need for, and it would be useful to have, a system and a method which would permit IP addresses to be named without any limitations of language, particular name or symbols, without requiring these IP addresses to be registered in a Domain registry.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, aspects and advantages will be better understood from the following detailed description of a preferred embodiment of the invention with reference to the drawings, wherein:
FIG. 1 is a schematic block diagram of a background art system;
FIG. 2 is a schematic block diagram of an exemplary overall system according to the present invention;
FIGS. 3A-3C are flowcharts of the client registration process according to the present invention; and
FIG. 4 is a flowchart of a method for accessing a data resource with the system of Figure 2 according to the present invention.
SUMMARY OF THE INVENTION The present invention is of a method and a system for providing symbolic (word) names for data resources for being accessed through a network, such as the Internet, an intranet or an extranet. These symbolic names do not need to be registered as a Domain name with a Domain registry such as NSI or any other such organization for registering Domain names. Instead, the symbolic names are held in a database connected to a server, which is able to serve the actual IP address to a requesting computer upon receipt of the associated symbolic name of the data resource. Thus, the process for obtaining and using a particular symbolic name is greatly simplified, as well as providing a simpler searching facility, as the symbolic name is held in an easily searchable database for faster retrieval, which enables global access.
According to the present invention, there is provided a system for providing an IP address for a data resource accessed through a network, the system comprising: (a) a host computer for serving the data resource, the host computer having the IP address and the host computer being connected to the network; (b) a server for storing the IP address and at least one identifying factor for the data resource, with the proviso that the at least one identifying factor is not a Domain name and that the server is not a DNS (Domain Name Server); and (c) a requesting software interface for requesting access to the data resource by sending the at least one identifying factor to the server, and if the at least one identifying factor is found, receiving the IP address corresponding to the at least one identifying factor, such that the requesting software interface accesses the data resource according to the IP address.
According to another embodiment of the present invention, there is provided a method for providing an IP address for a data resource accessed through a network without a Domain name and without a DNS (Domain Name Server), the data resource having at least one identifying factor, the method comprising the steps of: (a) providing a host computer for serving the data resource, the host computer having the IP address and the host computer being connected to the network; (b) providing a server for storing the IP address and the at least one identifying factor of the data resource, the server being connected to the network; (c) transmitting the IP address from the host computer to the server; (d) receiving a request for the IP address of the host computer by the server, the request including the at least one identifying factor; and (e) providing the IP address according to the at least one identifying factor by the server.
Hereinafter, the term "Domain registry" refers to any Domain Name registry such as NSI (formerly known as "InterNIC") or ICANN, or any other official or non-official organization, company or body for registering Domain names.
Hereinafter, the terms "symbolic name" or "word name" refer to a name which may optionally include any character, in any language, and in any form, and is specifically not limited to alphanumeric characters, but rather includes any character which is capable of display on a computer display device.
Hereinafter, the term "database" includes but is not limited to, any type of electronic storage facility for storing data according to any standard, which may optionally feature software, hardware or a combination thereof.
Hereinafter, the term "Web browser" refers to any software program which can display text, graphics, or both, from Web pages on World Wide Web sites. Hereinafter, the term "Web page" refers to any document written in a mark-up language including, but not limited to, HTML (hypertext mark-up language) or VRML (virtual reality modeling language), dynamic HTML, XML (extended mark-up language) or related computer languages thereof, as well as to any collection of such documents reachable through one specific Internet address or at one specific World Wide Web site, or any document obtainable through a particular URL (Uniform Resource Locator). Hereinafter, the term "Web site" refers to at least one Web page, and preferably a plurality of Web pages, virtually connected to form a coherent group. Hereinafter, the term "Web server" refers to a computer or other electronic device which is capable of serving at least one Web page to a Web browser.
Hereinafter, the term "applet" refers to a self-contained software module written in an applet language such as Java or constructed as an ActiveX™ control. Hereinafter, the term "network" refers to a connection between any two computers which permits the transmission of data.
Hereinafter, the phrase "display a Web page" includes all actions necessary to render at least a portion of the information on the Web page available to the computer user. As such, the phrase includes, but is not limited to, the static visual display of static graphical information, the audible production of audio information, the animated visual display of animation and the visual display of video stream data.
Hereinafter, the terms "computer user" and "user" both refer to the person who operates the Web browser or other GUI interface and navigates through the system of the present invention by operating a computer.
Hereinafter, the term "computer" refers to a combination of a particular computer hardware system and a particular software operating system. Examples of such hardware systems include those with any type of suitable data processor. Hereinafter, the term "computer" includes, but is not limited to, personal computers (PC) having an operating system such as DOS, Windows™, OS/2™ or Linux; Macintosh™ computers; computers having JAVA™-OS as the operating system; and graphical workstations such as the computers of Sun Microsystems™ and Silicon Graphics™, and other computers having some version of the UNIX operating system such as AIX™ or SOLARIS™ of Sun Microsystems™; a PalmPilot™, a PilotPC™, or any other handheld device; or any other known and available operating system. Hereinafter, the term "Windows™" includes but is not limited to Windows95™, Windows 3.x™ in which "x" is an integer such as "1", Windows NT™, Windows98™, Windows CE™ and any upgraded versions of these operating systems by Microsoft Inc. (Seattle, Washington, USA).
For the present invention, a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computer by which the software application is executed, and in particularly with the operating system of that computer. Examples of suitable programming languages include, but are not limited to, C, C++ and Java. Furthermore, the functions of the present invention, when described as a series of steps for a method, could be implemented as a series of software instructions for being operated by a data processor, such that the present invention could be implemented as software, firmware or hardware, or a combination thereof.
DETAILED DESCRIPTION OF THE INVENTION
The present invention is of a method and a system for providing symbolic (word) names for data resources for being accessed through a network, such as the Internet, an intranet or an extranet. These symbolic names do not need to be registered as a Domain name with a Domain registry such as NSI or any other such organization for registering Domain names. Instead, the symbolic names are held in a database connected to a server, which is able to serve the actual IP address to a requesting computer upon receipt of the associated symbolic name of the data resource. Thus, the process for obtaining and using a particular symbolic name is greatly simplified, as well as providing a simpler searching facility, as the symbolic name is held in an easily searchable database.
The system and method of the present invention have a number of advantages over the background art Domain registry system. In particular, the method and system of the present invention do not place any restrictions on the characters or symbols which can be used to name a data resource for accessing through the database. For example, a user may wish to use a symbolic name in a language other than English, or even in a language such as Hebrew, Arabic, Russian, Japanese or Chinese, which does not use the English alphabet. Currently, Domain registries and the DNS system cannot directly interpret domain names in a language other than English, such that a user may be able to create and serve a Web site in a language such as Chinese for example, but must then use a symbolic name in the English language. By contrast, the system and method of the present invention do not have any limitations as to language for the symbolic name.
Other restrictions on Domain names for the currently available registration system include the requirement for particular name structures according to the content and/or geographical location of the data resource. As previously described, the current system places different requirements on the Domain name if the data resource is for a commercial organization or if the name is registered in a particular country. By contrast, the system and method of the present invention do not place any such requirements on the structure of the symbolic name.
In addition, the method and system of the present invention do not have any requirement for a permanent IP address for the data resource, unlike the current Domain registries, as the IP address for a data resource may be temporary or permanent. One example of a temporary IP address is that given to an intermittent user of an ISP (Internet Service Provider), with a computer which receives a new temporary IP address each time that the computer is connected to the ISP, for example through a modem connected to the PSTN (public switched telephone network). This temporary IP address is registered with a database in the system of the present invention, each time that the computer reconnects to the ISP or otherwise receives a new IP address. Even users with permanent connections to the Internet may still use dynamic IP addresses. Thus, temporary IP addresses, such as those of home users, are also accommodated within the system and method of the present invention.
The principles and operation of a system and a method according to the present invention may be better understood with reference to the drawings and the accompanying description, it being understood that these drawings are given for illustrative purposes only and are not meant to be limiting.
Referring now to the drawings, Figure 1 is a schematic block diagram of a background art system. A background art system 10 features a data resource 12, such as a Web site, which is hosted by a background art server 14. Background art server 14 includes at least one computer, such that communication with background art server 14 is performed according to the IP address for background art server 14. Therefore, data resource 12 can be accessed according to the IP address for background art server 14. In order for data resource 12 to be accessible according to a Domain name, such a Domain name must currently be registered in a Domain name registry 16 in background art system 10. In order for other users to be able to locate the Domain name, and hence to be able to access data resource 12, the Domain name can optionally be registered in one or more search engines 18. Now data resource 12 may be located within a network 20, such as the Internet.
As noted previously, background art system 10 has a large number of significant disadvantages. For example, the Domain name registration process through Domain name registry 16 is cumbersome and awkward, particularly for the individual user. Currently, the Domain name must be in English at least for the purposes of registration. According to the background art, background art server 14 must have a permanent IP address, such that users with computers which receive temporary IP addresses cannot easily register a Domain name with such a computer as background art server 14. This places various users at a disadvantage, including home users with computers which are only intermittently connected to the Internet. Thus, background art system 10 has many drawbacks.
These drawbacks are overcome in the system of the present invention. Figure 2 is a schematic block diagram of an overall system according to the present invention. A system 22 features a user host computer 24 connected to a network, shown here as the Internet 26. It should be noted that system 22 could be used with substantially any type of network, as described in further detail below. The implementation of system 22 with Internet 26 is preferred but is not intending to be limiting in any way. User computer 24 features a data resource 28 for being served by user host computer 24. Data resource 28 could be substantially any type of resource data 30, combined with the appropriate resource software interface 32 for enabling resource data 30 to be served to another computer upon request.
As shown in Figure 2, system 22 also features a requesting user computer 34, which features a requesting software interface 36 for requesting and receiving data from a data resource such as data resource 28. Requesting software interface 36 is complementary in function to resource software interface 32, such that requesting software interface 36 must be able to communicate with resource software interface 32. For example, resource data 30 could be a Web page or other HTML or mark-up language, as previously described, such that resource software interface 32 would be an HTTP server for serving such mark-up language documents. HTTP servers are well known in the art for serving mark-up language documents, including HTML documents, applets and other Web page-related data. Indeed, HTTP servers are readily commercially available, for example Apache™ (Apache Digital Corp.) or the Personal Web Server (Microsoft Corp., USA), and are easily installed on computers such as user host computer 24.
Upon receiving an HTTP request for an HTML or other mark-up language document, or other related resource, through a designated port, the HTTP server sends the requested data, such as the Web page, to requesting software interface 36 of requesting user computer 34 as shown, which would be a Web browser for example. However, requesting user computer 34 must have the IP address of user host computer 24 in order to be able to send the request to the HTTP server. Furthermore, preferably the user could optionally provide a symbolic name for data resource 28 to requesting user computer 34 in order to be able to retrieve the data.
In order for requesting user computer 34 to be able to obtain the IP address according to a symbolic name, system 22 features a server 38, which is also connected to Internet 26. Server 38 features a database 40 which contains information about data resources such as data resource 28, as well as about the IP address of the computer hosting the data resource such as user host computer 24. Thus, server 38 is able to provide the IP address when a particular symbolic name is sent as a request from requesting software interface 36.
Preferably, database 40 holds all of the information concerning the IP addresses and symbolic (word) names of the data resources which are available. The phrase "symbolic name" refers to a non-numeric designation for a particular location within Internet 26. Furthermore, the symbolic name is an example of an identifying factor according to the present invention. Server 38 is able to resolve the symbolic names into IP addresses according to the information stored in database 40, preferably simply by using the symbolic name as a key to search through the stored IP addresses. Optionally and more preferably, the symbolic name is transformed into a hash according to a hashing algorithm, such that the hashed name is then used as a key to local the stored IP address in database 40. Thus, rather than requesting the resolution of a name from a DNS, requesting software interface 36 would request an IP address according to a symbolic name from server 38.
Also optionally and more preferably, the symbolic name is used as a key to locate the components of the Web page and for assembling the Web page on the fly. For example, the information related to each component, optionally including one or more graphic images and one or more documents written in a mark-up language, could be optionally stored in database 40, or optionally and more preferably could be stored in substantially any other database. In this case, for databases which are not database 40, and which therefore are not directly connected to server 38, a single IP address would not be stored, but only pointers to the location of the components. Server 38 would then serve the Web page. Most preferably, this option is invoked if host computer 24 is not connected to Internet 26.
One advantage of server 38 is that the symbolic name could be substantially any string of characters and/or symbols in substantially any language. For example, the symbolic name could be written in Chinese characters, or the non-English (or even non-Latin) alphabets of many different languages such as Russian, Hebrew, Arabic and so forth. Such a possibility cannot be directly handled in background art system 10, which requires an additional software layer in order to handle such names, and even then ultimately requires the symbolic names to be translated into English before registration of the domain name is possible. By contrast, server 38 is able to directly transform such a symbolic name into an IP address, without any intervening software layer and without requiring the translation of the symbolic name into English before the transformation of the symbolic name into the IP address.
Preferably, server 38 features a server application 42 and user host computer 24 features a client 44. Client 44 is preferably a software application which is operated by user host computer 24 for detecting the IP address of user host computer 24 and sending this information to server application 42 of server 38 for storage in database 40. The operation of server application 42 and client 44 is described in greater detail below with regard to Figures 3A-3C. Figure 3 A is a flowchart of an exemplary method for registering and maintaining a new client according to the present invention. In step 1, the user installs a resource software interface on the host computer, which is some type of server software application which is known in the art. For example, the server software application could be a HTTP application as previously described.
In step 2, the user registers the personal user details to the server application, which is operated by the server computer. Such details may optionally and preferably include the name of the user, as well as such information as an e-mail (electronic mail) address for the user; the geographical location of the user; the gender of the user; hobbies and interests of the user; and so forth. Other optional but preferred information includes, but is not limited to, demographic information such as number of children and/or other family members, salary and/or profession of the user, and location of the server for the site (country, city or state).
The user preferably interacts with the client according to the present invention for such registration, which more preferably provides a GUI (graphical user interface) for interaction with the user. In step 3, the user then receives a unique identifier through the client from the server.
In step 4, the user then uses the client to enter the details of the site (data resource) to be registered with the server. This process is described in greater detail with regard to Figure 3B below. Briefly, various details of the site could optionally and preferably include a symbolic name according to which the data resource could be accessed, and the type of data resource and resource application server. For example, the data resource could be a Web page or pages, and the resource application server could be a HTTP server.
In step 5, the user receives a unique identifier for the data resource through the client. Steps 1-5 are preferably performed once in their entirety, although optionally one or more of these steps could be performed again if certain details about the data resource and/or the user had changed.
In step 6, the user host computer connects to the Internet or other network. In step 7, the client detects the IP address of the user host computer, as described in greater detail below. Step 7 is more preferably performed each time that the user host computer is connected to the network. In step 8, the IP address is sent to the server application for storage in the database associated with the server. The IP address of the data resource is now preferably retrievable from the server according to either the user identifier, the identifier of the data resource, the symbolic name for the data resource, or a combination thereof, as described in greater detail below.
The process of obtaining the IP address of the user host computer by the client is well known in the art. One example of such a process, described herein only for the purposes of illustration and without any intention of being limiting, is as follows. For example, for the Windows™ operating systems of Microsoft Inc. (USA), a DLL (dynamic linked library) called "Winsock.dll" holds functions to fetch an IP address for the user host computer, which could easily be used and implemented by one of ordinary skill in the art. These functions are called each time the client begins to operate and each time that the temporary IP address changes, for example when the user host computer is connected to the Internet or other network. Preferably, the client invokes these functions periodically, in order to determine whether the IP address has changed. Each time that the IP address changes, the client sends the new IP address to the server. The server then stores the updated IP address in the associated database.
Figure 3B is a flowchart, showing the preferred steps involved in registering the details of the site with the server according to the present invention. In step 1 , the user enters the profile of the site (data resource). For example, preferably the profile includes such information as the type of server software application which serves the data, such as an HTTP server. In addition, the profile preferably includes information about the content of the data in the data resource. For example, if the data resource is a Web page about a hobby of the user, such information is preferably included in the site profile. In step 2, the user preferably enters the site name (symbolic name) for the data resource in any language, and more preferably with any desired combination of characters. This represents a significant advantage over the background art systems, which would ultimately require a symbolic name in English only.
In step 3, the user enters information about the relative location of the user host computer on the network. For example, if the user host computer has a permanent IP address, then preferably this permanent IP address is entered to the server. Otherwise, a relative location of the user host computer on the Internet is entered.
Figure 3C is a flowchart of the preferred steps for registering a database site as the data resource. As previously described, the components of the Web page may be accessed separately for assembling the Web page on the fly. For example, the information related to each component, optionally including one or more graphic images and one or more documents written in a mark-up language, could be optionally stored in any database, as previously described. Most preferably, this option is invoked if the host computer is not connected to Internet at the time when the access request is made. An exemplary but preferred method for registering such components for preparing the Web page on the fly is as follows.
In step 1 , the user selects one or more components for forming the Web page. These may be provided by the user, or alternatively and preferably, may be selected by the user from a database of previously prepared, provided components. In step 2, the information concerning each component, including the storage location for that component, is preferably stored in the same database for storing the details of the user, as previously described. In step 3, information which connects the identifying factor, such as the symbolic name and/or the user details, to the stored components is also stored in the database. In this situation, a substitute Web page is provided to a requesting user if an initial Web page is not available. The substitute Web page may optionally only be provided if the Web server for the initial Web page cannot provide the initial Web page for some reason. As previously described, the components for forming the substitute Web page may be selected from a provided set of components by a selecting user, or else may be provided by a providing user. In any case, the substitute Web page allows a user of the system of the present invention to always have a Web page available for access, even when the host computer of the user is "off-line" (not connected to the Internet), for example. Figure 4 is a flowchart of an exemplary method for accessing a data resource by a requesting user computer according to the present invention. In step 1, the requesting user enters some type of identifying factor for identifying the desired data resource to a Web browser, for example, or other requesting resource application software. The identifying factor is then sent to the server in step 2. For example, the identifying factor optionally and preferably includes the user identifier, the identifier of the data resource, the symbolic name for the data resource, or a combination thereof.
In step 3, the server searches through the associated database for an IP address which matches the identifying factor. One of three possibilities may then be implemented. In step 4a, if the identifying factor cannot be found in the database, then preferably the server sends the identifying factor to a regular DNS for resolution, as is known in the art.
In step 4b, if the identifying factor is found in the database and the user host computer associated with that identifying factor is active, then preferably the server sends the IP address for the user host computer to the requesting user computer. In step 4c, if the identifying factor is found in the database but alternatively the user host computer associated with that identifying factor is not active, then preferably the server retrieves the components of the Web page for assembly. In step 5c, the server returns the assembled Web page to the requesting user computer.
As described previously, the system of the present invention is also useful for operation with a corporate or other organizational network, such as an intranet. For example, the Internet could replaced and/or supplemented by an organizational network to which all of the other computers are connected. For example, the organizational network could be a corporate intranet.
Although the system and method of the present invention are described above with regard to serving Web pages as data resources, it is understood that other such data resources can also be served through the present invention. For example, the system and method of the present invention could also be employed in order to provide FTP (file transfer protocol) services. Similarly to Web pages, obtaining a file or other data resource through FTP requires an IP address. Therefore, the system and method of the present invention could also be used to provide an address for accessing an FTP server.
In addition, the system and method of the present invention could also be used in order to provide e-mail services. Currently, many providers of e- mail services, such as ISP providers, limit the amount of physical space which a particular e-mail message or set of messages can occupy. By contrast, if e-mail messages are provided according to the system and method of the present invention, the messages are exchanged directly from one user computer to another, such that the physical space limitation is largely lifted.
It will be appreciated that the above descriptions are intended only to serve as examples, and that many other embodiments are possible within the spirit and the scope of the present invention.