This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2020-141993 filed Aug. 25, 2020.
The present disclosure relates to an information processing apparatus and a non-transitory computer readable medium.
Some communication systems are provided with a mechanism for determining whether the contents of individual communication are appropriate and for correcting a content needed to be corrected. For example, e-mail systems use technology for determining the text of an e-mail and then correcting the text as necessary.
Japanese Unexamined Patent Application Publication No. 2016-4560 discloses a mail correction support system including a correction support function and a correction support database. The correction support function has a function of storing and performing learning on pieces of information including an error in the contents of a request mail in mail exchange including transmission of a request mail and reception of a reply mail. The information also includes the correction of the error. The correction support function also has a transmission function implemented when the request mail is transmitted. The transmission function generates a corrected request mail in which the error in the contents of the request mail is corrected on the basis of the learning and transmits the corrected request mail to an external service.
Japanese Unexamined Patent Application Publication No. 2015-194928 discloses an automatic e-mail correction support system including an automatic correction support database and an automatic correction support server. The automatic correction support database stores correction history information for automatically correcting a minor error in the text of a request mail. The automatic correction support server refers to correction information and thereby automatically corrects a minor error by using a minor error learning function, an automatic request-mail correction proposal function, and a change-information reflection function.
Generally, specifications to be satisfied in individual communications have been stipulated for communication systems. It is thus conceivable that whether not only the content of a communication as described above but also individual communications satisfy the stipulated specifications is determined.
However, some communication systems are operated flexibly to some extent regarding specification satisfaction, and thus a communication server in such communication systems permits even an individual communication not strictly satisfying the stipulated specifications. For example, for e-mail systems, transmission and reception protocols are strictly stipulated in the request for comments (RFC); however, there are mail servers (such as a SMTP server and a POP server) and mail clients (software) that permit transmission and reception of an e-mail not conforming to the RFC.
In addition, it is possible that there is a communication system that permits the presence of a communication server or the like postulating the observance of standard specifications and requiring the observance of a uniquely stipulated rule in addition to the standard specifications. For example, there is an e-mail system that has a mail server requiring the encryption of the body of an e-mail by a specific encryption method from a security viewpoint, separately from the conformity to the RFC specifications. Accordingly, it is possible that in one communication system conforming to standard specifications, an individual communication is permitted or not permitted depending on the communication server.
Aspects of non-limiting embodiments of the present disclosure relate to enabling a communication to be continued in accordance with communication protocols respectively used by a sender and a receiver as compared to a case where an error is simply returned in response to a communication violating any of the communication protocols.
Aspects of certain non-limiting embodiments of the present disclosure address the above advantages and/or other advantages not described above. However, aspects of the non-limiting embodiments are not required to address the advantages described above, and aspects of the non-limiting embodiments of the present disclosure may not address advantages described above.
According to an aspect of the present disclosure, there is provided an information processing apparatus including a processor configured to receive communications that are transmitted or received, perform inspection regarding conformity in a specification of each of the received communications, rectify a communication among the communications to bring the communication into the conformity in the specification, depending on an inspection result of the inspection of the communication, and transmit the rectified communication to a destination of the rectified communication.
An exemplary embodiment of the present disclosure will be described in detail based on the following figures, wherein:
Hereinafter, an exemplary embodiment of the present disclosure will be described in detail with reference to the attached drawings.
The mail server 100 is a server (SMTP server) that receives an e-mail transmitted from one of the terminal apparatuses 200 and transmits the e-mail to the destination thereof. The mail server 100 has a function of inspecting the format and the security of the e-mail received from the terminal apparatus 200. The mail server 100 rejects, for example, the receiving of an e-mail determined to be invalid in the inspection. The mail server 100 is implemented by a computer serving as a server connected to, for example, the network 500.
Each terminal apparatus 200 has a function of generating (editing) an e-mail and a function of transmitting the generated e-mail. The terminal apparatus 200 also has functions of receiving, from the mail server 100, an e-mail addressed to the terminal apparatus 200 and viewing the received e-mail. The terminal apparatus 200 is implemented by an information processing apparatus such as a personal computer, a tablet terminal, a smartphone, or a mobile phone.
The relay device 300 receives an e-mail transmitted from one of the terminal apparatuses 200, holds the e-mail temporarily, and inspects the held e-mail. The relay device 300 transmits an e-mail determined to be appropriate in the inspection to the mail server 100. The relay device 300 rectifies an e-mail determined to be inappropriate in the inspection and transmits the e-mail to the mail server 100. The relay device 300 also receives an e-mail transmitted from the mail server 100 in response to a request for receiving the e-mail from one of the terminal apparatuses 200 and transmits the e-mail to the terminal apparatus 200 having made the reception request.
The relay function 310 is a function of receiving an e-mail transmitted from one of the terminal apparatuses 200, holding the e-mail temporarily, and then transmitting the e-mail to the mail server 100 and is also a function of receiving an e-mail transmitted from the mail server 100 and transmitting the e-mail to one of the terminal apparatuses 200. Before transmitting the e-mail to the mail server 100, the relay device 300 delivers the received and held e-mail for inspection to the rule-based inspection/rectification function 320 and the model-based inspection/rectification function 330.
The rule-based inspection/rectification function 320 is a function of executing an inspection and rectification process based on a predetermined rule (hereinafter, referred to as an inspection rule) on an e-mail. Specifically, the rule-based inspection/rectification function 320 inspects whether the specifications of the e-mail are valid on the basis of the inspection rule. The specifications of the e-mail to be inspected include a communication protocol. The rule-based inspection/rectification function 320 rectifies the specifications of an e-mail determined to be invalid to valid specifications. For the e-mail inspection, for example, the RFC specifications for e-mail may be used as the inspection rule.
The model-based inspection/rectification function 330 is a function of executing an inspection and rectification process based on a model on an e-mail. Specifically, the model-based inspection/rectification function 330 inspects whether the e-mail conforms to a model. The model-based inspection/rectification function 330 rectifies the specifications of an e-mail determined not to conform to the model to bring the specifications into conformity to the model. The model is generated by extracting characteristics of e-mails succeeding in transmission and reception among e-mails relayed in the past by the relay device 300. To generate the model, both of e-mails succeeding in transmission and reception and e-mails failing in transmission and reception are used. A model based on the e-mails succeeding in transmission and reception (hereinafter, referred to as a success model) and a model based on the e-mails failing in transmission and reception (hereinafter, referred to as a failure model) may be generated separately. In this case, if an e-mail does not conform to the success model or conforms to the failure model in the inspection, the model-based inspection/rectification function 330 rectifies the e-mail to bring the e-mail into conformity to the success model. In addition, models may be respectively generated on the basis of the terminal apparatus 200 serving as a transmission source, a destination, the mail server 100, and the like. A model generation method is described later.
The accumulation function 340 is a function of accumulating e-mails relayed by the relay device 300. Both of the e-mails succeeding in transmission and reception and the e-mails failing in transmission and reception are accumulated. The e-mails accumulated by the accumulation function 340 are used to generate a model used for the inspection and rectification process by the model-based inspection/rectification function 330.
The model generation function 350 is a function of generating a model used for the inspection and rectification process by the model-based inspection/rectification function 330. On the basis of the e-mails accumulated in the accumulation function 340, the model generation function 350 learns characteristics common to the e-mails succeeding in transmission and reception and characteristics common to the e-mails failing in transmission and reception. The model generation function 350 generates a model having the former characteristics and not having the latter characteristics. In the case where the success model and the failure model are generated separately, the model generation function 350 generates the success model by learning the characteristics common to the e-mails succeeding in transmission and reception and generates the failure model by learning the characteristics common to the e-mails failing in transmission and reception. After generating the model, the model generation function 350 updates the model generated by using the e-mails accumulated in the accumulation function 340. Accordingly, the most recent specifications of the e-mails actually transmitted and received (instances) are reflected in the model. It is thereby possible to respond to specification change or the like in a destination or the mail server 100. Note that if a trained model is used to execute the inspection and rectification process on e-mails and is not updated on the basis of the e-mails transmitted and received after the inspection and rectification process, the trained model only has to be held. In such a case, the relay device 300 does not necessarily have to have the accumulation function 340 for accumulating the relayed e-mails and the model generation function 350.
The model update function 360 is a function of updating the model used by the model-based inspection/rectification function 330 if the inspection rule is changed. The model is updated to conform to the changed inspection rule. Every time the relay device 300 relays an e-mail, the learning based on the e-mails accumulated in the accumulation function 340 is reflected in the model used by the model-based inspection/rectification function 330, and the model is updated. If an individual specification change or the like in the mail server 100 or the destination of communication leads to the necessity for a change to the model, repeatedly performing communications causes the model to gradually adapt to the specification change or the like. However, if a change to the inspection rule leads to an inappropriate inspection and rectification process by the model-based inspection/rectification function 330, the inspection and rectification process needs to promptly follow the change in the inspection rule. The case where the inspection and rectification process by the model-based inspection/rectification function 330 is inappropriate is, for example, a case where all of communications conforming to the model are determined to be invalid on the basis of the inspection rule. The model update function 360 thus updates the model to bring the communications into conformity to the inspection rule.
The report function 370 reports the results of the inspection and the rectification performed by the rule-based inspection/rectification function 320 and the model-based inspection/rectification function 330 to a communication administrator or a user at the transmission source terminal apparatus 200. The report function 370 may be configured to, in response to reporting to the communication administrator or the user at the transmission source, receive designation by the communication administrator or the user at the transmission source as the reporting target, and then execute a rectification process and a transmission process. The details of conditions for the reporting, the content of the report, the designation by the communication administrator or the transmission source, and operations in response to receiving the designation, and the like will be described later.
The relay device 300 is implemented by a computer.
When the relay device 300 is implemented by the computer illustrated in
Communication systems for which a rule to be observed such as the RFC for e-mail is stipulated are originally required to observe a rule stipulating specifications for individual communications. However, some communication systems permit an individual communication not strictly observing the stipulated rule. For example, although an e-mail address of an e-mail causes an error when being transmitted from a personal computer via a provider, the e-mail may be transmitted and received between smartphones or mobile phones on some occasions. This occurs because the e-mail address does not conform to the RFC specifications but is permitted in an e-mail service for specific smartphones or specific mobile phones. In this case, in the rule-based inspection and rectification process, the e-mail address is necessarily to undergo the rectification process. In contrast, in the model-based inspection and rectification process, the e-mail may be transmitted and received between the specific smartphones or the specific mobile phones that permit an e-mail address not conforming to the RFC, without executing the rectification process on the e-mail address. On the contrary, if the e-mail address used in transmission and reception between the specific smartphones or the specific mobile phones undergoes the rule-based inspection and rectification process, it is possible to avoid the occurrence of an error even in the communication from the personal computer via the provider.
In addition, there is a communication system that permits the presence of a communication server or the like that requires the observance of an independently stipulated rule in addition to standard specifications. For example, an e-mail system has a mail server that requires encryption of the body of an e-mail by a specific encryption method separately from the conformity to the RFC specifications. In such cases, in the rule-based inspection and rectification process, it is not possible to execute an individually required process such as the encryption, and thus even an e-mail undergoing the rectification process has an error in transmission or reception. In contrast, in the model-based inspection and rectification process, a model is generated by using e-mails having undergone the individually required process and succeeding in communication. Accordingly, rectifying a target e-mail to bring the e-mail into conformity to the model enables transmission and reception.
As described above, the rule-based inspection and rectification process and the model-based inspection and rectification process partially overlap with each other in the application range but are different from each other. Both of the rule-based inspection/rectification function 320 and the model-based inspection/rectification function 330 may thus be provided to execute the respective inspection and rectification processes. In addition, depending on the operation of the relay device 300, only one of the rule-based inspection/rectification function 320 and the model-based inspection/rectification function 330 may be provided, and the inspection and rectification process to be executed by the other may be executed by using the function of the relay device 300.
The model illustrated in
The model illustrated in
Each of the rule-based inspection/rectification function 320 and the model-based inspection/rectification function 330 basically executes the inspection and rectification process on all the e-mails relayed by the relay device 300. However, executing the inspection and rectification process on a large number of e-mails leads to an increase in load on the relay device 300. Hence, if a specific condition is satisfied, the e-mail inspection may be omitted. For example, if a condition set in advance regarding at least one of the transmission source or the destination of an e-mail is satisfied, the inspection of communication may be omitted.
In a specific example, the inspection may be omitted on condition that a communication from a specific transmission source to a specific destination succeeds a predetermined number of times or more without being rectified. This is because in this case, communication from the same transmission source as before to the same destination as before is considered to have a high probability of success also in the future. In this case, for example, on condition that a predetermined period has elapsed since the omission of the inspection, the communication from the same transmission source to the same destination may be inspected again. In addition, on condition that the communication has been performed a predetermined number of times since the omission of the inspection, the communication from the same transmission source to the same destination may be inspected again. Since it is possible that specifications of the mail server 100 or the terminal apparatus 200 are changed before the predetermined period elapses or before the communication is performed the predetermined number of times, the inspection is performed again to discuss the necessity for the rectification process.
If simultaneous communications (multicast or broadcast) are performed from one communication source to multiple destinations, the inspection of only a portion of the multiple communications may be performed, and the inspection of one or more remaining communications may be omitted. This is because the communications are performed on the basis of the same specifications, and thus executing the inspection on all the communications is considered to be redundant. However, if the destination terminal apparatus 200 or the destination mail server 100 has different specifications, some communications among communications even with the same specifications succeed, and other communications fail, depending on the destination. A conceivable way of addressing this is performing the inspection of communications to a small number of destinations (such destinations that are known to have different specifications) and omitting the inspection of communications to the other destinations.
In addition, in response to success of a communication from a specific transmission source to a specific destination without undergoing the rectification process, the inspection may be omitted in the following case. Specifically, when a communication by a sender who is different from a sender at the transmission source and who has a specific relationship with the transmission source in the specification of the communication is transmitted to the destination, the communication may be omitted. The different sender having the specific relationship with the transmission source may be, for example, a different sender who is a member registered in a mailing list including the transmission source and performs a communication using the mailing list. In addition, a user directed as a cc or bcc destination in the communication resulting in success may be the different sender having the specific relationship. The user specifically serving as the different sender having the specific relationship with the transmission source may be set individually on the basis of the operation or the like of the communication system or the relay device 300.
In the description above, if an inspection target e-mail inspected by each of the rule-based inspection/rectification function 320 and the model-based inspection/rectification function 330 does not conform to the rule or the model and needs to undergo the rectification process, the rectification process is executed immediately. In contrast, the relay device 300 may be configured to report the inspection result and the rectification result to the administrator or a user at the e-mail transmission source and to transmit the e-mail in response to receiving designation by the administrator or the user at the transmission source. Note that the report to the user at the transmission source is transmitted to the terminal apparatus 200 used by the user. The terminal apparatus 200 of the user receiving the report displays a report screen indicating the content of the report. The report screen also serves as a user interface (UI) for receiving the designation by the user. The user performs the designation by operating the report screen. The administrator is one of the users of the terminal apparatuses 200. The report to the administrator is thus transmitted to the terminal apparatus 200 used by the administrator. The terminal apparatus 200 of the administrator receiving the report displays the report screen indicating the content of the report. The administrator performs the designation by operating the report screen.
Conceivable reports to the administrator and the user at the transmission source are, for example, a report of only the inspection result and a report of the inspection result and the rectification result. In the case of reporting only the inspection result, the administrator or the user at the transmission source who has received the report confirms the inspection result and designates whether to execute the rectification process. In the case of reporting the inspection result and the rectification result, the administrator or the user at the transmission source who has received the report confirms the inspection result and the rectification result and designates whether to approve the rectification process.
The inspection result display 602 displays the result of the inspection by the rule-based inspection/rectification function 320 or the model-based inspection/rectification function 330 and an invalid part detected in the inspection target e-mail. If an invalid part is not detected, a message indicating the absence of an invalid part as the inspection result may be displayed.
The rectification result display 603 displays the result of rectifying the detected invalid part of the e-mail. If the inspection results in no invalid part detection, the rectification process is not executed. The rectification result display 603 thus displays nothing.
The designation selection unit 604 receives an operation for selecting designation from the administrator who looks at the report screen. In the example illustrated in
Note that the report screen 601 illustrated in
The inspection result display 702 displays the result of the inspection by the rule-based inspection/rectification function 320 or the model-based inspection/rectification function 330 and an invalid part detected in the inspection target e-mail. If an invalid part is not detected, a message indicating no invalid part as the inspection result may be displayed.
The rectification result display 703 displays the result of rectifying the detected invalid part of the e-mail. If the inspection results in no invalid part detection, the rectification process is not executed. The rectification result display 703 thus displays nothing.
The designation selection unit 704 receives an operation for selecting designation by the user at the transmission source who looks at the report screen. In the example illustrated in
Note that the report screen 701 illustrated in
In the example configuration described with reference to
The generation function 210 is the function of generating (editing) an e-mail to be transmitted. The rule-based inspection/rectification function 220 is the same as the rule-based inspection/rectification function 320 of the relay device 300 illustrated in
In response to generating an e-mail in the terminal apparatus 200 configured as illustrated in
The exemplary embodiment of the present disclosure has heretofore been described; however, the technical scope of the present disclosure is not limited to that in the exemplary embodiment above. For example, in the exemplary embodiment above, the example configuration in which the relay device 300 executes the inspection and rectification process on an e-mail and the example configuration in which the terminal apparatus 200 executes the inspection and rectification process on an e-mail have been described. In another example, the mail server 100 may be configured to execute the inspection and rectification process on an e-mail received from the terminal apparatus 200.
In the exemplary embodiment above, in response to receiving an e-mail to be relayed from the terminal apparatus 200, the relay device 300 executes the inspection and rectification process on the received e-mail before transmitting the e-mail to the mail server 100. In contrast, the relay device 300 may be configured as follows. The relay device 300 holds the received e-mail and also transmits the e-mail to the mail server 100. If an error occurs on the destination, the relay device 300 executes the inspection and rectification process. Neither the inspection nor the rectification process is thereby executed on an e-mail not requiring the rectification process, and thus an increase in time taken for the relay may be reduced. In addition, assume a case where an e-mail is determined to require the rectification process as the result of the inspection based on the inspection rule or the model but actually does not result in an error on the basis of the specifications of the mail server 100 or the destination. In this case, the rectification process executed unnecessarily on the e-mail may be avoided.
In this exemplary embodiment, the example in which this exemplary embodiment is applied to the e-mail system taken as an example of the communication system has been described. However, this exemplary embodiment may be widely applied to such a communication system that is operated flexibly regarding standard-specification satisfaction and that permits even an individual communication not strictly satisfying the stipulated specifications. In addition, various modifications and configuration replacement are included in the present disclosure without departing from the scope of the technical spirit of the present disclosure.
In the embodiments above, the term “processor” refers to hardware in a broad sense. Examples of the processor include general processors (e.g., CPU: Central Processing Unit) and dedicated processors (e.g., GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, and programmable logic device).
In the embodiments above, the term “processor” is broad enough to encompass one processor or plural processors in collaboration which are located physically apart from each other but may work cooperatively. The order of operations of the processor is not limited to one described in the embodiments above, and may be changed.
The foregoing description of the exemplary embodiments of the present disclosure has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical applications, thereby enabling others skilled in the art to understand the disclosure for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the disclosure be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2020-141993 | Aug 2020 | JP | national |