E-MAIL GRABBING SYSTEM
FIELD OF THE INVENTION
The present invention is generally in the field of electronic mailing and relates to computerized systems designed to obtain information on e-mail messages. The present invention provides a system and method for obtaining such information.
BACKGROUND OF THE INVENTION
The very large increase and the wide circulation of the use of e-mail messaging, gave to an urgent need to develop systems to advise e-mail subscribers on receipt of e-mail messages. Thus, various notification systems have been developed, such as that disclosed in European Patent Application No. 736989. In addition to the above-mentioned document, other documents which can reflect the current state of the art include Dutch Patent No. 1,004,167, U.S. Patent No. 4,935,954 and U.S. Patent No. 5,293,250. There is a need in the art to provide a service which will provide information, within a short time, on the existence of e-mail messages addressed to many subscribers, and to notifying them on the same.
GENERAL DESCRIPTION OF THE INVENTION The present invention provides an e-mail grabbing system comprising: at least one grabbing server coupled to a communication network and capable of communication through the network with a plurality of e-mail servers;
a storage medium containing database associated with said at least one grabbing server storing at least addresses of e-mail boxes within said e-mail servers of each of a plurality of subscribers; the at least one grabbing server being capable of invoking an inquiry protocol over said network to each of said e-mail servers to grab e-mail information, including at least information on the existence of e-mail messages within said e-mail boxes; the grabbing of e-mail information in respect of said plurality of e-mail boxes being accomplished substantially simultaneously; the grabbed e-mail information is stored in said database. The following is a glossary of terms, some of which are conventional and some of which have been coined herein:
The term "grabbing server" is a computer which serves many subscribers to allow the provision of e-mail information to such subscribers.
The term "computer" should be understood as encompassing all kinds of computers, regardless of their structure, including, but not limited to, desktop computers, mainframe systems, a network of computers and so forth, all as is well known per se.
The term "subscriber" should be construed as an individual or an entity possessing at least one e-mail box, and which is served by the system of the invention.
The term "network" includes any media allowing the transfer of data and interlinking between different computers. This includes any wide area network (WAN), e.g. Internet, combinations of WAN and local area networks (LAN), etc. The communication network is neither limited by the topology or architecture of the network, nor in the physical realization. Thus, by way of example, it may employ infrastructure based on optical fibers, metal wires, wireless medium or a combination thereof, it may be realized as an Ethernet Token Ring, etc. all as known per se.
The term "E-mail server" should be understood as a computer, having e-mail boxes defined therein, which are designed for receipt and storage
of e-mail messages, all as known er se. As will be appreciated, the computer which is used as the e-mail server may be a computer as defined above.
The term "storage medium" refers to any of a large number of known media for storing digital information. The storage medium may be realized according to any desired configuration provided that a grabbing server can access the storage medium. Thus, distinct storage medium may be associated with each grabbing server, or if desired, a given storage medium may be shared by two or more grabbing servers, etc.
"Database" is stored on the storage medium such that the grabbing server can access and grab information therefrom. The database stores at least the addresses of each of the e-mail boxes of the subscribers of the e-mail server, as well as the sampled e-mail information. Address is not bound to specific format. Thus, and as will be shown below by one embodiment, address may consist of e-mail server name and user name therein. As can be appreciated, and as will be shown below, the database may store also other information. In addition, as will also be appreciated and understood by a person versed in the art, the term "database" is not limited to any specific realization and encompasses any way of storing data as an organized manner, as known per se. Moreover, database may, if desired, be realized as distinct or separate modules in accordance with common or different known data modules.
The term "inquiry protocol" relates to a sequence of commands and data sent to and possibly received from the grabbing server to an e-mail server in order to sample, e-mail information. The inquiry protocol may be any one of known per se protocols, e.g. POP 3, FINGER, IMAP IV or any other - protocol acceptable on the specific network where the inquiry is being invoked. As is no doubt appreciated by those versed in the art, normally, a separate communication session is opened in respect of preferably each e-mail box that is accessed in order to inquire the existence of new e-mail message.
The term "e-mail information" relates to at least information on the existence of an e-mail message in an e-mail box. It may, however, include
e.g. the header information of the E-mail as well as the entire contents of the e-mail message.
For a better understanding of the substantial simultaneous characteristics of the invention as specified above, it should be noted that according to an important feature of the invention only short messages are transmitted to and received from each e-mail box from among the multitude e-mail boxes that are subject to inquiry, and this enables the grabbing server to handle multitude e-mail boxes within a short period. If, on the contrary, long messages had been sent or received (e.g. long commands are sent from the grabbing server and full contents of the e-mail messages is received) the time that would be required to process each command sent or data received would have been overly excessive to the extent that a very long period would have been required in order to review the entire portfolio of e-mail boxes of the subscribers. The " ubstantially simultaneous " characteristics is also accomplished due to the fact that when a communication session is opened and a command is sent in respect of an enquiry on a new e-mail message in a given e-mail box, a new session is preferably opened in respect of the successive e-mail box, whilst not necessarily waiting for reply from the first one. Thus, if for some reason (e.g. crowded network), a long time interval elapses until grabbed e-mail information is received from an enquired e-mail box, the grabbing server does not enter to a wait state during the specified time interval but rather invokes more and more communication sessions in respect of successive e-mail boxes. When the grabbed data is eventually received in respect of said enquired e-mail box, the grabbing server avails itself, e.g. by using interrupt driven technique, for handling the received information and thereafter it reverts to the interrupted process of sending a command to the successive e-mail box. This feature will be elaborated with reference to the specific description of preferred embodiments below.
As specified above, the substantially simultaneous characteristics of the invention enables to scan the entire portfolio of email boxes (which may
consist of many thousands and even more) during a relatively short period of time and consequently to notify the subscribers on the existence of new email messages shortly after they were received at the email server.
The invention also provides an e-mail grabbing system comprising: at least one grabbing server coupled to a communication network and capable of communication through the network with a plurality of e-mail servers; a storage medium containing database associated with said at least one grabbing server storing at least addresses of e-mail boxes within said e-mail servers of each of a plurality of subscribers; the at least one grabbing server being capable of invoking an inquiry protocol over said network to each of said e-mail servers to grab e-mail information, including at least information on the existence of e-mail messages within said e-mail boxes; the grabbing of e-mail information in respect of said plurality of e-mail boxes being accomplished substantially simultaneously; the grabbed e-mail information is stored in said database.
The present invention further provides in an e-mail grabbing system, a storage medium containing a database associated with at least one grabbing server communicating over a communication network with e-mail servers, the database storing at least addresses of e-mail boxes within said e-mail servers of each of a plurality of subscribers, the database further comprising stored e-mail information including information on the existence of e-mail messages within said e-mail boxes. In accordance with the invention, a plurality of inquiries are sent by the grabbing server to the e-mail servers in order to grab said e-mail information. The information, by the typical example of the POP 3 protocol, grabs the total volume (V e.g. in bytes) of the contents of the e-mail box as well as the total number (N) of messages in the e-mail box under question. This information, is delivered to the grabbing server and is then used to determine
whether an e-mail box under question contains a new e-mail message. The volume as well as the number N are compared to the previously stored values of the same e-mail box. In the case of match, this signifies in a high degrees of confidence, that the box does not contain any new e-mail message. If, on the other hand, the current volume is larger, this signifies that at least one new message has arrived in the sampled e-mail box.
By an optional feature, the grabbing server, after determining that a specific e-mail box contains a new message or messages, can invoke a suitable command for grabbing other information of the e-mail message, e.g. the header of the new e-mail message or messages. By one specific embodiment this may be realized by invoking a POP 3 protocol command for grabbing from each e-mail message the first zero lines. In accordance with the POP 3 protocol, requesting the zero lines results in obtaining only the header information, (and not the entire contents of the message). The so obtained headers can then be compared to previously obtained headers, stored in the second storage medium, to identify the new headers.
It is possible, in accordance with the invention, to obtain also the entire contents of each new e-mail message stored within an e-mail box.
Upon receipt of e-mail information indicating that this is a new e-mail message in a subscriber's e-mail box, the grabber server may notify the subscriber on the existence of such message, by any applicable communication means. For example, this information may be notified to the subscriber through the telephone communication network, through an electronic notification network, through a wireless notification network, etc. One preferred embodiment of a notification system is that which is disclosed in co-pending PCT Application filed concurrently with this application whose contents is incorporated herein by reference. Generally, this notification system makes use of the generation of a ring signal over a telephone network to the telephone line of a subscriber, and disconnecting the communication before a bi-directional way contact is established. This feature may be realized by a dedicated
instrument connected to the telephone line at the premises of the subscriber, and may be realized by suitable software and hardware.
BRIEF DESCRIPTION OF THE DRAWINGS: The invention will now be illustrated in a non limiting manner in some specific embodiments as shown in the annexed drawings:
Fig. 1 is a schematic illustration diagram of an e-mail grabbing system according to one embodiment of the invention;
Fig. 2A is a schematic illustration of a database employed by an e-mail grabbing system according to one embodiment of the invention;
Fig. 2B shows a flow chart of a subscriber enrollment procedure according to one embodiment of the invention;
Fig. 3 is a flow chart illustrating a generalized grabbing e-mail sequence according to one embodiment of the invention; Fig. 4 is a flow chart illustrating the step of employing a FINGER protocol during an e-mail grabbing sequence of Fig. 3;
Fig. 5 is a flow chart illustrating a step of employing a POP 3 protocol during an e-mail information grabbing of Fig. 3.
Fig. 6 is a graphic representation which serves for clarifying the substantial simultaneous characteristics of the invention.
DESCRIPTION OF SPECIFIC EMBODIMENTS
Reference is now made to Fig. 1 illustrating an e-mail grabbing system generally referred to as 10. The system includes an e-mail grabbing server 11A operated to access a plurality of e-mail servers 12A-12N by means of communication network designated generally as 11B. By one embodiment the network being the Internet.
Turning now to Fig 2A, there is shown a schematic illustration of a database employed by an e-mail grabbing system according to one
embodiment of the invention. The utilization of the database will be elaborated with reference to Figs. 2B to 5 below.
A typical, but not exclusive, sequence of operation starts by an enrolling procedure appearing in Fig. 2B. Thus, subscriber connects to the e-mail grabbing provider e.g. by means of the latter' s home page as indicated by 23 and fills in the subscriber name, host name (serving for e-mail server address) and a password (step 23) which information is stored in fields 25, 26 and 27, respectively, of the subscriber's grabbing information record 21 in database 20 (see Fig. 2A). The subscriber will also provide notification information which are filled in in record 22 of the specified database. In the example described with reference to Fig. 2A, all the data fields are held in one database. Having filled in the details as stipulated in step 24A there commences a standard confirmation details procedure which ends with the specified data committed to database 20 as stipulated in step 25A. Fig. 2B is, of course, one out of many possible variants of conducting enrollment procedure.
Turning now to Fig. 3, there is shown a generalized block diagram of an e-mail message grabbing sequence. The grabbing sequence takes advantage of the important characteristics of the invention, i.e. the substantially simultaneous grabbing features as explained above and as will be exemplified in further detail below. By this specific example the POP 3 and the FINGER protocols are utilized but those versed in the art will no doubt appreciate that this is only one out of many possible variants of invoking protocols in accordance with the invention.
Thus, in step 31 a subscriber information is retrieved from the database 20 (this step will be elaborated in greater detail below). Next, in step 32 the server 11A determines whether the subscriber grabbing information includes a password. In case that no password was provided to the grabbing server provider during the specified enrollment sequence, a FINGER protocol is invoked in step 33. If, on the contrary, the password was provided, the POP 3 protocol is invoked (designated 34).
In step 35 a grabbed information is received at the grabbing server and in step 36 an enquiry is made as to whether the so grabbed data reflects a new e-mail message and if in the affirmative, database 20 is updated and notification sequence commences. Having described the general sequence of operation with reference to Fig. 3, attention is now drawn to Fig. 4 illustrating the step of invoking the FINGER protocol. Thus, and it is well known, the FINGER protocol enables only to obtain information as to whether there is or there is not a new e-mail message. According to the FINGER protocol, it is not possible to obtain additional partial information of the kind delivered, for example, by utilizing the POP 3 protocol. Accordingly, the utilization of the FINGER protocol does not offer the same level of flexibility provided by the POP 3 protocol. Having said this, attention is now directed to step 41 where grabbing server 11 logs into the subscriber host server (i.e. the e-mail server) and the subscriber name as retrieved from field 25 in database 20. The host name and subscriber name constitute by this example, the e-mail box address. The grabbed information, i.e. whether there exists or not a new e-mail message is analyzed and in case of affirmative conclusion that a new e-mail message has arrived, a notification sequence is commenced (steps 43 and 44). Turning now to Fig. 5, there is shown a typical sequence of operation by utilizing the POP 3 protocol. Thus, a log in sequence commences (52) using the subscriber name and password as retrieved from field 25 and 27 of the database (after communication session to the e-mail box under question is established). Then, in step 53 a "get e-mail information " command is invoked by utilizing the known POP 3 command STAT (see Ref. C1939 for the entire set of POP 3 commands). The STAT commands results in grabbing information as to the total volume of e-mail messages in the e-mail box under question (in bytes) as well as the total number of messages in the e-mail box. The so grabbed count and total volume values are compared to previously grabbed count and total volume values as stored in fields 23 and 24
of database 20. In case of match, the conclusion is that no new mail has been received (54 and 55) whereas in case of discrepancy, i.e. where at least one of the count and total volume values differs from the counterpart stored values, the headers of the last I messages (I being a parameter) is grabbed by invoking the POP 3 command TOP (x, 0), (step 56) where x stands for the index of the e-mail message of interest and 0 stands for the number of lines to be grabbed. By this specific example, I may be for example 5 and in case that count value was, say 30, the TOP command is sent five times in order to grab the headers of e-mail messages numbers 26, 27, 28, 29 and 30. Due to the fact that only 0 lines are requested, only minimal information is grabbed from the entire e-mail message i.e. the headers without the necessity to read and transmit the entire contents of the message. Whilst requiring 0 lines is not obligatory, it is advantageous as specified above. Typically, albeit not necessarily, the data grabbed from the e-mail message in response to the TOP command includes the name of the recipient, the sender, designation of copies (cc field) subject of the e-mail message, unique identification code of the message and possibly others. As shown in step 57 in order to unequivocally determined that indeed new e-mail message has arrived, the identification codes of the last I messages are compared to the identification codes of the previously grabbed I messages (28 in Fig. 2A) which are stored in the database and in the case that at least one of the specified identification codes differs from the reference identification codes stored in the database, this clearly indicates that a new mail message has arrived and a notification sequence should commence (steps 58,59), and otherwise no new e-mail message has arrived and the procedure terminates (step 59A).
Those versed in the art will readily appreciate that the description in reference to Fig. 5 is only one out of many possible variants. Moreover, some of the steps depicted in Fig. 5 may be deleted or modified and others may be added all as required and appropriate. (This likewise applies to the previously described flow charts). Thus, by way of example, the entire step of
comparing the identification codes may be deleted and in this case the premise is that if either of the count or total volume value is different than the counterpart stored values, a new e-mail message has arrived. This conclusion relies on the assumption that the likelihood of having a difference in either of the count or total volume values (as compared to their counterpart stored values) whilst not receiving new e-mail message is very low. According to another example, the I parameter may be configured depending upon subscriber's needs. Thus for example, assuming that the review of the entire e-mail box portfolio takes about five minutes, then it is reasonable to assume that within each five minutes no more than new five e-mail messages have arrived to a given subscriber, and accordingly the value of I is set to be five.
Attention is now directed to Fig. 6 which constitutes one non-limiting example that will assist in clarifying the substantial simultaneous characteristics of the invention. Thus, arrow 61 signifies a communication session that is opened when the POP 3 protocol is invoked from the grabbing server to a given e-mail box. As explained above with reference e.g. to Fig. 5, a very short command is transmitted (the STAT command) thereby consuming a very short processing time whereafter the processor proceeds to opening of a next communication session (62) in respect of the successive e-mail box. Here also, only a very short processing time is required and the procedure is repeated with respect of successive e-mail boxes 63S, 64S. Consider, for example, that during the communication session 64S a reply is received from e-mail box 61 (designated 61R) (R standing for received) and in the case that the processor employs an interrupt driven technique, the sending sequence in respect of " e-mail box 64 is interrupted and a procedure is invoked to handle the grabbed information received from e-mail box 61. Here again, processing time is very short seeing that a very short information is received, i.e. in the case of the STAT command, the count and total volume values. As explained with reference to step 56 Fig. 5 above, if required, a TOP command is now invoked which is also very short (designed as 61S in a dashed line) and the procedure
reverts to the establishment of communication session with e-mail box 64 without wasting any time. Suppose that after session 67S has been established and whilst preparing session 68S, a reply to the specified TOP command is received and again the processor is interrupted in the manner specified to handle the reply (61R) which includes a processing of the grabbed data and in the specific case of the POP 3 protocol, the processing of the last I identification codes. It is again appreciated that due to the small volume of the received data (i.e. only identification codes) the processing time is very limited as compared, for example, to what would have been required had the entire contents of the e-mail message been sent.
Those versed in the art will readily appreciate that whilst the description with reference to Figs. 5 and 6 illustrates processing with respect to the STAT and the TOP command, this does not necessarily imply that the " ubstantially simultaneous " characteristics of the invention is bound to using these commands or to the sequence of operation as described in Figs 5 and 6. Thus, for example, in some cases the entire contents of the e-mail message may be grabbed without adversely affecting the substantially simultaneous nature of the invention due to the fact that the entire contents is grabbed in only a few- cases and not, as a rule, with respect to the majority of the received e-mail messages. Likewise, the interrupt driven technique employed in the example of Fig. 6 may be modified to different realizations, all as required and appropriate. Other modifications may be applied, all as required and appropriate.
Reverting now to Fig. 1, there follows a short description of the notification of features of the invention. Thus, having grabbed the e-mail " messages, they are notified to the subscriber by using a known per se means as well as new techniques disclosed in co-pending PCT Application of applicants and filed concurrently with this application. Thus for example, an e-mail notification server may inform the subscribers on newly acquired images by means of a telephone line communication coupled to the subscribers' PC through conventional modem which may bring about e.g. in a pop-up notice
indicating the subscriber on the receipt of new e-mail. The subscriber now logs in to his/her e-mail box in a conventional manner to retrieve his/her messages in their entirety. Alternatively or additionally, a prerecorded message may be transmitted to the subscribers' voice mail (16). Alternatively, or in addition, a collect call may be invoked for notifying the subscriber on the receipt of a new message (17,18) and/or, if desired, a fax message may be sent to the user (19), all as stipulated by the subscriber when he/she first enrolled to the system.
The present invention has been described with a certain degree of particularity, but those versed in the art will readily appreciate it that certain modifications and alterations may be made without departing from the spirit of the invention as is defined in the following claims: