Abstract:
A system and method to issue a text alert message in response to a website deflection. DNS inquires for a website resource may be deflected to a new IP address for a website prior to or after the occurrence of a natural disaster, emergency event, attack, or other event that damages the computer infrastructure of an organization or causes interruption in website administration, thereby interrupting the organization&#39;s ability to continue to offer or update its website information. Alternatively, the system can be used to issue marketing alerts in response to a website deflection. The text alert may be issued responsive to deflection or responsive to an automated process that alters a zone file on a controlling DNS server.

Description:
[0001]    This application claims the benefit of filing priority under 35 U.S.C. §119 and 37 C.F.R. §1.78 from non-provisional patent application Ser. No. 11/961,686 filed Dec. 20, 2007, for a SYSTEM AND METHOD FOR REDIRECTING A WEBSITE UPON THE OCCURRENCE OF A DISASTER OR EMERGENCY EVENT. All information disclosed in that prior application is incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention relates generally to the Domain Name System (“DNS”) as implemented on the Internet. In greater particularity, the present invention relates to the triggering of text alerts upon the redirection of website upon the occurrence of a specified event, such as a disaster event. 
       BACKGROUND OF THE INVENTION 
       [0003]    The Domain Name System (“DNS”) associates various sorts of information with so-called “domain names” and provides for a user friendly addressing process for the Internet by translating human-readable computer hostnames into the IP addresses. This process is known as “name resolution” and may be handled in various ways, but the most common method is for name translations to occur through the DNS system (hereinafter “Internet DNS” or simply “DNS”). For example, the numerical address 66.230.200.100 is provided to Internet users&#39; machines when the human readable address www.wikipedia.org is typed into an Internet browser addressing bar. The translation of a domain name or other human readable text into IP addresses provides the addressing scheme that networking equipment needs to deliver webpages to PCs around the world, and to provide other information such as addresses for mail exchange servers and other services available over the Internet. In providing a worldwide keyword-based addressing scheme (i.e. essentially a redirection service), DNS is a critical component for the functioning of today&#39;s Internet. The Internet is the medium through which most information is exchanged across the world. 
         [0004]    While other computer programs exist that process name resolution requests from computer to computer, as of the filing of this application the most prevalent method for name resolution is dictated by the DNS process as invented by Paul Mockapetris in 1983 and governed by RFC (“Request for Comment”)  1034  and  1035  as adopted by the Internet Engineering Task Force (IETF) in 1986. RFCs  1034  and  1035  made obsolete the prior RFCs  882 ,  883 ,  973  as adopted circa 1983-84. DNS is one of the original Internet standards, although new applications and extensions to DNS are continually being evaluated by IETF and the Internet community at large. The RFCs  1034  and  1035  specification is hereby incorporated by reference. 
         [0005]    While the total scope and operation of DNS is not necessary for a complete understanding of the herein described invention, a few concepts are described below to facilitate in the description of the invention&#39;s preferred embodiments. 
         [0006]    Name resolution in its simplest form is achieved by an ASCII text conversion table stored on each computer, traditionally know as a “HOSTS” file. At a local network level, a lookup table is maintained to list different machines that are added to the network and assigned numbers associated with each machine name through a program such as Windows DHCP program. The lookup table on a local network is updated only once for each new machine that is added (e.g. a new PC, a router, a printer, etc.) and is usually administered by a local DNS type program, such as the Microsoft Windows based program “WINS” (Windows Internet Name Service). Since HOST files are updated manually, and since even an automatically updated conversion file saved on a local machine would become impossibly large to accommodate all of the domain names used on the Internet, DNS changes this to delegate the lookup or resolution process across a distributed plane of name servers. 
         [0007]    When an entity registers a human readable domain name (currently, letters and numbers and a few special symbols, but this is being expanded) with one of the dozens of ICANN authorized registrars (e.g. www.register.com), the registering entity specifies two DNS servers associated with a selected domain name, a primary and a backup DNS server. These servers are the authoritative sources for DNS information regarding the selected domain name and machines connected to a network on the domain. When a user of the Internet attempts contact a system in the network domain of the registered domain name, the machine utilized by the user will check progressively from its own DNS server&#39;s lookup table, to other machines connected thereto, to Internet core servers, and finally to the authoritative servers themselves to translate the spelled name into an IP address. This occurs through the action of a program in the DNS system called a “recursor” that sends and responds to addressing queries from other DNS servers in an iterative process. Currently, a popular UNIX based DNS resolution program that includes a recursor is BIND (“Berkeley Internet Name Domain”). Responses from these recursor programs usually are either error messages or a “pointer” to which the recursor program might send additional queries to find the host machine. Upon receiving a request, a DNS server contacted by a recursor program of another DNS server can respond in four ways:
       1. It can answer the request with an IP address because it already knows the IP address for the domain.   2. It can contact another name server and try to find the IP address for the name requested. It may have to do this multiple times.   3. It can say, “I don&#39;t know the IP address for the domain you requested, but here&#39;s the IP address for a name server that knows more than I do.”   4. It can return an error message because the requested domain name is invalid or does not exist.
 
This process is iteratively continued until a name is resolved and the host computer is contacted.
       
 
         [0012]    Once the resolution process is complete, in theory, various DNS server machines, and other intermediate name resolution machines, will propagate the human readable name&#39;s IP address association to their tables so that name resolution is facilitated across the Internet. Further, local DNS tables are configured to retain information (referred to as “caching”) so that addresses used most often by its domain users are quickly accessible to facilitate the rapid functioning of DNS. 
         [0013]    Very often, an ISP like “yahoo” or “Earthlink” will administer domain names and their associated webpages and resources for an entity. But, quite often, organizations will maintain their own domain name and resources. For example, “HowStuffWorks” a well known information Internet site maintains their own machines dedicated to their website, including administering their own DNS server. As published on their website, they have a primary server and a secondary, as such: 
         [0014]    AUTH-NS1.HOWSTUFFWORKS.COM 209.116.69.78 
         [0015]    AUTH-NS2.HOWSTUFFWORKS.COM 209.116.69.79 
         [0000]    Their primary DNS is auth-ns 1.howstuffworks.com and any changes they make to this site is automatically propagated to the listed secondary site, which is maintained not by them, but by their ISP.
 
HOWSTUFFWORKS uses the name server software BIND for their domain and they have a zone file (similar to the functioning of a HOST file, but formatted for DNS on their host DNS server having the following form:
 
         [0000]    
       
         
               
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                 @ 
                 NS 
                 auth-ns1.howstuffworks.com. 
               
               
                   
                 @ 
                 NS 
                 auth-ns2.howstuffworks.com. 
               
               
                   
                 @ 
                 MX 10 
                 mail 
               
               
                   
                 mail 
                 A 
                 209.170.137.42 
               
               
                   
                 vip1 
                 A 
                 216.183.103.150 
               
               
                   
                 www 
                 CNAME 
                 vip1 
               
               
                   
                   
               
             
          
         
       
     
         [0016]    This is a typical zone file and has the following meaning. The first two lines point to the primary and secondary name servers. The next line is called the “MX record” which indicates the e-mail SMTP server. The next line indicates the machine that handles a request to mail.howstuffworks.com. The next line indicates to the IP address that will handle a request to oak.howstuffworks.com. The next line points to the IP address that will handle a request to howstuffworks.com (no host name). This last line is also know as the “A NAME” record which lists the primary computer IP address. 
         [0017]    As seen in the information in the zone file, several physical computer machines at separate IP addresses make up the computer server infrastructure for the website www.howstuffworks.com. 
         [0018]    One will also note that a “CNAME” record appears in the above zone file on the last line. CNAME is short for “canonical name,” which is usually referred to as a CNAME record. A CNAME record in a DNS database, like the zone file above, is a record that indicates the true, or “canonical,” host name of a computer with which its aliases are associated. 
         [0019]    CNAME records can be used when a computer or service needs to be renamed to temporarily allow access through both the old and new name, or to point a sub-domain to another domain, or to have a sub-domain point to a computer outside of the host domain. In the above zone file example, the CNAME record redirects all world web entries http://www.howstuffworks.com to the vip1 server IP address listed under the A Name record. CNAMES are often used to redirect address bar mistakes entered into Internet browser software fields. For example, many HOST record files redirect incorrect entries like http://wwww.domainname.com and http://ww.domainname.com to http://www.domainname.com, which is helpful for instances when an Internet user do not enter the correct number of “w”s in the browser address bar of their Internet browser program like Internet Explorer. The complete usage and acceptable forms of CNAMEs may be found in RFC  1034 . 
         [0020]    However, while usage of CNAMES provides a flexible means for redirecting access to websites, domains, sub-domains, resource records, etc., the common method for altering the zone file or equivalent DNS record file is manual editing of the file. While some useful interfaces are available to make the process simpler, the action is consistent—alteration of the text in a text file. 
         [0021]    However, when a website becomes inoperative because the server machines that hold the DNS record file no longer function, such as when a natural disaster damages computer equipment or denies power, cuts communication paths, or causes the loss of other critical computer support infrastructure, a lack of a DNS server response causes an error in the DNS system for that system. Alternatively, if a known IP address is retained from prior DNS resolution activities, but the computer server providing the resource record is not functioning, an error will be generated. Hence, without manual alteration of a DNS record file held by an alternative host computer, which will cause a delay in propagation of the revised DNS record of up to several days, a website made inoperative by a natural disaster would be inaccessible for several days or months, with restoration only occurring if the organization had the foresight to retain a backup of all prior information and has personal ready to quickly edit the appropriate DNS records to provide new IP addresses for the content. If the authoritative host machine was made by a natural disaster inoperative, which would not be uncommon for self-administered sites, the disruption could last for some time, and certainly a website held on a web server maintained by the entity would be inoperative during and just after the disaster event. 
         [0022]    Text messaging communications have been available in one form or another since the early 1990s. Generally, text messaging consists of the transference of a limited string of ASCII characters, typically between 64 and 256 characters, between one electronic device and another. However, after the promotion and competition of various standards since 1995, text messaging via SMS (Short Messaging Service) has become the ubiquitous conduit for mobile devices, such as cellular phones, to communicate text messages. While at one time, SMS communications was relegated to communications between mobile devices on the same network, such as for example the T-Mobile™ network, various protocol agreements have been implemented so that any phone (or cellular voice or cellular data mobile device) may send an SMS message to any another, and from any computer to a mobile device, irrespective of the mobile carrier network upon which the device operates. An example of one system that allows for the protocol compatibility between various carriers may be found in U.S. Pat. Publication No. US 2003/0109271 submitted by John E. Lewis of Cingular Wireless, Atlanta, Ga. This Lewis publication is hereby incorporated by reference into this application in its entirety. 
         [0023]    According to CTIA (Consumer Telecommunications Industry Association; aka “The Wireless Association”), as of June 2010, there were over 282 Million wireless subscribers in the U.S., with an estimated 1.81 Trillion text messages being sent annually among them. Hence, SMS communications have emerged as a primary communications tool among the U.S. populace and the integration of an emergency alert system into the cell phone SMS infrastructure would facilitate the propagation of emergency alert messages. 
         [0024]    Therefore, in response to a quick and simple “deflection” (e.g. re-routing or redirecting) of inquires to a website on the Internet, most likely upon the occurrence of a natural disaster or the immanent occurrence of a natural disaster, the dissemination of emergency alert messages through the SMS cellular phone infrastructure would increase the likelihood that the U.S. populace would rapidly and efficiently receive such alerts. 
       SUMMARY OF THE INVENTION 
       [0025]    In summary, the present invention provides a system and method to selectively issue text alert messages through the SMS infrastructure after the deflection of DNS inquires to a new IP address for a website prior to or after the occurrence of a natural disaster or other important event. This is achieved by automating the alteration of appropriate zone file records on a DNS server in control of DNS resolutions for a selected group of computers which triggers the issuance of text alerts responsive therefrom. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0026]      FIG. 1  is a block diagram showing a generalized view of Internet DNS and the requesting sequence from a PC for a nominal webpage request over the Internet; 
           [0027]      FIG. 2  is a system block diagram of a system affecting the logical DNS associations to achieve a webpage deflection; 
           [0028]      FIG. 3  is a process flow diagram showing the primary steps associated with the deflection of a website; 
           [0029]      FIG. 4  is an expanded view of the zone file alteration step  71  of  FIG. 3 ; 
           [0030]      FIG. 5  is a top level scripting function map of the process steps shown in  FIGS. 3 &amp;4 ; 
           [0031]      FIG. 6  is a process flow diagram showing the steps associated with a website intelligent monitoring subsystem of block  34  in  FIG. 2 ; and, 
           [0032]      FIG. 7  shows a process flow diagram for the issuance of text alerts in response to a website deflection. 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0033]    Referring to the drawings for a better understanding of the function and structure of the invention,  FIG. 1  shows a typical webpage request process  10  when requesting PC  11  attempts to resolve a human readable name associated with an Internet webpage utilizing the DNS system  12  over the Internet. A DNS software application running on server connected to the PC  11  supplies DNS name resolutions to the requesting PC  11  during the request. DNS  12  working in tandem with the DNS software application provides an Internet protocol (“IP”) address enabling the requesting PC  11  to make a direct request for a resource present on a web server  15  via zone host DNS server  13 . The zone host DNS server  13  includes the authoritative information about a resource located on the web server  15  in the form of a “zone file”  14 . The zone file includes A records and CNAME records, as the case may be, and the IP address of the web server  15  is of the form 1.2.3.4 as shown. 
         [0034]    In a nominal web server scenario in which the web server is controlled by an organization having the organization&#39;s website, an entity such as a large institution that owns its own host DNS server and web server are likely to be physically located at the physical institution or entity&#39;s location, and both may reside on a single server computer machine. Most large institutions or entities need guaranteed sustainability of their web server at all times, and access to the associated webpages residing thereon in order to satisfy their mission requirements for their clients, customers, and third parties relying upon the information found on the web server. However, upon the occurrence of a natural disaster, such as a large hurricane like Hurricane Katrina in 2005, the physical locations of the entity and the web server or a host computer server residing thereon may be compromised or even completely destroyed. In those situations in which a catastrophic system failure occurs, requesting PC  11  will be unable to obtain the necessary information residing on the entity web server until a rebuilding of a web server may be accomplished and power and system infrastructure restored to provide the information. The present system provides a system and method for monitoring and redirecting (i.e. “deflecting”) a website inquiry to maintain continuous availability of the entity web server in the event of a catastrophic failure to the institution or entity&#39;s computer systems or supporting infrastructure. 
         [0035]    Referring now to  FIG. 2  it may be seen that intervening administration DNS server(s)  21  is positioned within the DNS resolution topology to allow for monitoring and control of web service to entity web server  15  to accomplish automatic  34  deflection of the website inquiry. A system  30  includes an administration DNS server(s)  21  which monitors and controls the content of zone file  27  such that upon the occurrence of an automatic state change (i.e. deflection to a pre-specified site) the appropriate zone file is edited and published. Such a state change request may be initiated via the web  22  in which various state site changes  36 - 37  may be requested. CNAME record  16  is inserted into zone file residing on host DNS server  13  as shown, and will be propagated through various DNS servers associated with providing authoritative information for the entity web server  15 . 
         [0036]    Upon the editing and publication of the zone file  27 , the DNS system propagates the information such that new inquiries for a resource residing on entity web server  15  are now redirected to web server  23  having an IP address of the form of 5.6.7.8. The resource occurring on web server  23  likely contains emergency information, other vital information pertinent to the disaster, the status of the institution&#39;s physical location, and the deflection state of the website may be selectively timed such that information may be provided before, during, and after the occurrence of the disaster. The deflection request may also be automatically initiated by a website intelligent monitor program  34 , as will be shown. 
         [0037]    Prior to initiation of the deflection process via the herein described system  30 , a CNAME record  16  is created in the DNS zone file present on the host DNS server  13 . The CNAME record points to or “canonizes” the IP address of the human readable domain name for the entity web server  15  to an A record  27  located on the administration DNS server that will control the deflection process. Since the CNAME record present on zone file  16  points to the administration DNS server  21  as an A record, zone file  27  may be edited on demand to change the IP address associated with the corresponding A record such that deflection will occur upon the publication and proper refreshing of associated DNS servers with the zone file  27 . In other words, web server A record (e.g., IP address to 1.2.3.4) may be edited such that the A record of file  27  points to a different IP address (i.e., 5.6.7.8). With A record associated with IP address 1.2.3.4, the interaction of zone file  16  with zone file  27  does not alter the DNS resolution to a web resource, such as index.html or similar record located on entity web server  15 . But, the alteration of A record in file  27  to 5.6.7.8 causes a deflection to web server  23  thereby establishing upon demand a potential disaster response site available to supply information normally available on entity web server  15 . Obviously, as already known in the art, all the information on entity web server  15  may be replicated or mirrored on web server  23  prior to the initiation of a deflection in order to maintain all the content previously available on entity web server  15 . Other editing of key index files on web server  23  may establish whatever important messages are necessary for a disaster response system to properly present timely information pertaining to the institution disaster or infrastructure damage. 
         [0038]    The web based switch control  22  allows for the remote initiation of a deflection to web server  23  upon the collection of a primary  36 , secondary  37 , or additional alternate sites to which entity web server  15  should be deflected. As shown below, the website intelligent monitor  34  monitors in real-time the entity web server  15  status in such a manner as to implement the deflection automatically upon the occurrence of a suspension or prolonged interruption of services provided by entity web server  15 . 
         [0039]    The entire process is complicated by the expiration (i.e. the “expiry”) of the administration DNS server  21 &#39;s authorization to transmit data about server  13 , and therefore the efficacy of zone file  27  in the event that server(s)  13  are destroyed and they can no longer issue a proper refresh command under the re-curser protocols for DNS is limited. Hence, it is important that a sufficient length of time (i.e. the expiry must be sufficiently large) such that the required refresh time would not occlude the time of destruction during which server  21  would lose it authorization. 
         [0040]    Referring now to  FIG. 3 , initiation of the deflection process  50  is typically started with a web based form retrieved from server  21  and a user selecting one of a number of deflection states  36 - 37  as may be desired on an html presented screen. The screen serves as a control switch  22  to select different sites, but each of these sites may also be interpreted as a particular “state” in the deflection process because, within the parameters of a particular disaster encounter, there are usually a before state, a during state, and after states that represent the institution&#39;s desire to communicate status and other information pertaining to the entity&#39;s condition and the availability of its data via the web. Hence, multiple states may be established for deflection purposes with each state associated with a time or other type of parameter which may be selected or switched on via web base control. The web based control or form  22  typically resides on the administration server  21 , but may reside anywhere that has effective communication with the administration server  21 . For example, the person with a notebook computer may be able to access, assuming the correct passwords are provided, the deflection switch  22  from any location on the planet, including the institution or entity&#39;s primary physical location. The inventor&#39;s anticipate that various types of self-explanatory selection criteria and boxes may be presented to a user desiring to deflect their current site, but for the purposes of the herein described invention the actual form style associated with the various states is unimportant for a complete understanding of the invention. 
         [0041]    Upon the selection of a deflection state via a web form, a file is written on the administration DNS server  21  at a known directory location (e.g. drop-off) which initiates  51  the generation of a deflection request  52 . The server checks periodically in the drop-off directory to see if a file or multiple files are present. It then processes  53  the files in the order of creation, oldest first. Each file that is written to the drop-off directory includes a known set of information to allow for error detection and validation of the file creation. The information that is contained in the file is also written into a database on the server created. For example, the information in the file may be written to a database backend such as MY SQL. The actual creation of the file and entry into the appropriate database is effected by a “post” command via the HTTP protocol from the originally presented webform  22 . Data in the file created by the administration DNS server  21  has the format shown below in Table 1.0. 
         [0000]    
       
         
               
             
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 Sample Deflection Request File 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 14:1:FastCommand 
               
               
                   
                 AZJYYZQXT5N1Q723FHI5LQJMJGQO3FH34QSSF8GZ 
               
               
                   
                 4UQLRJFWQNR241FE7VS00ZTVGCDMBKB54RHL1M 
               
               
                   
                 7IZPAUGFYE1G4S6ODCRHOS 
               
               
                   
                 40cfb99c5084cafcafd0f9d62196bd8e 
               
               
                   
               
             
          
         
       
     
         [0042]    The request file includes information which is pre-populated by information already present in the database file on the server and associated with the user&#39;s identification and selection action. The first line of the deflection request file includes, separated by colons, a request ID “14,” client ID “1”, and the state to which the user wishes to deflect his current website to. The second line comprises a unique identification string to allow for the execution of a checksum validation and for database correspondence verification once the data in the deflection request file is written to the database. The next line is left blank simply for syntax and file protocol verification and does not consist of any viable data. The last line is a validation string to allow for one-way encryption and of the deflection request file. The syntax of any deflection request file may vary depending upon the desired parameters to be received and interpreted by a deflection database, however the inventors have found that this format is simple and ensures integrity of request reception with a minimum of errors or unauthorized intrusions. In table format, the meaning of each line in the request file has the syntax shown in Table 2.0. 
         [0000]    
       
         
               
             
               
               
               
             
           
               
                 TABLE 2.0 
               
               
                   
               
               
                 Deflection Request File Syntax 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                   
                   
                 &lt;ReqID&gt;:&lt;ClientID&gt;:&lt;FC State&gt; 
               
               
                   
                   
                 &lt;Request Validation String&gt; 
               
               
                   
                   
                 &lt;blank&gt; 
               
               
                   
                   
                 &lt;Host Validation String&gt; 
               
               
                   
                   
               
             
          
         
       
     
         [0043]    The data structure in a MY SQL database does not have an obligatory format, however the inventors have found that the format of the database as shown in Tables 3.0 and 4.0 are helpful in the validation process for each user deflection request. The tables 3.0 and 4.0 below correspond to the file creation structure which correlates with the deflection request action. 
         [0000]    
       
         
               
             
           
               
                 TABLE 3.0 
               
               
                   
               
             
             
               
                 
                   
                             
                     
                         
                         
                     
                   
                 
               
               
                   
               
             
          
         
       
     
         [0000]    
       
         
               
             
           
               
                 TABLE 4.0 
               
               
                   
               
               
                 Deflection Database Request Sample 
               
               
                   
               
             
             
               
                 
                   
                             
                     
                         
                         
                     
                   
                 
               
               
                   
               
             
          
         
       
     
         [0044]    Returning now to  FIG. 3 , the deflection request file retrieved during step  53  is validated  54  to confirm an authentic deflection request. Validation may be achieved in various ways as is known in the art, however the inventors for the present system utilize a numerical matching strategy to validate both database entry and the integrity of data in the deflection request based upon the confirmation of known data appearing on line  4  of the deflection request file. The control of the post back of information being written into a file directory on the server and the information contained in the file being written into MY SQL database is controlled by a PHP program running on the server (see  FIG. 5 , top portion). Typically, the server attempts to retrieve a request file every few minutes or during a pre-selected interval, and to the extent that the directory is empty the system understands that a validation request is not present and takes no action. However, upon the occurrence of any file in the pre-selected drop-off directory then a deflection request initiates processing of that file, and after being stored in the database as discussed above, is deleted from the drop-off directory. In the event that the drop-off directory includes multiple files, all the files are picked up and processed, and then deleted from the directory. Each deflection request is processed sequentially in chronological order in conformance with the file&#39;s creation date. 
         [0045]    The deflection request file is then validated  54  by comparing the validation text string in the file with a text string present in the database on the server. Since the validation string in the database provides one of the inputs directly into the file creation, a validation that the file has come from the server  21  may be made. Essentially the validation process matches the validation request ID to confirm that the request strings match. Further, since the user is authenticated prior to being able to access the deflection webform, some information is already associated with the user and can also be written into the SQL database as well. However as it will be seen later, a validation request may come from other than a human user who which present a user ID and password. In the event that the validation process fails  56  a denial request message, logged in the database, and the administrators are alerted  57 . If the validation request is validated, the deflection request begins to be processed further  59 . 
         [0046]    Initially, a particular state to which a deflection request applies is determined  61 . For example, if the undeflected website is being changed to a first or primary deflection state, information pertinent to the primary state  66  is retrieved. Alternatively, secondary  63  or alternate  64  states are determined. As may be understood, an infinite amount of states may be retrieved and processed in order to provide a flexible state change methodology to the entity requesting deflections. So, for example, and as discussed previously, in the event of disaster, different deflections might be invoked associated with different website states to provide pre, during, and post disaster information for the entity that wishes to communicate its status. Hence, primary, secondary, and additional alternate states may be invoked via a deflection request process at a time of choosing of the deflecting entity. 
         [0047]    The associated information for primary, secondary or alternate, states are stored within database  67  and retrieved for further processing in block  71 . Block  71  implements the process request by altering the DNS zone file  27  and publishing the zone file to the Internet DNS system. In particular, the A record associated with or corresponding to the CNAME record resident on the entity&#39;s DNS server  16  effects a CNAME deflection to the alternate website state. The implementation of the alterations to the DNS zone file in step  71  is accomplished as indicated in  FIG. 4 , and are written in PERL and/or BASH program scripts an example of which is shown in Table 5.0 below. 
         [0000]    
       
         
               
             
               
             
           
               
                 TABLE 5.0 
               
               
                   
               
               
                 Directory and File Structure Tree Located on DNS Server 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 . 
               
               
                 |-- backups/ 
               
               
                 | |-- fastcommand.com.hosts.107101414242 
               
               
                 | |-- fastcommand.com.hosts.107101414302 
               
               
                 | | ... 
               
               
                 | {grave over ( )}-- fastcommand.com.hosts.107612212948 
               
               
                 |-- clients/ 
               
               
                 | {grave over ( )}-- generate_sample_request.php 
               
               
                 |-- error/ 
               
               
                 |-- logs/ 
               
               
                 | {grave over ( )}-- cron.log 
               
               
                 |-- pickup/ 
               
               
                 |-- processed/ 
               
               
                 | |-- 14.txt 
               
               
                 | |-- 58.txt 
               
               
                 | | ... 
               
               
                 | {grave over ( )}-- 60.txt 
               
               
                 |-- retry/ 
               
               
                 |-- scripts/ 
               
               
                 | |-- check_single.pl 
               
               
                 | |-- cron.bash 
               
               
                 | |-- defaults.bash 
               
               
                 | |-- get_new.bash 
               
               
                 | |-- process_new.bash 
               
               
                 | |-- process_single.pl 
               
               
                 | |-- update_zone.pl 
               
               
                 | {grave over ( )}-- writelog.pl 
               
               
                 |-- zones/ -&gt; &lt;link to dns zone files&gt; 
               
               
                 {grave over ( )}--zones_main/ -&gt; &lt;link to dns zone files&gt; 
               
               
                 Cron Entry 
               
               
                 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * *  
               
               
                 /home/fastcommand/scripts/cron.bash 
               
               
                 2&gt;&amp;1 &gt;&gt; /home/fastcommand/logs/cron.log 
               
               
                 Standard out and standard error are redirected to the cron.log file  
               
               
                 in order to log all output of the cron.bash command. 
               
               
                   
               
             
          
         
       
     
         [0048]    As shown in  FIG. 4 , initially the zone file on the server computer  21  is located  81  and backed up  82 . Once the zone file is read into a memory array and a parse function in PERL is invoked  83 . Upon the reading of the zone file the information in the zone file is read into a memory array. Once the information is read into the memory array the targeted record which corresponds with the CNAME record associated with the deflection requesting entity, is located within a listing of all of the A records held by the memory array  84 . Once the record is located, an update to the record proceeds  87 . However if the record is not located  85 , an error is issued and the deflection process is terminated  86 . The updating of the record  87  consists of altering the listed IP address to correspond with the IP address of the website corresponding to the selected state in the deflection request as recorded in the database. The serial number of the zone file is then updated  88  to correspond with the date and time change associated with the deflection request, thereby creating a unique serial number associated with each update to the zone file in response to a deflection request. The memory array holding the zone file is then written to the server hard drive  89 , and a reload command  111  executed to the administration DNS server  21  as it applies to the zone file. An RNDC command is then executed  112  via SSH for all slave servers  26  associated with administration DNS servers  21 . 
         [0049]    It is critical that the Time To Live (“TTL”) of the zone file be set to a relatively small value on server  21  so that any changes to the zone file are propagated through the Internet DNS system quickly. This increases DNS traffic to the server  21 , when other servers who might contact the deflected entity web server, however this promotes a rapid publication of the revised deflection IP address to prevent any transient unreachable states for the web server during a disaster deflection implementation. 
         [0050]    Referring again to  FIG. 3 , after the zone file is updated in step  71 , an error processing loop is initiated  72  to confirm that the zone file DNS changes have been implemented. Net DNS resolver commands are initiated to all of the servers under the authority of the server  21 . Each server is queried using recursor queries and the response from the other servers is compared with the IP address now recorded in the altered A in the zone file  27 . It should be the same. In the event that the query is successful  73 , a three digit code is returned and the loop processing program interprets the code to as a failed or successful state change and the server identified that responded through a three bit identifier. If the state change is successful the administrators are alerted of the successful change  74  for that particular server, but if the state change is unsuccessful then a retry  76  is initiated and looped for a maximum of ten (10) attempts  78 . If ten attempts are unsuccessful in confirming a correct state change, then a failed deflection and alert is sent to the administrator  77 . It should be noted that should these error initiation attempts are sent to known IP addresses since all of the server IP addresses are known and the queries are sent directly to each server in succession. In other words, the DNS system outside of zone of the administration servers  21  is not queried. Since the current procedures incorporate a three bit interpretation, the determination of up to three servers might be interpreted as to whether or not any or all of the changes were successful and any at the server level for the servers within the zone of authority for servers  21 . Additional bits may be incorporated to address additional servers within the zone of authority for servers  21 . A top level, envelope scripting representation for the processes shown in  FIGS. 3 &amp; 4  are shown in  FIG. 5  to assist in script replication. The actual PERL programming steps may be found under Table 6.0 below. 
         [0000]    
       
         
               
             
               
               
             
               
             
               
               
             
               
             
           
               
                 TABLE 6.0 
               
               
                   
               
             
             
               
                 #!/usr/bin/perl 
               
               
                 ## Return Index 
               
               
                 # 
               
               
                 # $return{“status”} 
               
               
                 $fc[0] = “000; All Good”; 
               
               
                 $fc[1] = “001; NS1 Failed”; 
               
               
                 $fc[2] = “010; NS2 Failed”; 
               
               
                 $fc[3] = “011; NS1 &amp; NS2 Failed”; 
               
               
                 $fc[4] = “100; NS4 Failed”; 
               
               
                 $fc[5] = “101; NS1 &amp; NS4 Failed”; 
               
               
                 $fc[6] = “110; NS2 &amp; NS4 Failed”; 
               
               
                 $fc[7] = “111; NS1, NS2, &amp; NS4 Failed”; 
               
               
                 # 
               
               
                 # 
               
               
                 use Net::DNS; 
               
               
                 $home = “/home/fastcommand”; 
               
               
                 $scripts = “$home/scripts”; 
               
               
                 do “$scripts/writeLog.pl”; 
               
               
                 $hostname=$ARGV[0]; 
               
               
                 $expectedip=$ARGV[1]; 
               
               
                 use Net::DNS; 
               
               
                 my @myNameservers =  
               
               
                 (“12.150.248.34”,“12.150.248.35”,“12.150.248.45”); 
               
               
                 $temp_status_code = 1; 
               
               
                 $status_code = 0; 
               
               
                 foreach $server(@myNameservers) { 
               
             
          
           
               
                 my $res  
                 = Net::DNS::Resolver-&gt;new; 
               
             
          
           
               
                 $res-&gt;nameservers($server); 
               
             
          
           
               
                 my $query  
                 = $res-&gt;search($hostname); 
               
             
          
           
               
                 if ($query) { 
               
               
                  foreach my $rr ($query-&gt;answer) { 
               
               
                   next unless $rr-&gt;type eq “A”; 
               
               
                   #print $rr-&gt;address, “\n”; 
               
               
                   $check_hash{$server} = $rr-&gt;address; 
               
               
                   #print “$server ==&gt; $check_hash{$server}\n”; 
               
               
                   if ( $check_hash($server} eq $expectedip ) { 
               
               
                    #print “Good Change\n”; 
               
               
                   } else { 
               
               
                    #print “Bad Change on $server, got $check_hash{$server}\n”; 
               
               
                    $status_code += $temp_status_code; 
               
               
                   } 
               
               
                  } 
               
               
                 } else { 
               
               
                  warn “query failed: ”, $res-&gt;errorstring, “\n”; 
               
               
                  $status_code += $temp_status_code; 
               
               
                 } 
               
               
                 $temp_status_code *= 2; 
               
               
                 } 
               
               
                 print “$status_code\n”; 
               
               
                   
               
             
          
         
       
     
         [0051]    A further innovation is provided in the herein described system through the use of an intelligent website monitor  34  (see  FIG. 2 ). The entity website server is interrogated periodically in an intelligent manner to determine its operational state in the event that the web server becomes disrupted, as defined in association with known parameters, and the deflection process may be initiated by the intelligent monitor  34 . The processing steps pursuant to the intelligent monitor  34  are shown in  FIG. 6 . 
         [0052]    As shown, prior to initiation of the intelligent monitor process  90 , a signature file is uploaded  91  to entity web server  15  at a known directory location. The intelligent monitor then attempts to detect the existence of the signature file  92  on the entity web server  15  (see  FIG. 2 ). If the presence of the file is verified  93 , the intelligent monitor determines from the existing database on the administration DNS server  21  whether or not that site is supposed to currently be in an undeflected state  94 . If the entity web server site is in an undeflected state then counters associated with the process  90  in  FIG. 6  are reset to zero  103  and process  90  sleeps for 10 minutes. If the site is in a deflected state then counter  96  is incremented by 1 and the process  90  sleeps for 10 minutes  102 . In the event that the file is not present  93  then the state of the entity web server is again determined  95  and if its in an undeflected state then the counter is incremented  96 . If it is not in an undeflected state then the intelligent monitor initiates a sleep cycle for ten minutes  102 . As shown in the diagram, incrementing the counter  96  results in additional initiated actions depending upon the current counter state. For example, counter values 1, 2, 5, 6, all initiate sleep cycles  102 . Conversely, counter values 3 and 7 alert  101  site administrators prior to initiating a state change and sleep for ten minutes  102 . A counter value of 4 results in a state change to a primary state for a deflected web server  97  and generates a deflection request  99 . The counter value of 8 initiates a state change to a secondary deflection state  98  and generates a corresponding deflection request  99 . As it may be seen, the intelligent monitor generally sleeps for specified periods of time, in this case ten minutes, during different portions of the monitoring process so that graduated and intelligent decisions may be made regarding the true status of the entity web server  15  and respond accordingly. 
         [0053]    Referring now to  FIG. 7 , it may be seen that process  105  causes the issuance of plurality of text alert messages to a group or groups of recipients as selected pursuant to predetermined filtering criteria. Process  105  is initiated  123  in response to one or more external triggers  110  to provide flexibility and security in alert issuance. Each trigger  110  is associated with some temporal step associated with zone file alteration. For example, step  114  refers to initial processing step  59  of  FIG. 3  for the processing of a zone alteration request. The process request has already been validated pursuant to steps  51 - 56  to ensure that text alert issuance does not occur without proper validation. Trigger  116  refers to the actual alteration step  71  for altering the zone file  14  after the alteration parameters (i.e. the enumerated “states”) have been determined in steps  61 ,  63 ,  64 , and  66 . Hence, the website state determination must occur prior to text alert processing. Trigger  117  occurs only after a state change has been validated pursuant to step  74 , thereby providing greater integrity to the deflection occurrence prior to issuing a text alert message. 
         [0054]    While triggers  114 ,  116 , and  117  are responsive to states associated with physical alteration to zone file  14 , trigger  118  alternatively occurs from actions resulting from a distinct intelligent monitoring process  90  monitoring the website state externally (see  FIG. 6 ). In accordance with the presence of a signature file on a remotely monitored server, a zone alteration request will be generated  99  if a counter predetermined counter value is met to effect a state change to a monitored website (e.g. steps  97  and  98 ). Hence, trigger  118  occurs only upon the automatic initiation of a zone file modification request. Other triggers  121  may be instituted in response to other predetermined events associated with website deflection, although the inventors prefer triggers  114 - 118 . It will be understood that step  123  may include additional decision logic (not shown) such that one or more triggers  114 - 121  must occur prior to initiation of a transmission process (steps  124 - 129 ). For example, step  123  may include additional logic such that both a validated process request be received  114  and a confirmation of website change be received  117  prior to text alert initiation. Alternatively, any trigger in  110  may occur for a text alert initiation. 
         [0055]    Upon initiation of the process  123  from one or more, or a multiplicity, of triggers  110 , a determination as to whether a recipient filtering operation occurs  124 . If no filtering is to occur, a recipient list is selected from a predefined recipient list set and a set of destination phone numbers associated with each recipient in the list set is created  127 . A text message using SMS is then broadcast  129  for each of the listed phone numbers created is in step  127  and sent. 
         [0056]    Alternatively, a recipient list set may be created in real-time with each text alert message transmission initiation  123  using filtering parameters selected by a user. A large array of cellular device user information may be stored in database  134  having certain demographic information associated with each user. Such demographic information may then be filtered  131  by specific demographic information and a unique recipient list created  132  and selected  126  for usage. For example, recipients who attend high schools in a certain selected counties of a state may be selected and placed into a recipient list, thereby transmitting a text alert to all high school students in the selected counties. By allowing for real-time filtering on demographic information from cooperative databases used by various cellular carriers, targeted audiences of alert messages may be reached via SMS in response a single website or multiple website deflections pursuant to the processes shown in  FIGS. 1-6 . 
         [0057]    Applicant notes that a further developed variation of the above described system has already issued under U.S. Pat. No. 7,720,998, (hereinafter the “&#39;998” system) to Foote. That &#39;998 system provides a means for a central authority to utilize parts of the herein described system to affect deflection of selected groups of websites, such deflection being restricted to affect only a portion of the information displayed to a remote user of the selected website. The above issuance of text alerts may also be implemented utilizing the &#39;998 system in which the alerts are issued responsive to the alteration of a zone file, such as file  28  controlled by administration server  26  in the &#39;998 patent, through mechanisms described above in triggers  110  of  FIG. 7 . To that end, the contents of the &#39;998 patent are incorporated herein by reference in its entirety. 
         [0058]    While I have shown my invention in one form, it will be obvious to those skilled in the art that it is not so limited but is susceptible of various changes and modifications without departing from the spirit thereof. For example, while the herein described systems would normally transmit text message alerts to human recipients, the inventors anticipate that machines capable of interpreting text messages shall also be placed into a recipient pool to initiate secondary processes by those recipient machines.