Communication device, communication method, and program
The communication device optimizes resource allocation and application management to ensure stable voice and video calls by identifying critical communication destinations and adjusting resource usage, addressing the challenge of high network loads in home networks.
Patent Information
- Application Number
- JP2023123550
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-28
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2043-07-28
AI Technical Summary
Existing home gateway devices (HGWs) struggle to maintain reliable voice and video calls during high network loads, as they lack effective mechanisms to manage bandwidth and resource allocation among various applications, leading to increased CPU usage and frame discard, especially in home networks where centralized control is difficult.
The communication device employs a specific communication destination holding unit, a communication destination ID acquisition unit, and a control unit to manage application software and hardware resources. It includes a specific communication destination list and application software list, allowing it to determine if the communication destination is critical and adjust resource allocation accordingly, such as stopping non-essential applications or reserving hardware resources for critical calls.
This approach ensures stable and reliable voice and video calls by prioritizing critical communications, managing CPU usage, and optimizing bandwidth, thereby reducing the impact of high network loads on call quality.
Smart Images

Figure 2025019752000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a communication device, a communication method, and a program capable of maintaining the quality of a voice or other communication at a certain level. [Background technology]
[0002] Voice calls are being replaced by those based on VoIP (Voice over Internet Protocol), but because voice calls pass through the same communication paths as communication data from other application software, there are an increasing number of cases where the bandwidth used for voice calls is relatively congested as the overall volume of communication increases. In core networks, operators can take measures such as priority control, but in access networks, including those within the home, the nature of IP communication makes it difficult to control centrally, and ensuring the reliability of calls in emergencies is an issue.
[0003] In particular, home gateway devices (Home Gateways, hereafter referred to as HGW) are connected to a variety of communication devices, including not only personal computers (hereafter referred to as PCs), but also smartphones, tablets, home appliances, etc., and the amount of communication traffic is increasing due to high-definition video services, etc. Many HGWs are equipped with a function for making voice calls via the Internet using VoIP.
[0004] Patent Document 1 discloses the following communication device. The device is an HGW that connects a home network with an outside network. The device stores a specific number in association with control information. When a specific number for communication is dialed on a home device connected to the device, it is determined whether the dial signal matches the stored specific number, and if they match, it controls communication with the outside based on the control information stored in association with the dialed specific number. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2008-85667 A Summary of the Invention [Problem to be solved by the invention]
[0006] The disclosures of the above-mentioned prior art documents are incorporated herein by reference. The following analysis has been carried out by the present inventors.
[0007] As described above, according to the invention disclosed in Patent Document 1, it is possible to control communication between an in-home device and an outside-home device based on control information stored in advance by a dial signal transmitted from an in-home device connected to the inside of the home. For example, when a specific number is dialed from an in-home device, it is possible to execute control such that a WebTV connected to the HGW connects to a URL included in the control information associated with the number. Also, when a number not included in the specific numbers is dialed, for example, "03-XXXX-xxx", a VoIP application can perform processing such as connecting to the dialed number.
[0008] However, although the above process associates a specific number with predetermined control information, the control information is limited to, for example, starting a VoIP application, and does not take into consideration control regarding cooperation with other application software or hardware, such as starting a VoIP application and suppressing the execution of other applications when a specific number is dialed.
[0009] Furthermore, most current HGWs use software control for VoIP voice communications, so when a communication terminal under its control sends data overload that exceeds the transmission capacity, the HGW's CPU usage increases, causing some frames to be discarded, which can affect VoIP voice calls.
[0010] Therefore, in one aspect of the present invention, an object is to provide a communication device, a communication method, and a program that enable highly reliable voice or video calls even under high load. [Means for solving the problem]
[0011] According to a first aspect of the present invention, there is provided a communication device having a specific communication destination holding unit that holds a specific communication destination list, which is a list including specific communication destination IDs, which are identification numbers of specific communication destinations; a communication destination ID acquisition unit that acquires the communication destination IDs, which are identification numbers of communication destinations; a first judgment unit that judges whether a specific communication destination ID that is identical to or corresponds to the communication destination ID is included in the specific communication destination holding unit; and a control unit that controls application software or hardware depending on the judgment result of the first judgment unit.
[0012] According to a second aspect of the present invention, there is provided a communication method for causing a computer to execute the following steps, the communication method having the steps of: acquiring a specific communication destination list, which is a list including specific communication destination IDs, which are identification numbers of specific communication destinations; acquiring a communication destination ID, which is the identification number of a communication destination; determining whether a specific communication destination ID that is identical to or corresponds to the communication destination ID is included in the specific communication destination list; and controlling application software or hardware depending on the determination result.
[0013] According to a third aspect of the present invention, there is provided a program for causing a computer to execute the following processes: a process of acquiring a specific communication destination list, which is a list including specific communication destination IDs, which are identification numbers of specific communication destinations; a process of acquiring a communication destination ID, which is the identification number of a communication destination; a process of determining whether a specific communication destination ID that is identical to or corresponds to the communication destination ID is included in the specific communication destination list; and a process of controlling application software or hardware depending on the determination result.
[0014] The program can be recorded on a computer-readable storage medium. The storage medium can be a non-transient medium such as a semiconductor memory, a hard disk, a magnetic recording medium, an optical recording medium, etc. The present invention can also be embodied as a computer program product. Effect of the Invention
[0015] According to each aspect of the present invention, it is possible to provide a communication device, a communication method, and a program that enable highly reliable voice or video calls even under high load. [Brief description of the drawings]
[0016] [Figure 1] 1 is a block diagram showing an example of a configuration of a communication device according to an embodiment; [Diagram 2] 1 is a block diagram showing an example of a configuration of a communication device according to a first embodiment; [Diagram 3] 4 is a diagram illustrating an example of a specific communication destination list in the communication device of the first embodiment. FIG. [Figure 4] FIG. 4 is a diagram showing an example of a specific application software list in the first embodiment. [Diagram 5] 4 is a flowchart illustrating an operation of the communication device according to the first embodiment. [Figure 6] 1 is a schematic diagram illustrating an example of a hardware configuration of a communication device according to a first embodiment. [Figure 7] 10 is a flowchart illustrating an operation of a communication device according to a second embodiment. [Figure 8] 13 is a flowchart illustrating an operation of a communication device according to a third embodiment. [Figure 9] 2 is a block diagram showing the configuration of a HGW according to an embodiment of the present invention; [Figure 10] 11 is a flowchart for explaining the operation of the HGW of the embodiment. [Figure 11]FIG. 2 is a conceptual diagram showing an image of an emergency telephone number storage area. [Figure 12] FIG. 13 is a conceptual diagram showing an image of an application priority storage area. [Figure 13] FIG. 13 is a diagram illustrating a state transition of an application priority storage area. [Figure 14] 11 is a diagram for explaining an example of a case where communication is restricted by a CPU assignment change means in a 4-core CPU configuration. FIG. [Figure 15] 1 is a schematic diagram for explaining a transfer flow by software, a transfer flow by VoIP communication, and a transfer flow by a Hardware Offloading function. FIG. [Figure 16] FIG. 13 is a block diagram showing the configuration of a HGW according to another embodiment. [Figure 17] FIG. 13 is a diagram for explaining an image of a setting screen for an emergency call registration means in the GUI of the HGW. [Figure 18] FIG. 4 is a diagram for explaining an image of an emergency telephone number storage area in an embodiment. [Figure 19] FIG. 13 is a diagram for explaining an image of a setting screen for a stopped application change means in the GUI of the HGW. [Figure 20] FIG. 13 is a diagram for explaining an image of an application priority level storage area. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0017] First, an overview of one embodiment will be described. Note that the reference numerals in the drawings are given to each element for convenience as an example to aid in understanding, and the description of this overview is not intended to be limiting in any way.
[0018] 1 is a block diagram showing an example of a configuration of a communication device according to an embodiment. The communication device 10 according to the embodiment includes a specific communication destination holding unit 11, a communication destination ID acquisition unit 12, a first determination unit 13, and a control unit 14.
[0019] The specific communication destination holding unit 11 holds a specific communication destination list, which is a list including specific communication destination IDs, which are identification numbers of specific communication destinations. The communication destination ID acquisition unit 12 acquires a communication destination ID, which is an identification number of a communication destination. The first judgment unit 13 judges whether or not a specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination holding unit 11. The control unit 14 controls application software or hardware depending on the judgment result of the first judgment unit.
[0020] In this way, when a call is made from a subordinate terminal or the like, the communication device of one embodiment judges whether or not the identification number specifying the destination of the call is included in the list including the specific destination ID, and if it is judged that the identification number is included, it is possible to execute control of the application software or hardware by the control unit 14. For example, when the specific destination ID includes a number for emergency calls and a call is made from the number using the VoIP application software, it is possible to execute processing such as stopping other application software running at that time and increasing the CPU occupancy rate of the VoIP application software. This makes it possible to provide reliable and stable voice calls in an emergency.
[0021] [First embodiment] [Device configuration] 2 is a block diagram showing an example of the configuration of a communication device according to the first embodiment. As in the first embodiment, a communication device 10 according to the first embodiment includes a specific communication destination holding unit 11, a communication destination ID acquisition unit 12, a first determination unit 13, and a control unit 14. The feature of this embodiment is that it further includes a specific application software list holding unit 15 and a second determination unit 16, and the control unit 14 controls the application software to be executed according to the respective determination results of the first determination unit 13 and the second determination unit 16.
[0022] The specific communication destination holding unit 11 holds a specific communication destination list, which is a list including specific communication destination IDs, which are identification numbers of specific communication destinations. An "identification number" refers to a numeric character string that can identify a communication destination, such as a telephone number, a Session Initiation Protocol (SIP) address, an IP address, or a Fully Qualified Domain Name (FQDN). This unit holds these identification numbers in a database or the like. Any communication destination can be specified as a "specific communication destination," but it may also be a communication destination that requires some kind of control to ensure the reliability of communication when making a call, such as an emergency call destination for the police or an ambulance.
[0023] 3 is a conceptual diagram showing an example of a specific communication destination list in the communication device of this embodiment. As shown in this diagram, the specific communication destination IDs are listed as emergency call telephone numbers 119 or 110, specific telephone numbers, SIP addresses, and IP addresses. The specific communication destination IDs may be associated with the control contents of the control unit 14, which will be described later.
[0024] The communication destination ID acquisition unit 12 acquires a communication destination ID, which is an identification number of a communication destination. It acquires the communication destination ID by referring to communication data such as packets transmitted by itself or a terminal under its control. The "identification number" is as described above. The acquired communication destination ID is sent to the first determination unit 13, which will be described later.
[0025] The first judgment unit 13 judges whether a specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination holding unit. Specifically, the specific communication destination list in the specific communication destination holding unit 11 is searched using the communication destination ID acquired by the communication destination ID acquisition unit 12 as a key, and it is judged whether a corresponding item is found. The communication destination ID and the "corresponding" specific communication destination ID do not necessarily have to be an exact match of a numeric string, and this means that a relationship that can be treated as virtually the same, such as an IP address and an FQDN, is also included. The judgment result of the first judgment unit 13 is sent to the control unit 14, which will be described later.
[0026] The specific application software list holding unit 15 holds a list of specific application software. The term "specific" can be arbitrarily specified, but it can refer to, for example, an application that causes interference when making a VoIP call because it handles voice in the same way, or application software that requires some kind of control during communication.
[0027] 4 is a conceptual diagram showing an example of a specific application software list according to this embodiment. As shown in this diagram, specific application software is listed. The specific application software list may list application names as shown in the diagram, or may be specifically specified by paths. In addition, the specific application software may be associated with a "priority" which will be described later.
[0028] The second judgment unit 16 judges whether the running application software is included in the specific application software list holding unit 15. Specifically, at a predetermined timing, the name of the running application software is obtained, and using this as a key, the specific application software list in the specific application software list holding unit 15 is searched to judge whether the corresponding specific application software is present. The search key and the search target may be an identifier that identifies the application software. If the judgment result indicates that the application software is present, the name or identifier of the corresponding application software is passed to the control unit 14 described later.
[0029] The control unit 14 controls the application software to be executed according to the respective judgment results of the first judgment unit 13 and the second judgment unit 16. Specifically, the control unit 14 receives the judgment result from the first judgment unit 13 as to whether or not the communication destination ID corresponds to the specific communication destination holding unit 11, and the name or the identifier of the application software if it corresponds from the second judgment unit 16, and executes the control. In the present invention, "control" mainly refers to cooperation between application software to enable stable communication and telephone conversation. For example, when the judgment result of the first judgment unit 13 is that the specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination holding unit 11, and when the judgment result of the second judgment unit 16 is that the application software being executed is included in the specific application software list holding unit 15, the control unit 14 includes processing such as selectively stopping the application software being executed that is included in the specific application software list holding unit 15, or lowering the priority of execution.
[0030] In other words, if "119" is listed in the specific communication destination list in the specific communication destination holding unit 11, when the communication destination ID "119" is dialed on the terminal, the specific application software includes video playback software, so it is possible to process the execution of the video playback software to be stopped. This makes it possible to secure the downstream communication bandwidth for video playback, and enables urgent communication to be carried out in a stable communication state.
[0031] The specific application software list holding unit 15 may hold specific application software in association with application software priority, which is the priority of application software execution. In this case, the control unit 14 may perform a process of stopping the application software currently being executed based on the application software priority. Specifically, the control unit 14 may perform control such as stopping the application software currently being executed whose application software priority is lower than a predetermined value.
[0032] The communication device 10 may be capable of receiving and editing the application software priority. That is, the communication device 10 may further include an application software priority receiving unit (not shown) that receives the application software priority, and the specific application software list holding unit 15 may be configured to update and hold the priority received by the application software priority receiving unit.
[0033] [Explanation of operation] FIG. 5 is a flow chart for explaining the operation of the communication device 10 of the first embodiment. As shown in this figure, when the communication device 10 starts its operation, it acquires a specific communication destination list, which is a list including a specific communication destination ID, which is an identification number of a specific communication destination (step S51). Next, it acquires a specific application software list that holds a list of specific application software (step S52). Next, it acquires a communication destination ID, which is an identification number of the communication destination (step S53). Then, it determines whether a specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination list (step S54). If it is determined that the specific communication destination ID is included (step S54, Y), it further determines whether the running application software is included in the specific application software list (step S55). If it is determined that the specific application software is included (step S55, Y), it stops the running application software included in the specific application software list holding unit (step S56), and the series of control processes for the application software are terminated. If the determination result is that either step S54 or step S55 is not included ((step S54, N) or (step S55, N)), the series of control processes ends.
[0034] [Hardware configuration] Next, a description will be given of the hardware configuration of the communication device 10 according to the first embodiment. Fig. 6 is a block diagram showing an example of the hardware configuration of the communication device 10 according to the first embodiment.
[0035] The communication device 10 constituting the communication device can be configured by an information processing device (computer) and has the configuration exemplified in Fig. 6. For example, the communication device 10 includes a CPU (Central Processing Unit) 61, a memory 62, an input / output interface 63, and a NIC (Network Interface Card) 64 as a communication means, which are mutually connected by an internal bus 65.
[0036] However, the configuration shown in Fig. 6 is not intended to limit the hardware configuration of each device constituting the communication device. Each communication device 10 may include hardware not shown, and may not include the input / output interface 63 as necessary. In addition, the number of CPUs and the like included in the communication device 10 is not intended to be limited to the example shown in Fig. 6, and for example, each device may include multiple CPUs.
[0037] The memory 62 is a RAM (Random Access Memory), a ROM (Read Only Memory), or an auxiliary storage device (such as a hard disk).
[0038] The input / output interface 63 is a means for interfacing with a display device and an input device (not shown). The display device is, for example, a liquid crystal display, etc. The input device is, for example, a device for accepting user operations such as a keyboard and a mouse.
[0039] The functions of the communication device 10 are realized by processing modules, which are a communication destination ID acquisition program, a first judgment program, a second judgment program, a control program, a specific communication destination list stored in memory 62, and a specific application software list.
[0040] The above processing modules are realized, for example, by the CPU 61 executing a program stored in the memory 62. The program can be updated by downloading it via a network or by using a storage medium storing the program. The above processing modules may be realized by a semiconductor chip. That is, it is only necessary to have some means for executing the functions performed by the above processing modules by some hardware and / or software.
[0041] [Hardware operation] When the communication device 10 starts operation, a communication destination ID acquisition program is called from the memory 62 and is executed by the CPU 61. This program scans a packet sent from a terminal at the start of communication and acquires identification number data that is the communication destination ID of the terminal.
[0042] Next, the first determination program is called from the memory 62 and is executed by the CPU 61. This program reads the specific communication destination list data stored in the memory 62, and searches the list using the acquired communication destination ID data as a key.
[0043] If the search results in a corresponding specific communication destination list ID, a second judgment program is called from memory 62 and executed by CPU 61. This program reads the specific application software list data stored in memory 62 and judges whether or not there is a corresponding application software currently being executed. Here, the identifier (ID) of the application software may be used, or a judgment may be made as to whether or not the name of the application software currently being executed matches.
[0044] If the result of the determination is that there is running application software that corresponds to the specific application software list, the second determination program returns the identifier or a token for identifying the application software as a value.
[0045] Next, the control program is called from the memory 62 and executed by the CPU 61. The control program ends the process of the application software related to the token or identifier returned as a value.
[0046] If a priority is associated with the specific application software list, the priority value may also be acquired to determine whether it is lower than a predetermined priority, and if it is lower, the process may be terminated, or if it is higher than the predetermined priority, the priority value of the process may be lowered.
[0047] [Effect description] As described above, in the communication device 10 of this embodiment, when the communication destination corresponds to a specific communication destination, by performing processing such as stopping the running application software corresponding to the specific application software list, it is possible to stably execute communication with the specific communication destination without the processing resources being taken over by the running application software.
[0048] [Second embodiment] In the second embodiment, a communication device capable of controlling the exclusive use of hardware resources used by specific application software when a terminal or the like communicates with a specific communication destination for stable communication will be described.
[0049] [Device configuration] An example of the configuration of the communication device 10 of the second embodiment is the same as that shown in Fig. 1. As shown in Fig. 1, the communication device 10 of this embodiment has a specific communication destination holding unit 11, a communication destination ID acquisition unit 12, a first judgment unit 13, and a control unit 14. The specific communication destination holding unit 11, the communication destination ID acquisition unit 12, and the first judgment unit 13 have already been described in the above embodiment, so description thereof will be omitted. The communication device 10 of this embodiment is characterized in that, when the judgment result of the first judgment unit is that a specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination holding unit, the control unit 14 causes a specific application software to exclusively use a predetermined ratio of hardware resources used by the specific application software.
[0050] If the judgment result of the first judgment unit is that a specific communication destination ID that is identical to or corresponds to the communication destination ID is included in the specific communication destination storage unit 11, the control unit 14 allows the specific application software to exclusively use a predetermined proportion of the hardware resources used by the specific application software.
[0051] "Specific application software" refers to software that may require adjustment of the hardware resources used in order to operate stably when used. In this case, for example, application software related to video communication or voice calls falls under this category, and preferably VoIP application software falls under this category. "Adjustment" refers to control such as monopolizing the hardware resources used at a specified rate. "Hardware resources" refers to communication modules such as the CPU, memory, and NIC. "Monopolizing at a specified rate" could be, for example, maintaining an allocation of 20% of the total memory space during an emergency call, or restricting all hardware interrupts to software other than the VoIP application software during a voice call.
[0052] In a multiprocessor environment in which the communication device 10 has a plurality of CPUs, control such as dedicating one or more of the plurality of CPUs to specific application software and operating them may be considered.
[0053] It is desirable that control such as changing the exclusive ratio of the hardware resources used by the specific application software can be performed while the communication device 10 is in operation.
[0054] [Explanation of operation] 7 is a flow chart for explaining the operation of the communication device 10 in the second embodiment. As shown in this figure, first, a specific communication destination list is obtained, which is a list including specific communication destination IDs, which are identification numbers of specific communication destinations (step S71). Next, a communication destination ID, which is an identification number of the communication destination, is obtained (step S72). After that, it is determined whether a specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination list (step S73). If it is determined that it is included (step S73, Y), a predetermined ratio of hardware resources used by the specific application software is made to be exclusively used (step S74). If it is determined that it is not included (step S73, N), the series of control processes is terminated.
[0055] [Hardware configuration] Next, a description will be given of the hardware configuration of the communication device 10 according to the second embodiment. The hardware configuration of the communication device 10 according to the second embodiment is similar to the configuration shown in FIG.
[0056] The communication device 10 constituting the communication device can be configured by an information processing device (computer) and has the configuration exemplified in Fig. 6. For example, the communication device 10 includes a CPU (Central Processing Unit) 61, a memory 62, an input / output interface 63, and a NIC (Network Interface Card) 64 as a communication means, which are mutually connected by an internal bus 65.
[0057] [Hardware operation] When the communication device 10 starts operation, a communication destination ID acquisition program is called from the memory 62 and is executed by the CPU 61. This program scans a packet sent from a terminal at the start of communication and acquires identification number data that is the communication destination ID of the terminal.
[0058] Next, the first determination program is called from the memory 62 and is executed by the CPU 61. This program reads the specific communication destination list data stored in the memory 62, and searches the list using the acquired communication destination ID data as a key.
[0059] If the search results in a matching specific communication destination list ID, the control program is called from memory 62 and executed by CPU 61. This program monopolizes a predetermined ratio of the hardware resources used by application software being executed for communication, for example, VoIP application software. Specifically, for example, a memory area is secured in a predetermined ratio in the physical memory of the memory space, and this memory area is used by the VoIP application. If necessary, the process of another application using memory 62 may be stopped. Also, for example, the device settings of the NIC 64 of the VoIP application may be changed, and control may be performed to change the chip usage ratio or priority.
[0060] [Effect description] According to the communication device 10 of the present embodiment, when a call is made to a specific communication destination, it is possible to exclusively use the hardware that executes specific application software. This allows stable voice calls to be made by exclusively using a specific ratio of hardware resources for a voice call application, for example.
[0061] [Third embodiment] In the third embodiment, a configuration of a communication device 10 in which a control unit 14 limits the communication band to improve the reliability of voice calls will be described.
[0062] [Device configuration] An example of the configuration of the communication device 10 of the third embodiment is the same as that shown in Fig. 1. As shown in Fig. 1, the communication device 10 of this embodiment has a specific communication destination holding unit 11, a communication destination ID acquisition unit 12, a first determination unit 13, and a control unit 14. The specific communication destination holding unit 11, the communication destination ID acquisition unit 12, and the first determination unit 13 have already been described in the above embodiment, so description thereof will be omitted. The communication device 10 of this embodiment is characterized in that, when the determination result of the first determination unit 13 is that a specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination holding unit 11, the control unit 14 performs bandwidth restriction on communication other than application software that handles audio or video.
[0063] For example, the control unit 14 may perform control such as narrowing the communication band of application software executed other than the VoIP application software during a voice call with a specific communication destination.
[0064] There are two methods for limiting communication bandwidth: one is to avoid peaks by buffering communication data that exceeds the limit in the communication device, and the other is to discard and delete packets of communication data that exceeds the limit. Either method is applicable.
[0065] Although the buffering and packet discarding processes can be performed by the CPU by executing software commands, if the amount of data to be buffered or discarded increases, the load on the CPU will be high. To avoid this situation, control may be performed so that the buffering and packet discarding processes are performed by hardware. Specifically, the buffering and packet discarding processes may be performed by using a NIC chipset or buffer memory.
[0066] [Explanation of operation] 8 is a flow chart for explaining the operation of the communication device 10 in the third embodiment. As shown in this figure, first, a specific communication destination list is obtained, which is a list including specific communication destination IDs, which are identification numbers of specific communication destinations (step S81). Next, a communication destination ID, which is an identification number of a communication destination, is obtained (step S82). After that, it is determined whether a specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination list (step S83). If it is determined that it is included (step S83, Y), the bandwidth of communications other than application software that handles audio or video is limited (step S84). If it is determined that it is not included (step S83, N), the series of control processes is terminated.
[0067] [Effect description] According to the communication device 10 of the present embodiment, when communication is made to a specific communication destination, the network bandwidth used by the running application software other than the specific application software is limited. This ensures that a sufficient network bandwidth is available during a call with the specific communication destination, making it possible to carry out a stable call.
[0068] [Example] In the embodiment, a HGW will be described as an application example of the communication device 10 of the above embodiment.
[0069] [Configuration of the embodiment] 9 is a block diagram showing the configuration of the HGW 100 of this embodiment. As shown in FIG. 9, the HGW 100 includes a data processing device 101 and a storage device 102.
[0070] The data processing device 101 comprises a VoIP calling means 111, an emergency call determining means 112, a stop application selecting means 113, an application control means 114, a CPU assignment changing means 115, and a shaping implementing means .
[0071] The VoIP calling means 111 allows the HGW to perform SIP communication and VoIP calls with a SIP server in a higher-level network and a telephone set serving as a VoIP counterpart, using SIP.
[0072] The emergency call determination means 112 refers to the telephone number information included in the SIP communication and determines whether it matches an emergency call registered in the emergency telephone number storage area 121 .
[0073] The stop application selection means 113 refers to the application priority storage area 122, acquires information on applications currently being executed and their priorities, and selects applications to be stopped.
[0074] The application control means 114 stops an application or resumes a stopped application.
[0075] The CPU assignment change means 115 selects the CPU to be used by the application.
[0076] The shaping implementation means 116 sets an upper limit on the amount of communication data specified for transmission or reception, accumulates data exceeding that limit in a buffer, and delays transmission, thereby restricting communication to maintain a constant communication speed.
[0077] The storage device 102 includes an emergency telephone number storage area 121 and an application priority storage area 122 .
[0078] Telephone number information that is handled as an emergency call by the HGW is stored in the emergency telephone number storage area 121. FIG.
[0079] The application priority storage area 122 stores information about currently running applications and the priority of each application. The HGW refers to the information stored in the emergency telephone number storage area 121 to determine which applications to suppress. FIG. 12 is a conceptual diagram showing an image of the application priority storage area 122.
[0080] [Explanation of operation] Fig. 10 is a flow chart for explaining the operation of the HGW of this embodiment. First, it is assumed that a user operates a telephone connected to the HGW to make a call by VoIP. When a call is made from the telephone, the HGW makes a VoIP call to the specified telephone number by VoIP calling means 111 according to the SIP protocol (step S1001 in Fig. 10).
[0081] In step S1001 of FIG. 10, the HGW refers to the information of the emergency telephone number registered in the emergency telephone number storage area 121, and checks whether the telephone number destination called by the user is present in the list of emergency telephone numbers (step S1002). In step S1002 of FIG. 10, if the telephone number destination called by the user corresponds to an emergency telephone number, communication is restricted (step S1003). Details of each communication restriction method will be described later together with specific examples. In step 1002 of FIG. 10, if the telephone number destination called by the user does not correspond to an emergency telephone number, communication is not restricted and normal VoIP call processing is performed. Next, when the emergency call is ended, the communication restriction and call priority setting performed in step S1003 of FIG. 10 are released (step S1004).
[0082] Next, the operation of this embodiment will be described in detail using a concrete example. First, it is assumed that a user operates a telephone connected to the HGW to make a VoIP call. At this time, it is assumed that the user makes a call to the telephone number "110". When a call is made from the telephone, the HGW makes a VoIP call to the specified telephone number using the VoIP calling means 111 according to the SIP protocol (step S1001 in FIG. 10). In this embodiment, the Request-URI of the INVITE frame of the SIP protocol sent when making a VoIP call is analyzed, and the telephone number destination information sent by the HGW ("110" in this embodiment) is obtained.
[0083] 10, the HGW refers to the information of the emergency telephone number registered in the emergency telephone number storage area 121 and checks whether the telephone number destination called by the user is present in the list of emergency telephone numbers (step S1002). In step S1002 in FIG. 10, in this embodiment, the user calls the telephone number "110", which matches the emergency telephone number registered in the emergency telephone number storage area 121, so the HGW next performs processing in step S1003. In step S1003 in FIG. 10, the following communication restrictions are performed. 1) Application Restriction Measures 2) How to change CPU assignment 3) LAN communication suppression method using shaping
[0084] In this embodiment, all communication restriction methods are implemented to reduce the load during emergency calls, but it is also possible to select and use only some of the restriction methods. When a VoIP call ends, a BYE frame of the SIP protocol is sent from the terminal that ended the call. In this device, communication restriction is released when the BYE frame is sent or received (step S1004 in FIG. 10). The communication restriction is released by reconfiguring each setting changed by communication restriction or launching an application using the same means as for normal launch.
[0085] Next, each communication suppression method will be described in detail.
[0086] 1) Application Restriction Measures In the application suppression means, first, the application to be suppressed is determined by the stop application selection means 113. The priority and state of each application are stored in advance in the application priority storage area 122. The state transition of the application priority storage area 122 is shown in Fig. 13. Applications whose state is active stored in the application priority storage area 122 are to be suppressed, and applications whose state is standby, stop, or disable are not to be suppressed because they are not in operation.
[0087] The stop application selection means 113 determines that among the running applications, those with a specific priority or lower are applications to be suppressed. In this embodiment, applications with a priority of 2 or lower are suppressed and stopped. Next, the application control means 114 stops the applications selected by the stop application selection means 113.
[0088] In this embodiment, telnetd, httpd, and ftpd, which are applications with a priority level of 2 or lower, are stopped, while tv_service, routing_service, and wlan_service, which are applications with a priority level of 3 or higher, are not stopped. The stopping is performed by using a function for stopping a process, such as the kill command. By selecting and partially stopping currently running applications that involve communication, it is possible to prevent a specific application from interfering with emergency call communication.
[0089] 2) How to change CPU assignment Next, the CPU assignment change means will be described. It is assumed that the HGW is configured as a multiprocessor with multiple CPUs. Furthermore, the HGW has the function of specifying the CPU to be used for each application (process) or thread by changing the CPU affinity setting. Normally, an application is linked to multiple CPUs so that multiple CPUs can be used efficiently. However, in that case, if a specific CPU becomes overloaded, there is a possibility that communication may be hindered due to temporary communication loss.
[0090] In this embodiment, an example of communication suppression by the CPU assignment change means 115 in a 4-core CPU configuration is shown in Fig. 14. As shown in Fig. 14, all applications normally use all CPUs from CPU0 to CPU3, but when an emergency call is detected, dynamic switching can be performed by changing the CPU affinity setting so that the VoIP application occupies CPU3. Normally, all CPUs are used to effectively utilize resources and distribute the load, but by having the VoIP application occupy the CPU used by VoIP only when an emergency call is made, it is possible to prevent VoIP calls from being hindered by the operation of other applications.
[0091] 3) LAN communication suppression method using shaping Next, a LAN communication suppression method using shaping will be described. As a prerequisite, the HGW has a hardware offloading function and a shaping function controlled by hardware. An image diagram of the hardware offloading function and the shaping function in this embodiment is shown in FIG.
[0092] Figure 15 shows the flow of transfer by software (referred to as SW path flow), the flow of transfer by VoIP communication (referred to as VoIP flow), and the flow of transfer by Hardware Offloading function (referred to as HW path flow). When communication is performed between the LAN port that connects the LAN terminal in the house and the WAN port that connects the upper line, it goes through the hardware control unit (referred to as HW control unit) (152 and 154 in Figure 15). The shaping function is performed by the HW control unit. In the SW path flow, since transfer is performed by software control, communication is performed between the LAN terminal and the Internet via the CPU (157).
[0093] In a VoIP flow, forwarding is controlled by software, so communication between the HGW and the Internet passes through the CPU (158). In a HW path flow, forwarding is controlled by the hardware, and communication between the LAN terminal and the Internet occurs without passing through the CPU (156). Figure 15 shows where shaping is performed. Normally, when discarding under software forwarding control, discarding is done by software control, so if a large amount of frame discarding is involved, the load on the CPU increases and it becomes overloaded.
[0094] However, in this embodiment, the shaping function is performed in the HW control unit (LAN) (152) before sending to the CPU, so that shaping is performed by hardware control without discarding by software control, and it is possible to significantly reduce the CPU load. Under normal circumstances, shaping is not generally performed, but when an emergency call is detected, shaping settings are dynamically applied to communications to the CPU, making it possible to reduce the load from terminals that are sent from LAN terminals only during emergency calls.
[0095] [Effect description] The first effect of the HGW of this embodiment is a reduction in the CPU load caused by internal applications during a VoIP call. This is because the application suppression means and CPU assignment change means of this embodiment make it possible to significantly reduce the impact on the CPU caused by the operation of other applications when the HGW is making a VoIP call. The second effect is a reduction in the load caused by external terminals during a VoIP call. This is because the LAN communication suppression means using shaping of this embodiment makes it possible to significantly reduce the load on the CPU when there is an excessive communication load from a LAN terminal when the HGW is making a VoIP call.
[0096] [Other Examples] The configuration of another embodiment of the present invention is shown in Fig. 16. This embodiment in Fig. 16 differs from the embodiment in Fig. 9 in that the emergency call destination and the suspended application can be changed. Referring to Fig. 16, the system includes a data processing device 101 in the HGW and a storage device 102 that stores information in the HGW.
[0097] The data processing device 101 comprises VoIP calling means 111, emergency call determining means 112, suspended application selecting means 113, application control means 114, CPU assignment changing means 115, shaping implementing means 116, emergency call registering means 117, and suspended application changing means 118. This embodiment differs from the embodiment in Fig. 9 in that emergency call registering means 117 and suspended application changing means 118 are added.
[0098] The VoIP calling means 111, emergency call determining means 112, suspended application selecting means 113, application control means 114, CPU assignment changing means 115, and shaping implementing means 116 are the same as those in the embodiment in FIG. 9, and therefore description thereof will be omitted.
[0099] The emergency call registration means 117 registers the telephone number designated by the user in the emergency telephone number storage area 121 .
[0100] The stopped application changing means 118 changes the operation priorities of some of the applications registered in the application priority storage area 122 according to a user specification.
[0101] The storage device 102 includes an emergency telephone number storage area 121 and an application priority storage area 122 .
[0102] The emergency telephone number storage area 121 and the application priority storage area 122 are the same as those in the embodiment shown in FIG. 9, and therefore a description thereof will be omitted.
[0103] Next, the operation of the embodiment of the present invention will be described using a concrete example with reference to Figures 17 to 20. It is assumed that the HGW is equipped with a Graphical User Interface (hereinafter referred to as GUI) for allowing a user to perform various settings, and that various settings can be performed using a protocol such as Hyper Text Transfer Protocol (hereinafter referred to as HTTP) by operating a browser on a personal computer, tablet, or the like connected to the HGW.
[0104] 17 is a diagram for explaining a setting screen image of the emergency call registration means 117 in the GUI of the HGW. It is assumed that the user operates the browser of a terminal connected to the HGW to input "09012345678" into emergency destination-1 and presses the setting button. The HGW uses the emergency call registration means 117 to register the telephone numbers of emergency destination-1 to emergency destination-3 specified by the user into the emergency telephone number storage area 121.
[0105] 18 is a diagram for explaining an image of the emergency telephone number storage area 121 in this embodiment. In this embodiment, emergency telephone numbers pre-registered by the system are registered in the System Reserved table, and emergency telephone numbers specified by the user are registered in the User Defined table. In this embodiment, since the user instructs to register "09012345678" to emergency destination-1, the HGW registers "09012345678" to No. 1 of the User Defined table by the emergency telephone registration means 117. Although not specified in this embodiment, emergency destination-2 is registered to No. 2, and emergency destination-3 is registered to No. 3.
[0106] As in this embodiment, it is possible to treat user-defined telephone numbers as emergency calls, and in the same way as emergency calls, it is possible to suppress the influence of other communications and reduce deterioration in voice quality.
[0107] Fig. 19 is a diagram for explaining an image of a setting screen of the stopped application changing means 118 in the GUI of the HGW. Fig. 20 is a diagram for explaining an image of the application priority storage area 122.
[0108] In this embodiment, the user can change some of the applications to be stopped, and in this embodiment, it is assumed that routing_service corresponds to the Internet service, wlan_service corresponds to the wireless service, and tv_service corresponds to the TV service. The user operates the browser of the terminal connected to the HGW to set the service for emergency calls.
[0109] In this embodiment, it is assumed that the user specifies Internet as enabled, wireless as enabled, and TV as disabled, and then presses the setting button. The HGW uses the stopped application changing means 118 to change the priority of the application specified by the user in the application priority storage area 122.
[0110] In this embodiment, since the Internet service is designated as enabled, the priority of the routing_service is changed to "3", since the wireless service is designated as enabled, the priority of the wlan_service is changed to "3", and since the TV service is designated as disabled, the priority of the tv_service is changed to "2".
[0111] Next, a flow of an emergency call in this embodiment will be described. In the configuration of the embodiment in Fig. 16, the process is performed according to the flow chart in Fig. 10, as in the embodiment in Fig. 1.
[0112] First, it is assumed that a user operates a telephone connected to the HGW to make a call by VoIP. At this time, it is assumed that the user makes a call to the telephone number "09012345678". When a call is made from the telephone, the HGW makes a VoIP call to the specified telephone number by the VoIP calling means 111 according to the SIP protocol (step S1001 in FIG. 10). In this embodiment, the Request-URI of the INVITE frame of the SIP protocol sent when making a VoIP call is analyzed, and the telephone number destination information sent by the HGW (in this embodiment, "09012345678") is obtained.
[0113] In step S1001 of Fig. 10, the HGW refers to the information of the emergency telephone number registered in the emergency telephone number storage area 121, and checks whether the telephone number destination called by the user is a number that corresponds to the emergency telephone number list (step S1002 of Fig. 10). In step S1002 of Fig. 10, in this embodiment, the user calls the telephone number "09012345678", which matches the emergency telephone number registered in the emergency telephone number storage area 121, so the HGW next performs processing in step S1003. In step 1003, the following communication restrictions are performed. 1) Application Restriction Measures 2) How to change CPU assignment 3) LAN communication suppression method using shaping
[0114] In this embodiment, the load during emergency calls is reduced by implementing all communication restriction methods, but it is also possible to select and use some of the restriction methods. Also, the GUI may allow switching between enabling and disabling each communication restriction method. When a VoIP call ends, a BYE frame of the SIP protocol is sent from the terminal that ended the call. In this device, communication restriction is released when the BYE frame is sent or received (step S1004). The communication restriction is released by re-setting or launching an application using the same means as for normally launching each function that has been communication-restricted.
[0115] 1) Application Restriction Measures In the application suppression means, the application to be suppressed is determined by the stop application selection means 113. The priority and state are the same as those in the embodiment in Fig. 9, so the explanation will be omitted. In this embodiment, applications with a priority of 2 or lower, that is, tv_service, telnetd, httpd, and ftpd, are stopped, and applications with a priority of 3 or higher, such as routing_service and wlan_service, are not stopped. The stopping is performed by using a function for stopping a process, such as a kill command.
[0116] In this embodiment, the user can specify whether or not to stop the tv_service, routing_service, and wlan_service, so that it is possible to prevent applications from being stopped unintentionally by the user. Also, by stopping some of the currently running applications that involve communication, it is possible to prevent communication for emergency calls from being impeded.
[0117] 2) How to change CPU assignment The CPU assignment change means is the same as that in the embodiment shown in FIG. 9, so a description thereof will be omitted.
[0118] 3) LAN communication suppression method using shaping The LAN communication suppression means by shaping is the same as that in the embodiment shown in FIG. 9, so a description thereof will be omitted.
[0119] Some or all of the above embodiments can also be described as follows, but are not limited to the following. [Form 1] This is the same as the communication device according to the first aspect described above. [Form 2] A communication device preferably of form 1, further comprising a specific application software list holding unit that holds a list of specific application software, and a second judgment unit that judges whether the application software being executed is included in the specific application software list holding unit, and a control unit that controls the application software to be executed depending on the respective judgment results of the first judgment unit and the second judgment unit. [Form 3] Preferably, in a communication device of form 2, the control unit stops the running application software included in the specific application software list holding unit when the judgment result of the first judgment unit is that a specific communication destination ID that is identical to or corresponding to the communication destination ID is included in the specific communication destination holding unit, and when the judgment result of the second judgment unit is that the running application software is included in the specific application software list holding unit. [Form 4] Preferably, in a communication device of form 3, the specific application software list holding unit further holds an association between specific application software and an application software priority, which is the priority of application software execution, and the control unit stops the application software being executed based on the application software priority. [Form 5] Preferably, the control unit stops running application software whose application software priority is lower than a predetermined value. [Form 6] A communication device preferably according to aspect 4 or 5, further comprising an application software priority receiving unit for receiving application software priority, and the specific application software list holding unit updates and holds the priority received by the application software priority receiving unit. [Form 7] Preferably, the control unit of the communication device of form 1 allows a predetermined ratio of hardware resources used by a specific application software to be exclusively used when the judgment result of the first judgment unit is that a specific communication destination ID that is identical to or corresponds to the communication destination ID is included in the specific communication destination storage unit. [Form 8] Preferably, the communication device of aspect 7, wherein the control unit exclusively uses a predetermined ratio of hardware resources used by application software relating to video communication or audio communication. [Form 9] A communication device according to preferably aspect 8, further comprising a plurality of CPUs, and the control unit causes at least one of the plurality of CPUs to exclusively execute specific application software. [Form 10] The particular application software is VoIP application software, preferably for a communications device according to any one of aspects 7 to 9. [Form 11] The control unit is capable of changing the exclusive ratio of the hardware resources used by a specific application software during operation, preferably according to any one of aspects 7 to 10. [Form 12] Preferably, the control unit of the communication device of form 1 performs bandwidth restriction on communications other than application software handling audio or video when the judgment result of the first judgment unit is that a specific communication destination ID that is identical to or corresponds to the communication destination ID is included in the specific communication destination storage unit. [Form 13] The control unit performs bandwidth restriction on communications other than those performed by the VoIP application software. [Form 14] Preferably, the control unit executes the bandwidth restriction of the communication by buffering communication data exceeding the restriction in a storage area. [Form 15] Preferably, the control unit executes the bandwidth restriction of the communication by discarding communication data that exceeds the restriction. [Form 16] The control unit substitutes, by using hardware resources, for processing that has been executed by using software resources due to a communication band restriction. [Form 17] The control unit is preferably a communication device according to any one of aspects 12 to 16, capable of limiting the bandwidth of communication during communication operation. [Form 18] 18. The communication device according to any one of aspects 1 to 17, wherein the communication device is a home gateway device. [Form 19] This is the same as the communication method according to the second aspect described above. [Form 20] This is as per the program related to the third perspective mentioned above. Incidentally, like Mode 1, Modes 19 and 20 can be developed into Modes 2 to 18.
[0120] The disclosures of the above cited patent documents and the like are incorporated herein by reference. Within the framework of the entire disclosure of the present invention (including the scope of claims), modifications and adjustments of the embodiments and examples are possible based on the basic technical ideas. Furthermore, within the framework of the entire disclosure of the present invention, various combinations and selections of the various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) are possible. In other words, the present invention naturally includes various modifications and corrections that a person skilled in the art would be able to make in accordance with the entire disclosure including the scope of claims and the technical ideas. In particular, with regard to the numerical ranges described in this specification, any numerical value or subrange included in the range should be interpreted as being specifically described even if not otherwise specified. [Explanation of symbols]
[0121] 10: Communication equipment 11: Specific communication destination storage unit 12: Communication destination ID acquisition section 13: First judgment section 14: Control section 15: Specific application software list storage unit 16: Second Judgment Section 61: CPU 62: Memory 63: Input / Output Interface 64:NIC 65: Internal bus 100:HGW 101: Data processing device 102: Storage device 111:VoIP calling method 112: Emergency call determination method 113: Stop application selection means 114: Application control measures 115: CPU assignment change method 116: Shaping implementation means 117: Emergency call registration method 118: Stop application change method 121: Emergency phone number storage area 122: Application priority storage area
Claims
1. a specific communication destination holding unit that holds a specific communication destination list, which is a list including specific communication destination IDs that are identification numbers of specific communication destinations; a communication destination ID acquisition unit for acquiring a communication destination ID which is an identification number of a communication destination; a first determination unit that determines whether a specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination holding unit; a control unit that controls application software or hardware according to a result of the determination by the first determination unit; A communication device having the above configuration.
2. a specific application software list holding unit for holding a list of specific application software; a second determination unit that determines whether the application software being executed is included in the specific application software list holding unit; Further comprising: the control unit controls application software to be executed in accordance with the respective judgment results of the first judgment unit and the second judgment unit. The communication device of claim 1.
3. When the determination result of the first determination unit is that a specific communication destination ID that is identical to or corresponds to the communication destination ID is included in the specific communication destination holding unit, and, When the second determination unit determines that the running application software is included in the specific application software list storage unit, Stopping the running application software included in the specific application software list holding unit; The communication device of claim 2.
4. The specific application software list holding unit further holds specific application software in association with an application software priority level, which is a priority level for executing the application software; the control unit stops the application software being executed based on the application software priority. The communication device of claim 3.
5. further comprising an application software priority receiving unit for receiving the application software priority; the specific application software list holding unit updates and holds the priority levels accepted by the application software priority level acceptance unit; The communication device of claim 4.
6. When the determination result of the first determination unit is that a specific communication destination ID that is identical to or corresponds to the communication destination ID is included in the specific communication destination holding unit, Allowing a specific application software to occupy a specified percentage of the hardware resources used by the application software; The communication device of claim 1.
7. When the determination result of the first determination unit is that a specific communication destination ID that is identical to or corresponds to the communication destination ID is included in the specific communication destination holding unit, Limiting the bandwidth of communications other than those using application software that handles audio or video; The communication device of claim 1.
8. The control unit executes the bandwidth restriction of the communication by buffering communication data that exceeds the restriction in a storage area. The communication device of claim 7.
9. A communication method for causing a computer to execute the following steps: obtaining a specific communication destination list which is a list including a specific communication destination ID which is an identification number of a specific communication destination; acquiring a communication destination ID which is an identification number of the communication destination; determining whether a specific destination ID that is the same as or corresponds to the destination ID is included in the specific destination list; controlling application software or hardware according to the result of the determination; A communication method comprising:
10. A process of acquiring a specific communication destination list, which is a list including a specific communication destination ID that is an identification number of a specific communication destination; A process of acquiring a communication destination ID, which is an identification number of a communication destination; A process of determining whether a specific communication destination ID that is the same as or corresponds to the communication destination ID is included in the specific communication destination list; A process of controlling application software or hardware according to the result of the determination; A program for causing a computer to execute the following.
Citation Information
Patent Citations
Portable telephone set, and method of controlling the portable telephone set
JP2011097299A
Emergency notification system
JP2011204232A
Gateway device
JP2020043552A
Emergency Call System
JP5327252B2
Controller, telematics control device and method
WO2022175541A1