Abstract:
According to the present invention, e-mails are selectively preserved. Hence, it is possible to efficiently utilize a memory, since only data of a type supported by e-mail application software is selectively preserved. Since the type of data of the received e-mail is automatically determined, it is unnecessary to add particular data for controlling handling of the e-mail, operability is improved, and a complicated data structure is not necessary. Moreover, since appropriate determination and processing are performed for each of a plurality of data contained in the received e-mail, it is possible to prevent abandonment of all data based on the first data.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a processing method and apparatus when an unprocessed electronic mail (“e-mail”) is read, a method and apparatus for processing an e-mail transmitted from another machine via a communication network, and a method and apparatus for processing received e-mail including at least one type of data from among various types of data.  
           [0003]    2. Description of the Related Art  
           [0004]    In e-mail receiving processing in conventional e-mail application software, it is determined whether or not the e-mail is to be received only in accordance with the size of the e-mail, and all data included in a received e-mail is preserved even if there is no means for utilizing the received data.  
           [0005]    In this conventional approach, however, even a received e-mail including data which cannot be displayed or reproduced at the reception side is preserved, resulting in the useless, although temporary, occupation, of a storage region.  
           [0006]    In the worst case, the storage region is uselessly occupied for storing an e-mail including data which cannot be utilized, resulting in the incapability of receiving necessary mail.  
         SUMMARY OF THE INVENTION  
         [0007]    It is an object of the present invention to provide an e-mail receiving method and apparatus which can prevent use-less occupation of a storage region by not preserving the e-mail whenever necessary.  
           [0008]    It is another object of the present invention to assuredly select data which can be obtained by the operator in receiving an e-m ail in which various types of data can be contained.  
           [0009]    According to one aspect of the present invention, an e-mail processing method includes the steps of identifying a type of data of a received e-mail, and determining whether not the received e-mail is to be utilized in accordance with the identified type of data.  
           [0010]    According to another aspect of the present invention, an e-mail processing apparatus includes type identification means for identifying a type of data of a received e-mail, and determination means for determining whether not the received e-mail is to be utilized in accordance with the identified type of data.  
           [0011]    According to still another aspect of the present invention, a storage medium, capable of being read by a computer, stores a control program for identifying a type of data of a received e-mail, and a control program for determining whether not the received e-mail is to be utilized in accordance with the identified type of data.  
           [0012]    The foregoing and other objects, advantages and features of the present invention will become more apparent from the following desription of the preferred embodiment taken in conjunction with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]    [0013]FIG. 1 is a flowchart illustrating data selection processing according to an embodiment of the present invention;  
         [0014]    [0014]FIG. 2 is a flowchart illustrating another data selection processing according to the embodiment;  
         [0015]    [0015]FIG. 3 is a flowchart illustrating processing for determining whether or not data is to be utilized;  
         [0016]    [0016]FIG. 4 is a flowchart illustrating processing for acquiring the type of data;  
         [0017]    [0017]FIG. 5 is a block diagram illustrating a data structure for holding types of data to be utilized;  
         [0018]    [0018]FIG. 6 is a diagram illustrating the structure of an e-mail when a part of the data is read and then abandoned;  
         [0019]    [0019]FIG. 7 is a block diagram illustrating the configuration of a system to which the present invention can be applied;  
         [0020]    [0020]FIG. 8 is a diagram illustrating an example of the structure of an e-mail;  
         [0021]    [0021]FIG. 9 is a diagram illustrating the external appearance of a portable information terminal according to the embodiment; and  
         [0022]    [0022]FIG. 10 is a block diagram illustrating the configuration of the portable information terminal shown in FIG. 9. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0023]    A preferred embodiment of the present invention will now be described in detail with reference to the drawings.  
         [0024]    [0024]FIG. 9 is a diagram illustrating the external appearance of a portable information terminal, serving as an apparatus according to the embodiment.  
         [0025]    This apparatus includes a main body  2 - 1  and a pen  2 - 2  for writing data. In the main body  2 - 1 , an input panel  2 - 3  is used for inputting/outputting data, in which the display picture surface of a liquid-crystal display unit  3 - 10  and an input region of a digitizer  3 - 8  (see FIG. 10) are super-posed. A speaker  2 - 4  outputs voice during voice communication, and also outputs an alarm or a message for attracting the operator&#39;s attention. A jog dial  2 - 6  is generally used for various purposes, such as display of a menu, moving of an item to be selected, and the like. In the apparatus of the embodiment, the jog dial  206  is also used as a switch  3 - 15  (see FIG. 10) for instructing confirmation of the selection of an item selected on the display picture surface by rotating the jog dial  2 - 6 . An antenna  2 - 7  is used for a PHS (Personal Handyphone System)  3 - 12  (see FIG. 10).  
         [0026]    [0026]FIG. 10 is a block diagram illustrating the configuration of the portable information terminal of the embodiment. In FIG. 10, a CPU (central processing unit)  3 - 1  controls the entire apparatus, and comprises, for example, a 32-bit RISC (reduced instruction set computer) device, and executes various processes (to be described later) in accordance with control programs stored in a memory device  3 - 3 . A memory control unit  3 - 2  selects an appropriate device in accordance with a command from the CPU  3 - 1 , and also performs a refreshing or backup operation. The memory device  3 - 3  comprises, for example, an SRAM (static random access memory), a DRAM (dynamic random access memory), a ROM (read-only memory inclusive of a flash memory) or the like, and stores data and programs. Control programs to be used by the CPU  3 - 1  for executing various processes, such as the ones shown in the following flowcharts, according to the embodiment are also stored in the memory device  3 - 3 . The stored contents are, for example, mail data  3 - 4  including received mail to be temporarily held or selected and preserved mail, OS (operation system)/application software  3 - 5 , and user data  3 - 6  input by the user. An input control unit  3 - 7  controls the digitizer  3 - 8  to which data can be input using the pen  2 - 2 . A display control unit  3 - 9  sequentially reads display data from a VRAM (video random access memory, not shown), and transmits data and a timing signal to the liquid-crystal display unit  3 - 10 . A communication control unit  3 - 11  connects the PHS  3 - 12  to the main body of the portable information terminal, and may comprise, for example, a serial communication interface, such as RS232C or the like. The communication control unit  3 - 11  also controls transmission and reception of data with other devices connectable via a public telephone network or a LAN (local area network). A voice control unit  3 - 13  performs processing relating to sound or voice, such as an alarm output, message output or the like. An I/O (input/output) control unit  3 - 14  monitors the switch  3 - 15 , and performs path switching  3 - 16  according to software. A battery/power supply unit  3 - 17  controls a battery and a power supply for driving the portable information terminal, and includes a DC-to-DC converter and a charging control unit.  
         [0027]    A specific example will now be described.  
         [0028]    [0028]FIG. 7 illustrates an example of the configuration of a system to which the present invention can be applied. In FIG. 7, an e-mail reception device  100  may be a device such as the one shown in FIGS. 9 and 10.  
         [0029]    The e-mail reception device  100  for receiving e-mail, and information processing apparatuses  51 - 53 , such as host computers or the like, for transmitting e-mail, are connected to a network  50 , comprising a public telephone network and a LAN. The configuration of the system is not limited to this configuration. Any other system, such as a system having the function of transmitting and receiving data between terminals using wireless devices, may also be adopted.  
         [0030]    [0030]FIG. 8 illustrates an example of the configuration of an e-mail.  
         [0031]    In FIG. 8, an e-mail  1  includes a header  10  and a text  20 .  
         [0032]    In the header  10 , “the type of data of the text”  11  is described in a specific field. By analyzing the specific field, the type of data of the text  11  can be determined.  
         [0033]    In this example, “multipart/mixed” is described as the type of data of the text  11 .  
         [0034]    The text  20  incudes text data  21  and image data  22 . In this case, “the type of data”  23  indicates that the contents of data correspond to a text, and is described in a specific field. Within the image data  22 , “the type of data”  24  indicates that the contents of data correspond to an image, and is also described in a specific field.  
         [0035]    In this example, “text/plain” is described as “the type of data”  23 , and “image/ipeg” is described as “the type of data”  24 .  
         [0036]    When the text  20  includes a plurality of data as in the above-described case, each data comprises a header and the contents of the data (text), and the type of each data is described in a specific field of the header of the data. Accordingly, by analyzing the specific field within the text  20 , it is possible to obtain the type of data for which the specific field is included in the text  20 .  
         [0037]    [0037]FIGS. 1 and 2 are flowcharts for selecting received mail data to be preserved by determining whether or not the received mail can be utilized. Each of the flowcharts is executed when receiving an e-mail from one of the information processing apparatuses  51 - 53  under the control of the communication control unit  3 - 11 . The received e-mail is temporarily stored in the memory device  3 - 3  until the selection processing shown in FIG. 1 or  2  is completed.  
         [0038]    [0038]FIG. 1 illustrates a first example of data selection processing.  
         [0039]    In step S 11 , the type of data of the text  20  within the e-mail  1  is acquired. The details of the processing in step S 11  are shown in the flowchart of FIG. 4 (to be described later).  
         [0040]    In step S 12 , it is determined if the data within the e-mail  1  is to be utilized from the type of data acquired in step S 1 . If the result of the determination in step S 12  is affirmative, the process proceeds to step S 13 . If the result of the determination in step S 12  is negative, the process proceeds to step S 14 . The details of the processing in step S 12  are shown in the flowchart of FIG. 3 (to be described later).  
         [0041]    In step S 13 , the reception of the e-mail  1  is continued because it has been determined in step S 12  that the data is to be utilized, and processing for preserving the e-mail  1  as data to remain, even after turning off the electric power supply, in the form of a mail file in the memory device  3 - 3  is performed.  
         [0042]    In step S 14 , processing for reading and then abandoning the e-mail  1  is performed because it has been determined in step S 12  that the data is not to be utilized. This processing is performed by deleting the data of the e-mail  1  temporarily stored in the memory device  3 - 3 , or performing control so that the preserving processing in step S 13  is not executed.  
         [0043]    A description will now be provided of the details of the processing for acquiring the type of data in step S 11  with reference to the flowchart shown in FIG. 4.  
         [0044]    In step S 1 , the first field of the header  10  is acquired.  
         [0045]    In step S 2 , it is determined if the acquired field is a field indicating the type of data. The determination in step S 2  is realized by analyzing codes which are sequentially in-put and identifying whether or not the input code string coincides with a predetermined code string representing the field indicating the type of data. In the example shown in FIG. 8, when a code representing a character string “Content-Type” is identified, a line including these characters is determined to be the field indicating the type of data. If the result of the determination in step S 2  is affirmative, the process proceeds to step S 3 . If the result of the determination in step S 2  is negative, the process proceeds to step S 4 .  
         [0046]    In step S 3 , the type of data described in the field is made the type of the current data and is stored in the memory device  3 - 3 , and the processing for acquiring the type of data is terminated.  
         [0047]    In step S 4 , it is determined if the field determined in step S 2  is the last field in the header  10 . If the result of the determination in step S 4  is affirmative, the process proceeds to step S 5 . If the result of the determination in step S 4  is negative, the process proceeds to step S 6 .  
         [0048]    In step S 5 , a predetermined type of data stored in advance in the memory device  3 - 3  is determined to be the type of desired data and is stored in the memory device  3 - 3 , and the processing for acquiring the type of data is terminated. The storage of information relating to the type of data in step S 3  or S 5  is performed so as to correspond to identification information for the header or the e-mail to be processed at that time. Alternatively, an area for storing the type of data currently being processed may be provided in advance in the memory device  3 - 3 , and information relating to the type of data may be overwritten in the storage area every time the processing of step S 3  or S 5  is executed.  
         [0049]    In step S 6 , the next field of the header  10  is acquired, and the process then returns to the processing of step S 2 . Thus, it is possible to acquire the type of data described in the header  10 .  
         [0050]    The type of data stored in the memory device  3 - 3  in step S 3  or S 5  is the type of data of the text of the e-mail, and is to be determined in step S 12 .  
         [0051]    Next, a second example of e-mail data selection processing will be described with reference to the flowchart shown in FIG. 2. When the type of data acquired in step S 11  shown in FIG. 1 is “multipart/mixed” or the like, i.e., when the concerned e-mail has a hierarchical structure having a text comprising a plurality of data, the processing of the flowchart of FIG. 2 is started instead of proceeding to step S 12 . In this processing, each data is selected by determining the type of the data. Accordingly, in the flowchart shown in FIG. 2, in step S 21 , the first data from among a plurality of data contained in the text of the received e-mail data is read, and reading (step S 26 ) and selection processing (steps S 22 -S 24 ) of data are repeated until it is determined in step S 25  that the selection processing has been completed to the last data contained in the text of the received e-mail data.  
         [0052]    Each step of the processing will now be described.  
         [0053]    In step S 21 , the type of the first data within the e-mail  1  is acquired. This processing can be performed in accordance with the above-described acquisition processing shown in FIG. 4. In the flowchart shown in FIG. 4, a code representing the type of data within the header of the e-mail is retrieved. In step S 21 , by executing the processing of steps S 1 -S 6  for read data (a part of the text), the type of the data can be acquired.  
         [0054]    In step S 22 , it is determined if the data within the e-mail  1  is to be utilized based on the acquired type of the data. If the result of the determination in step S 22  is affirmative, the process proceeds to step S 23 . If the result of the determination in step S 22  is negative, the process proceeds to step S 24 .  
         [0055]    In step S 23 , processing for continuing to receive the electric mail and preserving the contents of data of the e-mail  1  is performed because the data is to be utilized.  
         [0056]    In step S 24 , processing for reading and then abandoning data within the e-mail  1  is peformed because the data is not to be utilized.  
         [0057]    In step S 25 , it is determined if the acquired data is the last data within the e-mail  1 . If the result of the determination in step S 25  is affirmative, the process is terminated. If the result of the determination in step S 25  is negative, the process proceeds to step S 26 .  
         [0058]    In step S 26 , the next data is acquired because the immediately previously acquired data is not the last data, and the process returns to step S 22 . The processing in step S 26  is the same as the processing in step S 21 .  
         [0059]    The flowchart shown in FIG. 3 illustrates the details of the processing for determining if the data is to be utilized in step S 12  shown in FIG. 1 or step S 22  shown in FIG. 2. A description will now be provided of the flowchart shown in FIG. 3.  
         [0060]    In step S 31 , the first type of utilizable data is read from the types of utilizable data held in advance in the memory device  3 - 3 . FIG. 5 illustrates the structure of a unit for storing the types of utilizable data stored in the memory  3 - 3 . The structure shown in FIG. 5 will be described later.  
         [0061]    In step S 32 , it is determined if the type of data stored in the memory device  3 - 3  in step S 3  or S 5  is the same as the read type of utilizable data, i.e., if the type of data to be processed coincides with a type of utilizable data registered in advance.  
         [0062]    If the result of the determination in step S 32  is affirmative, the process proceeds to step S 33 . If the result of the determination in step S 32  is negative, the process proceeds to step S 34 .  
         [0063]    In step S 33 , it is determined that the data being processed can be utilized because it has been determined that the type of the data is the same as a registered type, and the processing of determining if the data can be utilized is terminated by raising a flag indicating utilizability of data.  
         [0064]    In step S 34 , it is determined if the assigned type of data is the last type of utilizable data, i.e., if matching of the data to determine whether or not the data can be utilized with all types of utilizable data registered in the memory device  3 - 3  in advance has been completed, because it has been determined that the type of the data is different from the last registered type. If the result of the determination in step S 34  is affirmative, the process proceeds to step S 35 . If the result of the determination in step S 34  is negative, the process proceeds to step S 36 .  
         [0065]    In step S 35 , it is determined that the data being processed cannot be utilized because it does not match the last type of registered utlizable data. Hence, a flag indicating nonutilizability of data is raised, and the process is terminated.  
         [0066]    In step S 36 , the next type of utilizable data is read from the memory device  3 - 3  because the assigned type of data is not the last type of registered utilizable data, and the process returns to the processing of step S 32 . Thus, it is possible to determine if data can be utilized.  
         [0067]    [0067]FIG. 5 illustrates an example of a data structure for holding the types of utilizable data.  
         [0068]    Within the memory device  3 - 3 , a storage region  101  for storing the types of utilizable data is provided.  
         [0069]    Reference numerals  102 - 107  represent the types of utilizable data stored in the storage region  101 .  
         [0070]    In this case, the data structure for holding the types of utilizable data is provided as an arrangement of pointers to the storage region  101  for storing the types of utilizable data  102 - 107  (such as “image/gif”  105  indicating that the data is image data in a GIF (Graphics Interchange Format), or the like). By sequentially tracing this arrangement in steps S 31  and S 36 , the types of utilizable data stored in the storage region  101  can be sequentially obtained.  
         [0071]    The types of data which can be displayed or reproduced by e-mail application software used in the apparatus may be registered in e-mail application software as the types of utilizable data, or the system may be configured so that the types of data which can be displayed or reproduced by any means, such as application software or the like, other than e-mail application software can be registered by the application software or the user.  
         [0072]    [0072]FIG. 6 illustrates an example of the e-mail  1  when a portion of data not to be utilized is read and then abandoned.  
         [0073]    When the image data  22  in the e-mail  1  shown in FIG. 8 is data which cannot be utilized, the e-mail  1  is preserved in a state in which that portion of the image data  22  is read and then abandoned, as shown in FIG. 6. In this case, only the text data  21  remains present in the text  20  of the e-mail  1 . It is thereby possible to prevent useless occupation of the storage region by the amount of image data which cannot be utilized. The processing of reading and then abandoning the data portion which is not utilized corresponds to the above-described processing of step S 24  shown in FIG. 2.  
         [0074]    Although the processing of reading and then abandoning a portion of data which is not utilized within the e-mail  1  has been described, the present invention is not limited to such an approach. For example, reception and/or preservation of the e-mail  1  may be interrupted when the type of the received data indicates data not to be utilized.  
         [0075]    Although in this embodiment, control programs for the flowcharts shown in FIGS.  1 - 4  are stored in a storage device, such as a ROM or the like, within the e-mail reception apparatus  100 , these programs may be stored in a separately provided storage medium, such as a floppy disk or the like.  
         [0076]    In the first data selection processing, when the type of data in the text  20  of the e-mail  1  indicates data which cannot be utilized, the e-mail  1  is read and then abandoned. However, the user may be notified of the fact that the data cannot be utilized by any means, such as a display on a display picture surface, or the like, before reading and then abandoning the data, and the user may select whether the data is to be read and then abandoned, or to be preserved.  
         [0077]    In the second data selection processing of FIG. 2, when the type of data of a part of the text  20  of the e-mail  1  indicates data which cannot be utilized, that part of the e-mail is read and then abandoned. However, the user may be notified of the fact that the data cannot be utilized by displaying the fact on a display picture surface, inserting data indicating the presence of data which cannot be utilized instead of the data read and then abandoned, or using means, such as a display on a display picture surface, or the like, before reading and then abandoning the data, and the user may then select whether the data is to be read and then abandoned, or to be preserved.  
         [0078]    In the processing of acquiring the type of data, the type of data is acquired based on a field describing the type of data in the text  20  of the e-mail  1  or in the header of data included in the text  20  of the e-mail  1 . However, the type of data may be acquired by analyzing the contents of the data, for example, by acquiring information relating to the image format contained in the header of the image data, or by determining the type of data from the characteristic configuration of the data.  
         [0079]    In the processing of acquiring the type of data, when a field indicating the type of data is not present in the text of the e-mail, nor in the header of data contained in the text of the e-mail, a predetermined type of data is assumed to be the type of the data. Alternately, however, when the type of the data cannot be acquired, all such data may be determined as data which cannot be utilized.  
         [0080]    The present invention may be applied to a system comprising a plurality of apparatuses, or to an apparatus comprising a single unit. The present invention may, of course, be applied to a case in which the objects of the invention are achieved by supplying a system or an apparatus with a program. In this case, the system or the apparatus can be provided with the effects of the present invention by reading a program represented by software for achieving the present invention stored in a storage medium into the system or the apparatus.  
         [0081]    The individual components shown in outline or designated by blocks in the drawings are all well known in the e-mail processing method and apparatus arts and their specific construction and operation are not critical to the operation or the best mode for carrying out the invention.  
         [0082]    While the present invention has been described with respect to what is presently considered to be the preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiment. To the contrary, the present invention is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.