CROSS REFERENCE TO RELATED APPLICATIONSThe present application is a divisional of U.S. patent application Ser. No. 13/153,931, filed Jun. 6, 2011, which is a continuation of U.S. patent application Ser. No. 10/055,407, filed Jan. 23, 2002, now U.S. Pat. No. 7,958,237, which claims priority from U.S. Provisional Patent Application No. 60/263,536, filed Jan. 23, 2001, all of which are incorporated herein by reference in their entirety.
BACKGROUND OF THE INVENTIONField of the InventionThe present invention relates to monitoring and controlling of data associated with transactions occurring over a computer network, such as a local area network, a wide area network or the Internet.
Description of Related ArtRecent studies indicate that more than 50% of all computer network, e.g., Internet, transactions taking place within an organization are not business related. To this end, 79% of all organizations have detected employee abuses of Internet access privileges. Moreover, 64% of organizations participating in a survey acknowledge financial loses from abuses of Internet access privileges. In addition, because of its ease of use and the misguided perception that the Internet is a secure communication medium, the Internet has engendered an increase in sexual harassment and other hostile workplace issues.
As a result, there is an increasing need to control computer network access to prevent abuses and/or to provide evidence to support employee disciplinary action. In addition, there is a need to reduce or eliminate misuse of a computer network within organizations in order to preserve the network bandwidth for work related purposes. Lastly, there is a need for an enforcement tool to back computer network acceptable use policies. However, at the present time, no means exists that fulfills all of these needs.
It is, therefore, an object of the present invention to overcome the above problems and others by providing a method for controlling computer network access where each user's access to the computer network can be selectively controlled and records of each user's computer network transactions, especially prohibited transactions, can be stored for subsequent retrieval and analyses. Still other objects of the invention will become apparent to those of ordinary skill in the art upon reading and understanding the following detailed description.
SUMMARY OF THE INVENTIONAccordingly, we have invented a method for controlling computer network access. The method includes initiating at a client computer a first communication session at a first network address and receiving at the client computer via the first communication session a second network address. A second communication session is initiated at the client computer at the second network address. The client computer receives via the second communication session an access configuration including a control setting for at least one communication protocol capable of being utilized during a third communication session. A process is instantiated on the client computer which initiates a third communication session at a third network address. Lastly, in connection with the third communication session, the conveyance of data to and/or from the process instantiated on the client computer is controlled based on the control setting for the one communication protocol.
The access configuration can include a list related to the control setting for the one communication protocol. The conveyance of data via the third communication session can be controlled based on the list.
The communication protocols capable of being utilized include World Wide Web (WWW or Web), File Transfer Protocol (FTP), E-mail, News, Chat, Instant Messaging, Telnet and Peer-to-Peer. These protocols represent generic classes of communication protocols. The specific listing of these protocols is not to be construed as limiting the scope of the invention since the present invention is capable of operating with other, unspecified, protocols or classes of protocol.
The control setting can include unrestricted computer network access (Allow All); no computer network access (Block All); limited computer network access to network addresses included in an allow list (Allow Listed); and unrestricted computer network access except to network addresses included in a block list (Block Listed). The access configuration can further include at least one of the following global control settings: access prohibited to convey data having a predetermined word and/or phrase; access prohibited to data of at least one predetermined data type, e.g., cookies; access prohibited to data conveyed during at least one of a predetermined time and day-of-week; and access prohibited based on a rating for a category included with the conveyed data. The conveyance of data to and/or from the process instantiated on the client computer can also be based on the at least one global control setting.
The method can further include the step of terminating the first communication session after the client computer receives the second network address. The second communication session can also be terminated after the client computer receives the third network address.
At suitable times, the client computer can transmit via the second communication session a request to receive another access configuration including a control setting for the one communication protocol. In response to this request, the client computer receives via the second communication session the other access configuration. The conveyance of data to and/or from the process instantiated on the client computer can be controlled based on the control setting included in the other access configuration,
The step of controlling the conveyance of data can include the steps of determining the communication protocol from the conveyed data and determining from the thus determined communication protocol the control setting therefor. The method can also include the step of transferring at least part of the control data to the second network address via the second communication session. This transferred data can include a network address and/or a subject of the third communication session. Lastly, the method can include the step of transferring with the data a login name received by the client computer during a login procedure by a user thereof.
We have also invented a method for controlling computer network access that includes storing a first network address at a client computer. A first communication session is initiated between the client computer and a first server computer at the first network address. The client computer receives a second network address from the first server computer via the first communication session. A second communication session is initiated between the client computer and a second server computer at the second network address. The client computer receives from the second server computer an access configuration including a control setting for at least one communication protocol capable of being utilized during a third communication session. A process is instantiated on the client computer which initiates a third communication session between the client computer and a remote computer at a third network address. In connection with the third communication session, the conveyance of data to and/or from the instantiated process on the client computer is controlled based on the control setting for the one communication protocol.
The first and second server computers can be the same server computer.
The method can further include the step of terminating the first communication session after the client computer receives the second network address. The second communication session can also be terminated after the client computer receives the third network address.
The access configuration can also include at least one of the following global control settings: access prohibited to convey data having a predetermined word and/or phrase; access prohibited to data having at least one predetermined data type; access prohibited to data conveyed during at least one of a predetermined time and day-of-week; and access prohibited based on a rating for a category included with the conveyed data. The step of controlling the conveyance of data to and/or from the process instantiated on the client computer can also be based on the at least one global control setting.
Prior to receipt of the access configuration at the client computer, the control setting for the one communication protocol is selected from a plurality of different control settings therefor. Each global control setting is selected nonexclusively of any other global control settings.
The method can also include the steps of initiating at the client computer via the second communication session a request to the second server computer to transmit another access configuration. The other access configuration can be received at the client computer from the second server computer. Thereafter, the conveyance of data to and/or from the instantiated process on the client computer can be controlled based on a control setting included in the other access configuration for the one communication protocol.
The control setting for the one communication protocol can have a list associated therewith. The conveyance of data via the third communication session can be controlled based upon an entry, e.g., a network address, included in the list.
Lastly, the method can include the step of determining the communication protocol from the conveyed data.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram of hardware utilized to implement a method in accordance with the present invention;
FIG. 2 is a schematic drawing of a dialog box for selecting control settings utilized for controlling computer network access in accordance with the present invention;
FIGS. 3a-3eare schematic drawings of Allow Lists and Block Lists utilized for controlling various types of communication protocols in accordance with the present invention;
FIG. 4 is a schematic drawing of a restricted word and phrase list for controlling computer network access in accordance with the present invention;
FIG. 5 is a schematic drawing of a dialog box for selecting whether to store text and/or encoded attachments associated with computer network transactions in accordance with the present invention;
FIG. 6 is a schematic drawing of a dialog box for selecting the times and days a user is granted access to a computer network;
FIG. 7 is a schematic drawing of a dialog box for displaying data regarding computer network activity of a user; and
FIG. 8 is a schematic drawing of a dialog box for selecting one or more levels of control for contents of a computer network transaction based on a voluntary rating included with the data conveyed with the transaction.
DETAILED DESCRIPTION OF THE INVENTIONThe present invention is a software program which is configured to operate on a plurality of computers connected together via a computer network, such as a local area network, a wide area network or the Internet.
The software program has two major components, namely, a server control manager (SCM) and a client control manager (CCM). The SCM is installed on one of the computers which, in the context of the computer network, operates as a server computer. The SCM can also be installed across two or more computers which co-act to perform the function of a server computer. The CCM is installed on one or more client computers connected to the server computer via the computer network. The SCM and the CCM co-act in a manner to be described hereinafter.
The SCM includes an access manager that an administrator of the server computer utilizes to establish an access configuration for each user or group of users of the client computers. This access configuration is stored at the server computer and, at an appropriate time, is supplied to a client computer to define for the user of the client computer computer network access rights and access restrictions of the user. Lastly, the access manager also enables the administrator of the server computer to view, sort and analyze data related to actual or attempted computer network transactions by the user of a client computer having the CCM installed thereon.
With reference toFIG. 1, a client computer1, a server computer2 and a remote computer3 are connected to a computer network4. Optionally, anotherserver computer5 which co-acts with server computer2 is connected to computer network4.Computers1,2,3, and5 are each assigned unique network addresses that enable each computer to communicate with the other computers via computer network4. Computer network4 can include one or more servers (not shown) and/or one or more routers (not shown) that facilitate communication betweencomputer1,2,3 and5 based upon the network addresses assigned to each computer.
Client computer1 includes amemory unit6 for storing communication software7. Client computer1 also includes a mouse8, a keyboard9 and adisplay10 which collectively operate as a man-machine interface between client computer1 and a user thereof. Server computer2 includes a memory unit11 for storing a server control manager software (SCM)12. Server computer2 also includes amouse13, akeyboard14 and adisplay15 which collectively operate as a man-machine interface between server computer2 and the administrator thereof. Remote computer3 includes amemory unit16 for storingcommunication software17, Remote computer3 also includes amouse18,keyboard19 anddisplay20 which collectively act as a man-machine interface between remote computer3 and a user thereof. Lastly,server computer5 includes amemory unit21 for storing anSCM22.Server computer5 also includes amouse23, akeyboard24 and adisplay25 which collectively operate as a man-machine interface betweenserver computer5 and an administrator thereof.Communication software7 and17, andSCM12 and22 control the operation of client computer1, server computer2, remote computer3 andserver computer5, respectively, to communicate data therebetween in a manner known in the art. InFIG. 1, one client computer1 is shown. However, the present invention is scalable to operate on a plurality of client computers1 connected to server computer(s)2 and/or5 via computer network4.
SCM12 can display on display15 a plurality of dialog boxes that the administrator of server computer2 utilizes to select control settings of each user or user group of one or more of client computers1. More specifically, the control settings of each user or user group can be individually selected based on a login name assigned to each user or user group. . A generic set of control settings can also be selected for each user or user group not having unique control settings selected therefor based on a login name assigned to each user or user group. The selection of the control settings for a user or user group of client computer1 will now be described with reference toFIGS. 2-6 and with continuing reference toFIG. 1. For convenience of description, the present invention will be described in connection with a user of client computer1. However, it is to be appreciated, that the present invention is also usable in connection with a plurality of users of one or more client computers1 and/or one or more user groups of one or more client computers1, where each user and/or user group has a unique login name.
Initially, the administrator of server computer2 utilizes the access manager to assign a login name to a user of client computer1. This login name is stored in an access configuration, to be described hereinafter, and is utilized as the basis for associating the control settings selected by the administrator of server computer2 for the user associated with the login name. Next, the administrator of server computer2 causes the access manager to display on display15 a controlsettings dialog box28, shown inFIG. 2, associated with the login name of the user. Controlsettings dialog box28 includes an activitycontrol setting section30, a globalcontrol setting section32 and apush button section34. Activitycontrol setting section30 includes a plurality of columns36-1-36-5, each of which is related to a particular communication protocol, and a plurality of rows38-1-38-5 each of which is related to a particular control setting for each communication protocol in columns36-1-36-5. The intersection of each row column36 and each row38 includes a selection means, such as aradio button40, which the administrator of server computer2 selects, in a manner known in the art in order to select the control setting desired for each communication protocol.
The communication protocols shown in columns36-1-36-5 include Web, FTP, E-mail, News and Chat, respectively. In addition, other communication protocols, such as Instant Messaging, Telnet and Peer-to-Peer can also be included in a column36 of activitycontrol setting section30. It is to be understood that the foregoing communication protocols are generic examples of communication protocols. Accordingly, the following description of the present invention in connection with any of the foregoing communication protocols is not to be construed as limiting the invention since the present invention can be adapted to work with any known or hereinafter developed communication protocol. The control settings included in rows38-1-38-5 include Off, Allow All, Allow Listed, Block All and Block Listed, respectively. Activitycontrol setting section30 is shown for purpose of illustration and is not to be construed as limiting the invention since the administrator of server computer2 can change the number of columns36 and/or rows38, the communication protocol assigned to each column36 and/or the control setting assigned to each row38 in any desired manner.
In operation, the administrator of server computer2 selects a desiredradio button40 for each communication protocol in columns36-1-36-5 in order to select the desired control setting therefor. In order to avoid the selection of conflicting control settings for each communication protocol, the selection of oneradio button40 in a column36 is mutually exclusive of the selection of anyother radio buttons40 in the same column36. The access manager is also configured to highlight as a default selection theradio button40 associated with the Allow All control setting, i.e.,radio button40 in row38-2, of each communication protocol. The selection of anyother radio button40 in each column36 will override this default selection.
With reference toFIGS. 3a-3e,and with continuing reference to all previous Figs., the Allow Listed control setting in row38-3 for each communication protocol in columns36-1-36-5 has associated therewith an allow list46-1-46-5, respectively. Each Allow List46 includes a list of network addresses that the user having the login name associated with controlsettings dialog box28 is permitted to access for the corresponding communication protocol. Each network address can include an alpha string, a numeric string, a symbol string or some combination thereof. Ifradio button40 for the Allow Listed control setting for the Web protocol (column36-1) is selected, access by the user having the login name associated withdialog box28 will be permitted only to the network addresses included in allow list46-1. Similar comments apply in respect of the selection ofradio buttons40 for the Allow Listed control settings associated with the FTP protocol (column36-2), the E-mail protocol (column36-3), the News protocol (column36-4) and the Chat protocol (column36-5) for network addresses included in allow lists46-2-46-5, respectively.
The Block Listed control setting in row38-5 for each communication protocol in columns36-1-36-5 has associated therewith a block list48-1-48-5, respectively. Each block list48 includes a list of network addresses that the user having the login name associated with controlsettings dialog box28 is not permitted to access for the corresponding communication protocol. For example, ifradio button40 for the Block Listed control setting for the Web protocol (column36-1) is selected, access by the user having the login name associated withdialog box28 will not be permitted to network addresses included in block list48-1. Similar comments apply in respect of the selection ofradio buttons40 for the Block Listed control settings associated with the FTP protocol (column36-2), the E-mail protocol (column36-3), the News protocol (column36-4) and the Chat protocol (column36-5) for network addresses included in block lists48-2-48-5, respectively.
Ifradio button40 for the Allow All control setting for the Web protocol (column36-1) is selected, the user having the login name associated withdialog box28 is granted unlimited access to any network addresses utilizing this communication protocol. Similar comments apply in respect of the selection ofradio buttons40 for the Allow All control settings associated with the FTP protocol (36-2), the E-mail protocol (column36-3), the News protocol (column36-4) and the Chat protocol (column36-5) for granting the user unlimited access to all network addresses that utilize the corresponding communication protocol.
Ifradio button40 for the Block All control setting for the Web protocol (column36-1) is selected, the user having the login name associated withdialog box28 is denied access to all network addresses utilizing this communication protocol. Similar comments apply in respect of the selection ofradio buttons40 for the Block All control settings associated with the FTP protocol (column36-2), the E-mail protocol (column36-3), the News protocol (column36-4) and the Chat protocol (column36-5) for denying access to network addresses that utilize the corresponding communication protocol.
If the Allow All, Allow Listed, Block All or Block Listed control setting is selected for a particular communication protocol, each time the user of client computer1 attempts a network transaction utilizing this communication protocol, a record of the transaction is stored in memory unit11 of server computer2 in a manner to be described hereinafter.
Ifradio button40 for the Off control setting for the Web protocol (column36-1) is selected, the user having the login name associated withdialog box28 is granted unlimited access to any network addresses utilizing this communication protocol. However, no record of each transaction that uses the Web protocol is stored in memory unit11 of server computer2. Similar comments apply in respect of the selection ofradio buttons40 for the Off control settings associated with the FTP protocol (column36-2), the E-mail protocol (column36-3), the News protocol (column36-4) and the Chat protocol (column36-5) for granting unlimited access to any network addresses that utilize the corresponding communication protocol and not storing a record of each transaction in memory unit11 of server computer2.
With reference toFIG. 4, and with continuing reference to all previous Figs., globalcontrol settings section32 includes boxes39-1-39-3. In response to selecting box39-1, if a transaction conveys data having at least one word and/or phrase included in a restricted word andphrase list50, transmission of the data to or from communication software7 will be blocked. In response to selecting box39-2, the transmission to or from communication software7 of “behind-the-scenes” data, i.e., data that is not directly presented to the user, such as cookies, is blocked.
Push button section34 includes anOk push button42 and a Cancelpush button44. In response to selectingOk push button42, server computer2 stores in the access configuration for the login name associated with dialog box28 (i) an indication of theradio buttons40 selected for each type of communication protocol, (ii) an indication of the boxes39-1 and39-2 selected, and (iii) the Allow Lists46-1-46-5, the Block Lists48-1-48-5 and the restricted word andphrase list50. This access configuration is stored in memory unit11 of server computer2 for download to client computer1 for use by the user thereof entering into client computer1 during a login procedure the login name which is stored in the access configuration. Since thelists46,48 and50 for each user are stored at server computer2, the administrator of server computer2 can update each list as desired. Selecting Cancel push button54, however, terminatesdialog box28 without storing in the access configuration any selections made indialog box28 or any of thelists46,48 and50.
With reference toFIG. 5, and with continuing reference to all previous Figs., the administrator of server computer2 can cause the access manager to display on display15 a cachecontrol dialog box60 associated with the login name of the user.Dialog box60 includes aselection section62 including three radio buttons64-1-64-3. In response to selecting radio button64-1, server computer2 will store in a cache memory (not shown) of memory unit11 a complete or partial copy of any transaction for which a record is stored in memory unit11 of server computer2, More specifically, if radio button64-1 is selected, each time a record of a transaction on client computer1 is stored in memory unit11 of server computer2, a complete or partial copy of the transaction is stored in the cache memory. If radio button64-2 is selected, each time a record of a transaction on client computer1 is stored in memory unit11 of server computer2, a complete or partial copy of the transaction and any encoded attachments conveyed with this transaction are stored in the cache memory. Lastly, if radio button64-3 is selected, no copy of any transaction or encoded attachments are stored in the cache memory.
The amount of space allocated for cache memory can be selected by entering a desired amount of cache memory in a cache memory sizeselect field66 ofdialog box60.Dialog box60 can also include a Clear CacheNow push button68. In response to selectingpush button68, server computer2 erases the contents stored in the cache memory. Lastly,dialog box60 includes anOk push button70 and a Cancelpush button72. In response to selecting Cancelpush button72, the display ofdialog box60 ondisplay15 is terminated and any selections made indialog box60 are not saved in the access configuration for the login name associated withdialog box60. In contrast, in response to selectingOk push button70, the display ofdialog box60 ondisplay15 is terminated and the selection of one of the radio buttons64 and the amount of cache memory in cache memory sizeselect field66 are stored in the access configuration for the login name associated withdialog box60.
With reference toFIG. 6, and with continuing reference to all previous Figs., the administrator of server computer2 can cause the access manager to display a LogonHours dialog box80 ondisplay15.Dialog box80 includes a time-day array82 that includes a plurality oftime columns86 and a plurality ofday rows88. Utilizing the point and click method, the administrator of server computer2 can select eachbox84 formed by the intersection ofcolumns86 androws88 of time-day array82.
Dialog box80 also includes an Allowpush button90, a Disallowpush button92, a Cancelpush button94 and anOk push button96. In response to selecting Allowpush button90, any selectedboxes84 will be marked with a suitable Allow indicia. Similarly, in response to selecting Disallowpush button92, any selectedboxes84 will be marked with a suitable Disallow indicia. Based on the Allow or Disallow indicia included in thevarious boxes84, a user of client computer1 having the login name associated withdialog box80 will be allowed or disallowed network access at the corresponding time and day of week. As a default selection, in the absence of disallowing computer network access at certain times and certain days, the user of client computer1 having the login name associated withdialog box80 will have network access at these certain times and certain days.
In response to selecting Cancelpush button94, the display ofdialog box80 ondisplay15 is terminated and any selection ofboxes84 is not saved in the access configuration for the login name associated with thedialog box80. In contrast, in response to selectingOk push button96, the display ofdialog box80 ondisplay15 is terminated and the allowed and disallowed times selected inboxes84 of time-day array82 are stored as another global control setting in the access configuration for the login name associated withdialog box80.
When eachOk push buttons42,70 and96 is selected indialog boxes28,60 and80, respectively, the various selections made in these dialog boxes are saved in the access configuration for the login name associated with the dialog box. Once saved, the access configuration for each user can be modified by the administrator of server computer2 in a manner known in the art. Preferably, each access configuration includes all of the allow lists46 and block lists48.
Once the access configuration has been prepared for a login name of a user of client computer1, the computer network access of the user logging into client computer1 utilizing this login name is controlled as follows. With reference back toFIG. 1, a client control manager software (CCM)98 is stored inmemory unit6 of client computer1 and operates as a buffer between communication software7 and the computer network4. In response to instantiation of communication software7,CCM98 initiates afirst communication session100 at a first network address of server computer2. This first network address is stored inMemory Unit6 for use byCCM98 to communicate with server computer2. Oncefirst communication session100 has been established,CCM98causes SCM12 of server computer2 to transmit to client computer1 via first communication session100 a second network address. This second network address can be another network address hosted by server computer2 or a network address hosted byserver computer5. When server computer2 hosts the second network address, in response to receiving the second network address, client computer1 initiates asecond communication session102 with server computer2 at the second network address. When the second network address is hosted byserver computer5, in response to receiving the second network address, client computer1 initiates asecond communication session102′ withserver computer5. Whicheverserver computer2 or5 hosts the second network address, the access configuration file for the login name of the user of client computer1 is stored thereat. For convenience of describing the present invention, server computer2 will be described as hosting the second network address. However, this is not to be construed as limiting the invention.
Oncesecond communication session102 has been established,CCM98 causes communication software7 to terminatefirst communication session100 and causesSCM12 to download to client computer1 a copy of the access configuration stored in memory unit11 for the login name entered into client computer1 by the user thereof during a login procedure. To enableSCM12 to download the appropriate access configuration,CCM98 transmits to server computer2 viasecond communication session102 the login name entered by the user of client computer1 during the login procedure. In response to receiving this login name,SCM12 searches memory unit11 for the access configuration including this login name. In response to locating this access configuration,SCM12 transmits a copy of this access configuration to client computer1 viasecond communication session102. IfSCM12 does not locate an access configuration including the login name entered into client computer1 during the login procedure,SCM12 can transmit a copy of a generic access configuration to client computer1 via second communication session102e.This generic access configuration can be established by the administrator of server computer2 for each user of client computer1 not having a login name included in an access configuration stored in memory unit11. Upon receiving the access configuration,CCM98 stores the access configuration inmemory unit6.
Once the access configuration is stored inmemory unit6,CCM98 commences monitoring and controlling transactions between communication software7 and computer network4 based thereon For purpose of describing the operation ofCCM98, it will be assumed that the radio buttons and boxes shown selected indialog boxes28,60 and80 have been selected.
Next, the user of client computer1 initiates concurrent with second communication session102 athird communication session104 at a third network address of remote computer3. Oncethird communication session104 is established,CCM98 commences monitoring data associated with actual or attempted transactions viathird communication session104. More specifically,CCM98 determines from the data associated with each transaction the communication protocol being utilized. This data can include control data and content data. Control data is typically a header and/or a footer appended to the content data, but is not necessarily limited thereto. Content data contains the essence of any information, e.g., text, being conveyed viathird communication session104. OnceCCM98 determines the communication protocol of the transaction,CCM98 determines from the access configuration received by client computer1 the control setting that was selected for this communication protocol. For example, ifCCM98 determines that the transaction utilizes the Web protocol common to communications on the World Wide Web, i.e., HTTP,CCM98 can then determine from the access configuration that the Block Listed control setting was selected for the Web protocol. Based on the selection of this control setting,CCM98 will utilize block list48-1. Next,CCM98 extracts from the control data of the transaction the network address included therein and compares this network address to the network addresses included in block list48-1. In the event of a match,CCM98 blocks the conveyance of data comprising the transaction to or from communication software7 of client computer1. In contrast, in the absence of a match,CCM98 permits the data comprising this transaction to be conveyed to or from communication software7.
With reference toFIG. 7, and with continuing reference to all previous Figs., at a suitable time,SCM12 creates in memory unit11 for each login name anactivity list122 of transactions occurring viathird communication session104 in connection with this login name. Except for communication protocols where the Off control setting was selected in control settingdialog box28,activity list122 for each login name will include a record of each actual or attempted transaction occurring viathird communication session104. Alternatively,activity list122 for each user can include only records of actual or attempted transactions that were blocked byCCM98. For purpose of describing the invention, it will be assumed that a record is entered inactivity list122 for the login name of the user of client computer1 for each actual or attempted transaction occurring viathird communication session104.
Except for transactions that utilize a communication protocol where the Off control setting was selected inFIG. 2, when an actual or attempted transaction viathird communication session104 occurs,CCM98 transmits to server computer2 viasecond communication session102 certain data regarding the transaction. In response to receiving this data,SCM12 forms from this data a record of the transaction which is stored inactivity list122 associated with the login name of the user of client computer1. At a suitable time, the administrator of server computer2 can causeSCM12 to display ondisplay15 an ActivityLog dialog box120 which includesactivity list122 associated with the login name of the user of client computer1 that initiatedthird communication session104. ActivityLog dialog box120 includes columns124-1-124-6 entitled Protocol, Network Address (NA), Subject, Date/Time, Control and User, respectively, for each record stored inactivity list122. Columns124-1-124-6 in activitylog dialog box120 are shown for purpose of illustration and are not to be construed as limiting the invention since activitylog dialog box120 can include more or less columns124, each of which can be entitled with one of the titles shown in activitylog dialog box120 or with a different title. Exemplary entries of records intoactivity list122 for transactions utilizing the communication protocols shown inFIG. 2 will now be described.
If an actual or attempted transaction utilizing the Web protocol occurred viathird communication session104 withoutCCM98 blocking the conveyance of data to or from communication software7,CCM98 transmits to server computer2 viasecond communication session102 certain data regarding the transaction to be included in arecord126 formed bySCM12 inactivity list122 for the login name of the user of client computer1. As can be seen,record126 includes in column124-1 an entry that the Web protocol was utilized, the Network Address of the transaction which is entered in column124-2, the Subject of the transaction which is entered in column124-3, a Date/Time of the transaction which is entered in column124-4 and the Login name of the user of client computer1 which is entered in column124-6. The Date/Time entry in column124-4 ofrecord126 can be supplied either byCCM98 when transmitting thedata comprising record126 to server computer2 or by theSCM12 upon receipt of thedata comprising record126 from client computer1.
SinceCCM98 permitted the data to be conveyed to or from communication software7,record126 does not include any data in Control column124-5. In contrast,record128 ofactivity list122 includes in column124-1 an entry that the Web protocol was utilized and includes in control column124-5 the entry “Block List”. This later entry is included inrecord128 in response toCCM98 blocking the conveyance of data during a transaction to or from communication software7 based uponCCM98 determining that the conveyed data included a network address that is also included in block list48-1.
Activity list122 also includes arecord130 which includes in column124-1 an entry that the Web protocol was utilized and includes in Control column124-5 the entry “Allow List”. This later entry is included inrecord130 whenCCM98 permits the conveyance of data during a transaction to or from communication software7 based uponCCM98 determining that the conveyed data included a network address that is also included in allow list46-1.
If a communication protocol in a column36 of activitycontrol setting section30 has its Off control setting selected, the access configuration will causeCCM98 to permit all data having this communication protocol to be conveyed to or from communication software7, but will not causeCCM98 to transmit to server computer2 viasecond communication session102 any data regarding transactions utilizing this communication protocol. Therefore, no record of transactions utilizing this communication protocol are included inactivity list122. In contrast, if the Allow All control setting is selected for a communication protocol listed in a column36, the access configuration will causeCCM98 to permit all data having this communication protocol to be conveyed to or from communication software7 and will causeCCM98 to transmit to server computer2 viasecond communication session102 data to be included in a record of this transaction inactivity list122,
If, inFIG. 2, the Allow All control setting for the FTP protocol is selected, whenCCM98 determines that a transaction occurring via athird communication session104 utilizes the FTP protocol, data regarding this transaction is transmitted viasecond communication session102 to server computer2 whereupon the SCM forms arecord132 of this transaction which is included inactivity list122. Since the Allow All control setting is selected,CCM98 permits all data having the FTP protocol to be conveyed to or from communication software7.
If, inFIG. 2, the Allow All control setting for the E-mail protocol is selected, whenCCM98 determines that a transaction occurring viathird communication session104 utilizes the E-mail protocol, data regarding this transaction is transmitted to server computer2 viasecond communication session102 whereupon the SCM forms arecord134 of this transaction which is included inactivity list122. In this case, since the Allow All control setting was selected, no entry would ordinarily be included in Control column124-5 ofrecord134. However, inFIG. 2, if box39-1 is selected,CCM98 compares words and/or phrases included in the data conveyed with each transaction, regardless of the type of communication protocol, to words and phrases included in the restricted words and phrases list50. If the conveyed data includes one or more words and/or phrases included in the restricted words and phrases list50,CCM98 blocks conveyance of this data to or from communication software7 and causesSCM12 to include an appropriate entry, e.g., Word or Phrase, in Control column124-5 ofrecord134.
CCM98 utilizes a real time time-date clock (not shown) of client computer1 or a time and date included in the received access configuration to monitor the time and date associated with each transaction. If a transaction is attempted at a time and/or date that is disallowed in the LoginHours dialog box80 shown inFIG. 6,CCM98 blocks conveyance of the data to or from communication software7 and transmits data regarding this transaction to server computer2 viasecond communication session102 whereuponSCM12 forms arecord136 of the transaction which is included inactivity list122. Because the user of client computer1 attempted a transaction at a disallowed time and/or date, an appropriate entry, e.g., Time or Date, is included in Control column124-5 ofrecord136.
If, inFIG. 2, the Allow Listed control setting for the News protocol is selected, whenCCM98 determines that a transaction occurring viathird communication session104 utilizes the News protocol,CCM98 compares the network address included with the conveyed data for this transaction to the network addresses listed in allow list46-4. In the event of a match,CCM98 permits the data to be conveyed to or from communication software7. However, in the absence of a match,CCM98 blocks the conveyance of the data to or from communication software7. In either event,CCM98 transmits to server computer2 viasecond communication session102 data regarding this transaction. In response to receiving this data,SCM12 forms arecord138 of this transaction which is included inactivity list122. IfCCM98 permitted the data to be conveyed to or from communication software7, no entry is included in Control column124-5 ofrecord138. However, ifCCM98 blocks the conveyance of the data to or from communication software7, an appropriate entry, e.g., Allow List, is included in Control column124-5 ofrecord138.
If, inFIG. 2, the Block All control setting for the Chat protocol is selected, whenCCM98 determines that a transaction occurring viathird communication session104 utilizes the Chat protocol,CCM98 blocks the conveyance of any data for this transaction to or from communication software7 and transmits to server computer2 viasecond communication session102 data regarding this transaction. In response to receiving this data,SCM12 forms arecord140 of this transaction which is included inactivity list122.Record140 includes an appropriate entry, e.g., Block All, in Control column124-5 ofrecord140 to indicate that the conveyance of data to or from communication software7 was blocked based upon the Block All control setting.
As can be seen, the selection of the Allow All, Allow Listed, Block All, or Block Listed control settings for each communication protocol shown in controlsettings dialog box28 results in a record being created inactivity list122 for each transaction that utilizes one of these communication protocols. In contrast, the selection of the Off control setting for each communication protocol shown in Controlsettings dialog box28 result in no record being included inactivity list122 for transactions that utilizes one of these corresponding communication protocols.
If, inFIG. 2, box39-2 is selected,CCM98 will block behind-the-scenes data, transmission, i.e., data that is not directly presented to the user, such as Internet cookies. Furthermore, if radio button64-1 inFIG. 5 is selected,CCM98 will transmit to server computer2 via second communication session102 a copy of each transaction. The data comprising the record for the transaction which is included bySCM12 inactivity list122 can be copied from the copy of the transaction transmitted to server computer2 viasecond communication session102. The copy of each transaction is stored in the cache memory of memory unit11 in connection with the corresponding record included inactivity list122. In order to view the copy of the transaction, the administrator of server computer2 can utilize the point and click method to select a desired record inactivity list122 whereupon the cached copy of the transaction for the select record is retrieved from the cache memory and displayed ondisplay15. In a similar manner, if radio button64-2 inFIG. 5 is selected,CCM98 will transmit to server computer2 viasecond communication session102 copies of each transaction and any encoded attachments along with the data comprising the record for the transaction which is included bySCM12 inactivity list122. The copies of the transaction and any encoded attachments are included in cache memory in connection with the record of the transaction included inactivity list122. Lastly, if radio button64-3 inFIG. 5 is selected,CCM98 will not transmit to server computer2 copies of any transactions or any encoded attachments of any transactions, and will only transmit to server computer2 for each transaction the data comprising the record for the transaction which is included bySCM12 inactivity list122.
With reference toFIG. 8, in addition to the control settings discussed above, other global control settings can be included in the access configuration for the login name of each user of a client computer1 and utilized to control access to or from communication software7. One example of another global control setting includes a control setting based upon a standardized category rating included in conveyed data by the provider thereof. In order to set the response ofCCM98 to a control setting for the standardized rating, the administrator of server computer2 causesSCM12 to display on display15 a PICsConfiguration dialog box150.Dialog box150 includes acategory menu section152 where a selection can be made of the category of data to be controlled. These categories can include, without limitation, violence, sex, nudity, language, etc. For each category of data for which control is desired, a sensitivity selection means154 is provided indialog box150 to set the sensitivity of the control setting for each category. Once the sensitivity has been selected for the category, the administrator of server computer2 utilizes the point and click method to select anOk push button156 indialog box150. The selection ofOk push button156 causes the sensitivity selection for the selected category to be stored in the access configuration for the login name associated withdialog box150. Thereafter, when the copy of this access configuration is transferred to client computer1,CCM98 compares the standardized category rating included in the conveyed data with the sensitivity for the same category stored in the access configuration for the login name of the user of client computer1. If the standardized category rating included in the conveyed data equals or exceeds the sensitivity selected for the same category stored in the access configuration,CCM98 blocks the conveyance of data associated with this transaction from being conveyed to or from communication software7.
At suitable times,CCM98 issues a request toSCM12 viasecond communication session102 forSCM12 to transmit to client computer1 another copy of the access configuration for the login name of the user of client computer1. This is done to ensure that client computer1 is utilizing the most current access configuration for the login name of the user of client computer1. Thus, if any changes to the access configuration are made by the administrator of server computer2, client computer1 will receive a copy of the current access configuration at the suitable times, e.g., periodically, every few minutes.
As can be seen, the present invention provides a method for controlling computer network access where each user's access to the computer network can be selectively monitored and controlled and records of transactions for each user can be stored for subsequent retrieval and analysis. In the foregoing description, one client computer1 and one server computer2 were utilized to describe the invention. However, server computer2 can be configured to simultaneously host a plurality of client computers1 up to the number of second network addresses that server computer2 is configured to host. Furthermore, while the present invention was described in connection with a single,third communication session104, it is to be appreciated that each user of a client computer1 can initiate a plurality of third communication sessions with different remote computers3 at different network addresses whereupon each of these third communication sessions would be considered a standalone, third communication session.
The software of the present invention is preferably configured so that each instantiation of communication software7 has its own instantiation ofCCM98. However, this is not to be construed as limiting the invention since a single instantiation ofCCM98 can be configured to control access to two or more instantiations of communication software7 on the same client computer1.
In the foregoing description, a unique access configuration was created and utilized in connection with each user of a client computer1. However, additionally or alternatively,SCM12 can be configured so that if a login name of a user of client computer1 does not match a login name included in an access configuration stored in memory unit11,SCM12 transmits a copy of a generic access configuration to each client computer1 having a user not having a login name included in an access configuration stored in memory unit11. Each client computer1 receiving this generic access configuration operates in the foregoing manner for the control setting and boxes selected in controlsettings dialog box28 therefor.
Each list46 and/or48 can be customized as desired by the administrator of server computer2 prior to download to a client computer1. In the foregoing description, the access configuration downloaded to client computer1 preferably included all of lists46 and/or48 associated therewith. However,SCM12 can be configured to download to client computer2 only the lists46 and/or48 related to the selection of the corresponding Allow Listed or Block Listed control settings for one or more communication protocols. In this manner, lists46 and48 that would not be used byCCM98 are not stored in the access configuration downloaded to client computer1. Still further, each access configuration stored in memory unit11 of server computer2 can include only the lists46 and/or48 related to the selection of the corresponding Allow Listed or Block Listed control settings for one or more communication protocols. In this manner, lists46 and/or48 that would not be used are not stored in the access configuration stored in memory unit11.
Lastly, in the foregoing description,third communication session104 was established concurrent withsecond communication session102. However, this is not to be construed as limiting the invention sinceCCM98 can terminatesecond communication session102 after receiving the access configuration for the user of client computer1 inmemory unit6. At appropriate times thereafter,CCM98 can reestablishsecond communication session102 with server computer2 and use this reestablishedsecond communication session102 to transmit data regarding transactions to server computer2. It is to be appreciated, that while the present invention has been described as transmitting data regarding each transaction to server computer2,CCM98 can store data related to a number of transactions inmemory unit6 and, at suitable times, can transmit this stored data to server computer2. In addition, in the eventsecond communication session102 is terminated and cannot be reestablished,CCM98 can use the access configuration downloaded to client computer1 and can defer transmitting data regarding transactions to server computer2 untilsecond communication session102 can be reestablished.
The invention has been described with reference to the preferred embodiment. Obvious modifications and alterations will occur to others upon reading and understanding the preceding detailed description. It is intended that the invention be construed as including all such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.