INTELLIGENT FEEDBACK LOOP PROCESS CONTROL SYSTEM

Abstract: there is disclosed a system and method for detecting attacks on a site in a communication network and for taking action to reduce or redirect such attacks. A monitor system reviews incoming data packets and sends directions to at least one router to change the data flow in the system. The directions may be sent to other routers. The data packets and the resulting work flow are modified for certain conditions, and for certain conditions within defined time slices, and action is taken when the monitored condition is contrary to expected conditions.

Description: INTELLIGENT FEEDBACK LOOP PROCESS CONTROL SYSTEM TECHNICAL FIELD This invention relates to network control systems and more particularly to a system and method for detecting and preventing system disruption caused by certain data traffic conditions. BACKGROUND The problem that we are addressing exists in the functioning of the Internet or any communications network. Such networks are inherently vulnerable to at least two types of attacks which disrupt or disable the functioning of network services. The two general types of problems are called flooding attacks and pattern attacks. Flooding attacks typically occur by a ramping up of the volume of traffic on a particular Internet line. The attackers ramp up the volume by creating situations that encourage multiple computers to interact simultaneously to create a giant flood of information directed at a single source. This is a process that often is enabled by using "third party victim" computers so that the computers at legitimate innocent sites are used in a multiplicity to create and generate a high volume of requests to a target site unknown to the victim. There are other types of volume attacks. Different programs are used to spoof addresses, which means that an attacker creates packets and places messages inside the packets to make it appear as if the packet is coming from a particular address, while, in fact, it is not coming from that address at all. For example, person "A" could mail a letter and put person "B's" return address on the letter. This sounds innocent enough, but when it comes to tracking these volume attacks, it becomes very difficult. Thus, these attacks not only have the ability to ramp up the volume, but they have the ability to hide themselves, giving them endless opportunities to do it again and again. Another general type of attack is what is called by some a pattern or formatting attack. A formatting attack does not have so much to do with volume, but rather has to do with the quality of the information that is coming over the line. An attacker can format a packet in such a way that it can either 1) confuse the server so that the server does not know what to do to service the request; or 2) it can cause the server to go into loops or expend endless resources trying to service that single request. This can be thought of in terms of receiving a bogus message through the mail where the sender is pretending to be a high government official. The recipient then might be thrown into a turmoil trying to get information together to answer a bogus request when, in fact, the request was not official at all. Malformed packets can cause the same reaction. The recipient is unable to determine the "credibility" of the request, or is unable to validate or recognize a key portion of the packet, thereby creating a "state-of- confusion" loop. SUMMARY OF THE INVENTION These and other objects, features and technical advantages are achieved by a system and method which detects attacks on a site in a communication network. One concept of the invention is the use of an intelligent feedback loop that recognizes the inherent vulnerability of the Internet and operates to redirect or block certain incoming, or outgoing, data packets. The inventive system and method, in one embodiment, is located at the perimeter of the system to be protected and allows for the installation of hardware and software configurations to address both the volume attacks and the formatting attacks. The system controls the amount of data that is allowed to flow in (or out) and controls the quality of the data that passes to the servers. The system and method recognizes problems in the early stages as they are beginning to occur and communicates with a system router to essentially control the flow of all the communication in or out of the protected system (like a front door of a building). The system recognizes messages that are bound for the protected site and allows only certain data in. The allowed data must pass certain tests. Alternatively, all data is allowed in until an "alarm" condition is detected and then data is blocked. The blocked data can be general, or origination site specific. The system is arranged to allow for dynamic "red lining" (a pre-determined level of traffic condition that causes a system overload) and for operator control of variables which are used to detect red line situations. Red line situations can be customized for each site for the end user and for the end user's servers depending upon, among other things, the capacity of those servers. Also note that the physical hardware resources could be located at different locations across the country or different parts of the world and different communication paths may be utilized to complete the traffic particularly when the traffic is deemed to be legitimate. This means the customer can re-route traffic to alternate sites to optimize throughput and system performance. In this manner, high traffic can be diffused across the network and even perhaps routed to a more robust (faster, smarter, more secure, etc.) system for handling. The system (or systems) to which the traffic is redirected can be shared among a plurality of enterprises and can serve as a backup to many such enterprises. One feature of the invention is to provide the end user with the ability to monitor and control the logistics of its protection, i.e., where it is physically located. Another feature of the invention is to provide advance warning on an imminent crash situation, allowing the user site to take action to prevent down time. One of the features of the invention is to provide a rapid dissemination of attack recognition and to provide recovery solutions whenever a new attack is recognized. Another important feature of the invention is that pattern recognition is used to bring other equipment on line quickly to minimize outage time on the Internet. The foregoing has outlined rather broadly the features and technical advantages of the present invention in order that the detailed description of the invention that follows may be better understood. Additional features and advantages of the invention will be described hereinafter which form the subject of the claims of the invention. It should be appreciated by those skilled in the art that the conception and specific embodiment disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. The novel features which are believed to be characteristic of the invention, both as to its organization and method of operation, together with further objects and advantages, will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present invention. BRIEF DESCRIPTION OF THE DRAWING For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawing, in which: FIGURE 1 shows an overall view of a network utilizing the invention; and FIGURE 2 shows details of the configuration and detection/notification servers. DETAILED DESCRIPTION Turning now to FIGURE 1, system 10 shows a portion of Internet working 11 (or any communication network) where data flows into or out of Internet Service Provider (ISP) 12. Data from Internet 11 would typically have an address location which would be translated by a router, such as gateway router 13. In a typical situation, the devices which are accessible from the Internet which are located in data storage 101 have addresses such as "www. anything." This address is translated by gateway router 13, such that requests directed to "www. anything" would be routed to processor 101-1 in data storage 101 via gateway 14 and firewall 15. Note that while the network is set as the internet, any communication system will work, provided that there is a mechanism at some point in the network for rerouting communication connections upon direction from an external source. In the Internet, as it is known today, data is routed in packets, with each packet containing a portion of a data message and each packet containing an address portion as well as the message and perhaps other portions. Routers along the network serve to route each packet to the proper destination. The Internet is a temporal network in that a stream of packets from one location to another need not flow along any particular path, but, in fact, may take a plurality of different paths between locations. Often, however, entire message streams may take the same route, all depending upon traffic and other conditions as controlled by the network routers. The Internet is a changing network and the invention discussed herein is not limited to the Internet and it is contemplated that as the Internet changes so will the exact implementation of this invention; however, the concepts described and claimed herein are meant to teach those skilled in the art so that they may apply those concepts to an evolving technology without departing from the spirit and scope of this invention. It should be further noted that the line speeds (1.544 Mbit between gateway router 13 and customer gateway 14 and 10 Mbit between customer gateway 14 firewall 15) are for illustration only, and any desirable speeds can be used. Also note that customer gateway 14 is optional and may not exist in some configurations and router 13 may connect directly to firewall 15, or if no firewall, then directly to server 21. As will be discussed hereinafter, detection/notification server 21 is the communication path between firewall 15 (which can be any well known firewall, such as a UNIX based computer and data storage 101 for the purpose of protecting the system from unwanted attacks. This process will be discussed in more detail hereinafter with respect to FIGURE 2. Continuing now in FIGURE 1, private network 103 (which is a company's internal network) can have any number of terminals, Sl-SN, processors 103-2, 103-N and storage devices such as 103-1, and any other number of devices which interact with each other on an internal private network, or which use firewall 15 to access Internet 11 in a well known manner. The incoming packets are routed from gateway router 13 (or from perhaps a wireless network (not shown)) to firewall 15, then go to detection/notification server 21 , which (as will be detailed hereinafter) investigates the quality and quantity of the incoming requests, as well as other factors and determines whether or not a "red line" (defined as a condition wherein unusual action should be performed to protect the viability of the communication system) or other potential trouble situations exist. If a problem exists, detection/notification server 21 sends a command via modem 16 to modem 17 to configuration server 22 to instruct server 22 to perform an action with respect to gateway router 13. This action serves to address the attack by choking down the offending volume by stopping or reducing packet flow through router 13. In addition, detection/notification server 21 addresses the quality of data or the formatting type attacks by investigating the format of the incoming data and determining whether or not the format is acceptable to the processors within data storage 101. Note that modems 16 and 17 are , shown essentially as land line telecommunication modems out, of course, could be any form of communications, or combinations could be used, including wireless, a private sub-network independent of the Internet, or even the internet itself. However, since the Internet could be overloaded at this point in time and unless "special" override data can be used, communication external to the Internet (such as, for example, a phone connection or a wireless page message) would be employed. Also, while the communication is shown going to gateway router 13 which is closest to the customer's gateway, the communications could be sent (either concurrently or serially) to more remote routers to begin the process of rearranging the entire network structure so that the information which would have come to "www. anything" or to any other of the Internet addresses associated with this customer would be fully or partially routed to some other location remotely. This alternate location can be a backup processor in a remote location, or a trouble processing center, thereby freeing up the telecommunication capacity at site 101. Turning now to FIGURE 2 there is shown system 20, which essentially consists of detection/notification server 21 and configuration server 22. Information packets come into the detection/notification server from firewall 15 via communication interface 210 and are intercepted by that interface and fed into microprocessor 211. Microprocessor 211 is at the same time loading programs from random access memory 212 which had been stored in disk storage 213. These programs are what logically intercept the incoming data within the random access memory. The programs operate to investigate the incoming data and to make determinations as whether to pass the data on without comment; pass the data on and perform other actions or block the data flow. Some of the other actions that may be taken include, but are not limited to: count packets versus time; count packets versus source; initiate communication with configuration server 22; recognize malformed packets; recognize suspicious or malicious traffic patterns; initiate communications with data servers 101-1, 101-2, and the like; and initiate various notification functions, such as pager and cell phone notification. Data is accumulated and held in disk storage 213 in conjunction with RAM 212. If no problem exists, the packet is passed along via random access memory 212 to communication interface 215 and via port 101 to the servers where the requests are attended to by the servers in data storage 101. When a trouble situation appears to exist, server 21 performs one or more actions, depending upon the condition. If the condition is that incoming data is formatted improperly, then that data will not be passed along to data storage 101, but will be either held, returned or deleted, and the fact of it will be logged within the disk storage for future reference. Logs are maintained for all action taken and trouble activities. If, on the other hand, a red line process is recognized as a volume error or a flooding condition, then microprocessor 211 will be instructed to load software from disk storage 213 that will activate communication interface 214, thereby activating the link through modems 16 and 17 to send a command to configuration server 22. This command then passes through interface 220 to activate programs stored in random access memory 222, or in storage 223, under control of microprocessor 221. This in turn activates communication interface 224 to gateway router 13 to instruct the router to perform some action to choke down operation that will begin to limit the flooding operation to help solve the red line situation. The modules that exist in storage 213 are 218-1 through 218-N and represent the software modules that comprise the logic of the system. By changing the programs, parameters and algorithms in storage 213, the system operation can be changed and upgraded for different types of attacks. These system changes, loaded on disk 213, can be manual (from station 24) or remote via the Internet or via any other course, such as wireless or direct connection (not shown) and can occur concurrently with attacks on other systems. Workstation 24 acts as a user interface into the process control system and enables technicians to activate the modules within disk storage 213 to do such things as to view and print the logs via printer 23 to address various settings that comprise the parameters that activate these modules. These parameters are some of the program factors that instruct the microprocessor as to what to do that will ultimately result in the intelligent actions of data storage 101, detection/notification server 21, or configuration server 22. All of these separate modules work together to activate each other in a logical order as will be described hereinafter. Returning now to FIGURE 1, the incoming data packets that come to detection/notification server 21 have within them requests, and these requests are requests of the processors in data storage area 101. It is the processing of these requests that really takes the most amount of time in the process of FIGURE 1, so whenever something starts to go wrong, it is usually because the processors in data storage 101 become overloaded either through a volume attack or because of a format situation. The amount of time that it takes the detection/notification server 21 to deal with incoming messages is relatively insignificant with respect to the processing time of data storage 101 so that a little delay is not important. The data flowing in to server 21 from firewall 15 could be buffered for an amount of time to allow microprocessor 211 to work on the data. However, it is anticipated that such buffering will not be required, and that the data will, if valid, be passed directly through with essentially no time lost. If the data is determined to be invalid, the data will be dropped, (i.e., removed from the data traffic altogether), destroyed, returned or otherwise processed in accordance with the inventive concepts. Also note, that not every packet need be monitored and the degree of monitoring can be dynamically changed up or down depending upon results found. Thus, if an attack is sensed, the monitoring could be increased and the incoming gateway slowed (if desired) to allow for recovery. System 10 has several concurrent processes running, which will now be detailed. These concurrent processes are: The system also has on-demand processes, such as the following: The following processes are operational in configuration server 22: System Startup Process (SSP) 1) Initiates all concurrent processes and records information about the processes, such as sockets used, etc. 2) Builds an information block in memory for process CDM. The information block contains all necessary process information. 3) Ends the process. Concurrent Communication with Detection Notification (D/N) Server 1) When an information block is received from process SSP, it is sent to D/N Server 21 (FIGURE 1) via modems 17 and 16. 2) Configuration server 22 then listens for communication from the D/N server. If the message is a "block," "unblock," or similar command for router action, an appropriate command block is prepared for process CR. If a "startup" message is received, that information about the D/N server is recorded. Log activity. 3) Configuration server 22 listens for acknowledgment requests from the D/N server. These requests are sent according to a specific time slice. If acknowledgments are not received, or only received partially, the configuration server builds an appropriate block for process NF and initiates appropriate actions. Log activity. 4) The server compiles and sends acknowledgments from all requested processes to the detection notification server. Concurrent Process CR (Communication with Routers) 1) The configuration server listens for a command block from process CDM and sends the command to the router(s) and logs the activity. 2) The server optionally receives acknowledgments from gateway router(s) 13. If such acknowledgments are absent when expected, the configuration server creates a record for process NF and takes other appropriate actions and logs the activity. Concurrent Process S A (System Administration) 1) Display menu and information messages; accept operator input. 2) Checks for conditions that require operation response, such as: system file sizes have become critical; important parameters have been reset; an acknowledgment is needed, time delays (in and outbound) are beyond a set (or variable) limit. 3) The system will (among other functions) display or print logs, purge and archive data; and set system information, such as notification numbers, authorized numbers and addresses of detection/notification server(s), and possibly other attached equipment. Concurrent Process NF (Notification Functions) 1) Listen for commands from other processes. When such commands are received, perform actions appropriate to the commands, such as activate pagers; activate calls to telephones; and activate other alarm mechanisms. The following processes are operational in detection/notification server 21 : System Startup Process (SSP) 1) Initiates all concurrent processes and records information about the processes, such as sockets used, etc. 2) Builds an information block for process CCS with all process information. Log activity. 3) End process. Concurrent Process Packet Format and Pattern Recognition (FPR) 1) Checks the configuration server(s). If any are off-line, generates a notification for process NF and checks for a "red line" (critical) condition in traffic flow; if one exists, takes appropriate action such as dropping the incoming packet. Log activity. 2) Verifies the format of incoming packets. If the verification test fails, takes appropriate action, such as dropping the packet or rerouting the packet to another location. 3) Checks packets for traffic pattern violations. If the test fails, it will note the severity. If a "red line" condition exists, the server takes appropriate action such as dropping the packet or generating a command to the CCS process to block specific traffic. Process NF may also be invoked. Log activity. 4) If a packet is not dropped, it is passed to process P.S.C. Concurrent Process Packet and Source Counter (P.S.C.) 1) Updates traffic accumulators with information from the incoming traffic and counts total packets by time slice. Packets are also logged as to source; time slice; type; and any other desired parameters. 2) Sets an indicator if a "red line" or other warning level has been reached. If a "red line" condition exists, a command packet is produced for processes CCS an F. 3) The packet is passed to process CDS. Concurrent Process Communication with Configuration Server(s) (CCS) 1) Listens for communication from configuration servers. When a "startup" message is received, records the information about the configuration server processes. When acknowledgment messages have not been received within a specific time frame, a record is created for process NF and other appropriate action is taken. 2) When an acknowledgment message is received from a configuration server, an acknowledgment for each concurrent process is generated on the detection/notification server and this acknowledgment is sent to the configuration server. The server compiles requests for acknowledgment for each concurrent process and sends them. 3) The "listening" process is activated to await appropriate responses from the configuration server(s). 4) When a message is received from process FPR, an appropriate command block is built and sent to the configuration server. A record for process NF is prepared. Log activity. 5) Checks for the expiration of time on the "block traffic" condition for various sources. If expired, the server builds and sends an "unblock" command to the configuration servers. Log activity. 6) When an information block is received from process S . S .P . , that information is sent to the configuration server. Concurrent Process Notification Functions (NF) 1) The server listens for commands from other processes. When a command is received, the server performs actions appropriate to the command, such as activate pager(s); activate calls to telephones; and or activate other alarm mechanisms. Log activity. Concurrent Process Communication with Data Server(s) (CDS) 1 ) Whenever a packet has been received from another concurrent process, it is sent to the current outgoing communication port; 2) The server listens for messages from the data server(s). When such messages are received, the condition parameters are reset by process P.S.C. to adjust "red line" and other warning conditions on the basis of traffic levels; 3) Log activity. Concurrent Process System Administration (SA) 1) Displays a menu and information messages; and accepts operator input; 2) Checks for conditions that require operator response, such as system file sizes have become critical; important parameters have been reset and an acknowledgment is needed. 3) Provides a variety of functions, such as display or print logs; purge and archive data; set system information, such as notification numbers, authorized numbers and addresses of configuration servers, and the like. The following process is operational in data storage (web servers) 101: Concurrent Process Communication with Detection/Notification Server (D/N Server(s)) 1) Gathers statistics and/or notification messages, including warnings, and sends these to the D/N server(s). While the invention has been described for operation with respect to a terminating device, or node, in a communication network, the concepts of this invention can be used at one or more network nodes or routing points along the network to help prevent attacks to either the network or to terminating devices connected to the network. Also note there can be many different methods for determining a variation from a "normal" condition. As discussed, a base line of expected operation can be maintained in the data base either on a slice of time basis, such as by the minute, hour, day, etc., or there can be a prediction of expected behavior based upon past experience, anticipated experience (either hand keyed in or automatically developed based on parameters available to the system) or by the loading of certain "triggers" (such as virus triggers, code words, patterns of activity, or the like). For example, relevant information for this determination may include: the number of arriving packets in a particular time interval; the type of requests contained within given packets; the nature of the informational content of the packets; the sending identity of the packets; the response destination of the packets; the traffic patterns formed by packets from specific sources; the number of arriving packets from specific sources; certain data contained in one or more messages; and the type of file attached to a message. Thus, if a particular piece of code, or name extension, or attachment, is thought to be a problem the system would filter all (or a selected subset) of the data coming in to determine if the trouble code (name, extension, attachment, etc.) is present. The system and method are designed to take action dependent upon the variation from a selected, or monitored, "normal" condition. The action taken can be graduated to suit the attack or could be the same regardless of the severity. Any number of methods can be used to compare the actual current behavior of the enterprise system against the expected behavior or to compare the data flowing into (or out of) the enterprise system against a pattern of behavior that has been identified as being a potential problem. Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure of the present invention, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present invention. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.

Claims: WHAT IS CLAIMED IS: 1. A communication system, in which packet messages can be directed from anyone of a plurality of sending devices to one or more receiving devices, the receiving devices adapted for receiving such packet messages and for responding thereto, the system comprising: a network over which each packet can travel, said network being temporally available for each packet and defined according to address information contained within each such packet, said packet routed along said temporal network by routers operating under partial control of packet address information; at least one receiving device arranged in association with at least one gateway router, said gateway router serving to direct only those packets containing the address information of said associated receiving device to said associated receiving device; a monitoring system operating in conjunction with said receiving device for gathering information pertaining to the operation of said receiving device; and a feedback network for modifying the operational characteristics of said gateway router depending upon said gathered information. 2. The invention set forth in claim 1 wherein said gathered information is selected from the list containing: number of arriving packets in a particular time interval; the type of requests contained within given packets; the nature of the informational content of the packets; the sending identity of the packets; the response destination of the packets; the traffic patterns formed by packets from specific sources; the number of arriving packets from specific sources; certain data contained in one or more messages; and the type of file attached to a message. 3. The invention of claim 1 wherein said feedback network operates to compare said gathered information with certain pre-established criteria and to set limits, and wherein said operational characteristics of said gateway router are modified in accordance with said set limits. 4. The invention of claim 3 wherein said limits are dynamically changeable. 5. The invention set forth in claim 3 wherein said limits are changed manually. 6. The invention set forth in claim 1 wherein said gathered information is compared to statistics generated from said receiving device over a period of time. 7. The invention set forth in claim 6 wherein said statistics are gathered to reflect normal receiving device behavior over a period of time. 8. The invention set forth in claim 1 wherein said gathered information is dynamically changeable. 9. The invention set forth in claim 1 wherein said behavior change of said gateway router is selected from one or more of the following list: blocking certain packets from reaching said receiving device; blocking all packets from reaching said receiving device; rerouting certain packets to another receiving device; modifying the informational content of certain ones of said packets; unblocking certain hitherto blocked packets, on the basis of certain parameters; and modifying the informational content of certain ones of said packets. 10. The invention set forth in claim 1 wherein said feedback network stores information pertaining to received ones of said packets. 11. The invention set forth in claim 1 further including: a system for monitoring packets leaving said receiving device; and wherein said feedback network is further operable to selectively modify the operational characteristics of said gateway router with respect to said leaving packets. 12. The invention set forth in claim 1 wherein said monitoring system further gathers information pertaining to certain of said data packets; said last-mentioned gathered data useful for providing information about the history of said certain packets. 13. The invention set forth in claim 12 wherein said last-mentioned gathered data is stored for future use. 14. The invention set forth in claim 12 wherein said certain data is selected according to a set of parameters pertaining to operation of said receiving device. 15. The invention set forth in claim 1 wherein said feedback network is further operable for modifying operational characteristics of said communication system remote from said router. 16. The invention set forth in claim 1 wherein said monitoring system and said feedback network are operational at least in part at an enterprise system served by said gateway router. 17. A monitor system for use in conjunction with a particular site on a communication network; said site arranged to receive data addressed thereon via a network control device associated with said site and to send out onto the communication network via said control device data addressed to other communication network sites; said monitor system comprising: at least one system for tracking data flow situations within said particular site, said data flow situations selected from one or more of the following list: amount of arriving data in a particular time interval; the type of requests contained within given data; the nature of the informational content of the data; the sending identity of the data; the response destination of the data; the traffic patterns formed by data from specific sources; the amount of arriving data from specific sources; and identification of a specific data pattern; and wherein said tracking system sends instructions from time to time to said control device to affect the flow of data to said particular site. 18. The invention set forth in claim 17 wherein said instructions from said tracking system are in part dependent upon a comparison of said tracked data flow situations with a pre- established set of parameters. 19. The invention set forth in claim 18 wherein said parameters are dynamically changing. 20. The invention set forth in claim 19 wherein said parameters are based on statistical data gathered over a period of time with respect to the operation of said particular site. 21. The invention set forth in claim 19 wherein said parameters are established from time to time manually. 22. The invention set forth in claim 19 wherein said parameters are received from a database. 23. The invention set forth in claim 18 wherein said data flow tracking system includes means for gathering information pertaining to certain of said data arriving at said particular site; said data to be gathered being useful for providing information about the history of said data. 24. The invention set forth in claim 23 wherein said last-mentioned gathered data is stored for future use. 25. The invention set forth in claim 23 wherein said gathered data is selected according to a set of parameters pertaining to operation of said particular site. 26. The invention set forth in claim 17 wherein said data flow is effected by controlling data through a gateway unique to said particular site. 27. The invention set forth in claim 17 wherein said data flow is effected by controlling data through one or more nodes remote from said particular sites. 28. A flow control system for use in conjunction with at least one node on a communication network, said network operational for passing data between nodes of said network, said system comprising: means for real time review of certain parameters pertaining to data flowing between nodes of said network; means for comparing said monitored parameters against stored criteria; and means for feeding data traffic affecting signals to one or more of said nodes under at least partial control of said comparing means. 29. The invention set forth in claim 28 wherein said stored criteria are dynamically changeable. 30. The invention set forth in claim 29 further including: means for storing certain of said monitored parameters for a period of time, at least some of said stored parameters being useful in determining at least a portion of the commumcation history of said monitored data. 31. The invention set forth in claim 28 wherein at least one of said nodes is said at least one node. 32. The invention set forth in claim 31 wherein said at least one node is a gateway node to a particular data source. 33. The method of controlling data flow in a communication system in which packet messages can be directed from anyone of aplurality of sending devices to one or more receiving devices, the receiving devices adapted for receiving such packet messages and for responding thereto, the method comprising the steps of: receiving packet messages over a network where each such packet can travel to locations defined according to address information contained within each such packet and wherein each said packet is routed along temporal paths by routers operating under partial control of said address information in solo packets at a particular location in said network; gathering information pertaining to the operation of said particular location; and modifying the data flow with respect to said particular location depending upon said gathered information. 34. The invention set forth in claim 33 wherein said gathered information is selected from the list containing: number of arriving packets in a particular time interval; the type of requests contained within given packets; the nature of the informational content of the packets; the sending identity of the packets; the response destination of the packets; the traffic patterns formed by packets from specific sources; the number of arriving packets from specific sources; certain data contained in one or more messages; and the type of file attached to a message. 35. The invention of claim 33 wherein said gathering step includes the step of: gathering information based upon certain pre-established criteria. 36. The invention of claim 35 wherein said pre-established criteria are dynamically changeable. 37. The invention set forth in claim 35 wherein said pre-established criteria are changed manually. 38. The invention set forth in claim 33 wherein said gathering step includes the step of: comparing said gathered information to statistics generated from said particular location over a period of time. 39. The invention set forth in claim 38 wherein said statistics are gathered to reflect normal particular location behavior over a period of time. 40. The invention set forth in claim 38 wherein said gathering step includes the step of: comparing said gathered information to expected parameters of said particular location. 41. The invention set forth in claim 33 wherein said data flow modification is selected from one or more of the following list: blocking certain packets from reaching said receiving device; blocking all packets from reaching said receiving device; rerouting certain packets to another receiving device; modifying the informational content of certain ones of said packets; unblocking certain hitherto blocked packets, on the basis of certain parameters; and modifying the informational content of certain ones of said packets. 42. The invention set forth in claim 33 wherein said gathering step includes the step of: storing information pertaining to received ones of said packets. 43. The invention set forth in claim 33 wherein said gathering step includes: monitoring packets leaving said particular location. 44. The invention set forth in claim 41 wherein said modifying occurs at a gateway router associated with said particular location. 45. The invention set forth in claim 41 wherein said modifying occurs at a router remote from said particular location. 46. The invention set forth in claim 33 wherein said gathered data is useful for providing information about the history of said packets. 47. The invention set forth in claim 46 wherein said method includes the step of: storing said gathered data. 48. A method for controlling data flow in conjunction with at least one node of a multi-node communication network operational for passing data between nodes of said network in accordance with address information associated with packets, said method comprising the steps of: reviewing certain parameters pertaining to data flowing between nodes of said network; comparing said monitored parameters against stored criteria; and feeding data traffic affecting signals to one or more of said nodes under at least partial control of said comparing step. 49. The invention set forth in claim 48 wherein said stored criteria are dynamically changeable. 50. The invention set forth in claim 49 further including the step of: storing certain of said monitored parameters for a period of time, at least some of said stored parameters being useful in determining at least a portion of the communication history of said reviewed data. 51. The invention set forth in claim 48 wherein at least one of said nodes to which traffic affecting signals are fed is said one node. 52. The invention set forth in claim 51 wherein said one node is a gateway node to an enterprise system. 53. The invention set forth in claim 52 wherein said method is practiced at least in part within said enterprise system.

Inventors: DARK SUSAN PITTMAN, DARK, SUSAN, PITTMAN
Applicants: DEEP NINES INC, DEEP NINES, INC.
Application year: 2001
Main classification: H04L12
IPC codes: H04L12, H04L29