Program, server and method
The program and server use machine learning to predict a representative approver, addressing inefficiencies and conflicts in email approval systems by ensuring timely and efficient email processing.
Patent Information
- Application Number
- JP2024119539
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-07-25
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2040-06-05
AI Technical Summary
Existing email approval systems require manual selection by senders, leading to inefficiencies and potential conflicts among approvers, resulting in delayed approvals and business disruptions.
A program and server that utilize machine learning to predict a representative approver based on responsiveness levels, allowing for automated selection and efficient approval or rejection instructions, minimizing conflicts and delays.
Facilitates prompt and efficient email approvals by designating a representative approver, reducing the need for manual selection and minimizing business disruptions.
Smart Images

Figure 0007746477000001 
Figure 0007746477000002 
Figure 0007746477000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a program and a server. [Background technology]
[0002] Email has been used as a communication tool for a long time, and there is an MTA (Mail Transfer Agent) that accepts email from an MUA (Mail User Agent) and processes the email for delivery (delivery, transmission, and forwarding).
[0003] Here, MUA is a client program used to send and receive email on a terminal on the Internet, and MTA is a mail server that receives and delivers email on the network via SMTP (Simple Mail Transfer Protocol).
[0004] For example, in the prior art, there is an email sending / receiving program that, in order to prevent inappropriate emails from being sent in advance, when it is determined that an email will be sent outside an organization, displays a list of approvers stored in association with the sender to the sender of the email, allows the sender to select an approver who will approve the sending of the email, and puts the sending of the email on hold until approval is received (see paragraphs 0073-0076, FIG. 13, and paragraphs 0090-0091 of Patent Document 1). [Prior art documents] [Patent documents]
[0005] [Patent Document 1] Patent No. 4299281 Summary of the Invention [Problem to be solved by the invention]
[0006] When an e-mail is delivered with the approval of at least one approver, it is preferable to have multiple approvers to provide an opportunity for the e-mail to be approved promptly and smoothly, but in the prior art shown in Patent Document 1, the sender (the user who sent the e-mail) selects and decides between multiple approvers, which makes it difficult for the sender to choose. In other words, it is difficult for the sender to select and decide between multiple appropriate approvers so that the e-mail can be approved promptly and smoothly.
[0007] Additionally, the following problems arise for each approver. For example, each approver may expect that other approvers will check the emails awaiting approval, which can lead to a lack of responsibility for approving emails and the postponement of approval checks. Furthermore, in cases where each approver focuses on promptly checking the emails awaiting approval themselves, if multiple approvers check them at the same time and one approver issues an approval instruction (or a denial instruction) first, the other approvers will waste their time trying to issue their own approval instructions (or denial instructions). In this way, the instructions of multiple approvers may conflict, resulting in the problem of some approvers wasting their time. Furthermore, if the approval or denial instructions themselves take time, there is also the problem of business disruptions caused by waiting for email approval.
[0008] The present invention has been made in consideration of the above-mentioned problems, and aims to provide a program and server that can provide an opportunity for emails that have been determined to require approval to be approved promptly and without delay, avoid situations in which tasks associated with instructions from multiple approvers conflict, enable each approver to give efficient approval or rejection instructions taking into account their own role, and reduce business disruptions caused by waiting for approval of emails. [Means for solving the problem]
[0009] (1) The present invention is A program for a server that delivers electronic mail, a reception unit for receiving emails sent from a sender; a determination unit that determines whether or not the email needs to be approved based on predetermined conditions; a holding unit that holds delivery of the electronic mail when it is determined that approval of the electronic mail is required; a selection unit that accepts selection of one representative approver from among a plurality of approvers when it is determined that approval of the email is necessary; a notification unit that notifies the representative approver of an approval request; an instruction receiving unit that receives an instruction to approve or reject the reserved email from at least one of the plurality of approvers; a delivery unit that controls delivery of the email when it is determined that approval of the email is required and the instruction first received from one of the plurality of approvers is an approval instruction, or controls to stop delivery of the email when the instruction first received from one of the plurality of approvers is a denial instruction; a responsiveness level calculation unit that calculates, for each user, a responsiveness level indicating a degree of responsiveness of the user at a given time; causing the computer to function as a machine learning unit that performs machine learning for each user using a given time and the user's responsiveness level at that time as training data, and generates a predictive model that associates that time with the user's responsiveness level at that time; The selection unit The program uses a prediction model for each of a plurality of approvers to obtain the responsiveness level of each of the plurality of approvers from the time at which the pending email was held, and selects one representative approver from among the plurality of approvers based on the responsiveness level of each of the plurality of approvers.
[0010] The present invention also relates to an information storage medium storing the program, and to a server including a storage unit storing the program and a processor for executing the program.
[0011] The present invention suspends delivery of email that is determined to require approval based on predetermined conditions until approval is received, thereby preventing inappropriate emails from being sent in advance.
[0012] In particular, the present invention has the following advantages. That is, according to the present invention, at least the representative approver is notified of the approval request (e.g., approval request email), so an opportunity to promptly approve or deny the pending email can be provided. For example, since at least the representative approver is made aware of the existence of the pending email, it is possible to prevent the email from being delayed.
[0013] Furthermore, according to the present invention, for example, when there are multiple approvers A, B, and C, and A is the representative approver, representative approver A's role is to actively issue approval or denial instructions, while approvers B and C's role is to provide support by issuing approval or denial instructions on behalf of representative approver A if he or she is unable to do so for some reason. In other words, because approvers B and C's support roles are clear, they can concentrate on their own work and avoid conflicting tasks related to instructions. As a result, the present invention can minimize business disruptions caused by waiting for email approval, and enables each approver to efficiently issue approval or denial instructions taking into account their own role.
[0014] Furthermore, according to the present invention, for each user, machine learning is performed using a given time and the user's responsiveness level at that time as training data, and a predictive model is generated that associates a given time with the user's responsiveness level at that time, thereby making it possible to perform various processes using the predictive model, for example.
[0015] According to the present invention, the predictive model for each of the multiple approvers is used to obtain the responsiveness level of each of the multiple approvers from the time when the pending email was held, and one representative approver can be selected from the multiple approvers based on the responsiveness level of each of the multiple approvers. For example, this can eliminate the need for a user to manually select a representative approver.
[0016] (2) The program, information storage medium, and server of the present invention are: The notification unit The sender user may be notified of information about the representative approver.
[0017] According to the present invention, when one representative approver is selected using a prediction model, information about the representative approver can be notified to the sender user.
[0018] (3) The program, information storage medium, and server of the present invention are: The selection unit A change may be accepted from the sender user to designate one of the approvers other than the representative approver as the new representative approver.
[0019] According to the present invention, if the sender finds that the representative approver is unable to perform the approval check for some reason, the sender can change the representative approver to another approver, thereby providing the sender with an opportunity to promptly approve or reject the held email without delay.
[0020] (4) The program, information storage medium, and server of the present invention are: the computer is further caused to function as an extraction unit that acquires a readiness level of each of the plurality of approvers from the hold time of the held email using the prediction model of each of the plurality of approvers, and extracts one representative approver candidate from the plurality of approvers based on the readiness level of each of the plurality of approvers; The notification unit notifying the sender user of information on the representative approver candidates extracted by the extraction unit; The selection unit After the notification unit notifies the sender user of information about the representative approver candidates, the notification unit may accept a selection of one representative approver from a plurality of approvers from the sender user.
[0021] According to the present invention, it is possible to use a prediction model for each of a plurality of approvers to obtain the responsiveness level of each of the plurality of approvers from the time when the held email was held, and to extract one representative approver candidate from the plurality of approvers based on the responsiveness level of each of the plurality of approvers.The present invention then notifies the sender user of information about the extracted representative approver candidate, so that the sender user can easily select a representative approver in consideration of the representative approver candidates.
[0022] (5) The program, information storage medium, and server of the present invention are: the computer is further caused to function as a storage unit that stores the time at which the reserved email is held, information on the representative approver when an approval instruction or a denial instruction is received for the email, and the instruction time at which the approval instruction or the denial instruction is received; The responsiveness level calculation unit The responsiveness level of the representative approver at the time of reservation may be calculated according to the reservation period from the time of reservation of the email to the specified time.
[0023] According to the present invention, the responsiveness level of a representative approver who actually issued an approval instruction or a denial instruction is calculated according to the suspension period, so that the responsiveness level can be calculated with high accuracy.
[0024] (6) The program, information storage medium, and server of the present invention are: The responsiveness level calculation unit When the representative approver is changed, the responsiveness level of the changed representative approver at the pending time may be calculated according to the pending period from the change time when the representative approver was changed to the specified time.
[0025] According to the present invention, the responsiveness level of the new representative approver after the change is calculated according to the suspension period from the change time to the specified time, so that the responsiveness level can be calculated with high accuracy.
[0026] (7) Furthermore, the program, information storage medium, and server of the present invention are The responsiveness level calculation unit Based on the user's behavioral information, the user's responsiveness level at a given time may be calculated.
[0027] According to the present invention, the reaction speed level of a user at a given time can be calculated with high accuracy based on the user's behavior information.
[0028] The "behavior information" may be, for example, attendance information, location information, schedule information, and the like. [Brief explanation of the drawings]
[0029] [Figure 1] 3 shows an example of a functional block of a server according to the present embodiment. [Figure 2] FIG. 3 is a diagram showing an outline of processing by a server according to the present embodiment. [Figure 3] FIG. 4 is a diagram for explaining the correspondence between a sender's user ID and an approver's user ID in this embodiment. [Figure 4] 10 shows an example of an email (notification email, selection screen) for selecting a representative approver according to the present embodiment. [Figure 5] 10 shows an example of an approval request email according to the present embodiment. [Figure 6] 10 is an example of a list screen according to the present embodiment. [Figure 7] 10 shows an example of an instruction receiving screen according to the present embodiment. [Figure 8A]1 is an example of a flowchart according to the present embodiment. [Figure 8B] 1 is an example of a flowchart according to the present embodiment. [Figure 9] FIG. 3 is a diagram for explaining an email delivery process according to the present embodiment. [Figure 10] FIG. 3 is a diagram for explaining an email delivery process according to the present embodiment. [Figure 11] FIG. 2 is a diagram showing an example of a data set that is training data to be input to the machine learning algorithm of the present embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0030] The present embodiment will be described below. Note that the present embodiment described below does not unduly limit the content of the present invention described in the claims. Furthermore, not all of the configurations described in the present embodiment are necessarily essential constituent elements of the present invention.
[0031] 1. Configuration Fig. 1 is an example of a functional block diagram of a server 10 according to this embodiment. Note that the server 10 according to this embodiment does not need to include all of the components shown in Fig. 1, and may have a configuration in which some of them are omitted.
[0032] The memory unit 170 serves as a work area for the processing unit 100 and the like, and can store programs for causing a computer to function as each part of this embodiment (programs for causing a computer to execute the processing of each part).
[0033] The memory unit 170 stores programs, data, etc., and its functions can be realized by a computer-readable information storage medium such as RAM (VRAM), optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, magnetic tape, or memory (ROM), etc.
[0034] The storage unit 170 of this embodiment stores a user DB 172 (DB is an abbreviation for database, the same applies below), a retained mail storage area 173, a history DB 174, and a rule DB 175.
[0035] The user DB 172 stores the email address of a user (for example, an employee), a login password to a user display control screen, and the like, in association with user identification information (user ID).
[0036] The reserved mail storage area 173 stores emails (reserved mails) that are determined to require approval, in association with reserved mail identification information (reserved mail IDs, also referred to as approval mail IDs).
[0037] The history DB 174 stores, in association with history identification information (history ID), the status of an email that has been delivered or whose delivery has been suspended. That is, the history DB 174 accumulates and stores information about emails that have been delivered or whose delivery has been suspended based on an instruction to approve or deny. Note that the history DB 174 may store, in association with each email, the instruction content of the email (approval instruction or denial instruction), information about the representative approver when the approval instruction or denial instruction was received, the instruction time when the approval instruction or the denial instruction was received, and the delivery time or delivery suspension time of the email.
[0038] The rule DB 175 stores predetermined conditions (also called rule information) for determining whether approval is required, etc., in association with rule identification information (rule ID).
[0039] The processing unit 100 performs various processes of this embodiment based on programs (data) stored in the storage unit 170.
[0040] The processing unit 100 (processor) performs various processes using the main memory in the memory unit 170 as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.) or by programs.
[0041] The processing unit 100 includes a mail processing unit (MTA) 110, a Web processing unit 120, and a database processing unit .
[0042] The mail processing unit 110 receives and delivers (sends) e-mails over the network via SMTP. The mail processing unit 110 of this embodiment includes a reception unit 111, a determination unit 112, an analysis unit 113, a holding unit 114, a selection unit 115, a notification unit 116, an instruction reception unit 117, and a delivery unit 118.
[0043] The receiving unit 111 performs processing to receive emails with envelope destinations specified that are sent from senders (senders, terminals of users corresponding to the senders, and terminals of the senders) by the MUA 211 of the terminal 20. The receiving unit 111 may receive emails with multiple destinations specified for emails with the same content.
[0044] The determination unit 112 determines whether or not approval of an email is required based on a predetermined condition. That is, the determination unit 112 determines whether or not approval is required for an email accepted by the acceptance unit 111 based on the predetermined condition. For example, the predetermined condition may be that the email is addressed to an address outside the organization. Alternatively, the predetermined condition may be that a specific character string such as "confidential" is included in the message (body or attachment) of the email.
[0045] For an email with multiple destinations specified, the determination unit 112 may determine for each destination whether or not approval of the email is required based on a predetermined condition.
[0046] In addition, when the email address of a mailing list is specified as the destination of an email, the judgment unit 112 may determine whether or not approval of the email is required for each destination of a participant registered in the mailing list based on predetermined conditions.
[0047] The analysis unit 113 performs processing to analyze the received e-mail. For example, it performs processing to analyze the envelope destination (envelope To), envelope sender (envelope From), message header, and message body text. For example, it extracts the domain from the envelope destination, and extracts To, Cc, Bcc, and Subject from the message header. It also performs processing to extract the main text, attached files, etc. from the message body text.
[0048] When it is determined that approval of an email is required, the reservation unit 114 reserves delivery of the email. That is, when it is determined that approval of an email is required, the reservation unit 114 reserves delivery of the email until an instruction to approve the email is received from at least one of the multiple approvers. Note that the multiple approvers may be users (e.g., the sender's superior) predefined in association with the sender user, or may be users determined based on the content of the email.
[0049] Furthermore, for an email with multiple destinations specified, the reservation unit 114 reserves delivery of the email to any destination determined to require approval.
[0050] Furthermore, when the email address of a mailing list is specified as the destination of the email, the reservation unit 114 reserves delivery of the email to the destination of the participant who is determined to require approval.
[0051] When it is determined that approval of the email is required, the selection unit 115 accepts the selection of one representative approver from among the plurality of approvers.
[0052] For example, when it is determined that approval of an e-mail is required, the selection unit 115 may accept the selection of one representative approver from among a plurality of approvers from the sender user.
[0053] Furthermore, when it is determined that approval of an email is required, the selection unit 115 may accept the selection of one representative approver from among the plurality of approvers based on the behavior information of the plurality of approvers.
[0054] Furthermore, the selection unit 115 may accept a decline of the representative approver. Then, for example, when the selection unit 115 receives from user A, who is the representative approver, a selection of one of the approvers other than representative approver A (for example, users B and C), the selection unit 115 may consider that user A has declined to be the representative approver. Then, the selection unit 115 sets the selected approver in place of representative approver A as the new representative approver.
[0055] The notification unit 116 notifies the representative approver of the approval request (for example, an approval request email). Note that the notification unit 116 notifies the sender of the email whose delivery has been suspended that delivery has been suspended.
[0056] Furthermore, when the notification unit 116 receives the selection of an approver (e.g., user B) from a representative approver (e.g., user A) who has declined via the selection unit 115, the notification unit 116 may notify the approval request to the new representative approver, who is the selected one approver (e.g., user B).
[0057] The instruction receiving unit 117 performs processing to receive an instruction to approve or reject the reserved email from at least one of the multiple approvers.
[0058] The delivery unit 118 delivers the email. In particular, in this embodiment, when it is determined that approval of the email is required and the instruction first received from one of the multiple approvers is an approval instruction, the delivery unit 118 controls to deliver the email, or controls to stop delivery of the email if the instruction first received from one of the multiple approvers is a denial instruction.
[0059] The Web processing unit 120 processes HTML (HyperText Markup Language) in response to a request from client software such as a Web browser 210 installed on the terminal 20 via HTTP (Hypertext Transfer Protocol). The server 10 performs processes to send (provide) data such as (Language) documents and images, and processes to receive data accepted by the terminal's web browser 210. Then, based on the information received from each terminal of the administrator or user, the server 10 processes pending emails, updates the DB, etc.
[0060] The administrator display control unit (administrator UI unit (UI is an abbreviation for user interface, same below)) 121 performs processing to send (provide) data for management settings, etc. to the administrator's terminal 20 in response to an access request from the web browser 210 of the administrator's terminal 20, and performs processing to receive information from the terminal 20.
[0061] That is, the administrator display control unit 121 adds, deletes, updates, etc. each piece of data to the DB based on input from the administrator. Note that only the administrator is authorized to access the administrator screen (web page, URL). Note that URL is an abbreviation for Uniform Resource Locator. The URL may also be called a reference address.
[0062] The user display control unit (user UI unit) 122 performs a process of providing (presenting) to the logged-in user screens (e.g., a selection screen for selecting a representative approver, a list screen, an instruction acceptance screen, etc.) related to the logged-in user in response to a login process or a request from the web browser 210 of the terminal 20.
[0063] The user display control unit 122 includes a sender display control unit 123 and an approver display control unit 124 .
[0064] In addition, when the sender display control unit 123 receives a request from the sender's terminal to view information about the processing of the held email, it controls the display of the held email screen on the terminal (for example, when the server 10 "displays" or "controls to display" it means, for example, performing a process to send web page data to the terminal, etc. The same applies below).
[0065] The information displayed on the screen for pending emails is, for example, information about the email message and envelope, and information indicating the status of the email (waiting for approval, delivered (approved), delivery suspended (denied), etc.). In this embodiment, even if an email is sent or deleted, a duplicate (copy) of the email body data may be stored in a memory unit (storage area) so that the user can view it later.
[0066] Furthermore, when a request to view a selection screen for selecting a representative approver is received from the terminal of the sender user, the sender display control unit 123 controls to display the selection screen on the terminal.
[0067] The approver display control unit 124 controls the display of a list screen of emails awaiting approval for each approver, which require an approval instruction or a denial instruction, and controls the display of an instruction acceptance screen for the approver to issue an approval instruction or a denial instruction for one email selected by the approver from the list screen. In other words, when the approver display control unit 124 receives a request to view the list screen from the terminal of a user for whom it is the approver, it controls the display of the list screen on the terminal. Furthermore, when the approver display control unit 124 receives a request to view the instruction acceptance screen from the terminal of a user for whom it is the approver, it controls the display of the instruction acceptance screen on the terminal.
[0068] The approver display control unit 124 displays a viewing status indicating that another approver is viewing the instruction receiving screen for an email awaiting approval on at least one of the list screen and the instruction receiving screen.
[0069] The database processing unit 130 performs processing to register, update, and delete data stored in the database. For example, the database processing unit 130 performs processing to update the database in the administrator display control unit 121 and the user display control unit 122 based on data received from the terminal 20.
[0070] The mail processing unit 110, Web processing unit 120, and database processing unit 130 may be executed by one device, or may be distributed to different devices depending on the purpose of the processing.
[0071] 2. Overview 2 shows an overview of the processing flow of the server 10 of this embodiment. The server 10 of this embodiment has an MTA function that accepts an email consisting of an envelope destination, an envelope sender, and a message used in delivery processing, and delivers the email.
[0072] First, the server 10 of this embodiment receives an email sent from the MUA of the terminal 20 of sender (sender user) X, analyzes the received email, and determines whether or not approval of the email is required.
[0073] If the server 10 determines that approval is not required, it performs a process to deliver the e-mail. On the other hand, if the server 10 determines that approval is required (i.e., delivery should be suspended), it performs a process to suspend delivery of the e-mail. In other words, according to the server 10 of this embodiment, if a predetermined condition (rule for approval) is met, an approver other than the sender X is given the opportunity to review the e-mail, thereby preventing erroneous sending. Note that the approver in this embodiment is a user different from the sender.
[0074] Here, when an MTA delivers an email, it includes the process of delivering the email it has received to another MTA via SMTP, the process of delivering it to a local delivery agent (MDA) for delivery to a user who has an account on the same system where the mail server is running, and the process of delivering it to a user who has an account on the same system where the mail server is running without going through an MDA.
[0075] Then, the server 10 receives from the sender X a selection of one representative approver from among the approvers A, B, and C associated with the sender X. In other words, the sender X selects one representative approver for an email that is determined to require approval.
[0076] When a representative approver is selected, the server 10 notifies the representative approver of an approval request email. For example, if the representative approver is user A, the server 10 notifies the terminal of representative approver A of the approval request email.
[0077] The server 10 delivers or suspends delivery of the e-mail in accordance with the instruction received from the approver at the earliest timing. For example, if the server 10 receives an approval instruction from approver A (representative approver A) among approvers A, B, and C earliest, the server 10 delivers the e-mail at the timing of receiving the approval instruction from representative approver A. On the other hand, if the server 10 receives a denial instruction from approver A (representative approver A) among approvers A, B, and C earliest, the server 10 controls to suspend delivery of the e-mail at the timing of receiving the denial instruction from representative approver A. Note that suspending delivery means prohibiting delivery of the e-mail. The server 10 may also delete the e-mail data itself whose delivery has been suspended.
[0078] That is, the server 10 gives priority to the instruction received earliest from one of the approvers, delivers the e-mail if the instruction is an approval instruction, and stops delivery of the e-mail if the instruction is a denial instruction.
[0079] Thus, according to this embodiment, representative approver A mainly plays the role of actively issuing approval or denial instructions, while approvers B and C play an auxiliary role of issuing approval or denial instructions on behalf of representative approver A when he is unable to do so for some reason. In other words, approvers B and C play an auxiliary role and can concentrate on their own work.
[0080] In particular, with the recent increase in the use of e-mail, when there are a large number of e-mails waiting for approval, it often takes an approver a lot of time to sort through each of the pending e-mails. According to this embodiment, the representative approver is specifically tasked with the role of actively issuing approval or denial instructions, so each approver can be aware of their role and efficiently focus on their own work.
[0081] 3.Determining whether approval is required The server 10 determines whether or not approval of an email is required based on predetermined conditions. For example, in this embodiment, the server 10 determines whether or not approval is required by referring to at least one of the destination of the email envelope (envelope To), the sender of the envelope (envelope From), the header of the email message, and the body of the message.
[0082] Here, the email envelope refers to the destination (envelope To) and sender (envelope From) that the terminal (MUA) sends to the server during an SMTP session. In other words, it is the email address that the server uses when delivering the email. Note that the envelope To may be different from the To, Cc, and Bcc headers included in the email message data, and the envelope From may be different from the From header included in the email message data.
[0083] For example, in this embodiment, the envelope destination being an external email address (the envelope destination being outside the organization) is taken as an example of a specified condition, and if the envelope destination is an external email address (the envelope destination is outside the organization), it is determined that approval is required, and if the envelope destination is an internal email address (the envelope destination is within the organization), it is determined that approval is not required.
[0084] In this embodiment, if the domain of the envelope's destination email address is not the domain (or subdomain) of a pre-registered network system (internal organization, internal company system), the server determines the email address to be an "external email address."
[0085] In addition, the server of this embodiment determines that an email address to which an envelope is addressed is an "internal email address" if the domain of the email address is a pre-registered network system (internal, company system) domain (or subdomain).
[0086] Specifically, when the pre-registered network system domain is "xxx.ne.jp" and the destination email address of the email is "abc@yyy.com", the server 10 determines that "abc@yyy.com" is an external email address and therefore approval is required. On the other hand, when the destination email address is "def@xxx.ne.jp", the server 10 determines that "def@xxx.ne.jp" is an internal email address and therefore approval is not required.
[0087] In other words, the server 10 determines whether the destination domain of the email envelope is a domain of a pre-registered network system, and if the destination domain of the email envelope is a domain of a pre-registered network system, it determines that approval is not required (no hold is required) and processes to immediately deliver the email to that destination, but if the destination domain of the email envelope is not a domain of a pre-registered network system, approval of the email to that destination is required and delivery is held up.
[0088] The server 10 of this embodiment performs a process of storing data of the reserved email in the reserved email storage area 173 of the storage unit 170.
[0089] Furthermore, in the server 10 of this embodiment, a reserved mail that requires approval from an approver is permanently stored in the reserved mail storage area until an approval instruction or a rejection instruction is received from at least one approver.
[0090] The server 10 can set various predetermined conditions for determining whether approval is required. For example, the predetermined condition may be set as the presence of a predetermined character string (e.g., a character string such as "confidential") in the header or body of an e-mail message, or as the presence of an attached file. For example, the server 10 determines and controls the predetermined conditions for determining whether approval is required based on input information from an administrator or a user.
[0091] 4.Selection of the representative approver When it is determined that approval of the e-mail is necessary, the server 10 accepts the selection of one representative approver from a plurality of approvers A, B, and C from the sender user X.
[0092] For example, as shown in Fig. 3, the server 10 stores a plurality of approver user IDs in advance, corresponding to the sender's user ID for each user. In this way, the sender can avoid the trouble of selecting an approver. In addition, in this embodiment, by selecting a plurality of approvers, if one approver is unable to approve or deny the request for some reason, the other approvers can approve or deny the request.
[0093] FIG. 4 shows an example of an email (notification email) 60 for a sender user X to select a representative approver. In the email 60, the sender user X can select a representative approver by clicking one of URLs 65A, 65B, and 65C associated with each approver. The notification email may be viewable as webmail. The server 10 may also control the sender user X's terminal 20 to display a selection screen for selecting a representative approver using a web browser or the like. The URLs 65A, 65B, and 65C may be displayed as buttons.
[0094] The email 60 for selecting a representative approver includes information 61 indicating that a representative approver needs to be selected for the suspended email, a suspended email ID 62, the content of the suspended email message 63, and information for selecting a representative approver 64. The email 60 may also include the suspension date and time.
[0095] Furthermore, the email 60 for selecting a representative approver includes URLs 65A, 65B, and 65C corresponding to multiple approvers (e.g., A, B, and C) associated with the sender X. The server 10 creates a URL for each approver based on the identification information of the suspended email (e.g., suspended email ID=001) and the approver ID.
[0096] Sender X can select the user he / she wants to be the delegate approver by clicking on the URL of the user. The server 10 can determine which user has been selected as the delegate approver based on access from user X to any of URLs 65A, 65B, and 65C.
[0097] For example, when the server 10 detects an access from the URL 65A, it becomes possible to identify the reserved mail ID of the reserved email and the approver selected in the reserved email based on the content of the access.
[0098] The server 10 stores and manages, for each held email, the user ID of each approver and the user ID of one representative approver in association with the held email ID.
[0099] 5. Notification of approval request email 5.1 Explanation of Approval Request Email In this embodiment, when the server 10 receives the selection of a representative approver, it performs a process of notifying the representative approver of an approval request email. In other words, by notifying (sending) the representative approver of the approval request email, it is ensured that the representative approver is at least given an opportunity to issue an approval instruction or a rejection instruction for the pending email. The server 10 regards the date and time when the selection of the representative approver is received as the date and time when the approval request for the representative approver was issued.
[0100] 5 shows an example of the approval request email 70. When each user managed by the server 10 of this embodiment is selected as a representative approver, the user needs to issue an approval instruction or a denial instruction.
[0101] For example, if User A is selected by User X as a delegate approver, User A must promptly issue an approval or rejection instruction for User X's email. In other words, if there is no problem with the content of the email written by User X, User A should promptly issue an approval instruction and send it to the recipient, and if there is a problem with the content of the email, User A should issue an early rejection instruction to User X so that User X's work is not delayed.
[0102] The server 10 of this embodiment generates an approval request email 70 that includes the user name of the representative approver (a message indicating that user A is the representative approver) 71, the suspended email ID 72 of the email from sender X, the content of the suspended email 73, the instruction content 74 for issuing an approval instruction or a denial instruction, and information about other approvers 77. The approval request email 70 may also include the date and time of suspension and the date and time of the approval request.
[0103] Then, the server 10 designates the destination of the generated approval request email 70 as the email address of the representative approver A (the sender is the administrator of the server 10 or the system name, etc.) and notifies (sends) the approval request email 70 to the terminal of the representative approver A.
[0104] The server 10 may allow the approval request email 70 to be viewed as a webmail.
[0105] The approval request email 70 also includes a URL 75 corresponding to the approval instruction and a URL 76 corresponding to the denial instruction. The server 10 creates the URL 75 corresponding to the approval instruction based on the identification information of the held email (e.g., held email ID=001), the approver's user ID, information identifying the approval instruction, etc. The server 10 creates the URL 76 corresponding to the denial instruction based on the identification information of the held email (e.g., held email ID=001), the approver's user ID, information identifying the denial instruction, etc.
[0106] 5, User A, who is the representative approver, clicks on approval instruction URL 75 when approving the held email, or on rejection instruction URL 76 when rejecting the held email.
[0107] Based on the URL access from user A, the server 10 can determine whether the instruction was approval or denial.
[0108] For example, when server 10 detects access from URL 75, it becomes possible to identify the information on the held mail ID, approver, and approval instruction of the held email based on the access content. Also, when server 10 detects access from URL 76, it becomes possible to identify the information on the held mail ID, approver, and denial instruction of the held email based on the access content.
[0109] Since the server 10 applies the earliest access as a priority, if the server 10 receives an access to the URL 75 with an approval instruction from the same person, and then receives an access to the URL 76 with a denial instruction, the server 10 applies the approval instruction as a priority.
[0110] Furthermore, the approval request email 70 includes information 77 about other approvers (e.g., users B and C), so representative approver A can recognize that users B and C exist as approvers in addition to himself.
[0111] 5.2 Changing the Primary Approver The server 10 of this embodiment can accept a decline of the representative approver A. For example, when the server 10 detects access from the representative approver A to either the URL 78 of the approver user B or the URL 79 of the approver user C, the server 10 accepts the decline of the representative approver A from the user A.
[0112] In addition, URL 78 indicating approver B is created based on the identification information of the held email (e.g., held email ID = 001), approver B's user ID and information identifying the change of representative, etc., and URL 79 indicating approver C is created based on the identification information of the held email (e.g., held email ID = 001), approver C's user ID and information identifying the change of representative, etc.
[0113] Then, when the server 10 receives a selection of approver B from representative approver A by detecting access to URL 78, it designates approver B as the new representative approver. Then, the server 10 sends an approval request email to representative approver B. On the other hand, when the server 10 receives a selection of approver C from representative approver A by detecting access to URL 79, it designates approver C as the new representative approver. Then, the server 10 sends an approval request email to representative approver C.
[0114] In this way, if representative approver A wants to decline the role for some reason, such as if he or she is busy, he or she can decline. Furthermore, if a representative approver declines, a new representative approver is selected and notified of the approval request, providing an opportunity to promptly approve or deny the pending email without delay.
[0115] In addition, if the representative approver of a reserved email (reserved email ID=001) is changed, for example, from user A to user B, server 10 may create an email addressed to sender user X, with information indicating that the representative approver has changed from user A to user B in the body of the email, and notify user X of the email.
[0116] When the representative approver of a reserved email (reserved email ID=001) is changed from user A to user B, for example, the server 10 may control the information 77 about other approvers in the approval request email sent to user B so that user A is not selected as the new representative approver. In other words, the server 10 controls the information 77 so that approvers who were already representative approvers (who have declined) are not selected. For example, in the other approvers field 77 of the approval request email viewed by the new representative approver B, only the name of user A is displayed without displaying the URL of user A. Note that the server 10 controls the information 77 about other approvers in the approval request email so that the URL 79 of user C, who can be changed as the representative, is displayed.
[0117] 6. Acceptance of approval or denial instructions The server 10 receives approval instructions or denial instructions for the reserved email from the representative approver A, but can also receive approval instructions or denial instructions from approvers B and C other than the representative approver A.
[0118] That is, in this embodiment, each of approvers A, B, and C of the email can log in to the server 10, view the instruction receiving screen, and issue an approval instruction or a denial instruction.
[0119] In this embodiment, the representative approver A can give instructions from the approval request email or from the instruction screen. On the other hand, approvers B and C who are not the representative approver A do not receive the approval request email at their terminals, so they must log in to the server 10 themselves and give instructions only from the instruction reception screen.
[0120] 6.1 List of emails waiting for approval FIG. 6 shows examples of screens 81A, 81B, and 81C showing lists of emails waiting for approval by approvers A, B, and C, respectively.
[0121] 6, the list screen 81A displayed on the terminal 20 of approver A who has logged in to the server 10 displays not only the email (email with reserved email ID=001) sent by sender X (xxx@xxx.ne.jp) but also other emails awaiting approval. Note that the list screen 81B displayed on the terminal 20 of approver B who has logged in to the server 10 and the list screen 81C displayed on the terminal 20 of approver C who has logged in to the server 10 also display not only the email (email with reserved email ID=001) sent by sender X (xxx@xxx.ne.jp) but also other emails awaiting approval.
[0122] For example, as shown in Figure 6, when approver A clicks the review button 83A for an email from sender "xxx@xxx.ne.jp" (email with pending email ID = 001), the server 10 accepts the selection of the email and controls the terminal 20 of approver A to display an instruction acceptance screen for the email.
[0123] 6, the server 10 displays the representative approver (user name, user ID, abbreviation, mark, etc. of the representative approver) of each email awaiting approval and the "viewing status" of other approvers on the list screen. The viewing status will be described later.
[0124] 6.2 Instruction acceptance screen The instruction reception screens of approvers A, B, and C each display the contents of an email awaiting approval.
[0125] 7 shows an example of an instruction acceptance screen 90 displayed on the terminal 20 of approver A. For example, the server 10 generates the instruction acceptance screen 90 including the user name 91 of the representative approver, the suspended email ID 92 of the email from sender X, the content of the suspended email 93, the instruction content 94 for issuing an approval instruction or a rejection instruction, and the viewing status of other approvers 97. The instruction acceptance screen 90 may also include the suspension date and time.
[0126] The server 10 also creates a URL 95 corresponding to the approval instruction based on the identification information of the suspended email (e.g., suspended email ID=001), the approver's user ID, and information identifying the approval instruction. It also creates a URL 96 corresponding to the denial instruction based on the identification information of the suspended email (e.g., suspended email ID=001), the approver's user ID, and information identifying the denial instruction.
[0127] For example, as shown in Figure 7, when User A, the approver, approves a suspended email, he or she clicks on approval instruction URL 95. On the other hand, when User A rejects a suspended email, he or she clicks on reject instruction URL 96.
[0128] Based on the URL access from user A, the server 10 can determine whether the instruction was approval or denial.
[0129] For example, when server 10 detects access from URL 95, it becomes possible to identify the information on the held mail ID, approver, and approval instruction of the held email based on the access content. Also, when server 10 detects access from URL 96, it becomes possible to identify the information on the held mail ID, approver, and denial instruction of the held email based on the access content.
[0130] In addition, another approver B can view the instruction reception screen for each email awaiting approval and can issue an approval instruction or a rejection instruction by clicking the review button on the list screen 81B shown in Fig. 6. In addition, another approver C can view the instruction reception screen for each email awaiting approval and can issue an approval instruction or a rejection instruction by clicking the review button on the list screen 81C shown in Fig. 6.
[0131] The URLs 95 and 96 on the instruction receiving screen 90 may be displayed as buttons.
[0132] Furthermore, the server 10 preferentially applies the first accessed URL among the approval instruction URL 75, the rejection instruction URL 76 in the approval request email, and the approval instruction URL 95 and the rejection instruction URL 96 of each approver on the instruction receiving screen.
[0133] That is, when the server 10 detects the first access to the same email (e.g., reserved email ID=001), it applies the specified instruction preferentially based on the access content. Also, to avoid confusion among approvers, after receiving the first instruction (approval instruction or rejection instruction) for the email (e.g., reserved email ID=001), it controls so that the email (e.g., reserved email ID=001) is deleted from the list screen.
[0134] 6.3 Viewing Status The server 10 displays a viewing status indicating that another approver is viewing the instruction receiving screen for the email awaiting approval on at least one of the list screen and the instruction receiving screen.
[0135] Furthermore, the server 10 may prohibit other approvers from viewing an email that is currently being viewed, depending on the viewing status of the other approvers. For example, when approver A is viewing an email with a reserved email ID of 001, the server 10 may prohibit approver B, who logged in after approver A, from viewing the email with the reserved email ID of 001 on the list screen or instruction reception screen.
[0136] Furthermore, depending on the viewing status of other approvers, the server 10 may control so that other approvers can only view the email that they are currently viewing, and cannot issue approval instructions or denial instructions. For example, when approver A is viewing the email with the reserved email ID=001, the server 10 may control so that approver B, who logged in after approver A, can only view the email with the reserved email ID=001 on the list screen or instruction acceptance screen, hide the URL of the approval instruction and the URL of the denial instruction, and prohibit approval instructions and denial instructions.
[0137] Here, "viewing status" means that another approver is viewing the instruction acceptance screen. For example, when another approver is viewing the instruction acceptance screen on which the other approver is logged in, a mark indicating the other approver is displayed in red on at least one of the approver's list screen or instruction acceptance screen. On the other hand, when the other approver is not viewing the instruction acceptance screen on which the other approver is logged in, a mark indicating the other approver is displayed in white on at least one of the approver's list screen or instruction acceptance screen.
[0138] The "viewing status" does not have to be a mark distinguished by color. For example, the "viewing status" may be a message (such as "viewing" or "not viewing") that indicates whether or not the item has been viewed by other approvers.
[0139] For example, on the list screen 81A viewed by the representative approver A, the server 10 determines whether other approvers B and C are viewing the instruction acceptance screen (the instruction acceptance screen viewed by the other approvers) at the time when the list screen 81A is displayed (or in real time). If approver B is viewing the instruction acceptance screen, the server 10 displays a mark representing approver B in red, and if approver B is not viewing the instruction acceptance screen, the server 10 displays a mark representing approver B in white. Similarly, for approver C, the display color of the mark is determined based on whether approver C has viewed the screen.
[0140] In the example of Fig. 6, on the list screen 81A of approver A, for an email from sender "xxx@xxx.ne.jp" (for example, pending email ID = 001), the mark of user B is displayed in white in the "Viewing status of other approvers" column, and the mark of user C is displayed in white, indicating that neither user B nor user C has viewed the instruction receiving screen. Therefore, approver A can be prompted to give instructions regarding the email.
[0141] Furthermore, on approver B's list screen 81B, for an email from sender "xxx@xxx.ne.jp" (for example, held email ID=001), the mark for user A is displayed in red in the "Viewing status of other approvers" column, indicating that user A is viewing the email as an approver. Also, the mark for user C is displayed in white, indicating that user C is not viewing the instruction reception screen. Therefore, approver B can be prompted not to issue instructions for the email, but, for example, to issue instructions for an email with held email ID=003, which no one has viewed, even though user B himself is the representative approver.
[0142] Furthermore, on approver C's list screen 81C, for an email from sender "xxx@xxx.ne.jp" (for example, pending email ID = 001), the mark for user A is displayed in red in the "Viewing status of other approvers" column, indicating that user A is viewing the email as an approver. Also, the mark for user B is displayed in white, indicating that user B is not viewing the instruction reception screen. Therefore, approver C can be urged not to issue instructions for the email. Note that approver C can be encouraged to focus on his or her other work, since all emails awaiting approval are being viewed by other approvers and there are currently no emails awaiting approval that approver C himself or herself needs to instruct.
[0143] Furthermore, the server 10 may display the viewing status of other approvers on the instruction acceptance screen of each approver. For example, on the instruction acceptance screen 90 viewed by representative approver A, the server 10 determines whether other approvers B and C are viewing the instruction acceptance screen that they themselves logged in to at the time the instruction acceptance screen 90 is displayed (or in real time). If approver B is viewing the instruction acceptance screen, the server 10 displays a mark representing approver B in red, and if approver B is not viewing the instruction acceptance screen, the server 10 displays a mark representing approver B in white. Similarly, for approver C, the server 10 determines the display color of the mark based on whether approver C has viewed the screen.
[0144] For example, as shown in FIG. 7, in the viewing status 97 of other approvers on the instruction receiving screen 90 viewed by approver A, a white mark 98 indicating that user B has not viewed the document and a white mark 99 indicating that user C has not viewed the document are displayed.
[0145] In this way, according to this embodiment, by displaying the viewing status of other approvers, it is possible to avoid conflicting work associated with instructions from multiple approvers, minimize business disruptions associated with approving emails, and enable efficient approval or denial instructions.
[0146] 6.4 Changing the Primary Approver The server 10 of this embodiment may also perform control so that the representative approver can be changed on the list screen or the instruction reception screen.
[0147] For example, as shown in FIG. 6, when access from representative approver A to either mark 98 of approver user B or mark 99 of approver user C is detected on list screen 81A viewed by representative approver A, the system accepts user A's decline to be the representative.
[0148] Also, as shown in FIG. 7, when the representative approver A detects access to either the mark 98 of the approver user B or the mark 99 of the approver user C on the instruction acceptance screen 90 viewed by the representative approver A, the representative decline is accepted from user A.
[0149] The mark 98 indicating approver B is a button (hyperlink) linked to a URL, and is created based on the identification information of the held email (e.g., held email ID=001), the user ID of approver B, and information identifying the change of representative, etc. The mark 99 indicating approver C is a button (hyperlink) linked to a URL, and is created based on the identification information of the held email (e.g., held email ID=001), the user ID of approver C, and information identifying the change of representative, etc.
[0150] Then, when the server 10 receives a selection of approver B from representative approver A by detecting access using mark 98 on the list screen 81A or the instruction receiving screen 90, it designates approver B as the new representative approver. Then, the server 10 notifies representative approver B of an approval request email. On the other hand, when the server 10 receives a selection of approver C from representative approver A by detecting access using mark 99, it designates approver C as the new representative approver. Then, the server 10 notifies representative approver C of an approval request email.
[0151] In addition, even if the representative approver of a reserved email (reserved email ID=001) is changed, for example, from user A to user B on the list screen or instruction acceptance screen, the server 10 may create an email addressed to the sender, user X, with information indicating that the representative approver has been changed from user A to user B in the body of the email, and notify user X of the email.
[0152] For example, when the representative approver of a held email (held email ID=001) is changed from user A to user B, the server 10 may control the list screen or instruction reception screen viewed by each approver A, B, and C so that user A is not selected as the new representative approver. In other words, the server 10 controls the list screen or instruction reception screen viewed by each approver A, B, and C so that approver A, who was already the representative approver (and has declined), is not selected. For example, on the list screen 81B viewed by the new representative approver B, the mark for user A is not linked to a URL, and only a mark that identifies user A's name is displayed. Note that the server 10 controls the list screen 81B so that the mark 99 that links to a URL is displayed for user C, who can change the representative.
[0153] 7. Controlling delivery or non-delivery of withheld email The server 10 of this embodiment controls delivery or delivery suspension of a held email based on instructions from an approver. That is, the server 10 controls delivery or delivery suspension in accordance with instructions received first from one of multiple approvers (the earliest received approval instruction or rejection instruction). For example, if approver A is the user who receives an instruction first among multiple approvers A, B, and C, delivery or delivery suspension is controlled based on instructions from approver A. Furthermore, if approver B is the user who receives an instruction first among multiple approvers A, B, and C, delivery or delivery suspension is controlled based on instructions from approver B. Furthermore, if approver C is the user who receives an instruction first among multiple approvers A, B, and C, delivery or delivery suspension is controlled based on instructions from approver C.
[0154] For example, suppose that when an email sent from sender X's terminal requires approval and is put on hold, server 10 receives instructions from approver A among approvers A, B, and C regarding the held email with held email ID = 001. In this case, if approver A's instruction is an approval instruction, server 10 delivers the email with held email ID = 001, and if approver A's instruction is a rejection instruction, server 10 halts delivery of the email with held email ID = 001. After receiving the instruction, server 10 deletes the email with held email ID = 001 from the list screens of approvers A, B, and C. If server 10 does not receive instructions from any approver, server 10 maintains the hold status of the email with held email ID = 001.
[0155] Furthermore, when a pending email is delivered or delivery is suspended based on an approval instruction or denial instruction from one approver, the server 10 notifies sender X of information indicating that the email has been delivered or delivery is suspended. Furthermore, when the server 10 first receives an approval instruction or denial instruction from approver A regarding the email with the held email ID=001, the server 10 may perform processing to notify other approvers B and C (for example, by notification email) of information indicating that an instruction has been received from approver A regarding the email with the held email ID=001.
[0156] Although not shown, the server 10 of this embodiment stores a history of the processing of held emails. That is, the status of the email that has been held is stored as a history in association with the identification information of the email. The status of the email can be "delivered" (delivered based on an approval instruction from the approver), "delivery stopped" (delivery stopped based on a rejection instruction from the approver), or "approval waiting" (awaiting approval). The server 10 may store held emails that have been delivered or delivery stopped based on instructions from the approver (approval instruction or rejection instruction) in the history DB 174, and may control the server 10 so that the sender or approver can check the held emails later.
[0157] 8. Flowchart The processing flow of the server 10 of this embodiment will be described with reference to Figures 8A and 8B. First, as shown in Figure 8A, an email is received (step S1). Then, it is determined whether approval is required (step S2). If approval is required (Y in step S2), the email is put on hold (step S3) and a representative approver is selected by the sender (step S4). Then, an approval request is notified to the representative approver (step S5).
[0158] On the other hand, if approval is not required (N in step S2), the e-mail is delivered (step S6).
[0159] 8B, after step S5, it is determined whether an instruction has been received from the approver (step S11), and if an instruction has been received from the approver (Y in step S11), it is determined whether the instruction from the approver is an approval instruction (step S12). Note that the email is kept in a suspended state until an instruction is received from the approver.
[0160] If the approver's instruction is an approval instruction (Y in step S12), the e-mail is delivered (step S13). On the other hand, if the approver's instruction is not an approval instruction, that is, if the approver's instruction is a denial instruction (N in step S12), the delivery of the e-mail is stopped (step S14). This ends the process.
[0161] 9. Application Examples 9.1 E-mail with the same content but with multiple recipients In this embodiment, when multiple destinations are specified for an email with the same content received from sender X's terminal 20, the server 10 determines whether each destination meets specified conditions, and if the specified conditions are met, determines that approval is required.
[0162] For example, if the envelope destination is an external email address (the envelope destination is outside the organization), the following processing is performed. That is, as shown in FIG. 9 , when the server 10 receives an email with the same content from sender X and specifies an external email address for user J (jjj@yyy.com), an internal email address for user K (kkk@xxx.ne.jp), and an internal email address for user N (nnn@xxx.ne.jp), the server 10 immediately delivers the email to user K and user N, and reserves the email to user J as it requires approval. In such a case, in this embodiment, users K and N who have already delivered the email may be the approvers. For example, if the approvers associated with sender X are users A, B, and C, users K and N may also be the approvers in addition to users A, B, and C. Furthermore, instead of approvers A, B, and C associated with sender X, users K and N may be the approvers for sender X. This has the advantage that sender X can select user K or user N, who has already delivered the email and is familiar with the contents of the email, as the representative approver.
[0163] In this embodiment, emails with the same content mean that the body of the emails and specific headers (for example, the Subject, Date, From, and To fields of the headers) are the same.
[0164] 9.2 Mailing list example In this embodiment, a mailing list address may be specified as the email address, but in this embodiment, the need for deferral may also be determined for each mailing list address or each address of a participant belonging to the mailing list.
[0165] If the envelope destination is the email address of a mailing list, the server 10 will use its mailing list function (mailing list server (MTA)) to convert the email address of the mailing list into the email address of each participant and deliver the email.
[0166] For example, as shown in Figure 10, if the email address of a mailing list is "patent@xxx.ne.jp" and the email addresses of the participants of the mailing list are User K's email address "kkk@xxx.ne.jp" and User N's email address "nnn@xxx.ne.jp", the envelope destination "patent@xxx.ne.jp" will be replaced with the participants' addresses "kkk@xxx.ne.jp" and "nnn@xxx.ne.jp" before delivery.
[0167] In this embodiment, the need for approval may be determined based on the mailing list address "patent@xxx.ne.jp," or the need for approval may be determined for each address of a participant belonging to the mailing list (for example, for each address of "kkk@xxx.ne.jp" or "nnn@xxx.ne.jp").
[0168] In other words, when determining whether approval is required based on the mailing list address "patent@xxx.ne.jp," since "patent@xxx.ne.jp" is an internal email address, emails to "patent@xxx.ne.jp" are determined not to require approval and are immediately delivered to the addresses of the participants belonging to the mailing list.
[0169] In addition, it determines whether or not each address of a participant belonging to the mailing list (for example, each address of "kkk@xxx.ne.jp" or "nnn@xxx.ne.jp") satisfies a predetermined condition, and if the predetermined condition is met, it determines that approval is required.
[0170] For example, if the envelope destination is an external email address (the envelope destination is outside the organization), then since "kkk@xxx.ne.jp" and "nnn@xxx.ne.jp" are internal email addresses, emails to "kkk@xxx.ne.jp" and "nnn@xxx.ne.jp" do not meet the specified condition, are determined to not require approval, and are delivered immediately.
[0171] More specifically, as shown in FIG. 10 , when an email received from sender X specifies the destination of user J (jjj@yyy.com), which is an external email address, and the destination of the email address of the mailing list (patent@xxx.ne.jp), the server 10 immediately delivers the email to user K and user N because the email addresses of users K and N, who are participants in the mailing list, are internal email addresses, and reserves the email to user J as it requires approval. In such a case, in this embodiment, user K and user N to whom the email has been delivered may be the approvers. For example, if the approvers associated with sender X are users A, B, and C, users K and N may also be the approvers in addition to users A, B, and C. Alternatively, users K and N may be the approvers for sender X instead of users A, B, and C. This has the advantage that sender X can select user K or user N, who has already been delivered and is familiar with the contents of the email, as the representative approver.
[0172] 9.3 Collective Control The server 10 may receive an email with the same content from the terminal 20 of sender X, and there may be multiple recipients that satisfy a predetermined condition. For example, if the email with the same content received from sender X specifies external email addresses, such as user J's destination (jjj@yyy.com) and user I's destination (iii@yyy.com), the server 10 reserves the emails for user I and user J, as requiring approval. In such a case, assuming that the approvers associated with sender X are users A, B, and C, and the server 10 receives from sender X a selection of user A as the representative approver, the server 10 notifies user A of a batch approval request for the emails for user I and user J.
[0173] In addition, the server 10 may be configured to allow the representative approver A (or other approvers B and C) who responds to the approval request to view emails addressed to user I and emails addressed to user J at the same time, and to accept instructions to approve or reject emails addressed to user I and emails addressed to user J at the same time.
[0174] 9.4 Other Examples of Selecting a Delegate Approver The server 10 may automatically select a representative approver under computer control (CPU control) instead of accepting the selection of a representative approver from the sender user X. In other words, when it is determined that approval of an email is required, the server 10 accepts the selection of one representative approver from among multiple approvers (multiple approvers associated with the sender user X) based on the behavioral information of the approvers. In this way, the sender user X can be spared the trouble of selecting a representative approver.
[0175] The server 10 selects a representative approver as follows. That is, the server 10 selects one representative approver based on at least one of the following information: (A) attendance information (attendance status) of each approver, (B) location information (presence status) of each approver, and (C) schedule information (schedule congestion information) of each approver. The server 10 may also acquire various information from an external system. For example, the server 10 may acquire attendance information from a time-stamping system, location information from a location information system, and schedule information from a schedule management system.
[0176] First, (A) the attendance information of each approver is information that can determine at least whether or not the approver is at work, and is grasped by an attendance management system, etc. For example, when it is determined that approval of an email is required, the server 10 determines whether or not each approver is at work.
[0177] Furthermore, (B) the location information of each approver is information that can at least be determined to be inside or outside the company, such as GPS information of each approver or location information of each approver as determined by a human presence sensor in the company system, etc. For example, when it is determined that approval of an email is required, the server 10 determines whether each approver is located inside the company.
[0178] Furthermore, (C) the schedule information of each approver is information about work (such as a meeting or discussion) whose start and end times are predetermined in association with the approver. For example, the server 10 determines the approver who has the most free time in their schedule information within a predetermined period (for example, within one hour) from the time when it is determined that approval of the email is necessary.
[0179] For example, when it is determined that approval of an email is required, if there is only one approver in attendance, the server 10 determines that this approver is the representative approver.
[0180] For example, when it is determined that approval of an email is required, if there are two or more approvers at work and one of the two or more approvers is located within the company, the server 10 determines that one approver located within the company is the representative approver.
[0181] For example, when it is determined that approval of an email is necessary, if no approver is present at work and there is only one approver located within the company, the server 10 determines that one approver located within the company is the representative approver.
[0182] For example, if there are two or more approvers at work or two or more approvers located within the company at the time it is determined that approval of the email is necessary, the server 10 selects one approver from among the approvers at work or from among the approvers located within the company who has the most free time in their schedule information within a specified period (for example, within one hour) from the time it is determined that approval of the email is necessary as the representative approver.
[0183] If the approver is not present at work and no approver is located within the company at the time when it is determined that approval of the email is necessary, the server 10 determines the single approver who has the most free time in the schedule information within a predetermined period (for example, within one hour) from the time when it is determined that approval of the email is necessary as the representative approver.
[0184] The server 10 may also perform control such that whether or not to accept approval requests is set in advance for each user, and users who do not accept approval requests are excluded from the list of representative approvers. Note that, in order to accurately determine whether or not to approve, if there is a user who does not accept approval requests among multiple approvers set in association with the sender, the remaining users are treated as users who accept approval requests.
[0185] If there is no representative approver, the server 10 may notify the sender that there is no representative approver. In such a case, the server 10 may control the sender to select one representative approver from among multiple approvers.
[0186] 9.5 Presentation of Candidates for Delegate Approvers In this embodiment, the server 10 has been described as accepting the selection of one representative approver from among multiple approvers from the sender user when it is determined that approval of an email is required, but it may also present one of the multiple candidate representative approvers to the sender user before accepting the selection of one representative approver.
[0187] For example, the server 10 presents the most suitable representative approver candidate from among multiple approvers A, B, and C in a notification email 60 for the sender user X to select a representative approver. For example, if the representative approver candidate is user A, a message such as "The most suitable representative approver candidate is user A" is added to the representative approver selection field 64 of the notification email 60. In this way, the sender user X can easily decide which representative approver to select.
[0188] The method by which the server 10 extracts a representative approver candidate is the same as the method for automatically selecting a representative approver based on the above-mentioned computer control (CPU control). That is, the server 10 extracts one representative approver candidate from among a plurality of approvers based on the behavior information of the plurality of approvers.
[0189] If there is no representative approver candidate, the server 10 may notify the sender user that there is no representative approver candidate.
[0190] Furthermore, if there is no representative approver when the computer automatically selects a representative approver, the server 10 may allow the sender user to select one approver from among multiple approvers as the representative approver.
[0191] 9.6 Single Approver Example The server 10 of this embodiment sets multiple approvers in association with the sender user as shown in Fig. 3, but it may also set one approver in association with the sender user. If there is only one approver, the process of accepting the selection of a representative approver from the sender user is omitted, and the one approver is determined to be the representative approver.
[0192] 9.7 Omission of the process for accepting approver selection When the server 10 of this embodiment displays the viewing status of other approvers, it is possible to avoid conflicting instructions from each approver. Therefore, when the server 10 displays the viewing status, the process of accepting the selection of a representative approver may be omitted. Furthermore, if the selection of a representative approver is not accepted, there is no representative approver, so the process of notifying the representative approver of the approval request may be omitted, or the approval request may be notified to each approver.
[0193] 9.8 Rule-Based Control In this embodiment, rules (predetermined conditions) are set to determine whether approval is necessary, and an example of pending processing that requires approval from an approver other than the sender if the rule is met is described, but various rules may also be set and processing performed when the rule is met.
[0194] For example, server 10 may set rules for determining whether self-approval hold (hold for a predetermined period) is necessary, and rules for determining whether immediate delivery is necessary. If the received email satisfies the rules for determining whether self-approval hold is necessary, server 10 holds it for a predetermined period (for example, 10 minutes) and delivers it after the predetermined period has elapsed. Also, if the received email satisfies the rules for determining whether immediate delivery is necessary, server 10 delivers it immediately. Priorities may be set for each rule, and the rules may be applied in order of priority.
[0195] 9.9 List screen The server 10 may display, instead of the "Consider" button on the list screen, at least one of an "Accept" button for accepting approval and a "Reference" button for only referring to the request without accepting approval.
[0196] For example, when the server 10 first accepts "Accept" for a held email (e.g., held email ID = 001) from one logged-in approver (e.g., user A), it may display a "Browse" button on each of the list screens 81B and 81C of the other logged-in approvers (e.g., users B and C) without displaying "Accept."
[0197] Furthermore, the server 10 may display the user who has accepted the "acceptance" as an "accepting user" on the list screen or the instruction accepting screen in association with the on-hold email ID.
[0198] Furthermore, the server 10 may display the user who has accepted the "reference" as a "referring user" on the list screen or the instruction accepting screen in association with the held mail ID.
[0199] The "accepting user" does not have to be the representative approver. For example, even if the representative approver is too busy to select another approver as the representative approver for each email awaiting approval, a user with ample time can proactively take on the task of approving or rejecting the email awaiting approval.
[0200] In addition, if the underwriting user (Approver A who accepted the "Acceptance") closes the list screen or instruction acceptance screen without issuing an approval or denial instruction (if the session on the web server between the server 10 and the terminal 20 is interrupted), the server 10 may cancel the acceptance and return to the initial state in which the "Acceptance" button and the "Reference" button are displayed, or may keep the acceptance accepted state for a predetermined period or permanently.
[0201] 9.10 Approval Request In this embodiment, an example has been described in which the approval request email 70 includes approval / denial links (e.g., URL 75, URL 76) as shown in FIG. 5, but the server 10 may also generate the approval request email 70 including approval / denial links, links (URLs, etc.) to list screens that can be viewed by the representative approver A, and links (URLs, etc.) to screens that accept instructions for a hold email (hold email ID=001) for the approval request email 70 from the representative approver A.
[0202] 9.11 About URLs Each URL described in this embodiment (for example, URLs 75, 76, 78, 79, etc.) may be replaced with various HTML functions (hyperlinks to buttons, text, images, etc.). In other words, the server 10 may be accessible not only by URLs but also by links to buttons, text, images, etc. In other words, each URL may be linked to a button, text, or image, and the viewer may select the button, text, or image to access the linked URL.
[0203] 10. Application of AI-related technologies The server 10 of this embodiment may perform various controls in this embodiment using functions related to AI (artificial intelligence). For example, the server 10 generates a prediction model (also called a learning model or a function) by machine learning (supervised machine learning) using machine learning algorithms such as linear regression, normalization, logistic regression, support vector machine (including kernel methods), naive Bayes, random forest, kNN, and neural network. Then, the server 10 outputs data predicted from input data using the prediction model.
[0204] 10.1 Approval or Rejection Instructions by AI The server 10 may issue approval or rejection instructions using AI. For example, the server 10 uses information about the suspended email and information indicating the approval or rejection instruction for the email issued by the approver as training data. The information about the suspended email is email information including the recipient of the email envelope, the sender of the envelope, the message header, and the main text of the message body.
[0205] That is, the server 10 generates a trained prediction model that has undergone machine learning to determine instructions (approval instructions or rejection instructions) for newly received suspended emails. The server 10 uses information on each of the suspended emails accumulated and stored in the storage unit 170 (history DB 174) and the approver's instructions (approval instructions or rejection instructions) for each of the emails as training data, and uses the training data to perform machine learning processing on a machine learning algorithm (such as a neural network) to generate a prediction model. The server 10 then inputs the newly received suspended emails using the prediction model and outputs instructions that are estimated to be appropriate for the suspended emails. The instructions output by the prediction model may be approval instructions or rejection instructions, or may be numerical values, for example, where approval instructions are 1 and rejection instructions are 0.
[0206] That is, the server 10 inputs a newly received held email into the prediction model, and obtains from the prediction model an instruction (approval instruction or rejection instruction) that is estimated to be appropriate for the held email. If the obtained instruction is an "approval instruction," the server 10 delivers the held email, and if the obtained instruction is a "rejection instruction," the server 10 controls the delivery of the held email to be stopped.
[0207] Next, the functional configuration regarding the instruction (approval instruction or denial instruction) by the AI of the server 10 will be added.
[0208] First, the storage unit 170 (history DB 174) of the server 10 stores information on all e-mails that have been delivered or whose delivery has been suspended based on instructions for approval or denial, and the instructions for the e-mails (approval instructions or denial instructions).
[0209] The server 10 also includes a machine learning unit 140. The machine learning unit 140 uses information about emails stored (accumulated and stored) in the storage unit 170 (history DB 174) and the approver's instructions regarding the emails (approval instructions or rejection instructions) as training data, and uses the training data to perform machine learning on a machine learning algorithm (neural network, etc.) to generate a prediction model.
[0210] The server 10 also includes a held email instruction acquisition unit 142. The held email instruction acquisition unit 142 uses the prediction model trained by the machine learning unit 140 to acquire an instruction (approval instruction or rejection instruction) that is estimated to be appropriate for a newly received held email.
[0211] The delivery unit 118 controls to deliver the held email when the instruction acquired by the held email instruction acquisition unit 142 for the newly accepted held email is an "approval instruction." Also, the delivery unit 118 controls to stop delivery of the held email when the instruction acquired by the held email instruction acquisition unit 142 for the newly accepted held email is a "denial instruction."
[0212] In addition, when the instruction result acquired by the held email instruction acquisition unit 142 for a newly received held email is an "approval instruction," the delivery unit 118 may simply notify the approver that an "approval instruction" is presumed to be appropriate, without delivering the held email, and subsequently accept an approval or rejection instruction from the approver (human). That is, the delivery unit 118 may control the delivery of the email if the instruction first received from one of the multiple approvers is an approval instruction, and may control the suspension of delivery of the email if the instruction first received from one of the multiple approvers is a rejection instruction. In this way, approval or rejection instructions can be issued based on human judgment while taking into account the judgment made by the predictive model (AI), thereby enabling double-checking between the predictive model (AI) and humans, thereby reducing the number of cases where approval is erroneously given.
[0213] The server 10 distinguishes between emails controlled based on instructions of approval or denial via an approver (human) and emails controlled based on instructions of approval or denial using the machine learning unit 140, and accumulates and stores the emails in the storage unit 170 (history DB 174). The machine learning unit 140 may only subject emails that have been delivered or whose delivery has been suspended based on instructions of approval or denial via an approver (human), including cases where an approver (human) ultimately issues instructions, such as double-checking between a predictive model (AI) and a human, to machine learning, or may subject all emails that have been delivered or whose delivery has been suspended based on instructions of approval or denial, regardless of whether they are a predictive model (AI) or a human approver.
[0214] 10.2 AI-based selection of approvers to match with senders The server 10 may use AI to select one or more approvers to be associated with the sender. For example, the server 10 uses, as training data, information on each of the multiple suspended emails accumulated and stored in the storage unit 170 (history DB 174) and information on the multiple approvers (user names or user IDs) associated with each of the emails. Note that the "approver information" may include, in addition to the approver (user name or user ID), information on the approver's behavior at the time each email was suspended, such as schedule information, attendance information, and location information. The server 10 then uses the training data to perform machine learning processing on a machine learning algorithm (such as a neural network) to generate a prediction model. The server 10 then inputs a newly received suspended email using the prediction model and outputs one or more approvers who are estimated to be appropriate for the suspended email.
[0215] That is, the server 10 inputs the newly received and suspended email into the prediction model, and selects from the prediction model a number of approvers who are estimated to be appropriate for the suspended email. Note that the number of approvers to be selected is a predetermined number.
[0216] Next, a functional configuration for selecting multiple approvers by the AI of the server 10 will be added.
[0217] First, the server 10 includes a machine learning unit 140. The machine learning unit 140 uses information on each of the reserved emails stored and accumulated in the history DB 174 and data indicating multiple approvers associated with the senders of each of the emails as training data, and uses the training data to perform machine learning processing on a machine learning algorithm (such as a neural network) to generate a prediction model.
[0218] The server 10 also includes an approver selection unit 143. The approver selection unit 143 uses the prediction model learned by machine learning by the machine learning unit 140 to select one or more approvers who are presumed to be appropriate for a newly received, suspended email. Note that the approver selection unit 143 may acquire behavioral information (future schedule information, work attendance information, etc.) of the selected one or more approvers and reselect one or more approvers.
[0219] 10.3 Selection of Representative Approvers by AI The server 10 may select (select) the representative approver by AI.
[0220] For example, the server 10 may perform machine learning for each user using a given time and the user's responsiveness level at that time as training data, and generate a prediction model that associates the time with the user's responsiveness level at that time.The server 10 may then predict the responsiveness level of each of the multiple approvers using the prediction model for each of the multiple approvers, and select a representative approver based on the responsiveness levels of the multiple approvers.
[0221] 10.3.1 Explanation of training data (dataset) FIG. 11 shows an example of a dataset that is training data to be input to a machine learning algorithm. In other words, as shown in FIG. 11, in this embodiment, "time" and "responsiveness level" are used as a dataset. That is, the server 10 prepares in advance a dataset in which "time" is input data (also referred to as a feature or explanatory variable) and "responsiveness level" is output data (also referred to as a target variable, label, or response data). That is, the training data is distribution information that indicates the user's responsiveness level over time.
[0222] For example, for each user, the server 10 prepares in advance, as training data for the user, the time of a predetermined cycle (for example, every hour or every minute) for a predetermined period (for example, the past year), and the user's responsiveness level based on the user's behavioral information at each time.
[0223] The server 10 also distributes the suspended emails for a predetermined period (for example, the past year) to each user of the representative approver. For each suspended email, the server 10 prepares, as training data for the user, the suspension time of the email and the responsiveness level of the representative approver at the suspension time according to the suspension period of the email.
[0224] The server 10 may include at least one of "work attendance information," "location information," and "schedule information" in addition to "time" in the input data of the data set.
[0225] Furthermore, the server 10 stores in the storage unit 170 the teacher data (data set) collected for each user.
[0226] 10.3.2 Readiness Level Description Next, the responsiveness level will be described in detail. The responsiveness level is a value that indicates the degree to which a user can respond to instructions based on a given time in a one-day (24-hour) period, and indicates, for example, the length of time it takes to respond to an instruction at a given time. For example, the responsiveness level is a value from 1 to 10, and based on the time, a user who can respond to instructions immediately has a higher responsiveness level value, and a user who cannot respond to instructions immediately has a lower responsiveness level value.
[0227] (A) Explanation of responsiveness level based on user behavior information The server 10 calculates the responsiveness level of the user at a given time based on the user's behavior information, which includes the user's attendance information, location information, schedule information, and so on.
[0228] That is, the server 10 calculates, for each user, the time of a predetermined period (for example, in units of one minute) and the responsiveness level of the user based on the user's behavior information at each time during a predetermined period (for example, the past one year).
[0229] For example, the server 10 determines the responsiveness level of a user from the user's attendance information for each predetermined time period. For example, if user A's attendance information at 8:00 AM indicates "attended work," the responsiveness level at 8:00 AM is set to "10," if user A's attendance information at 8:00 AM indicates "absent," the responsiveness level at 8:00 AM is set to "0," and if user A's attendance information at 8:00 AM indicates "rest," the responsiveness level at 8:00 AM is set to "5."
[0230] The server 10 may also determine the responsiveness level of a user from the user's location information at each time interval of a predetermined period. For example, if the location information of user A at 8:00 AM indicates "inside the office," the responsiveness level at 8:00 AM is set to "10," if the location information of user A at 8:00 AM indicates "outside the office (outside home)," the responsiveness level at 8:00 AM is set to "0," and if the location information of user A at 8:00 AM indicates "outside the office (home)," the responsiveness level at 8:00 AM is set to "2."
[0231] The server 10 may also determine the responsiveness level of a user from the user's schedule information for each predetermined time period. For example, if user A's schedule information at 8:00 AM indicates "none," the responsiveness level at 8:00 AM is set to "10," if user A's schedule information at 8:00 AM indicates "meeting," the responsiveness level at 8:00 AM is set to "5," and if user A's schedule information at 8:00 AM indicates "vacation," the responsiveness level at 8:00 AM is set to "0."
[0232] The server 10 may also determine the user's responsiveness level based on at least one of the user's attendance information, location information, and schedule information at each predetermined time interval. For example, if user A arrives at work at 8:00 AM and is present at the office but has an important scheduled appointment, the responsiveness level may be set to "0." When user A leaves work, the responsiveness level may be set to "0" regardless of the schedule information (even if the schedule is clear). A user who works from home, such as a telecommuter, is not present at the office but is considered to be able to respond promptly to emails and other requests. For example, if user A telecommutes from home, the responsiveness level may be set to "10" during the telecommuting time period (excluding break times and time when the user is out of the office). A user who is present at work but not at the office is considered unable to respond promptly to instructions, such as approvals. Therefore, for example, for a user who is present at work but has a scheduled outing, the responsiveness level may be set to "1" during the outing time period.
[0233] The user's behavior information (work attendance information, location information, schedule information, etc.) is stored in the storage unit 170 or an attendance management system connected to the server 10 via a network.
[0234] (B) Description of readiness levels based on user pending periods Furthermore, when the server 10 receives an approval instruction or a rejection instruction for a suspended email, it calculates the responsiveness level of the representative approver at the time of suspension according to the suspension period of the email. The suspension period of an email is the period from the suspension time of the email to the instruction time when the approval instruction or the rejection instruction for the email is received.
[0235] That is, the server 10 refers to the held emails accumulated in the history DB 174 for a predetermined period (for example, the past year) and distributes the held emails to each representative approver user. Then, for each held email, the server 10 calculates the responsiveness level of the user (representative approver) at the time when each email was held.
[0236] For example, the responsiveness level of the representative approver of the email is calculated so that the shorter the period for which the email is held, the higher the responsiveness level, and the longer the period for which the email is held, the lower the responsiveness level.The time of holding the email is then associated with the calculated responsiveness level.
[0237] To be more specific, for example, assume that the email with the reserved email ID=001 was reserved at 10:15 a.m. If the representative approver, User A, issues an approval or rejection instruction for the email with the reserved email ID=001 within one hour, User A's responsiveness level at 10:15 a.m. will be set to "10."
[0238] In addition, if the representative approver, User A, issues an approval or rejection instruction for the email with the pending email ID=001 within one hour or more but less than two hours, User A's responsiveness level at 10:15 AM will be set to "9."
[0239] In addition, if the representative approver, User A, issues an approval or rejection instruction for the email with the pending email ID=001 between two and three hours, User A's responsiveness level at 10:15 a.m. will be set to "8."
[0240] In this way, the responsiveness level is decreased as the time of the pending period elapses. If the representative approver, User A, issues an approval or rejection instruction for the email with pending email ID=001 after 10 hours have passed, User A's responsiveness level at 10:15 AM will be set to "0."
[0241] Furthermore, when the representative approver of an email is changed, the server 10 calculates the responsiveness level of the changed representative approver. For example, suppose the representative approver for an email with a pending email ID of 001, whose pending time is 10:15 AM, is changed from user A to user B. The change time is then 11:32 AM. In this case, when an approval or rejection instruction is received from user B regarding the email, the server 10 calculates the responsiveness level of user B according to the period from the change time of the email (11:32 AM) to the instruction time when the instruction was received. The server 10 then associates the change time (for example, 11:32 AM) with user B's responsiveness level.
[0242] In addition, when the representative approver of an email is changed, the server 10 may calculate the responsiveness level of the previous representative approver (the declined representative approver) based on the reason for the decline. For example, when the representative approver for an email with a held email ID of 001 is changed from user A to user B, the server 10 calculates the responsiveness level of user A in association with the time the email with the held email ID of 001 was held (e.g., 10:15 AM). For example, if the reason for user A's decline is "absence due to vacation, etc.", the server 10 sets the responsiveness level of user A to "3." If the reason for user A's decline is "no time to respond," the server 10 sets the responsiveness level of user A to "2." If the reason for user A's decline is "not suitable as a representative approver," the server 10 sets the responsiveness level of user A to "1." In other words, when a change in the representative approver occurs, the server 10 lowers the responsiveness level of the original representative approver for the held email according to the reason for the decline.
[0243] 10.3.3 Machine Learning Explained The server 10 generates a trained prediction model for each user by performing machine learning to predict the level of the user's responsiveness, as shown in Fig. 11. That is, the server 10 performs machine learning for each user using a given time and the user's responsiveness level at that time as training data, and generates a prediction model for each user.
[0244] The server 10 may perform machine learning for each user using all of the data sets (teacher data) stored in the storage unit 170, or may perform machine learning using only a portion of the data sets. For example, machine learning may be performed using 70% of the data sets for learning, and the remaining 30% may be used for verification and evaluation processing (test processing).
[0245] Furthermore, the server 10 of the present embodiment may stop machine learning after generating a prediction model, or may continue to perform machine learning even after generating a prediction model.
[0246] The server 10 may perform evaluation processing to improve performance as needed, and may terminate machine learning (perform early stopping) to prevent overlearning.
[0247] In addition, the server 10 of this embodiment performs machine learning using both (A) a dataset consisting of a time at a predetermined cycle and a responsiveness level based on the user's behavioral information at that time, and (B) a dataset consisting of the hold time of a suspended email and a responsiveness level based on the hold period of the representative approver of the email, to generate a predictive model.However, it is also possible to perform machine learning using only the dataset consisting of (A) a time at a predetermined cycle and a responsiveness level based on the user's behavioral information at that time to generate a predictive model, or to perform machine learning using only the dataset consisting of (B) the hold time of a suspended email and a responsiveness level based on the hold period of the representative approver of the email, to generate a predictive model.
[0248] 10.3.4 Explanation of the process for selecting a representative approver using a predictive model Then, the server 10 selects a representative approver using the machine-learned prediction model. For example, the server 10 uses the prediction model for each of the multiple approvers to obtain the responsiveness level of each of the multiple approvers from the suspension time of the newly suspended email, and performs processing to select one representative approver from the multiple approvers based on the responsiveness level of each of the multiple approvers.
[0249] For example, the server 10 selects the approver with the highest responsiveness level among multiple approvers at the time of the newly reserved email being reserved as the representative approver. Note that if there are multiple users with the highest responsiveness level, one user is arbitrarily selected as the representative approver.
[0250] For example, as shown in FIG. 11, if the hold time of a newly received and held email is 10:30, and the responsiveness level of approver A at 10:30 is "10," the responsiveness level of approver B at 10:30 is "5," and the responsiveness level of approver C at 10:30 is "0," server 10 selects approver A, who has the highest responsiveness level, as the representative approver from among multiple approvers A, B, and C.
[0251] Furthermore, the server 10 may select one representative approver from among the multiple approvers for a newly reserved email based on the responsiveness levels of the multiple approvers obtained using the prediction model and their behavioral information, with the behavioral information of the multiple approvers being referenced based on the current time.
[0252] For example, if user A is the approver with the highest level of responsiveness among multiple approvers but user A is currently "absent," server 10 may select the user who is currently at work and has the next highest level of responsiveness as the representative approver.
[0253] For example, the server 10 notifies the selected representative approver of the approval request email. Alternatively, the server 20 may notify the sender user of the selected representative approver.
[0254] The server 10 may also accept from the sender user a request to change the representative approver to one of the approvers other than the representative approver. For example, if user A is the approver with the highest responsiveness level among multiple approvers, the sender user may request that one of approvers B and C other than representative approver A be the new representative approver. In this way, if the sender user learns that representative approver A is unable to perform approval checks for some reason, such as an urgent matter, the sender user can change the representative approver to another approver B. This provides an opportunity to promptly approve or reject held emails without delay, thereby providing a highly convenient system.
[0255] 10.3.5 Functional Configuration Description Next, the functional configuration of the server 10 regarding the AI function will be added.
[0256] First, the server 10 includes a responsiveness level calculation unit 144. The responsiveness level calculation unit 144 calculates, for each user, a responsiveness level that indicates the degree of responsiveness of the user at a given time.
[0257] For example, when an approval instruction or a rejection instruction is received for a suspended email, the responsiveness level calculation unit 144 calculates the responsiveness level of the representative approver at the time of suspension, based on the suspension period from the time the email was suspended to the time the approval instruction or the rejection instruction for the email was received.
[0258] The storage unit 170 (history DB 174) stores the time at which the held email was held, information about the representative approver when the approval instruction or rejection instruction for the email was received, and the instruction time at which the approval instruction or rejection instruction was received. Therefore, for each email stored in the storage unit 170 (history DB 174), the responsiveness level calculation unit 144 calculates the responsiveness level at the time at which the email was held for the representative approver who finally issued the approval instruction or rejection instruction, depending on the holding period of the email.
[0259] Furthermore, the responsiveness level calculation unit 144 calculates the responsiveness level of the representative approver in association with the hold time of the held email. For example, if user A is the representative approver of an email with held email ID=001 and the hold time is 10:15, the responsiveness level calculation unit 144 calculates user A's responsiveness level at 10:15. Note that the server 10 accumulates and stores training data for each user in the storage unit 170 (for example, for each email for which the user is the representative approver, the hold time of the email and the responsiveness level at the hold time).
[0260] In addition, when the representative approver is changed from user A to user B, the responsiveness level calculation unit 144 may calculate the responsiveness level of user B, who is the new representative approver at the pending time, based on the pending period from the change time when the representative approver is changed to user B to the specified time.
[0261] Moreover, the responsiveness level calculation unit 144 sets the responsiveness level so that the longer the suspension period, the lower the responsiveness level.
[0262] Furthermore, the responsiveness level calculation unit 144 calculates the responsiveness level of the user at a given time based on the user's behavioral information (such as attendance information, location information, and schedule information). For example, the responsiveness level calculation unit 144 calculates a responsiveness level indicating the degree of responsiveness of each user based on the user's behavioral information at a predetermined cycle of time (for example, every hour or every minute). The server 10 accumulates and stores teacher data for each user (for example, the predetermined cycle of time and the responsiveness level based on the user's behavioral information at each time) in the storage unit 170.
[0263] The server 10 includes a machine learning unit 140. The machine learning unit 140 generates a prediction model for each user. The machine learning unit 140 performs machine learning for each user using a given time and the user's responsiveness level at that time as training data, and generates a prediction model that associates that time with the user's responsiveness level at that time.
[0264] For example, the machine learning unit 140 uses, for each user, a predetermined period of time (for example, an hourly time or a minutely time) and the user's level of responsiveness based on the user's behavioral information at that time as training data, and uses the training data to perform machine learning processing on a machine learning algorithm (such as a neural network) to generate a predictive model.
[0265] In addition, for each user, the machine learning unit 140 uses the time when the pending email for which the user is the representative approver and the responsiveness level of the representative approver at that time as training data, and uses the training data to perform machine learning processing on a machine learning algorithm (neural network, etc.) to generate a predictive model.
[0266] The server 10 stores the suspended emails in the history DB 174 and references the representative approver for each email stored in the history DB 174. Then, the machine learning unit 140 uses, as training data, the suspension time of the email for the referenced representative approver and the responsiveness level of the representative approver at the suspension time calculated by the responsiveness level calculation unit 144. The machine learning unit 140 uses the training data to perform machine learning processing on a machine learning algorithm (such as a neural network) and generate a prediction model.
[0267] The machine learning unit 140 of this embodiment can use various machine learning algorithms. The prediction model generated by the machine learning unit 140 is stored in the storage unit 170.
[0268] Then, the selection unit 115 of the server 10 uses the prediction model of each of the multiple approvers to obtain the responsiveness level of each of the multiple approvers from the time when the held email was held, and selects one representative approver from among the multiple approvers based on the responsiveness level of each of the multiple approvers.
[0269] For example, for each user who approves a newly accepted, suspended email, the selection unit 115 uses the user's prediction model to input information about the time when the email was suspended and obtains the user's responsiveness level for the email. Then, based on the responsiveness levels of each of the multiple approvers, the selection unit 115 selects one approver with the highest responsiveness level as the representative approver.
[0270] Furthermore, the selection unit 115 may select one representative approver from among the plurality of approvers based on the responsiveness levels of the plurality of approvers at the time of suspension and the behavior information of the plurality of approvers.
[0271] For example, if approver A has the highest level of responsiveness among multiple approvers A, B, and C, and user A is currently "absent," the selection unit 115 may select approver B, who is currently at work and has the next highest level of responsiveness, as the representative approver.
[0272] Furthermore, when changing the representative approver of a suspended email (for example, when a decline is received from the representative approver), the selection unit 115 may select an approver with the next highest responsiveness level after the user of the representative approver as the new representative approver. For example, when the server 10 changes the representative approver from user A to user B using a prediction model, the server 10 may notify user B's terminal 20 that user B is the representative approver.
[0273] The selection unit 115 may also accept a change from the sender user to select one of the approvers other than the representative approver as the new representative approver.
[0274] Furthermore, the notification unit 116 of the server 10 may notify the sender user (the terminal 20 of the user) of the information on the representative approver selected by the selection unit 115.
[0275] The server 10 may also include an extraction unit 119 that extracts one representative approver candidate from among a plurality of approvers.
[0276] The extraction unit 119 uses the prediction model for each of the multiple approvers to obtain the responsiveness level of each of the multiple approvers from the suspension time of the suspended email, and extracts one representative approver candidate from the multiple approvers based on the responsiveness level of each of the multiple approvers. For example, the extraction unit 119 extracts the user with the highest responsiveness level as one representative approver candidate.
[0277] Furthermore, when the extraction unit 119 receives a decline from the representative approver of the held email, it extracts an approver with the next highest responsiveness level after the user of the representative approver as a new representative approver candidate. Note that when the declining representative approver is user A and the server 10 extracts user B as the representative approver candidate, it may notify user B's terminal 20 that user B is a representative approver candidate.
[0278] Furthermore, the notification unit 116 of the server 10 may notify the sender user (the terminal 20 of the user) of the information on the representative approver candidate extracted by the extraction unit 119. For example, when user A is a representative approver candidate, the server 10 may notify the terminal 20 of the sender user X that user A is a representative approver candidate. For example, when the representative approver candidate is changed from user A to user B, the server 10 may notify the terminal 20 of user X that user B is a representative approver candidate.
[0279] Then, the selection unit 115 of the server 10 may notify the sender user of the information on the representative approver candidates via the notification unit 116, and then accept the sender user's selection of one representative approver from among the multiple approvers.
[0280] 10.3.6 Other examples of machine learning The server 10 may store emails and representative approvers that have been held for a predetermined period (e.g., the past year) as training data (dataset) in the memory unit 170, and the server 10 may use the training data to perform machine learning using a machine learning algorithm to generate a predictive model.
[0281] Then, the server 10 may input a newly suspended email and select an output representative approver using the machine-learned prediction model. Note that if the representative approver for a suspended email is changed, the server 10 may use the email and the changed representative approver as training data and perform further machine learning.
[0282] 11.Other The present invention is not limited to the above-described embodiments, and various modifications are possible. For example, terms cited in the specification or drawings as broadly defined or synonymous terms can be replaced with broadly defined or synonymous terms in other descriptions in the specification or drawings.
[0283] The present invention includes configurations that are substantially the same as the configurations described in the embodiments (for example, configurations with the same functions, methods, and results, or configurations with the same purpose and effects). The present invention also includes configurations in which non-essential parts of the configurations described in the embodiments are replaced. The present invention also includes configurations that achieve the same effects as the configurations described in the embodiments or that can achieve the same purpose. The present invention also includes configurations in which publicly known technology is added to the configurations described in the embodiments.
[0284] Although the embodiments of the present invention have been described in detail as above, it will be readily apparent to those skilled in the art that many modifications can be made without substantially departing from the novel features and effects of the present invention. Therefore, all such modifications are intended to be included within the scope of the present invention. [Explanation of symbols]
[0285] 10 servers, 20 terminals, 100 Processing unit, 110 Mail processing unit (MTA), 111 Reception unit, 112 Judgment unit, 113 Analysis unit, 114 Hold unit, 115 Selection unit, 116 Notification unit, 117 Instruction reception unit, 118 Delivery unit, 120 Web processing unit, 121 Administrator display control unit, 122 User display control unit, 123 Sender display control unit, 124 Approver display control unit, 130 Database processing unit, 170 Memory unit, 172 User DB, 173 Hold mail storage area, 174 History DB, 175 Rule DB, 210 Web browser, 211 MUA
Claims
1. A program for a server that delivers electronic mail, a reception unit for receiving emails sent from a sender; a determination unit that determines whether or not the email needs to be approved based on predetermined conditions; a holding unit that holds delivery of the electronic mail when it is determined that approval of the electronic mail is required; an instruction receiving unit that receives an instruction to approve or reject the reserved email from at least one approver of a plurality of approvers; a delivery unit that controls delivery of the email when it is determined that approval of the email is required and the instruction first received from one of the plurality of approvers is an approval instruction, or controls to stop delivery of the email when the instruction first received from one of the plurality of approvers is a denial instruction; a machine learning unit that performs machine learning using information on the suspended email and instructions from the approver regarding the email as training data, and generates a predictive model that associates the information on the email with the instructions; causing the computer to function as a suspended email instruction acquisition unit that acquires an approval instruction or a rejection instruction for a newly suspended email using the prediction model; The machine learning unit A program characterized by subjecting emails controlled based on instructions to approve or deny via an approver and emails controlled based on instructions to approve or deny using the machine learning unit to machine learning.
2. In claim 1, The delivery unit A program characterized by controlling the delivery of the email when it is determined that approval of the email is required and the instruction acquired by the held email instruction acquisition unit is an approval instruction, or controlling the suspension of delivery of the email when the instruction acquired by the held email instruction acquisition unit is a denial instruction.
3. In claim 1, A program characterized by further causing a computer to function as a presentation unit that presents to the approver that the approval instruction is presumed to be appropriate when it is determined that approval of the email is necessary before receiving an approval instruction or rejection instruction for the pending email from the approver, and when the instruction acquired by the pending email instruction acquisition unit is an approval instruction.
4. In any one of claims 1 to 3, The machine learning unit A program characterized by subjecting emails that have been delivered or stopped from being delivered based on instructions to approve or deny via an approver to machine learning, out of emails that have been controlled based on instructions to approve or deny via an approver and emails that have been controlled based on instructions to approve or deny using the machine learning unit.
5. A program for a server that delivers electronic mail, a reception unit for receiving emails sent from a sender; a determination unit that determines whether or not the email needs to be approved based on predetermined conditions; a holding unit that holds delivery of the electronic mail when it is determined that approval of the electronic mail is required; an instruction receiving unit that receives an instruction to approve or reject the reserved email from at least one approver of a plurality of approvers; a delivery unit that controls delivery of the email when it is determined that approval of the email is required and the instruction first received from one of the plurality of approvers is an approval instruction, or controls to stop delivery of the email when the instruction first received from one of the plurality of approvers is a denial instruction; a machine learning unit that performs machine learning using information about the reserved email and data indicating multiple approvers associated with the sender of the email as training data, and generates a predictive model that associates information about the email with the data indicating the multiple approvers; A program that causes a computer to function as an approver selection unit that uses the prediction model to select one or more approvers that are estimated to be appropriate for a newly reserved email.
6. In claim 5, The approver selection unit A program characterized by acquiring behavioral information of one or more selected approvers and reselecting one or more approvers.
7. A program for a server that delivers electronic mail, a reception unit for receiving emails sent from a sender; a determination unit that determines whether or not the email needs to be approved based on predetermined conditions; a holding unit that holds delivery of the electronic mail when it is determined that approval of the electronic mail is required; a selection unit that accepts selection of one representative approver from among a plurality of approvers when it is determined that approval of the email is necessary; a notification unit that notifies the representative approver of an approval request; an instruction receiving unit that receives an instruction to approve or reject the reserved email from at least one of the plurality of approvers; a delivery unit that controls delivery of the email when it is determined that approval of the email is required and the instruction first received from one of the plurality of approvers is an approval instruction, or controls to stop delivery of the email when the instruction first received from one of the plurality of approvers is a denial instruction; a machine learning unit that performs machine learning using information on emails that have been held for a predetermined period and information on representative approvers as training data, and generates a predictive model that associates the information on the emails with the information on the representative approvers; A program that causes a computer to function as a representative approver selection unit that uses the prediction model to select a representative approver that is estimated to be appropriate for a newly reserved email.
8. In claim 7, The machine learning unit A program characterized in that, when a representative approver for a reserved email is changed, the email and the changed representative approver are used as training data.
9. a storage unit that stores the program according to any one of claims 1 to 8; a processor for executing the program.
10. 1. A method of delivering electronic mail, comprising: accepting an email sent from a sender; determining whether or not the email needs to be approved based on predetermined conditions; If it is determined that approval of the email is required, suspending delivery of the email; receiving an approval instruction or a rejection instruction for the reserved email from at least one approver of a plurality of approvers; a step of controlling delivery of the email when it is determined that approval of the email is required and the instruction first received from one of the plurality of approvers is an approval instruction, or controlling delivery of the email to be suspended when the instruction first received from one of the plurality of approvers is a denial instruction; performing machine learning using information on the suspended email and instructions from the approver regarding the email as training data, and generating a prediction model that associates the information on the email with the instructions; and using the predictive model to obtain an approval or disapproval instruction for the newly suspended email; The step of generating a predictive model comprises: A method characterized by subjecting emails controlled based on instructions to approve or deny via an approver and emails controlled based on instructions to approve or deny using the predictive model to machine learning.
11. 1. A method of delivering electronic mail, comprising: accepting an email sent from a sender; determining whether or not the email needs to be approved based on predetermined conditions; If it is determined that approval of the email is required, suspending delivery of the email; receiving an approval instruction or a rejection instruction for the reserved email from at least one approver of a plurality of approvers; a step of controlling delivery of the email when it is determined that approval of the email is required and the instruction first received from one of the plurality of approvers is an approval instruction, or controlling delivery of the email to be suspended when the instruction first received from one of the plurality of approvers is a denial instruction; performing machine learning using information on the held email and data indicating multiple approvers associated with the sender of the email as training data, and generating a prediction model that associates information on the email with the data indicating the multiple approvers; and using the predictive model to select one or more likely appropriate approvers for the newly suspended email.
12. 1. A method of delivering electronic mail, comprising: accepting an email sent from a sender; determining whether or not the email needs to be approved based on predetermined conditions; If it is determined that approval of the email is required, suspending delivery of the email; When it is determined that approval of the email is necessary, accepting selection of one representative approver from among a plurality of approvers; notifying the representative approver of an approval request; receiving an approval instruction or a rejection instruction for the reserved email from at least one approver of a plurality of approvers; a step of controlling delivery of the email when it is determined that approval of the email is required and the instruction first received from one of the plurality of approvers is an approval instruction, or controlling delivery of the email to be suspended when the instruction first received from one of the plurality of approvers is a denial instruction; A step of performing machine learning using information on emails held for a predetermined period and information on representative approvers as training data, and generating a prediction model that associates information on the emails with information on the representative approvers; and using the predictive model to select a likely appropriate delegate approver for the newly suspended email.
Citation Information
Patent Citations
Electronic mail-holding system
JP2010011435A
Information processing device, information processing method, and program
JP2018101351A
Mail sending / receiving program and mail sending / receiving device
JP4299281B2