Email multicasting device

The present invention provides an email multicasting device which changes a distribution interval of emails dynamically in accordance with the number of emails to be multicast. The email multicasting device pre-stores on a client basis, mobile numbers of users which are destinations of an email. The email multicasting device, when receiving mail contents from a client, creates plural emails each of which contains the mail contents and one of mobile numbers associated with the client, and queues the emails in a buffer area. The queued emails are distributed sequentially at predetermined time intervals by the email multicasting device.

This application claims priority under 35 U.S.C. § 119 to Japanese Patent Application No. 2004-252921 filed Aug. 31, 2004, the entire content of which is hereby incorporated by reference.

BACKGROUND

1. Field of the Invention

The present invention relates to a technique of multicasting an email, and particularly relates to a technique of multicasting an email without causing congestion on a network.

2. Description of the Related Art

In recent years, a variety of techniques for supporting data communication using an email have been proposed. For example, Japanese Patent Application Laid-open Publication No. 09-51353 discloses an email server which changes the amount of data distributed as an email dynamically in accordance with the remaining amount of memory of a receiving terminal. The email server acquires information on the remaining amount of memory of a terminal device in advance, and before sending an email to the terminal device, compares the data amount of the email and the remaining amount of memory of the terminal device. If the latter is smaller, the email server divides the email at every breakpoint such as a punctuation and a period, and sends the divided emails sequentially. The terminal device, when receiving the divided emails, restores the original email by reconstructing the divided emails.

Japanese Patent Application Laid-open Publication No. 2002-207669 discloses a mail server which controls the data amount of an advertisement mail distributed by an advertiser. The mail server mediates an advertisement mail from an advertiser who is a sender of an advertisement mail to user terminals which are receivers of the advertisement mail. The mail server receives information on advertisement distribution conditions from each user terminal, and registers the information in its database. The mail server, when receiving from an advertiser an advertisement mail, adjusts the data amount of the advertisement mail for each user with reference to information on advertisement distribution conditions registered in the database, and distributes the advertisement mail to each user terminal.

However, the techniques disclosed in the above publications cannot solve a problem of congestion on a network which can be caused by multicasting of an email.

In recent years, an information service where information relating to a certain genre is sent as an email to multiple destinations has been known.

A server providing such an information service pre-registers the email addresses of users requesting an information service in its database, and if new information to be distributed is prepared, sends an email containing the information to the registered email addresses via nodes constituting the Internet and/or a mobile packet communication network.

In the information service, since a large number of emails are distributed in a relatively short time, if the destinations of the emails are concentrated in one area, an excessive load is applied to a network of the area, and thereby it is possible that congestion is caused on the network.

The present invention has been made in view of the above circumstances, and provides an email multicasting device which changes a distribution interval of emails dynamically in accordance with the number of emails to be multicast.

BRIEF SUMMARY

An email multicasting device according to an embodiment of the present invention comprises: a plurality of buffer areas; buffer-related information storage means which stores a buffer area identifier of each of the buffer areas in association with interval data indicating a distribution time interval at which emails queued in the buffer area are sent; client information storage means which stores a client identifier of a client requesting email distribution in association with a plurality of email destinations notified by the client in advance and a buffer area identifier; distribution request reception means which receives mail contents to be multicast as an email and a client identifier; buffer area identifying means which reads out a buffer area identifier associated with the client identifier received by the distribution request reception means from the client information storage means, and identifies a buffer area identified by the buffer area identifier; email creation means which reads out a plurality of email destinations associated with the client identifier received by the distribution request reception means from the client information storage means, and creates a plurality of emails each of which contains the mail contents received by the distribution request reception means and one of the plurality of email destinations; queuing means which queues the plurality of emails created by the email creation means in the buffer area identified by the buffer area identifying means; and email distribution means which reads out interval data associated with the buffer area identifier read out by the buffer area identifying means, from the buffer-related information storage means, and distributes the plurality of emails queued by the queuing means sequentially at time intervals indicated by the interval data.

An email multicasting device according to another embodiment of the present invention comprises: a plurality of buffer areas; buffer-related information storage means which stores a buffer area identifier of each of the buffer areas in association with interval data indicating a distribution time interval at which emails queued in the buffer area are sent; client information storage means which stores a client identifier of a client requesting email distribution in association with a buffer area identifier; distribution request reception means which receives a plurality of email destinations, mail contents to be multicast to the plurality of email destinations, and a client identifier; buffer area identifying means which reads out a buffer area identifier associated with the client identifier received by the distribution request reception means from the client information storage means, and identifies a buffer area identified by the buffer area identifier; email creation means which creates a plurality of emails each of which contains the mail contents received by the distribution request reception means and one of the plurality of email destinations received by the distribution request reception means; queuing means which queues the plurality of emails created by the email creation means in the buffer area identified by the buffer area identifying means; and email distribution means which reads out interval data associated with the buffer area identifier read out by the buffer area identifying means, from the buffer-related information storage means, and distributes the plurality of emails queued by the queuing means sequentially at time intervals indicated by the interval data.

In the above email multicasting devices, if an email is already queued in the buffer area indicated by the buffer area identifier, the buffer area identifying means may identify another buffer area where an email is not queued in accordance with a predetermined algorithm.

An email multicasting device according to another embodiment of the present invention comprises: a plurality of buffer areas; interval data storing means which stores interval data indicating a distribution time interval at which emails queued in each of the buffer areas are sent, in association with a range of a number of emails which are to be distributed sequentially at time intervals indicated by the interval data; distribution request reception means which receives a plurality of email destinations, mail contents to be multicast to the plurality of email destinations, and a client identifier; area identifying means which obtains data of an area where each of the plurality of email destinations received by the distribution request reception means is located; email destination classification means which classifies into groups the plurality of email destinations received by the distribution request reception means on a distribution area basis on the basis of the area data obtained by the area identifying means; email creation means which creates a plurality of emails each of which contains the mail contents received by the distribution request reception means and one of email destinations belonging to a group of the plurality of email destinations classified by the email destination classification means; queuing means which queues the plurality of emails created by the email creation means in a buffer area; count means which counts a number of the plurality of emails queued in the buffer area by the queuing means; and email distribution means which reads out interval data associated with a range of a number of emails to which the number counted by the count means belongs, from the interval data storing means, and distributes the plurality of emails queued by the queuing means sequentially at time intervals indicated by the interval data.

According to an embodiment of the present invention, a distribution interval of emails can be changed dynamically in accordance with the number of emails to be multicast.

First Embodiment

A first embodiment of the present invention will be described. In the following description, a term “carrier” refers to a corporation which manages a mobile packet communication network, and a term “client” refers to a corporation which entrusts the carrier with multicasting of mail contents created by the client. The client has a client ID and a password which are issued by the carrier, and the client ID is character strings unique to each client. A term “user” refers to an individual or a corporation that has performed a predetermined registration procedure for receiving mail contents created by the client.

FIG. 1is a diagram showing a configuration of an email distribution control system according to the present embodiment.

The email distribution control system comprises the Internet and a mobile packet communication network.

The Internet is a collection of nodes which send data using TCP (Transmission Control Protocol)/IP (Internet Protocol), and HTTP (Hypertext Transfer Protocol) and SMTP (Simple Mail Transfer Protocol) which are upper protocols of TCP/IP, and has plural client terminals10and email multicasting device20.

FIG. 2is a block diagram showing a hardware configuration of client terminal10. Client terminal10is a computer used by each client, and as shown in the drawing, comprises: CPU11which controls the operation of client terminal10; RAM12which is used as a working area of CPU11; ROM13which stores an IPL (Initial Program Loader), etc.; hard disk14; display15; mouse16; keyboard17; and communication interface18.

Hard disk14stores, in addition to an OS (Operating System) which is not shown in the drawing, distribution request control program14a. When CPU11executes the program while using RAM12as a working area, an email multicasting request function is realized in client terminal10.

FIG. 3is a block diagram showing a hardware configuration of email multicasting device20. Email multicasting device20is a computer managed by a carrier, and as shown in the drawing, comprises: CPU21; RAM22; ROM23; hard disk24; display25; mouse26; keyboard27; and communication interface28.

Hard disk24stores, in addition to an OS which is not shown in the drawing, email multicasting program24a, buffer-related information database24b, and client information database24c.

When CPU21executes email multicasting program24awhile using RAM22as a working area, units shown inFIG. 4are realized logically. Specifically, plural buffer areas a to i for queuing emails are reserved in RAM22, and CPU21functions as distribution request reception unit51, buffer area identifying unit52, email creation unit53, mail queuing unit54, and distribution unit55.

Buffer areas a to i reserved in RAM22are divided into three groups: the first group of buffer areas a to c for short interval distribution; the second group of buffer areas d to f for medium interval distribution; and the third group of buffer areas g to i for long interval distribution. Emails queued in each buffer area is distributed to a network sequentially at distribution intervals registered in association with the buffer area in buffer-related information database24bwhich is described later.

Now, an operation of each unit realized by CPU21will be described. Distribution request reception unit51receives a distribution request containing mail contents and a client ID via communication interface28. Buffer area identifying unit52identifies a buffer area to be assigned to a client which is the source of a distribution request. Email creation unit53creates a plurality of emails each of which contains mail contents and destination data contained in a distribution request. Mail queuing unit54queues emails created by email creation unit53in a buffer area identified by buffer area identifying unit52. Distribution unit55distributes emails queued in a buffer area sequentially at distribution intervals associated with the buffer area.

Buffer-related information database24bis a collection of plural records, each of which is created for each buffer area. As shown inFIG. 5, one record constituting the database has three fields: “buffer area”; “distribution interval”; and “occupancy state flag”. In the “buffer area” field, a buffer area identifiers of any of identifying buffer areas a to i reserved in RAM22is stored. In the “distribution interval” field, interval data is stored. The interval data is a parameter indicating a time interval at which emails queued in a buffer area are distributed. In the “occupancy state flag” field, an occupancy state flag is stored. The occupancy state flag is data indicating whether a buffer area is occupied. If a buffer area is occupied, a value “1” is stored as the occupancy state flag, and if the buffer area is not occupied, a value “0” is stored as the occupancy state flag. Once a buffer area is occupied, the occupancy state is not reset until distribution of all emails queued in the buffer area is completed.

In buffer-related information database24B ofFIG. 5, interval data of “0.1” which is the shortest distribution interval is set for buffer areas a to c belonging to the first group, interval data of “0.2” which is the second-shortest distribution interval is set for buffer areas d to f belonging to the second group, and interval data of “0.5” which is the longest distribution interval is set for buffer areas g to i belonging to the third group. By setting a time interval for each group as just described and using a buffer area depending on the number of emails to be queued, even if the number of emails is large and destinations of the emails are concentrated on one area, a risk of congestion on a network is reduced, and if the number of emails is small, distribution of the emails can be completed quickly. The detail of the distribution process will be described later.

Client information database24cis a collection of plural records each of which is created for each client. As shown inFIG. 6, one record constituting the database has three fields: “client”; “destination”; and “buffer area”. In the “client” field, the client ID of each client is stored. In the “destination” field, the mobile numbers of plural users which are destinations of an email are stored. In the “buffer area” field, the buffer area identifiers of buffer areas that may be occupied for queuing emails are stored. Data stored in the “client” and “destination” fields is acquired from client terminal10in a destination registration process which is described later, and data stored in the “buffer area” field is determined by the data stored in the “destination” field in the destination registration process.

Now,FIG. 1is referred to again. The mobile packet communication network is a collection of nodes which sends data using simplified TCP/IP and HTTP which is an upper protocol of TCP/IP, and comprises: gateway server30; switches40; base stations50; and mobile communication terminals60.

Gateway server30performs a protocol conversion to exchange data such as an email and HTML (Hypertext Markup Language) data between the mobile packet communication network and the Internet.

Switch40is a computer system provided in a switching center serving plural base stations50, and delivers a received email to mobile communication terminal60via base stations50operating under the jurisdiction of the switch.

Base station50is arranged in every wireless area with a radius of, e.g., 500 meters, and performs wireless communication with mobile communication terminal60located in each wireless area.

Mobile communication terminal60comprises: a voice input/output unit for performing voice communication; a wireless communication unit for performing wireless communication with base station50; a display such as a liquid crystal panel; an operation unit for inputting figures and characters; and a microcomputer for controlling the above units. Mobile communication terminal60is connected to a mobile telephone network (not shown) as well as to the mobile packet communication network shown inFIG. 1. Also, mobile communication terminal60has software for browsing document data (browser), and can display an email sent via the mobile packet communication network.

Next, an operation of the present embodiment will be described. The operation of the present embodiment is divided into a destination registration process and a multicasting process.

FIG. 7is a flowchart showing the destination registration process. The process is started when client terminal10of a client accesses a website for the destination registration process by designating the URL (Uniform Resource Locator) of the website.

When client terminal10accesses the website by designating the URL of the website, CPU21of email multicasting device20reads out HTML data identified by the URL from its hard disk24and sends it to client terminal10(S100).

CPU11of client terminal10, when receiving the HTML data, causes display15to display a destination registration login screen on the basis of the HTML data (S110). The screen displays a message “This is a site for destination registration. Please enter your client ID and password.” and entry fields where a client ID and a password can be entered. An operator of client terminal10enters the client ID and the password of the client in the entry fields on the screen.

CPU11of client terminal10sends the entered client ID and password to email multicasting device20(S120).

CPU21of email multicasting device20authenticates the client on the basis of the client ID and password received from client terminal10, and if the authentication is completed, sends HTML data of a destination number entry screen to client terminal10(S130).

CPU11of client terminal10, when receiving the HTML data, causes display15to display the destination number entry screen on the based of the HTML data (S140). The screen displays a message “Please enter mobile numbers to be registered as destinations of an email.” and plural entry fields where mobile numbers can be entered. The operator of client terminal10enters in the entry fields, mobile numbers of users who have performed a registration procedure for receiving emails from the client.

When mobile numbers are entered, CPU11of client terminal10sends the entered mobile numbers and the client ID entered on the destination registration login screen to email multicasting device20(S150).

CPU21of email multicasting device20stores in RAM22the mobile numbers and client ID received from client terminal10(S160).

Subsequently, CPU21refers to client information database24cstored in its hard disk24to determine whether a record including the client ID stored in RAM22in S160exists in the database (S170).

If the determination in S170is negative, CPU21adds a new record to client information database24c(S180). In the “client” field of the added record, the client ID stored in RAM22in S160is stored, and in the “destination” field of the same record, the mobile numbers stored in RAM22in S160are stored (S190).

On the other hand, if the determination S170is affirmative, CPU21identifies the record including the client ID (S200), and updates data stored in the “destination” field of the identified record with the mobile numbers stored in RAM22in S160(S210).

The destination registration process is thus completed. In email multicasting device20, updates of client information database24care monitored constantly. If a new record is added to the database, or if an existing record is updated, the newly added or updated record is identified, the number of mobile numbers stored in the “destination” field of the record is counted, and the buffer area identifier of a buffer area appropriate for the counted number is stored in the “buffer area” field of the record.

In a case of the present embodiment, if the number of mobile numbers stored in the “destination” field is less than 500, buffer areas a to c belonging to the first group are assigned; if the number is 500 or more and less than 1000, buffer areas d to f belonging to the second group are assigned; and if the number is 1000 or more, buffer areas g to i belonging to the third group are assigned. Accordingly, if the number of mobile numbers of a newly added or updated record is 700, the buffer area identifiers of buffer areas g to i belonging to the second group are stored in the “buffer area” field of the record.

FIGS. 8 and 9are flowcharts showing the multicasting process. The process is started when client terminal10of a client accesses a website for multicasting request by designating the URL of the website. In the following description, it is assumed that client terminal10of the client has already registered mobile numbers with email multicasting device20in the above destination registration process.

When client terminal10accesses the website by designating the URL of the website, CPU21of email multicasting device20reads out HTML data identified by the URL from its hard disk24and sends it to client terminal10(S300).

CPU11of client terminal10, when receiving the HTML data, causes display15to display a multicasting request login screen on the basis of the HTML data (S310). The screen displays a message “This is a site for multicasting request. Please enter your client ID and password.” and entry fields where a client ID and a password can be entered. An operator of the client terminal10enters the client ID and password of the client in the entry fields on the screen.

CPU11of client terminal10sends the entered client ID and password to email multicasting device20(S320).

CPU21of email multicasting device20authenticates the client on the basis of the client ID and password received from client terminal10, and if the authentication is completed, sends HTML data of a mail contents entry screen to client terminal10(S330).

CPU11of client terminal10, when receiving the HTML data, causes display15to display the mail contents entry screen on the basis of the HTML data (S340). The screen displays a message “Please enter mail contents to be multicast.” and an entry field where mail contents can be entered. The operator of client terminal10enters mail contents in the entry field using keyboard27. Alternatively, the operator may cause client terminal10to call up a prepared document file to the entry field.

When mail contents are entered, CPU11of client terminal10sends the entered mail contents and the client ID entered on the multicasting request login screen to email multicasting device20(S350).

CPU21of email multicasting device20stores in RAM22the mail contents and the client ID received from client terminal10(S360).

Subsequently, CPU21refers to client information database24cstored in its hard disk24to identify a record including the client ID stored in RAM22in S360(S370).

When the record is identified, CPU21reads out buffer area identifiers stored in the “buffer area” field of the record and writes them in RAM22(S380). In the present embodiment, a set of the buffer area identifiers of buffer areas a to c, a set of the buffer area identifiers of buffer areas d to f, or a set of the buffer area identifiers of buffer areas g to i is read and written in RAM22(seeFIG. 5).

Subsequently, CPU21determines whether each of the buffer areas identified by the buffer area identifiers written in RAM22is currently occupied, by referring to data stored in the “occupancy state flag” field of buffer-related information database24b(S390). Specifically, CPU21refers to data stored in the “occupancy state flag” field associated with each of the buffer area identifiers written in RAM22, and if the data of the field is “1”, CPU21determines that the buffer area associated with the field is occupied, and if the data of the field is “0”, CPU21determines that the buffer area associated with the field is not occupied.

If it is determined in S390that there is an unoccupied buffer area, CPU21designates the buffer area as a buffer area for queuing emails (S400). If there are plural unoccupied buffer areas, CPU selects any one of the plural buffer areas.

On the other hand, if there is not an unoccupied buffer area, CPU21stands by until any of the buffer areas identified by the buffer area identifiers written in RAM22is released, and designates a buffer area which is released first as a buffer area for queuing emails (S410).

When a buffer area is designated, CPU21identifies a record relating to the designated buffer area in the buffer-related information database24b, and updates data stored in the “occupancy state flag” of the identified record from “0” to “1” (S420).

Subsequently, CPU21reads out one of the mobile numbers stored in the “destination” field of the record identified in S370(S430).

CPU21creates an email which contains the mail contents stored in RAM22in S360as a main body and which contains the mobile number read out in S430(S440) as a destination, and queues the email in the designated buffer area (S450).

CPU21determines whether there is a mobile number which has not been read out in the “destination” field of the record identified in S370, and if the determination is affirmative, returns to the process of S430. The processes of S430to S450are repeated, until all of the mobile numbers stored in the “destination” field of the record identified in S370are read out and emails each of which contains one of the mobile number as a destination are queued.

When emails containing the mobile numbers are queued, CPU21identifies a record including the buffer area identifier read out in S380in buffer-related information database24b(S460).

CPU21reads out interval data stored in the “distribution interval” field of the identified record, and writes it in RAM22(S470).

CPU21reads out an email which has been queued in the buffer area first and sends the email to a network (S480).

CPU21, if there is an unsent email in the buffer area, stands by for a time period indicated by interval data read out in S470(S490).

When the time period indicated by interval data elapses, CPU21returns to the process of S480. The processes of S480and S490are repeated, until all of the emails queued in the buffer area are sent.

If the emails queued in the buffer area are all sent, CPU21updates the occupancy state flag from a value “1” to a value “0” (S500), and ends the present multicasting process.

As described above, in the present embodiment, email multicasting device20receives from each client, mobile numbers of users which are destinations of mail contents created by the client, and sets a distribution interval appropriate for the number of the received mobile numbers. If email multicasting device20receives from a client, mail contents to be multicast, the device queues emails each of which contains the mail contents and a mobile number registered by the client in a buffer area, and sends the queued emails sequentially at time intervals indicated by interval data associated with the client. Accordingly, if the destinations of the queued emails are concentrated on one area, congestion on a network of the area can be prevented.

Second Embodiment

A second embodiment of the present invention will be described. In a destination registration process of the first embodiment, email multicasting device20stores mobile numbers acquired from each client terminal10in its client information database24c, and upon receipt of a multicasting request of mail contents from client terminal10, multicasts the mail contents to mobile communication terminals identified by mobile numbers which have been acquired from client terminal10. In contrast, in the present embodiment, client terminal10informs email multicasting device20of mobile numbers of users which are destinations of mail contents, each time client terminal10requests email multicasting device20to multicast the email contents.

A hardware configuration of client terminal10of the present embodiment is the same as that of the first embodiment. A hardware configuration of email multicasting device20is the same as that of the first embodiment except for a data configuration of client information database24cstored in hard disk24.

FIG. 10is a diagram showing a data configuration of client information database24c. One record constituting the database has two fields: “client”; and “buffer area”, but does not have a “destination” field. Data stored in the fields of the database is entered manually as described below.

A client notifies a carrier of the approximate number of destinations of mail contents created by the client and their client ID. An operator of the carrier who has received the notification adds a new record to client information database24cand enters the client ID in the “client” field of the record. The operator also enters a buffer area identifier in the “buffer area” field of the record. If the notified number of destinations is less than 500, the buffer area identifiers of the buffer areas a to c belonging to the first group are stored in the “buffer area” field; if the number is 500 or more and less than 100, the buffer area identifiers of the buffer areas d to f belonging to the second group are stored; and if the number is 1000 or more, the buffer area identifiers of the buffer areas g to i belonging to the third group are stored.

As described above, in the present embodiment, since data of client information database24cis entered manually, a destination registration process as described in the first embodiment is not carried out and only a multicasting process is carried out.

Now, an operation of the present embodiment will be described.FIG. 11is a flowchart showing a part of a multicasting process according to the present embodiment. The multicasting process of the present embodiment is different from that of the first embodiment in that processes of S360to S364are carried out between processes of S360and S370of the first embodiment.

CPU21of email multicasting device20, which has received mail contents and a client ID from the client terminal10in S360, sends HTML data of a destination number entry screen to client terminal10(S361).

CPU11of client terminal10, when receiving the HTML data, causes display15to display the destination number entry screen on the basis of the HTML data (S362). The screen displays a message “Please enter mobile numbers of users which are destinations of an email.” and plural entry fields where mobile numbers can be entered. An operator of client terminal10enters in the entry fields, the mobile numbers of users who have performed a registration procedure for receiving emails from the client.

When mobile numbers are entered, CPU11of client terminal10sends the entered mobile numbers and a client ID entered on a destination registration login screen to email multicasting device20(S363).

CPU21of email multicasting device20stores in RAM22the mobile numbers and the client ID received from client terminal10(S364).

Processes of S370and subsequent steps are the same as those of the first embodiment.

As described above, in the present embodiment, client terminal10informs email multicasting device20of mobile numbers of users which are destinations of mail contents, each time client terminal10requests email multicasting device20to multicast the email contents. Accordingly, a client can change destinations of mail contents from a multicasting request to another, and yet congestion on a network can be prevented, on condition that the number of the destinations is less than or equal to the number which has been notified to email multicasting device20in advance.

Third Embodiment

A third embodiment of the present invention will be described. In the above embodiments, buffer areas are divided into three groups in accordance with the number of destinations, and if the buffer areas belonging to a certain group necessary for queuing emails are all occupied, CPU21of email multicasting device20stands by until any of the buffer areas is released and queues emails in a released buffer area. In contrast, in the present embodiment, if the buffer areas belonging to a certain group necessary for queuing emails are all occupied, a buffer area belonging to another group is designated as a buffer area for queuing emails instead. Hardware configurations of client terminals10and email multicasting device20of the present embodiment are the same as those of the first embodiment.

Now, an operation of the present embodiment will be described. The operation of the present embodiment is divided into a destination registration process and a multicasting process, and the destination registration process is the same as that of the first embodiment. Accordingly, only the multicasting process will be described below.

FIG. 12is a flowchart showing a part of the multicasting process. The multicasting process of the present embodiment is different from that of the first embodiment in that processes of S411to S414are carried out instead of a process of S410of the first embodiment.

If it is determined in S390that there is no unoccupied buffer area, CPU21of email multicasting device20determines whether buffer areas other than those identified by buffer area identifiers read out in S380are occupied (S411). For example, if the buffer area identifiers of the buffer areas a to c belonging to the first group are read out in S380, it is determined whether the buffer areas d to f belonging to the second group and the buffer areas g to i belonging to the third group are occupied.

If it is determined in S411that any of the buffer areas is unoccupied, CPU21designates a buffer area as a buffer area for queuing emails (S412). Subsequently, CPU21identifies a record including the buffer area identifier of the buffer area on buffer-related information database24b, and updates interval data stored in the “distribution interval” field of the record with interval data stored in association with the buffer area identifier read out in S380(S413). When the update operation is completed, CPU21proceeds to a process of S420.

On the other hand, if it is determined in S411that there is not an unoccupied buffer area, CPU21carries out the same process as that of S410of the first embodiment, namely CPU21stands by until any of the buffer areas identified by the buffer area identifiers written in RAM22in S380is released, and designates a buffer area which is released first as a buffer area for queuing emails (S414). When a buffer area is designated, CPU21proceeds to a process of S420.

Processes of S420to S500are the same as those of the first embodiment except that CPU21updates interval data updated in S413with an original data in addition to updating the occupancy state flag from “1” to “0”.

As described above, in the present embodiment, if buffer areas belonging to a certain group which have been assigned to a client are all occupied, a buffer area belonging to another group is used instead. However, multicasting of emails queued in the substitute buffer area is performed at time intervals indicated by interval data associated with the buffer area which has been assigned to the client, not with the buffer area being used. Accordingly, according to the present embodiment, buffer areas can be used effectively, and yet congestion on a network can be prevented.

Fourth Embodiment

A fourth embodiment of the present invention will be described. A hardware configuration of client terminals10of the present embodiment is the same as that of the first embodiment. On the other hand, a hardware configuration of email multicasting device20of the present embodiment is different from that of the first embodiment in that hard disk24of email multicasting device20stores a buffer area availability and interval data database (none of which is shown) instead of client information database24cand buffer-related information database24b.

FIG. 13is a diagram showing a data configuration of buffer area availability database. One record constituting the database has two fields: “buffer area”; and “occupancy state flag”. In the “buffer area” field, the buffer area identifier of any of the buffer areas a to i is stored. In the “occupancy state flag” field, a value “1” indicating that a buffer area is occupied or a value “0” indicating that a buffer area is not occupied is stored.

FIG. 14is a diagram showing a data configuration of the interval data database. One record constituting the database has two fields: “distribution interval”; and “email number”. In the “distribution interval” fields, interval data of “0.1”, “0.2” and “0.5” is stored, respectively. In each “email number” field, the number of emails is stored, which does not cause a congestion on a network when the emails are multicast at time intervals indicated by interval data associated with the email number in the database.

In the present embodiment, when CPU21of email multicasting device20executes email multicasting program24awhile using RAM22as a working area, units shown inFIG. 15are realized logically. Specifically, plural buffer areas a to i for queuing emails are reserved in RAM22, and CPU21functions as distribution request reception unit51, buffer area identifying unit52, email creation unit53, mail queuing unit54, distribution unit55, area identifying unit56, mail destination classification unit57, and counter58.

Among the above units, since operations of distribution request reception unit51, buffer area identifying unit52, email creation unit53, mail queuing unit54, and distribution unit55are described in the first embodiment, operations of only area identifying unit56, mail destination classification unit57, and counter58will be described.

Area identifying unit56acquires area data indicating an area where mobile communication terminal60is located from a mobile packet communication network. Mail destination classification unit57classifies mobile numbers of mobile communication terminals of users which are destinations of an email according to an area where each terminal is located. Counter58counts the number of mobile numbers classified on an area-by-area basis by mail destination classification unit57.

Now, an operation of the present embodiment will be described. The operation of the present embodiment is divided into an email queuing process and an email distribution process.

FIG. 16is a flowchart showing the email queuing process. The process is started when client terminal10of a client accesses a website for a distribution request registration process by designating the URL (Uniform Resource Locator) of the website.

When client terminal10accesses the website by designating the URL of the website, CPU21of email multicasting device20reads out HTML data identified by the URL from hard disk24and sends it to client terminal10(S600).

CPU11of client terminal10, when receiving the HTML data, causes display15to display a destination registration login screen on the basis of the HTML data (S610). The screen displays a message “Please enter mail contents to be multicast and mobile numbers to be registered as destinations of the mail contents.”, an entry field where mail contents can be entered, and plural entry fields where mobile numbers can be entered. A client ID and a password are not needed to be entered, unlike the above embodiments. An operator of client terminal10enters mail contents and mobile numbers in the entry fields on the screen.

When mail contents and mobile numbers are entered, CPU11of client terminal10sends the entered mail contents and mobile numbers to email multicasting device20(S620).

CPU21of email multicasting device20stores in RAM22the mail contents and mobile numbers received from client terminal10(S630).

Subsequently, CPU21acquires area data of mobile communication terminals having the mobile numbers stored in RAM22from a mobile packet communication network (S640).

When area data is acquired, CPU21classifies on the basis of the area data, the mobile numbers stored in RAM22into groups on an area-by-area basis (S650).

CPU21selects one group of mobile numbers as processing objects (S660). CPU21also selects one buffer area which is not occupied (S670), and updates the occupancy state flag associated with the buffer area from a value “0” to a value “1” (S680).

CPU21selects one mobile number from the selected group of mobile numbers (S690), and creates an email which contains the mobile number as a destination and which contains the mail contents as a main body (S700).

CPU21queues the created email in the buffer area selected in S670(S710).

CPU21determines whether there is a mobile number which has not been read out, and if the determination is affirmative, returns to the process of S690. The processes of S690to S710are repeated, until all of the mobile numbers selected as processing objects in S660are read out and emails each of which contains one of the mobile number as a destination are queued.

When emails containing the mobile numbers belonging to the selected group are queued, CPU21selects another group of mobile numbers as processing objects and repeats the processes of S660and subsequent steps.

When the mail queuing process is completed, CPU21starts an email distribution process.

FIG. 17is a flowchart showing the email distribution process. The process is performed in parallel for each buffer area where emails are queued, but for convenience of explanation, a process performed for one buffer area will be described below.

CPU21counts the number of emails queued in the buffer area which are processing objects (S720), and determines a range to which the counted number belongs from among three ranges of less than 500, 500 or more and less than 1000, and 1000 or more (S730).

CPU21identifies a record associated with the range determined in S730in an interval data database, reads out interval data stored in the “distribution interval” field of the record, and writes the interval data in RAM22(S740).

CPU21reads out an email which has been queued in the buffer area first and sends the email to a network (S750).

CPU21, if there is an unsent email in the buffer area, stands by for a time period indicated by interval data read out in S740(S760).

When the time period indicated by interval data elapses, CPU21returns to the process of S750. The processes of S750and S760are repeated, until all of the emails queued in the buffer area are sent.

If the emails queued in the buffer area are all sent, CPU21updates the occupancy state flag from a value “1” to a value “0” (S770), and ends the present email distribution process.

As described above, in the present embodiment, data of an area where each of mobile communication terminals60of users which are destinations of an email is currently located is acquired, and on the basis of the identified area, emails addressed to each of mobile communication terminals60are classified into groups on an area-by-area basis and queued in different buffer areas. The emails queued in the buffer areas are counted on a buffer area basis, namely counted on a distribution area basis, and counted emails are distributed at time intervals appropriate for the counted number.