WO2000000904A1 - Method and apparatus for providing a connect-on-demand server in a data processing network - Google Patents

Method and apparatus for providing a connect-on-demand server in a data processing network Download PDF

Info

Publication number
WO2000000904A1
WO2000000904A1 PCT/US1999/013613 US9913613W WO0000904A1 WO 2000000904 A1 WO2000000904 A1 WO 2000000904A1 US 9913613 W US9913613 W US 9913613W WO 0000904 A1 WO0000904 A1 WO 0000904A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
network
connect
session
response
Prior art date
Application number
PCT/US1999/013613
Other languages
French (fr)
Inventor
Rodolfo PEÑA
Ernesto Frutos
Original Assignee
Encanto Networks
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Encanto Networks filed Critical Encanto Networks
Priority to AU45725/99A priority Critical patent/AU4572599A/en
Publication of WO2000000904A1 publication Critical patent/WO2000000904A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the invention relates to the field of computer networking. More specifically, the invention relates to servers which provide services to clients or other systems in a data processing network.
  • Computer networking generally involves a collection of computers, terminals, connecting/switching/routing devices, etc., which may be interconnected through various types of communication media to allow data communication between various data processing devices which may have access to the network.
  • LANs local area networks
  • WANs wide area networks
  • the Internet is an example of a WAN.
  • the interconnectivity in computer networks may be provided by one or combination of telephone lines, various types of wiring, wireless media (e.g., microwaves, cellular, etc.), satellite, etc.
  • a client refers to various types of computers, terminals, portable, and/or other data processing system which may request a service from another data processing system which provides the service, and which is referred to as a server.
  • a client may be a desktop computer which may connect to a computer network via a modem or other data communication interface to request information, for example, for a particular Web page, from a server.
  • request may be routed from an Internet Service Provider (ISP) to the appropriate server having the address indicated by the request.
  • ISP Internet Service Provider
  • the server may then provide the Web page and/or other services to the requesting client system.
  • clients "connect" to a network on a need basis (e.g., by dialing-in via a telephone line or other interface to the network) to make a request.
  • servers are generally connected to the network in order to process client requests at any time.
  • FIG 1 is a diagram of a typical computer network in which data may be exchanged between various data processing systems.
  • a number of client computer system are coupled together through the Internet 102.
  • Internet often refers to a network of networks.
  • Such networks may use a variety of protocols to regulate the exchange of information, such as TCP/IP, ATM, etc.
  • Users typically obtain access to the Internet through a client data processing system, such as the client computer systems 104, 106, 120, and 122.
  • client data processing system such as the client computer systems 104, 106, 120, and 122.
  • Such Internet access is typically granted to client computer systems by Internet service providers (ISPs).
  • ISPs Internet service providers
  • Access to the Internet may facilitate transfer of information (e.g., email, data files, programs, media, etc.) between two or more digital processing systems, such as the client computer systems 104, 106, 120, and 122. Moreover, such client computer systems may obtain information from a server 118, which may be accessed at any time by a number of systems.
  • information e.g., email, data files, programs, media, etc.
  • client computer systems such as the client computer systems 104 and 106
  • client computer systems may be connected to a LAN bus 108, which provides Internet interconnectivity through a gateway 110, which in turn is coupled to the ISP 112.
  • the client computer systems 120 and 122 which may not be coupled to the Internet at all times, may, however, establish a more direct connection to the Internet at any time through the ISPs 114 and 116 (e.g., by dialing-in through a modem).
  • the server 118 is typically always connected to the Internet to service access requests by client computer systems. Such requests may involve information from a Web page, Internet commerce, downloading of programs, etc.
  • servers which provide such information/services to clients generally need to be continually connected (e.g., through a telephone line or other communication medium) to a network such as the Internet, so that the servers may service a request by a client at any time.
  • a need for servers to be continually connected to the network(s) entails relatively substantial cost, for example, as may be associated with (metered) telephone company circuit charges.
  • some businesses may not be able to maintain their own servers, and thus, may not be able to take advantage of the services and business tools that such systems may provide.
  • the present invention provides methods and apparatuses for providing a connect-on-demand server.
  • a server remains disconnected from a computer network until a request is made to access the server by a device coupled to the computer network.
  • the server is caused to establish a connection with the computer network.
  • Figure 1 is a diagram of a typical computer network in which data may be exchanged between various data processing systems.
  • Figure 2A is a diagram of a computer network for providing a connect-on- demand server, according to one embodiment of the invention.
  • Figure 2B is a diagram of a computer network for providing a connect-on- demand server, according to one embodiment of the invention.
  • FIG. 3 is a block diagram of a data processing system which may be utilized in a data communication network, according to one embodiment of the invention.
  • Figure 4 is a flow diagram of a method for providing a connect-on-demand server, according to one embodiment of the invention.
  • Figure 5 is a flow diagram of a method for caching information from a connect- on-demand server, according to one embodiment of the invention.
  • Figure 6 is a flow diagram of a method for selectively flushing information associated with a connect-on-demand server, according to one embodiment of the invention.
  • Figure 7 is a flow diagram of a method for reverse address-name mapping, according to one embodiment of the invention.
  • the present invention provides apparatuses and methods for providing a connect-on-demand server, i.e., a server that establishes a connection to a data communication network in response to another device requesting service therefrom.
  • a connect-on-demand server i.e., a server that establishes a connection to a data communication network in response to another device requesting service therefrom.
  • FIG. 2A is a diagram of a computer network for providing a connect-on- demand server, according to one embodiment of the invention.
  • a network device(s) 200 is coupled to the Internet 102.
  • the network device 200 in one embodiment of the invention, represents a multi-purpose server for facilitating data communication with a connect-on-demand server 218 (and/or other connect-on-demand servers) in response to a request issued, for example, by a client data processing system 216.
  • the network device 200 represents a number of systems, which may include one or more servers, for facilitating data communication with the connect-on-demand server 218 (and/or other connect-on- demand servers) in response to a request issued, for example, by the client data processing system 216.
  • the network device 200 may represent a single computer system (e.g., a server) or a distributed system, which may span a LAN or WAN, and include several devices, each for performing one or more various operations to facilitate data communication with a connect-on-demand server, according to one or a combination of the techniques of the present invention, for example, as described below.
  • the network device 200 includes a bus 202, which represents one or a combination of various types of media for providing coupling for data/signal exchange between various mechanisms or devices. As shown, a number of mechanisms are coupled to the bus 202, including a tickling mechanism 204, an access mechanism 206, a caching mechanism 208, a routing mechanism 210, an addressing mechanism 212, and a data communication interface 214. Each of the mechanisms may represent hardware, software, or a combination thereof. Furthermore, one or more of the mechanisms may be integrated into one system, such as a server.
  • FIG 4 is a flow diagram of a method for providing a connect-on-demand server, according to one embodiment of the invention.
  • a client such as the client data processing system 216 of Figure 2 A, issues a request to access information from a connect-on-demand server, such as the connect-on-demand server 218.
  • the access request is associated with a name that, in turn, is associated with the connect-on-demand server 214, such as "host.encanto.com.”
  • the client system may request a Web page from the connect-on-demand server 214, which may be assigned the text name, "host.encanto.com.”
  • the client data processing system 216 may connect to the Internet (e.g., through an ISP, LAN gateway, etc.), wherein the request is routed according to known protocols, such as BGP, IGRP, RIP, etc.
  • a network device determines that the connect-on-demand server 218 is currently not in a connected state (i.e., the connect-on-demand server is not on-line— i.e., coupled to the network device, Internet, etc.). For example, an associated domain name system (DNS) server or other device may not contain a valid or current IP address for the connect-on-demand server, thereby indicating that the connect-on-demand server is not in a connected state.
  • the client request is temporarily resolved with the IP address of a caching device which provides information previously cached from the connect-on-demand server to the client until data communication is established between the client and the connect-on-demand server.
  • DNS domain name system
  • a device coupled to the network may store a status record, which may be accessed in response to the client request, and which indicates the status of the connect-on-demand server as being on-line or off-line.
  • a network device may poll the connect-on-demand server, and depending on a response (or non-response), determine that the connect-on-demand server is not in a connected state.
  • Other known techniques for locating devices in a network may be utilized in various embodiments of the invention to determine whether the connect-on-demand server is in a connected state.
  • the network device may represent one or more mechanisms and/or systems for providing data communication between the connect-on-demand server and one or more other systems.
  • Such mechanisms/systems may be integrated into one system (e.g., a stand-alone server) or distributed between a number of systems, such as shown in and described below with reference to Figure 2B.
  • connect-on-demand server 218 may be in a connected state—for example, if the connect-on-demand server is currently in communication with another client system—known operations may be performed to establish data communication between the connect-on-demand server and the requesting client.
  • known operations may be performed by the network device 200 and/or other devices, including, for example, a remote authentication dial-in user service or RADIUS server, a domain name system or DNS server, a router, etc.
  • RADIUS server remote authentication dial-in user service
  • DNS server domain name system
  • router etc.
  • address-name resolution may be performed, and a resolution response issued to the requesting client system to establish data communication therewith.
  • the network device in response to determining that the connect-on-demand server toward which the client request is directed is not in a connected state, the network device, and in particular, the tickling mechanism 204, will "tickle" the connect-on- demand server. Tickling involves causing the connect-on-demand server, which is in a disconnected state, to establish a data communication link with a network at a point-of- presence (POP).
  • POP point-of- presence
  • the POP may be provided by an ISP.
  • the POP may or may not be part of the network device 200.
  • a data communication interface 214 which may include one or more modems, may represent the POP.
  • the tickling mechanism 204 may represent a remote device or be part of a LAN or WAN associated with the network device 200.
  • the tickling mechanism 204 is associated with DNS mechanism to tickle the connect-on-demand server to establish a connection with the network by transmitting a signal to the connect-on-demand server, for example, to cause the connect-on-demand server to dial-in to its POP.
  • the tickling operation involves a DNS server calling the connect-on-demand server, allowing a predetermined number of rings to occur or time to pass, and then terminating the call.
  • the connect-on- demand server calls its POP, which may include the data communication interface 214, to establish a data communication link with the Internet 102 or other network or system.
  • tickling may provide a relatively low-cost and flexible method for allowing a remote client to access a remote connect-on-demand server via any ISP, network connection, etc.
  • tickling may be utilized in alternative embodiments to induce an off-line connect-on-demand server to establish a connection with a network, in response to a client system coupled to the network issuing a request to access the connect-on-demand server.
  • the connect-on-demand server is paged, and in response to a page, the connect-on-demand server establishes a connection with a network.
  • tickling may be performed by one or a combination of various types of mechanisms/systems associated with a data communication network.
  • the tickling mechanism 204 may not necessarily involve a DNS server or may involve a DNS mechanism (e.g., a DNS server(s)) in combination with other mechanisms.
  • a network device may directly establish a connection with the connect-on-demand server, and thus, tickling may not be performed.
  • the network device in response to a client issuing a request to access a connect-on-demand server, the network device itself may establish a connection with the connect-on-demand server, for example, by completing a call to the connect-on- demand server via a wired or wireless modem.
  • a caching device which may be the caching mechanism 208, provides information previously cached from the connect-on-demand server 214 to the requesting client.
  • the information is provided by the caching mechanism until establishment of a data communication link between the connect-on-demand server and the requesting client is completed.
  • the caching mechanism may provide a Web page(s) obtained previously from the connect-on-demand server 218 and stored by the caching mechanism to be provided from the caching mechanism to the client, while the process of establishing a data communication link between the connect-on-demand server and client is being completed.
  • the requesting client may receive information associated with the connect-on-demand server from the caching device, and the client may not "know" that a connection has not yet been established with the connect-on-demand server. Thus, information may be provided to the requesting client with a relatively small time delay following a request by the client to access an off-line connect-on-demand server.
  • the caching device ceases to provide information to the client, and the connect-on-demand server takes over the process of servicing the client.
  • a caching mechanism is not utilized.
  • information other than that obtained cached from the connect-on- demand server may be provided to the client during a time interval that the connect-on- demand server is establishing a connection with the network, and in particular, the client.
  • Such information may include advertising, news, media (e.g., audio, video), and/or other information.
  • no information is provided to the client in response to the request until the connect-on-demand server is in communication with the client.
  • the network device performs authentication of the connect-on- demand server, and assigns a dynamic address to the connect-on demand server.
  • the addressing mechanism 212 of the network device 200 which may be associated with a DNS server in one embodiment, may assign the dynamic address and the access mechanism 206 may perform authentication (e.g., request and verify login, password, etc. from the connect-on-demand server).
  • authentication is performed by one or more RADIUS servers.
  • the connect-on-demand server may provide the RADIUS server 202 with one or a combination of a login, password, RADIUS server identification (ID), etc.
  • the network device 200 and/or other POP assigns a dynamic (i.e., temporary) IP address to the connect-on-demand server which is valid for the current session (i.e., duration that connect-on-demand server is in a connected state/on-line).
  • the POP or other entity may also initiate recordation of a billing or other accounting record for a session in which the connect-on-demand server is on-line.
  • Such a record may be identified by a login, and include information such as session start time, session end time, voluntary/valid or non-voluntary/invalid session termination, etc.
  • the dynamic IP address assigned to the connect-on-demand server is resolved with further requests that may be issued by the client (or other clients requesting to access the connect-on-demand server during the session), and data communication is established between the client and the connect-on-demand server.
  • the dynamic IP address is provided to a DNS server, which in turn resolves the request issued by the client with the dynamic address, and provides the client with a resolution message.
  • the client system will be provided with a data communication link with the connect-on-demand server, and known IP addressing techniques may be performed henceforth.
  • any other requests for the connect-on-demand server from other client systems may be resolved via known DNS or other addressing processing techniques using the dynamic IP address assigned to the connect-on-demand server for that session.
  • the network device when the session is ended and the connect- on-demand server disconnects from its POP and the network (e.g., the Internet), the network device, e.g., the addressing mechanism 212, will indicate that the connect-on- demand server is in a disconnected state and the dynamic IP address may be flushed therefrom.
  • the connect-on-demand server and/or a device coupled to the network may indicate the ending of a session and/or instruct a flush of information associated with the session.
  • the access mechanism 206, a RADIUS server, or other mechanism/device may also create or update an accounting and/or other records.
  • in response to detecting that the connect-on-demand server has gone off-line for any number of reasons e.g.
  • a dynamic address is not necessarily assigned to the connect-on-demand server, and instead, the connect-on-demand may be assigned a static or permanent address, which remains the same for every session. Thus, some information (e.g., a session accounting record, a static IP address if used, etc.) may not be flushed in response to an end of a session in which the connect-on-demand server is connected to the network device.
  • a dynamic TCP IP tunnel one which is used temporarily and typically only utilized for one session— is provided to the connect- on-demand server for transferring information with the requesting client.
  • a tunnel which sometimes refers to a component of a virtual private network (VPN), represents a relatively secure path for transferring data in a network of computers and other data processing systems.
  • a tunnel represents a distinct, specified route for exchanging data.
  • tunnels represent encrypted connections for providing data communication.
  • tunnels may provide a guaranteed level of bandwidth, as well as improved security for data communication. Since in one embodiment of the invention the tunnel is dynamic, a different tunnel may be assigned for each session that the connect-on- demand server is on-line. As such, greater flexibility and cost-savings may be provided relative to static tunnels. However, it will be appreciated that the invention, in alternative embodiments, may use static tunnels or may not even use tunnels.
  • FIG. 2B is a diagram of a computer network for providing a connect-on- demand server, according to one embodiment of the invention.
  • a bus 234 couples a remote authentication dial-in user service or RADIUS server 222, a domain name system or DNS server 224, each of which may represent one or more servers, a router 226, a caching device 228, and modems 230.
  • the router 236 is further coupled to the Internet 102 to facilitate exchange of information over the Internet.
  • the DNS server 224 which may represent one or more DNS servers, is typically operable to resolve names to addresses. For example, a text name, such as "host.encanto.com" may be resolved into a numerical address corresponding thereto, such as 542.45.28.2. As such, the DNS server 224 typically stores a database or f ⁇ le(s) of names and corresponding addresses for resolving access requests and information transfer in computer networks. In one embodiment of the invention, the DNS server 224 provides dynamic (i.e., non-permanent) addresses to a connect-on demand server, such as the connect-on-demand servers 218 and 232 shown in Figure 2B.
  • the RADIUS server 222 may perform a number of different functions which are known by those having skill in the art. For example, the RADIUS server 222 may perform authentication of the connect-on-demand servers 218 and 232, track session start-end times for the connect-on-demand servers 218 and 232, perform various other accounting and access authorization operations, etc.
  • one network device e.g., the network device 200
  • one network device is operable to perform addressing, authentication, routing, and/or other functions, such as those described with reference to Figures 4-7, for a connect-on-demand server.
  • various functions corresponding to the method(s) described below may be distributed among various devices/systems (e.g., a DNS server, router, RADIUS server, Web server, etc.), which may include, but are not necessarily limited to, one or more of the devices shown in and described with reference to Figure 2B.
  • Figure 3 is a block diagram of a data processing system which may be utilized in a data communication network, according to one embodiment of the invention.
  • the data processing system 300 shown in Figure 3 may represent a client computer system, a connect-on-demand server, a caching server, a RADIUS server, and/or other device, including those shown in Figures 1 and 2B.
  • the data processing system may also represent the network device 200 shown in Figure 2A or one or more of the mechanisms shown therein.
  • a data processing system 300 includes a bus 316, which couples a processor 302, a storage area 304, a data communication interface 306, and an input/output (I/O) controller 308.
  • I/O input/output
  • the digital processing system 300 may be interfaced to other systems through a data communication interface 306, which may include a modem, network (e.g., Ethernet) card, etc.).
  • the data communication interface 306 may be an analog modem, an ISDN modem, a cable modem, a token ring interface, a satellite transmission interface, a wireless interface, or other interface(s) for providing a data communication link between two or more data processing systems.
  • the data processing system 300 includes a processor 302, which may represent one or more processors and may include one or more conventional types of such processors, such as RISC, CISC, or other microprocessor.
  • the storage area 304 represents one or a combination of devices/media for storing data.
  • the storage area 304 may include a dynamic random access memory (DRAM), static RAM (SRAM), a high-speed cache, Flash memory, magnetic disk, optical storage (e.g., CD ROM, DVD, etc.), etc.
  • the storage area 304 typically stores data and/or machine- executable instructions (e.g., routines/programs).
  • the storage area 304 may store a routine for tickling a connect-on-demand server.
  • the storage area 304 may store a routine to dial-in to a POP in response to a predetermined event, such as a call or other signal to cause the connect-on-demand server to establish a connection with the POP.
  • a predetermined event such as a call or other signal to cause the connect-on-demand server to establish a connection with the POP.
  • the storage area 304 may represent various types and combinations of storage devices/media, and may store data and/or instructions, which when processed by a processor, cause the processor to perform one or a combination of the methods of the present invention.
  • the I/O controller 308 is shown coupled to a display 310, a keyboard 312, and a mouse/trackball 314. However, the system may include other types of I/O devices in lieu of or in combination with those shown in Figure 3.
  • the data processing system 300 represents only one example of a system, which may have various configurations and architectures, and which may be employed with the present invention. As such, the system 300 may include various other devices or may not include some of those shown in Figure 3.
  • a portable communication and data processing system which may employ a cellular telephone and/or paging capabilities, may be considered a data processing system which may be used with the present invention.
  • Figure 5 is a flow diagram of a method for caching information from a connect- on-demand server, according to one embodiment of the invention.
  • a connection is established between a connect-on-demand server and a caching mechanism. Establishment of the connection may be performed according one or more of the methods described above, for example, with reference to Figures 2 A, 2B and 4.
  • the caching mechanism or other device causes the connect-on-demand server to establish a connection with its POP, which may include, for example, the network device 200, to provide data communication between the caching mechanism and the connect-on-demand server.
  • the connect-on-demand server may also connect to its POP without inducement from a network device. For example, the first time a connect-on-demand server connects to its POP for registration or other purposes, a connection may also be established with the caching mechanism.
  • the connect-on-demand server may establish connection with the caching mechanism (or visa versa). For instance, at a predetermined time or time interval(s), such a connection may be established.
  • a connection in response to information being updated in the connect-on-demand server (e.g., a Web page or other information is added, updated, etc.), a connection may be established between the connect-on-demand server and the caching mechanism to also update information therein.
  • the caching mechanism obtains and stores new/updated information from the connect-on-demand server. For example, if the caching mechanism currently does not have stored therein any information from the connect-on-demand server, several or all files may be downloaded from the connect-on-demand server to the caching mechanism. On the other hand, the caching mechanism may determine that only a select number of new files and/or updated versions of previously cached files should be downloaded.
  • the data communication between the caching mechanism and the connect-on-demand server is terminated.
  • the connection is terminated in response to the caching mechanism having obtained and stored new and/or updated information from the connect-on-demand server.
  • Figure 6 is a flow diagram of a method for selectively flushing information associated with a connect-on-demand server, according to one embodiment of the invention.
  • a connect-on-demand server establishes data communication with a network device(s) to begin a session.
  • One or a combination of the above-described techniques may be performed for establishing data communication with the connect-on- demand server.
  • information associated with the session is stored and the session is ended.
  • the information may be associated with a route used by a caching mechanism to provide cached information to a client; a dynamic IP address assigned to the connect-on-demand server and/or other name or addressing records, which may be dynamic; an accounting record associated with the session, which record, for example, may include information related to connection and disconnection of the connect-on-demand server (e.g., session start-end time, valid connection/disconnection, etc.); tunnel information for the session; and/or a routing table entry for the session.
  • an access mechanism for the connect-on-demand server may provide an indication to one or more systems/mechanisms that the session has been terminated and the connect-on-demand server has gone/is going off-line.
  • the connect-on-demand server itself provides an indication to its POP, which may be associated with the network device(s), an ISP, or other system, to indicate that the connect-on-demand server is going off-line and to instruct a flush, as described below with reference to block 606.
  • At block 604 in response to termination of the session (e.g., the connect-on- demand server becomes off-line/disconnected from the network connection device and an indication of the same is detected by the network device(s)), at least a portion of the information associated with the session is selectively flushed from one or more mechanisms of the network device.
  • termination of the session e.g., the connect-on- demand server becomes off-line/disconnected from the network connection device and an indication of the same is detected by the network device(s)
  • the information associated with the session is selectively flushed from one or more mechanisms of the network device.
  • a caching mechanism may flush one or more files/records associated with the connect-on-demand server. Flushing of the caching mechanism may be performed, for example, in response to a predetermined criteria. For example, age of a file cached by the caching mechanism may be one predetermined criteria, such that if a file (e.g., a Web page) from the connect-on-demand server has not been updated in a predefined period of time, the file is flushed from the caching mechanism. As such, the caching mechanism may be able to selectively prevent old or stale information from being stored. As such, storage space may be conserved.
  • a predetermined criteria For example, age of a file cached by the caching mechanism may be one predetermined criteria, such that if a file (e.g., a Web page) from the connect-on-demand server has not been updated in a predefined period of time, the file is flushed from the caching mechanism.
  • the caching mechanism may be able to selectively prevent old or s
  • the caching mechanism may flush certain files associated with the session to prevent corrupted or incomplete information from being stored therein.
  • the caching mechanism may flush route information associated with the caching mechanism providing information to a requesting client during a time interval that the connect-on- demand server is establishing data communication to begin a session.
  • other devices may selectively flush information associated with the connect-on-demand server or a particular session, for example, in response to ending of the session.
  • an addressing mechanism e.g., a DNS server
  • a dynamic IP address may flush the dynamic IP address upon disconnection of the connect-on-demand server, and a new dynamic IP address may be assigned for each subsequent session wherein the connect- on-demand server establishes a connection to the network.
  • a routing mechanism may flush a route table entry associated with the session, and which may have been utilized for establishing data communication between the connect-on-demand server, the caching mechanism, and/or a requesting client.
  • a name-address pointer record, tunnel information, etc. may be flushed from one or more mechanisms in response to the connect-on-demand server terminating data communication with the network.
  • the connect-on-demand server stores an executable routine for providing selective flushing of information associated with a session.
  • the routine may be stored at the operating system level for the connect-on-demand server and/or other program levels.
  • the routine when executed by a processor of the connect-on-demand server, causes the connect-on-demand server to obtain an address (e.g., a dynamic IP address) assigned to the connect-on-demand server for a session. This may be performed during or after PPP negotiations with its POP when initially attempting to establish a connection with a network.
  • the connect-on-demand server may then notify a particular network/device(s) of this address.
  • the routine also causes the connect-on-demand server to periodically send status messages to a specific monitoring server or set of devices, which status messages indicate its on-line/off-line status.
  • a status message is not received by the monitoring device(s) in a predetermined time period, it will be assumed that the connect-on-demand server is off-line, and information associated with the session (e.g., dynamic address, route information, etc.) may be selectively flushed from one or more devices coupled to the network in response thereto.
  • the connect-on-demand server may transmit an off-line message prior to disconnecting from the network, in response to which information about the session is flushed from one or more devices.
  • the monitoring device(s) may send a message to one or more mechanisms to cause a flush therefrom.
  • the monitoring device includes a dynamic DNS server which stores an executable routine to monitor status messages and to take appropriate actions (e.g., flushing/storing dynamic information, such as address, tunnel, route, etc.) in response to the status messages or in response to not receiving a status message.
  • the monitoring device may poll the connect-on-demand server to obtain status information therefrom.
  • FIG. 7 is a flow diagram of a method for performing reverse name-address mapping, according to one embodiment of the invention.
  • a DNS server receives an address resolution request from a client system at block 702.
  • the address resolution request is typically associated with a name, such as the text name, "host.encanto.com,” for which an address is to be determined.
  • the name is associated with a connect-on-demand server.
  • the DNS server resolves the name (e.g., host.encanto.com) into an address and provides the address to the client.
  • name e.g., host.encanto.com
  • the client uses the address to determine an authoritative system for the network portion of the address. Typically, a request is made to the network that is indicated by the address.
  • an authoritative server e.g., a DNS server, a root server, or other system replies to the request of the client at block 706, indicating that it is the authoritative server.
  • the authoritative server maps an address (e.g., the address provided by the DNS server at block 704) to a name (e.g., host.encanto.com), and provides the name to the client.
  • the client determines whether the name associated with the address resolution request of block 702 matches the name provided by the authoritative server at block 708.

Abstract

Methods and apparatuses for providing a connect-on-demand server (218). A server (218) remains disconnected from a computer network (200) until a request is made to access the server (218) by a device (216) coupled to the computer network (200). In response to the request, the server (218) is caused to establish a connection with the computer network (200).

Description

METHOD AND APPARATUS FOR PROVIDING A CONNECT-ON-DEMAND
SERVER IN A DATA PROCESSING NETWORK
BACKGROUND OF THE INVENTION Field of the invention:
The invention relates to the field of computer networking. More specifically, the invention relates to servers which provide services to clients or other systems in a data processing network.
Background information:
Computer networking generally involves a collection of computers, terminals, connecting/switching/routing devices, etc., which may be interconnected through various types of communication media to allow data communication between various data processing devices which may have access to the network. For example, local area networks (LANs) are typically limited to a relatively small geographical area, such as an office, university, etc., wherein a number of data processing devices are hard- wired and/or accessible via a telephone or similar type of communication medium. In contrast, wide area networks (WANs) span relatively larger areas, and may include a number of interconnected LANs and data processing devices. The Internet is an example of a WAN. The interconnectivity in computer networks may be provided by one or combination of telephone lines, various types of wiring, wireless media (e.g., microwaves, cellular, etc.), satellite, etc.
One fundamental relationship in computer networks is that which exists between clients and servers. In general, a client refers to various types of computers, terminals, portable, and/or other data processing system which may request a service from another data processing system which provides the service, and which is referred to as a server. For example, a client may be a desktop computer which may connect to a computer network via a modem or other data communication interface to request information, for example, for a particular Web page, from a server. Such a request may be routed from an Internet Service Provider (ISP) to the appropriate server having the address indicated by the request. The server may then provide the Web page and/or other services to the requesting client system. Typically, clients "connect" to a network on a need basis (e.g., by dialing-in via a telephone line or other interface to the network) to make a request. On the other hand, servers are generally connected to the network in order to process client requests at any time.
Figure 1 is a diagram of a typical computer network in which data may be exchanged between various data processing systems. As shown in Figure 1, a number of client computer system are coupled together through the Internet 102. It will be appreciated that the term "Internet" often refers to a network of networks. Such networks may use a variety of protocols to regulate the exchange of information, such as TCP/IP, ATM, etc. Users typically obtain access to the Internet through a client data processing system, such as the client computer systems 104, 106, 120, and 122. Such Internet access is typically granted to client computer systems by Internet service providers (ISPs). Access to the Internet may facilitate transfer of information (e.g., email, data files, programs, media, etc.) between two or more digital processing systems, such as the client computer systems 104, 106, 120, and 122. Moreover, such client computer systems may obtain information from a server 118, which may be accessed at any time by a number of systems.
As shown in Figure 1, client computer systems, such as the client computer systems 104 and 106, may be connected to a LAN bus 108, which provides Internet interconnectivity through a gateway 110, which in turn is coupled to the ISP 112. On the other hand, the client computer systems 120 and 122, which may not be coupled to the Internet at all times, may, however, establish a more direct connection to the Internet at any time through the ISPs 114 and 116 (e.g., by dialing-in through a modem). In contrast to client computer systems, which typically establish a connection to the Internet on a need-basis, the server 118 is typically always connected to the Internet to service access requests by client computer systems. Such requests may involve information from a Web page, Internet commerce, downloading of programs, etc.
As the number of clients accessing the Internet has grown, the client-server relationship has provided a relatively significant business tool. In particular, many businesses utilize servers to promote their products, conduct Internet access, release company information, advertise, provide advertising space for others, etc. However, as mentioned above, servers which provide such information/services to clients generally need to be continually connected (e.g., through a telephone line or other communication medium) to a network such as the Internet, so that the servers may service a request by a client at any time. Unfortunately, such a need for servers to be continually connected to the network(s) entails relatively substantial cost, for example, as may be associated with (metered) telephone company circuit charges. As a result, some businesses may not be able to maintain their own servers, and thus, may not be able to take advantage of the services and business tools that such systems may provide.
Thus, what is needed is a system and method for providing a relatively low cost server that does not suffer from the above-mentioned and/or other limitations of conventional servers for use in a data processing network.
SUMMARY OF THE INVENTION The present invention provides methods and apparatuses for providing a connect-on-demand server. In one embodiment of the invention, a server remains disconnected from a computer network until a request is made to access the server by a device coupled to the computer network. In response to the request, the server is caused to establish a connection with the computer network.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a diagram of a typical computer network in which data may be exchanged between various data processing systems.
Figure 2A is a diagram of a computer network for providing a connect-on- demand server, according to one embodiment of the invention.
Figure 2B is a diagram of a computer network for providing a connect-on- demand server, according to one embodiment of the invention.
Figure 3 is a block diagram of a data processing system which may be utilized in a data communication network, according to one embodiment of the invention.
Figure 4 is a flow diagram of a method for providing a connect-on-demand server, according to one embodiment of the invention.
Figure 5 is a flow diagram of a method for caching information from a connect- on-demand server, according to one embodiment of the invention. Figure 6 is a flow diagram of a method for selectively flushing information associated with a connect-on-demand server, according to one embodiment of the invention.
Figure 7 is a flow diagram of a method for reverse address-name mapping, according to one embodiment of the invention.
DETAILED DESCRIPTION
The present invention provides apparatuses and methods for providing a connect-on-demand server, i.e., a server that establishes a connection to a data communication network in response to another device requesting service therefrom.
In the following description, numerous specific details are set forth to provide a thorough understanding of the invention. However, it is understood that the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the invention.
Figure 2A is a diagram of a computer network for providing a connect-on- demand server, according to one embodiment of the invention. As shown in Figure 2A, a network device(s) 200 is coupled to the Internet 102. The network device 200, in one embodiment of the invention, represents a multi-purpose server for facilitating data communication with a connect-on-demand server 218 (and/or other connect-on-demand servers) in response to a request issued, for example, by a client data processing system 216. Alternatively, in another embodiment of the invention, the network device 200 represents a number of systems, which may include one or more servers, for facilitating data communication with the connect-on-demand server 218 (and/or other connect-on- demand servers) in response to a request issued, for example, by the client data processing system 216. As such, the network device 200 may represent a single computer system (e.g., a server) or a distributed system, which may span a LAN or WAN, and include several devices, each for performing one or more various operations to facilitate data communication with a connect-on-demand server, according to one or a combination of the techniques of the present invention, for example, as described below. The network device 200 includes a bus 202, which represents one or a combination of various types of media for providing coupling for data/signal exchange between various mechanisms or devices. As shown, a number of mechanisms are coupled to the bus 202, including a tickling mechanism 204, an access mechanism 206, a caching mechanism 208, a routing mechanism 210, an addressing mechanism 212, and a data communication interface 214. Each of the mechanisms may represent hardware, software, or a combination thereof. Furthermore, one or more of the mechanisms may be integrated into one system, such as a server.
Operation of the system shown in Figure 2A, according to one embodiment of the invention, is described below with reference to a method shown in Figure 4.
Figure 4 is a flow diagram of a method for providing a connect-on-demand server, according to one embodiment of the invention. At block 402, a client, such as the client data processing system 216 of Figure 2 A, issues a request to access information from a connect-on-demand server, such as the connect-on-demand server 218. In one embodiment, the access request is associated with a name that, in turn, is associated with the connect-on-demand server 214, such as "host.encanto.com." For example, the client system may request a Web page from the connect-on-demand server 214, which may be assigned the text name, "host.encanto.com." As shown in Figure 2A, the client data processing system 216 may connect to the Internet (e.g., through an ISP, LAN gateway, etc.), wherein the request is routed according to known protocols, such as BGP, IGRP, RIP, etc.
At block 404, a network device, such as the network device 200, determines that the connect-on-demand server 218 is currently not in a connected state (i.e., the connect-on-demand server is not on-line— i.e., coupled to the network device, Internet, etc.). For example, an associated domain name system (DNS) server or other device may not contain a valid or current IP address for the connect-on-demand server, thereby indicating that the connect-on-demand server is not in a connected state. In one embodiment, the client request is temporarily resolved with the IP address of a caching device which provides information previously cached from the connect-on-demand server to the client until data communication is established between the client and the connect-on-demand server.
Several methods may also be utlized to determine whether the connect-on- demand server is in a connected state. For example, in one embodiment, a device coupled to the network may store a status record, which may be accessed in response to the client request, and which indicates the status of the connect-on-demand server as being on-line or off-line. In another embodiment, a network device may poll the connect-on-demand server, and depending on a response (or non-response), determine that the connect-on-demand server is not in a connected state. Other known techniques for locating devices in a network may be utilized in various embodiments of the invention to determine whether the connect-on-demand server is in a connected state.
As described above with reference to Figure 2A, the network device may represent one or more mechanisms and/or systems for providing data communication between the connect-on-demand server and one or more other systems. Such mechanisms/systems may be integrated into one system (e.g., a stand-alone server) or distributed between a number of systems, such as shown in and described below with reference to Figure 2B.
It will be appreciated that instances wherein the connect-on-demand server 218 is in a connected state—for example, if the connect-on-demand server is currently in communication with another client system—known operations may be performed to establish data communication between the connect-on-demand server and the requesting client. Such known operations may be performed by the network device 200 and/or other devices, including, for example, a remote authentication dial-in user service or RADIUS server, a domain name system or DNS server, a router, etc. For example, address-name resolution may be performed, and a resolution response issued to the requesting client system to establish data communication therewith.
At block 406, in response to determining that the connect-on-demand server toward which the client request is directed is not in a connected state, the network device, and in particular, the tickling mechanism 204, will "tickle" the connect-on- demand server. Tickling involves causing the connect-on-demand server, which is in a disconnected state, to establish a data communication link with a network at a point-of- presence (POP). In one embodiment of the invention, the POP may be provided by an ISP. The POP may or may not be part of the network device 200. As shown in Figure 2A, a data communication interface 214, which may include one or more modems, may represent the POP. The tickling mechanism 204 may represent a remote device or be part of a LAN or WAN associated with the network device 200.
In one embodiment of the invention, the tickling mechanism 204 is associated with DNS mechanism to tickle the connect-on-demand server to establish a connection with the network by transmitting a signal to the connect-on-demand server, for example, to cause the connect-on-demand server to dial-in to its POP. For example, in one embodiment of the invention, the tickling operation involves a DNS server calling the connect-on-demand server, allowing a predetermined number of rings to occur or time to pass, and then terminating the call. In response to such a call, the connect-on- demand server calls its POP, which may include the data communication interface 214, to establish a data communication link with the Internet 102 or other network or system. As such, tickling may provide a relatively low-cost and flexible method for allowing a remote client to access a remote connect-on-demand server via any ISP, network connection, etc.
It will be appreciated that while placing a telephone call is one method for tickling the connect-on-demand server, other techniques may be utilized in alternative embodiments to induce an off-line connect-on-demand server to establish a connection with a network, in response to a client system coupled to the network issuing a request to access the connect-on-demand server. For example, in one embodiment, the connect-on-demand server is paged, and in response to a page, the connect-on-demand server establishes a connection with a network. Furthermore, tickling may be performed by one or a combination of various types of mechanisms/systems associated with a data communication network. As such, it will be appreciated that the tickling mechanism 204 may not necessarily involve a DNS server or may involve a DNS mechanism (e.g., a DNS server(s)) in combination with other mechanisms.
In an alternative embodiment of the invention, a network device may directly establish a connection with the connect-on-demand server, and thus, tickling may not be performed. In this embodiment, in response to a client issuing a request to access a connect-on-demand server, the network device itself may establish a connection with the connect-on-demand server, for example, by completing a call to the connect-on- demand server via a wired or wireless modem.
Also at block 406, in response to determining that the connect-on-demand server toward which the client request is directed is not in a connected state, a caching device, which may be the caching mechanism 208, provides information previously cached from the connect-on-demand server 214 to the requesting client. In one embodiment of the invention, the information is provided by the caching mechanism until establishment of a data communication link between the connect-on-demand server and the requesting client is completed. For example, the caching mechanism may provide a Web page(s) obtained previously from the connect-on-demand server 218 and stored by the caching mechanism to be provided from the caching mechanism to the client, while the process of establishing a data communication link between the connect-on-demand server and client is being completed.
Thus, in one embodiment of the invention, the requesting client may receive information associated with the connect-on-demand server from the caching device, and the client may not "know" that a connection has not yet been established with the connect-on-demand server. Thus, information may be provided to the requesting client with a relatively small time delay following a request by the client to access an off-line connect-on-demand server. In one embodiment, once data communication between the client and the connect-on-demand server is established, the caching device ceases to provide information to the client, and the connect-on-demand server takes over the process of servicing the client. In one embodiment, a caching mechanism is not utilized. As such, information other than that obtained cached from the connect-on- demand server may be provided to the client during a time interval that the connect-on- demand server is establishing a connection with the network, and in particular, the client. Such information may include advertising, news, media (e.g., audio, video), and/or other information. In yet another embodiment, no information is provided to the client in response to the request until the connect-on-demand server is in communication with the client.
At block 408, the network device performs authentication of the connect-on- demand server, and assigns a dynamic address to the connect-on demand server. For example, the addressing mechanism 212 of the network device 200, which may be associated with a DNS server in one embodiment, may assign the dynamic address and the access mechanism 206 may perform authentication (e.g., request and verify login, password, etc. from the connect-on-demand server). In one embodiment, authentication is performed by one or more RADIUS servers. As such, the connect-on-demand server may provide the RADIUS server 202 with one or a combination of a login, password, RADIUS server identification (ID), etc. Once/if the connect-on-demand server is authenticated, the network device 200 and/or other POP assigns a dynamic (i.e., temporary) IP address to the connect-on-demand server which is valid for the current session (i.e., duration that connect-on-demand server is in a connected state/on-line). The POP or other entity may also initiate recordation of a billing or other accounting record for a session in which the connect-on-demand server is on-line. Such a record may be identified by a login, and include information such as session start time, session end time, voluntary/valid or non-voluntary/invalid session termination, etc.
At block 410, the dynamic IP address assigned to the connect-on-demand server is resolved with further requests that may be issued by the client (or other clients requesting to access the connect-on-demand server during the session), and data communication is established between the client and the connect-on-demand server. In one embodiment, the dynamic IP address is provided to a DNS server, which in turn resolves the request issued by the client with the dynamic address, and provides the client with a resolution message. As such, the client system will be provided with a data communication link with the connect-on-demand server, and known IP addressing techniques may be performed henceforth. Furthermore, for the duration that the connect-on-demand server remains in a connected state to the client, any other requests for the connect-on-demand server from other client systems may be resolved via known DNS or other addressing processing techniques using the dynamic IP address assigned to the connect-on-demand server for that session.
In one embodiment of the invention, when the session is ended and the connect- on-demand server disconnects from its POP and the network (e.g., the Internet), the network device, e.g., the addressing mechanism 212, will indicate that the connect-on- demand server is in a disconnected state and the dynamic IP address may be flushed therefrom. The connect-on-demand server and/or a device coupled to the network may indicate the ending of a session and/or instruct a flush of information associated with the session. The access mechanism 206, a RADIUS server, or other mechanism/device may also create or update an accounting and/or other records. In one embodiment, in response to detecting that the connect-on-demand server has gone off-line for any number of reasons (e.g. an indication of such provided by the connect-on-demand server, a disruption in a communication line, etc.), information associated with the session in which the connect-on-demand server may be selectively flushed (i.e., deleted or marked as invalid/stale or replaced or updated, etc.). For example, one or a combination of the dynamic IP address, a routing table entry that may be provided by the routing mechanism 210, a route established between the caching device and the client, and/or other information may be flushed. It will be appreciated that in alternative embodiments of the invention, a dynamic address is not necessarily assigned to the connect-on-demand server, and instead, the connect-on-demand may be assigned a static or permanent address, which remains the same for every session. Thus, some information (e.g., a session accounting record, a static IP address if used, etc.) may not be flushed in response to an end of a session in which the connect-on-demand server is connected to the network device.
In one embodiment of the invention, a dynamic TCP IP tunnel— one which is used temporarily and typically only utilized for one session— is provided to the connect- on-demand server for transferring information with the requesting client. A tunnel, which sometimes refers to a component of a virtual private network (VPN), represents a relatively secure path for transferring data in a network of computers and other data processing systems. In some implementations, a tunnel represents a distinct, specified route for exchanging data. In some implementations, tunnels represent encrypted connections for providing data communication.
Data packets associated with tunnels are typically encapsulated, such that original routing information will not be overrided by new routing information. As such, tunnels may provide a guaranteed level of bandwidth, as well as improved security for data communication. Since in one embodiment of the invention the tunnel is dynamic, a different tunnel may be assigned for each session that the connect-on- demand server is on-line. As such, greater flexibility and cost-savings may be provided relative to static tunnels. However, it will be appreciated that the invention, in alternative embodiments, may use static tunnels or may not even use tunnels.
Figure 2B is a diagram of a computer network for providing a connect-on- demand server, according to one embodiment of the invention. In Figure 2B, a bus 234 couples a remote authentication dial-in user service or RADIUS server 222, a domain name system or DNS server 224, each of which may represent one or more servers, a router 226, a caching device 228, and modems 230. The router 236 is further coupled to the Internet 102 to facilitate exchange of information over the Internet.
The DNS server 224, which may represent one or more DNS servers, is typically operable to resolve names to addresses. For example, a text name, such as "host.encanto.com" may be resolved into a numerical address corresponding thereto, such as 542.45.28.2. As such, the DNS server 224 typically stores a database or fιle(s) of names and corresponding addresses for resolving access requests and information transfer in computer networks. In one embodiment of the invention, the DNS server 224 provides dynamic (i.e., non-permanent) addresses to a connect-on demand server, such as the connect-on-demand servers 218 and 232 shown in Figure 2B. The RADIUS server 222 may perform a number of different functions which are known by those having skill in the art. For example, the RADIUS server 222 may perform authentication of the connect-on-demand servers 218 and 232, track session start-end times for the connect-on-demand servers 218 and 232, perform various other accounting and access authorization operations, etc.
It will be appreciated that the methods of the present invention may be performed by one or a combination of network devices, and thus, should not be limited to a DNS server, router, RADIUS server, etc. For example, in one embodiment, one network device (e.g., the network device 200) is operable to perform addressing, authentication, routing, and/or other functions, such as those described with reference to Figures 4-7, for a connect-on-demand server. In alternative embodiments, various functions corresponding to the method(s) described below may be distributed among various devices/systems (e.g., a DNS server, router, RADIUS server, Web server, etc.), which may include, but are not necessarily limited to, one or more of the devices shown in and described with reference to Figure 2B.
Figure 3 is a block diagram of a data processing system which may be utilized in a data communication network, according to one embodiment of the invention. For example, the data processing system 300 shown in Figure 3 may represent a client computer system, a connect-on-demand server, a caching server, a RADIUS server, and/or other device, including those shown in Figures 1 and 2B. The data processing system may also represent the network device 200 shown in Figure 2A or one or more of the mechanisms shown therein. As shown in Figure 3, a data processing system 300 includes a bus 316, which couples a processor 302, a storage area 304, a data communication interface 306, and an input/output (I/O) controller 308. The digital processing system 300 may be interfaced to other systems through a data communication interface 306, which may include a modem, network (e.g., Ethernet) card, etc.). As such, the data communication interface 306 may be an analog modem, an ISDN modem, a cable modem, a token ring interface, a satellite transmission interface, a wireless interface, or other interface(s) for providing a data communication link between two or more data processing systems.
The data processing system 300 includes a processor 302, which may represent one or more processors and may include one or more conventional types of such processors, such as RISC, CISC, or other microprocessor. The storage area 304 represents one or a combination of devices/media for storing data. As such, the storage area 304 may include a dynamic random access memory (DRAM), static RAM (SRAM), a high-speed cache, Flash memory, magnetic disk, optical storage (e.g., CD ROM, DVD, etc.), etc. The storage area 304 typically stores data and/or machine- executable instructions (e.g., routines/programs). Such instructions, when executed by the processor 302 and/or other processors, may cause the processor(s) to perform one or a combination of the methods of the present invention. For example, the storage area 304 may store a routine for tickling a connect-on-demand server. In an embodiment where the data processing system 300 represents a connect-on-demand server, the storage area 304 may store a routine to dial-in to a POP in response to a predetermined event, such as a call or other signal to cause the connect-on-demand server to establish a connection with the POP. Thus, it will be appreciated that the storage area 304 may represent various types and combinations of storage devices/media, and may store data and/or instructions, which when processed by a processor, cause the processor to perform one or a combination of the methods of the present invention.
The I/O controller 308 is shown coupled to a display 310, a keyboard 312, and a mouse/trackball 314. However, the system may include other types of I/O devices in lieu of or in combination with those shown in Figure 3.
It will be appreciated that the data processing system 300 represents only one example of a system, which may have various configurations and architectures, and which may be employed with the present invention. As such, the system 300 may include various other devices or may not include some of those shown in Figure 3. For example, a portable communication and data processing system, which may employ a cellular telephone and/or paging capabilities, may be considered a data processing system which may be used with the present invention.
Figure 5 is a flow diagram of a method for caching information from a connect- on-demand server, according to one embodiment of the invention.
At block 502, a connection is established between a connect-on-demand server and a caching mechanism. Establishment of the connection may be performed according one or more of the methods described above, for example, with reference to Figures 2 A, 2B and 4. In one embodiment, the caching mechanism or other device causes the connect-on-demand server to establish a connection with its POP, which may include, for example, the network device 200, to provide data communication between the caching mechanism and the connect-on-demand server. Alternatively, the connect-on-demand server may also connect to its POP without inducement from a network device. For example, the first time a connect-on-demand server connects to its POP for registration or other purposes, a connection may also be established with the caching mechanism. In one embodiment, in response to predetermined conditions, the connect-on-demand server may establish connection with the caching mechanism (or visa versa). For instance, at a predetermined time or time interval(s), such a connection may be established. In one embodiment, in response to information being updated in the connect-on-demand server (e.g., a Web page or other information is added, updated, etc.), a connection may be established between the connect-on-demand server and the caching mechanism to also update information therein.
At block 504, the caching mechanism obtains and stores new/updated information from the connect-on-demand server. For example, if the caching mechanism currently does not have stored therein any information from the connect-on- demand server, several or all files may be downloaded from the connect-on-demand server to the caching mechanism. On the other hand, the caching mechanism may determine that only a select number of new files and/or updated versions of previously cached files should be downloaded.
At block 506, the data communication between the caching mechanism and the connect-on-demand server is terminated. In one embodiment, the connection is terminated in response to the caching mechanism having obtained and stored new and/or updated information from the connect-on-demand server.
Figure 6 is a flow diagram of a method for selectively flushing information associated with a connect-on-demand server, according to one embodiment of the invention.
At block 602, a connect-on-demand server establishes data communication with a network device(s) to begin a session. One or a combination of the above-described techniques may be performed for establishing data communication with the connect-on- demand server.
As a result, at block 604, information associated with the session is stored and the session is ended. For example, the information may be associated with a route used by a caching mechanism to provide cached information to a client; a dynamic IP address assigned to the connect-on-demand server and/or other name or addressing records, which may be dynamic; an accounting record associated with the session, which record, for example, may include information related to connection and disconnection of the connect-on-demand server (e.g., session start-end time, valid connection/disconnection, etc.); tunnel information for the session; and/or a routing table entry for the session.
In one embodiment, an access mechanism (e.g., an access server) for the connect-on-demand server may provide an indication to one or more systems/mechanisms that the session has been terminated and the connect-on-demand server has gone/is going off-line. In another embodiment, the connect-on-demand server itself provides an indication to its POP, which may be associated with the network device(s), an ISP, or other system, to indicate that the connect-on-demand server is going off-line and to instruct a flush, as described below with reference to block 606.
At block 604, in response to termination of the session (e.g., the connect-on- demand server becomes off-line/disconnected from the network connection device and an indication of the same is detected by the network device(s)), at least a portion of the information associated with the session is selectively flushed from one or more mechanisms of the network device.
For example, a caching mechanism, in one embodiment, may flush one or more files/records associated with the connect-on-demand server. Flushing of the caching mechanism may be performed, for example, in response to a predetermined criteria. For example, age of a file cached by the caching mechanism may be one predetermined criteria, such that if a file (e.g., a Web page) from the connect-on-demand server has not been updated in a predefined period of time, the file is flushed from the caching mechanism. As such, the caching mechanism may be able to selectively prevent old or stale information from being stored. As such, storage space may be conserved. Furthermore, if the connect-on-demand server becomes disconnected in an abnormal/invalid manner in a session (e.g., disruption of a communication line), the caching mechanism may flush certain files associated with the session to prevent corrupted or incomplete information from being stored therein. In addition, the caching mechanism may flush route information associated with the caching mechanism providing information to a requesting client during a time interval that the connect-on- demand server is establishing data communication to begin a session.
Similarly, other devices may selectively flush information associated with the connect-on-demand server or a particular session, for example, in response to ending of the session. For example, an addressing mechanism, e.g., a DNS server, in the case where a dynamic IP address is assigned to the connect-on-demand server, may flush the dynamic IP address upon disconnection of the connect-on-demand server, and a new dynamic IP address may be assigned for each subsequent session wherein the connect- on-demand server establishes a connection to the network. A routing mechanism may flush a route table entry associated with the session, and which may have been utilized for establishing data communication between the connect-on-demand server, the caching mechanism, and/or a requesting client. In addition, a name-address pointer record, tunnel information, etc., may be flushed from one or more mechanisms in response to the connect-on-demand server terminating data communication with the network.
In one embodiment, the connect-on-demand server stores an executable routine for providing selective flushing of information associated with a session. The routine may be stored at the operating system level for the connect-on-demand server and/or other program levels. In one embodiment, the routine, when executed by a processor of the connect-on-demand server, causes the connect-on-demand server to obtain an address (e.g., a dynamic IP address) assigned to the connect-on-demand server for a session. This may be performed during or after PPP negotiations with its POP when initially attempting to establish a connection with a network. The connect-on-demand server may then notify a particular network/device(s) of this address. In one embodiment, the routine also causes the connect-on-demand server to periodically send status messages to a specific monitoring server or set of devices, which status messages indicate its on-line/off-line status. In one embodiment, if a status message is not received by the monitoring device(s) in a predetermined time period, it will be assumed that the connect-on-demand server is off-line, and information associated with the session (e.g., dynamic address, route information, etc.) may be selectively flushed from one or more devices coupled to the network in response thereto. Moreover, the connect-on-demand server may transmit an off-line message prior to disconnecting from the network, in response to which information about the session is flushed from one or more devices. In one embodiment, the monitoring device(s) may send a message to one or more mechanisms to cause a flush therefrom. In one embodiment, the monitoring device includes a dynamic DNS server which stores an executable routine to monitor status messages and to take appropriate actions (e.g., flushing/storing dynamic information, such as address, tunnel, route, etc.) in response to the status messages or in response to not receiving a status message. In an alternative embodiment, the monitoring device may poll the connect-on-demand server to obtain status information therefrom.
Figure 7 is a flow diagram of a method for performing reverse name-address mapping, according to one embodiment of the invention. In Figure 7, a DNS server (or other addressing mechanism) receives an address resolution request from a client system at block 702. For example, the address resolution request is typically associated with a name, such as the text name, "host.encanto.com," for which an address is to be determined. The name, according to one embodiment of the invention, is associated with a connect-on-demand server.
At block 704, the DNS server resolves the name (e.g., host.encanto.com) into an address and provides the address to the client.
At block 706, the client uses the address to determine an authoritative system for the network portion of the address. Typically, a request is made to the network that is indicated by the address.
At block 708, an authoritative server (e.g., a DNS server, a root server, or other system) replies to the request of the client at block 706, indicating that it is the authoritative server. At the request of the client, the authoritative server maps an address (e.g., the address provided by the DNS server at block 704) to a name (e.g., host.encanto.com), and provides the name to the client.
At block 710, the client determines whether the name associated with the address resolution request of block 702 matches the name provided by the authoritative server at block 708.
It will be appreciated that while the method of Figure 7 is described above with reference to DNS and authoritative servers, the method is not limited to a particular type(s) of server or device. Thus, various types of systems may be used to perform the method depicted in Figure 7.
ALTERNATIVE EMBODIMENTS While the invention has been described in terms of several embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described. In particular, the invention can be practiced in several alternative embodiments that provide methods and apparatuses for a connect-on-demand server and/or a network device(s) for supporting the same. Therefore, it should be understood that the method and apparatus of the invention can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting on the invention.

Claims

CLAIMSWhat is claimed is:
1. A server which remains disconnected from a computer network until a request is made to access said server by a device coupled to said computer network, wherein, in response to said request, said server is caused to establish a connection with said computer network.
2. The server of claim 1, comprising: a first modem to dial-in to a data processing system of said computer network to establish said connection.
3. The server of claim 2, wherein said data processing system comprises: a second modem to dial-in to said server to trigger said server to establish said connection.
4. The server of claim 1, wherein a dynamic temporary address is assigned to said server in response to said request.
5. The server of claim 1, wherein a dynamic temporary tunnel is provided to provide data transfer between said device and said server.
6. The server of claim 1 , comprising: a processor; and a storage area coupled to said processor, said storage area having stored therein a set of instructions, which, when executed by said processor, cause said server to establish said connection.
7. The server of claim 1, wherein said computer network comprises a caching mechanism having stored therein information previously cached from said server, said caching mechanism to provide said information to said device from a time subsequent said request by said device and up to establishment of said connection between said server and said computer network.
8. The server of claim 1 , wherein said computer network comprises a plurality of mechanisms to store information associated with a session in which said server is connected to said computer network.
9. The server of claim 8, wherein in response to an ending of said session, said plurality of devices flush information associated with said session.
10. The server of claim 9, wherein said ending of said session is indicated by said server.
11. The server of claim 9, wherein said ending of said session is indicated by a system coupled to said computer network.
12. The server of claim 9, wherein said information associated with said session comprises a dynamic address associated with said server.
13. The server of claim 9, wherein said information associated with said session comprises a router table entry.
14. The server of claim 9, wherein said information associated with said session comprises a route between a caching mechanism and said device.
15. A method for accessing a server which is off-line from a data network, said method comprising: transmitting a signal to said server which is off-line; and in response to said signal, said server dialing-in to a data processing device coupled to said network.
16. The method of claim 15, further comprising in response to said server dialing-in to said data processing device, establishing a data communication link between said server and a requesting device coupled to said network.
17. The method of claim 16, further comprising: in response to a request by said requesting device to access said server, providing cached data associated with said server to said requesting device until said data communication link is established.
18. The method of claim 15, further comprising: assigning a temporary address to said server.
19. The method of claim 16, further comprising: assigning a temporary tunnel for said data communication link.
20. A method for accessing a server which is off-line from a network, said method comprising: detecting a request by a client to access said server which is off-line; in response to said request, assigning an address to said server; providing information cached from said server to said client, while causing said server to establish a connection with said network; and establishing a data communication link between said server and said client to provide a session of data communication between said server and said client.
21. The method of claim 20, wherein causing said server to establish a connection with said network comprises: a communication device coupled to said network dialing-in to said server until a predetermined condition is met.
22. The method of claim 22, wherein said predetermined condition is associated with a number of rings to take place.
23. The method of claim 22, further comprising: after said number of rings take place, said communication device discontinuing dialing-in to said server; and in response to said number of rings, said server dialing-in to a point-of-presence
(POP) to establish said data communication link.
24. The method of claim 23, wherein said point-of-presence (POP) is associated with an Internet Service Provider (ISP).
25. The method of claim 20, wherein establishing said data communication link further comprises: establishing a dynamic tunnel for said session.
26. The method of claim 20, further comprising: assigning said address to said server as a dynamic address.
27. The method of claim 20, further comprising: storing information associated with said session in a storage area coupled to said network.
28. The method of claim 27, further comprising: terminating said session; and in response to termination of said session, flushing said information associated with said session.
29. The method of claim 28, further comprising: said server providing a signal to flush said information associated with said session.
30. The method of claim 28, further comprising: an access server coupled to said network providing a signal to flush said information associated with said session.
31. A network device comprising a plurality of mechanisms to process access requests to a server which is disconnected from a computer network until a request to access said server is issued by a requesting system, said network device coupled to said computer network and comprising: an addressing mechanism to provide address resolution in response to said request; and a data communication interface to trigger said server which is off-line to establish a connection with said computer network.
32. The network device of claim 31 , further comprising: an authentication unit to authenticate said server in response to said server dialing-in.
33. The network device of claim 31 , further comprising: a router to route said request to access said server through said computer network.
34. The network device of claim 31 , further comprising: a caching unit to store information from said server, and to provide said information to said requesting system in response to said request to access said server.
35. The network device of claim 31 , wherein said plurality of mechanisms of said network device are distributed between a number of systems coupled to said computer network.
36. The network device of claim 31 , wherein said network device is integrated into a single server, and wherein said single server includes said plurality of mechanisms.
PCT/US1999/013613 1998-06-30 1999-06-16 Method and apparatus for providing a connect-on-demand server in a data processing network WO2000000904A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU45725/99A AU4572599A (en) 1998-06-30 1999-06-16 Method and apparatus for providing a connect-on-demand server in a data processing network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10923498A 1998-06-30 1998-06-30
US09/109,234 1998-06-30

Publications (1)

Publication Number Publication Date
WO2000000904A1 true WO2000000904A1 (en) 2000-01-06

Family

ID=22326550

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/013613 WO2000000904A1 (en) 1998-06-30 1999-06-16 Method and apparatus for providing a connect-on-demand server in a data processing network

Country Status (2)

Country Link
AU (1) AU4572599A (en)
WO (1) WO2000000904A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002011466A2 (en) * 2000-07-27 2002-02-07 Ipwireless, Inc. Use of internet technology to register wireless access customers
EP1227619A1 (en) * 2001-01-30 2002-07-31 Alcatel Method and event management system for providing an apparent connectivity in an access network
US6785724B1 (en) 1999-11-02 2004-08-31 Walchem Corporation On-demand web server
FR2856215A1 (en) * 2003-06-10 2004-12-17 Digital Airways Data transmitting method for telecommunication system, involves sending signaling message towards interface device to signal device about formulation of protocol address request near domain name manager
DE102007016416A1 (en) * 2007-04-05 2008-10-09 Deutsche Telekom Ag External access to local network with non-permanent Internet connection
US8463231B1 (en) 1999-11-02 2013-06-11 Nvidia Corporation Use of radius in UMTS to perform accounting functions
USRE45757E1 (en) 1999-11-02 2015-10-13 Nvidia Corporation Cellular wireless internet access system using spread spectrum and internet protocol
GB2526573A (en) * 2014-05-28 2015-12-02 Blueberry Consultants Ltd Controlling a server
US9853968B2 (en) 2015-08-19 2017-12-26 Winifred Shen Systems and methods for authenticating users accessing a secure network with one-session-only, on-demand login credentials

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617540A (en) * 1995-07-31 1997-04-01 At&T System for binding host name of servers and address of available server in cache within client and for clearing cache prior to client establishes connection
US5835725A (en) * 1996-10-21 1998-11-10 Cisco Technology, Inc. Dynamic address assignment and resolution technique
US5862339A (en) * 1996-07-09 1999-01-19 Webtv Networks, Inc. Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server
US5918019A (en) * 1996-07-29 1999-06-29 Cisco Technology, Inc. Virtual dial-up protocol for network communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5617540A (en) * 1995-07-31 1997-04-01 At&T System for binding host name of servers and address of available server in cache within client and for clearing cache prior to client establishes connection
US5862339A (en) * 1996-07-09 1999-01-19 Webtv Networks, Inc. Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server
US5918019A (en) * 1996-07-29 1999-06-29 Cisco Technology, Inc. Virtual dial-up protocol for network communication
US5835725A (en) * 1996-10-21 1998-11-10 Cisco Technology, Inc. Dynamic address assignment and resolution technique

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785724B1 (en) 1999-11-02 2004-08-31 Walchem Corporation On-demand web server
US8117291B1 (en) 1999-11-02 2012-02-14 Wireless Technology Solutions Llc Use of internet web technology to register wireless access customers
US8463231B1 (en) 1999-11-02 2013-06-11 Nvidia Corporation Use of radius in UMTS to perform accounting functions
USRE45757E1 (en) 1999-11-02 2015-10-13 Nvidia Corporation Cellular wireless internet access system using spread spectrum and internet protocol
WO2002011466A2 (en) * 2000-07-27 2002-02-07 Ipwireless, Inc. Use of internet technology to register wireless access customers
WO2002011466A3 (en) * 2000-07-27 2002-11-21 Ipwireless Inc Use of internet technology to register wireless access customers
EP1227619A1 (en) * 2001-01-30 2002-07-31 Alcatel Method and event management system for providing an apparent connectivity in an access network
FR2856215A1 (en) * 2003-06-10 2004-12-17 Digital Airways Data transmitting method for telecommunication system, involves sending signaling message towards interface device to signal device about formulation of protocol address request near domain name manager
DE102007016416A1 (en) * 2007-04-05 2008-10-09 Deutsche Telekom Ag External access to local network with non-permanent Internet connection
GB2526573A (en) * 2014-05-28 2015-12-02 Blueberry Consultants Ltd Controlling a server
US9853968B2 (en) 2015-08-19 2017-12-26 Winifred Shen Systems and methods for authenticating users accessing a secure network with one-session-only, on-demand login credentials
US10154028B2 (en) 2015-08-19 2018-12-11 Winifred Shen Systems and methods for authenticating users accessing a secure network

Also Published As

Publication number Publication date
AU4572599A (en) 2000-01-17

Similar Documents

Publication Publication Date Title
US6847649B2 (en) Methods, systems and computer program products for accessing an embedded web server on a broadband access terminal
US7415536B2 (en) Address query response method, program, and apparatus, and address notification method, program, and apparatus
US7509428B2 (en) Method and system for communicating between clients in a computer network
US6434600B2 (en) Methods and systems for securely delivering electronic mail to hosts having dynamic IP addresses
JP4684534B2 (en) Resource homology among cached resources in a peer-to-peer environment
US7228359B1 (en) Methods and apparatus for providing domain name service based on a client identifier
US7440453B2 (en) Determining availability of a destination for computer network communications
EP1125421B1 (en) Dns relay module in a digital network modem
JP5499183B2 (en) Method and system for preventing DNS cache poisoning
AU2009304186B2 (en) NAT traversal method and apparatus
US20050125545A1 (en) Method and system for preventing a timeout from reaching a network host
US7734683B1 (en) Method for providing a DNS server address list from a server to a client
Abley et al. AS112 nameserver operations
US10033830B2 (en) Requesting web pages and content rating information
WO2000000904A1 (en) Method and apparatus for providing a connect-on-demand server in a data processing network
MXPA04007648A (en) Dynamic host configuration protocol lease time determination.
JP2002305531A (en) Information processing unit, dns server system, information processing system and method, and information processing program
US7769766B1 (en) Method and an apparatus to store content rating information
KR20010091016A (en) Method and system for domain-server management using a personal computer with dynamic IP
JP3616571B2 (en) Address resolution method for Internet relay connection
KR20050003598A (en) Domain name service provide system and method using dual domain name server
FR3023098A1 (en) METHOD AND SYSTEM FOR PROCESSING A REQUEST FOR RESOLUTION OF A NAME OF A SERVER, ISSUED BY A CLIENT APPLICATION ON A COMMUNICATION NETWORK.
CN115001745B (en) Intranet user local authentication system and method based on government enterprise gateway
US20030225910A1 (en) Host resolution for IP networks with NAT
KR20050002337A (en) Proxy server, and dynamic domain name service system and method using the same

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase