Method for establishing a communication channel, program for establishing a communication channel, door phone, and terminal
By reusing channel identifiers for peer-to-peer communication, the method addresses the issue of increased fees by reducing the number of channel types used, thus lowering costs for businesses using external information processing systems.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
- Filing Date
- 2022-12-13
- Publication Date
- 2026-05-22
AI Technical Summary
Businesses using external information processing systems for peer-to-peer communication are charged based on the number of channel types used, leading to increased fees regardless of actual usage.
A method and system that reuses previously used channel identifiers for establishing peer-to-peer communication channels between devices, reducing the need for new channel assignments and thus lowering the number of channel types used within a certain period.
Reduces communication fees by reusing channel identifiers, thereby minimizing charges based on the number of channel types utilized.
Smart Images

Figure 0007863736000001 
Figure 0007863736000002 
Figure 0007863736000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to a communication path establishment method, a communication path establishment program, a door phone, and a terminal.
Background Art
[0002] As a technology that enables real-time communication between devices, there is a technology called WebRTC (Web Real-Time Communication) (see, for example, Patent Document 1). WebRTC constructs a P2P (Peer to Peer) connection between devices, for example, to enable real-time communication between devices.
[0003] In recent years, the technology of WebRTC is provided by a fully managed service. For example, an operator using a fully managed service can utilize an information processing system such as various servers, storage, and networks provided by the fully managed service to realize the functions of WebRTC that the operator aims for.
[0004] As an example, assume that an operator manufacturing a door phone that can communicate with an outdoor terminal (hereinafter referred to as a door phone operator) uses a fully managed service (information processing system) of an external operator to realize P2P between the door phone and the outdoor terminal.
[0005] The door phone operator designs the system on the information processing system as follows, for example. The door phone and a terminal associated with the door phone (for which P2P communication is permitted) are made to share a common channel (hereinafter referred to as Channel A) in advance. When the call button of the entrance sub-unit of the door phone is pressed, the door phone transmits a push notification to the terminal via a push server. After transmitting the push notification, the door phone transmits Channel A to a destination relay server included in the information processing system of the external operator. The terminal transmits Channel A to a destination relay server included in the information processing system of the external operator based on the reception of the push notification from the door phone. The destination relay server establishes P2P communication between the door phone and the terminal that transmitted the same Channel A.
[0006] In this way, door phone operators can provide users with door phones that can communicate via P2P with terminals outside the home by utilizing information processing systems provided by external operators.
[0007] Businesses that use information processing systems provided by external providers pay usage fees to these providers. Depending on the external provider, in addition to the aforementioned usage fees, they may also charge businesses using the information processing system a fee based on the number of channels used within a certain period, such as one month.
[0008] For example, suppose a business using an external provider's information processing system uses channel A k times, channel B l times, and channel C n times in a given month. In this case, the number of different types of channels used in that month is "3". Therefore, the monthly fee charged to the business using the external provider's information processing system will be based on the number of different types of channels used, "3", regardless of the actual number of channel uses ("k, l, n").
[0009] Therefore, the fees charged to businesses using external information processing systems increase with the number of channels they utilize. [Prior art documents] [Patent Documents]
[0010] [Patent Document 1] Special Publication No. 2018-515959 [Overview of the project] [Problems that the invention aims to solve]
[0011] As mentioned above, when a business operator that wants to establish P2P or other device-to-device communication uses an external operator's information processing system, they may be charged depending on the number of channel types used.
[0012] In this case, for businesses using information processing systems from external providers, it is important to reduce the fees charged by devising ways to utilize the channels.
[0013] Non-limiting embodiments of this disclosure contribute to the provision of a communication channel establishment method, a communication channel establishment program, a door phone, and a terminal that enable businesses using information processing systems of external businesses to reduce the charges they incur. [Means for solving the problem]
[0014] One embodiment of the present disclosure is a method for establishing a communication channel, wherein a first information processing device obtains a channel identifier that has been used within a certain period in the past based on a channel assignment request from a door phone, transmits the obtained channel identifier to the door phone and a terminal associated with the door phone, and a second information processing device establishes a peer-to-peer (P2P) communication channel between the door phone and the terminal when the channel identifier transmitted from the door phone matches the channel identifier transmitted from the terminal.
[0015] One embodiment of the present disclosure is a communication channel establishment program, which causes a first information processing device to obtain a channel identifier that has been used within a certain period in the past based on a channel assignment request from a door phone, transmit the obtained channel identifier to the door phone and the terminal associated with the door phone, and cause a second information processing device to execute a process to establish a P2P communication channel between the door phone and the terminal if the channel identifier transmitted from the door phone and the channel identifier transmitted from the terminal match.
[0016] One embodiment of the present disclosure is a door phone comprising: a control unit that requests a channel assignment from a first information processing device; and a communication unit that communicates with a second information processing device that establishes a P2P communication path between two devices when the channel identifiers transmitted from the two devices match, wherein the communication unit receives from the first information processing device a channel identifier that has been used within a certain period in the past as a response to the request, and transmits the received channel identifier to the second information processing device.
[0017] One embodiment of the present disclosure is a terminal comprising: a receiving unit that receives a channel identifier transmitted from the first information processing device to a first information processing device that manages channel identifiers used within a certain period in the past, when a doorphone requests a channel assignment, and the receiving unit that transmits the received channel identifier to a second information processing device that establishes a P2P communication path between two devices when the channel identifiers transmitted from the two devices match.
[0018] These comprehensive or specific embodiments may be implemented as a system, apparatus, method, integrated circuit, computer program, or recording medium, or as any combination of a system, apparatus, method, integrated circuit, computer program, and recording medium. [Effects of the Invention]
[0019] According to one embodiment of this disclosure, a business that uses an information processing system of an external business operator can reduce the fees charged.
[0020] Further advantages and effects of one embodiment of this disclosure will be made apparent from the specification and drawings. Such advantages and / or effects are provided by several embodiments and features described in the specification and drawings, but not all of them are necessarily provided in order to obtain one or more identical features. [Brief explanation of the drawing]
[0021] [Figure 1] Figure showing a configuration example of a door phone system [Figure 2] Figure showing a configuration example of a door phone system using WebRTC [Figure 3] Figure showing a configuration example of a door phone system according to the first embodiment [Figure 4] Figure showing a block configuration example of a door phone [Figure 5] Figure showing a block configuration example of an entrance sub - unit [Figure 6] Figure showing a block configuration example of a terminal [Figure 7] Figure showing a block configuration example of an App server [Figure 8] Figure showing a table configuration example of an in - use channel TB [Figure 9] Figure showing a table configuration example of an available channel TB [Figure 10] Sequence diagram showing an operation example of the door phone system shown in Figure 3 [Figure 11] Sequence diagram showing an operation example of the door phone system shown in Figure 3 [Figure 12] Sequence diagram showing an operation example of the channel return operation of the door phone system [Figure 13] Flowchart showing an operation example of a door phone [Figure 14] Flowchart showing an operation example of an App server [Figure 15] Flowchart showing an operation example of an App server [Figure 16] Flowchart showing an operation example of a terminal [Figure 17] Sequence diagram showing an operation example of a door phone system according to the second embodiment [Figure 18] Sequence diagram showing an operation example of a door phone system according to the second embodiment
Modes for Carrying Out the Invention
[0022] The embodiments of this disclosure will be described in detail below, with reference to the drawings as appropriate. However, some unnecessarily detailed explanations may be omitted. For example, detailed explanations of already well-known matters and redundant explanations of substantially identical configurations may be omitted. This is to avoid the following explanation becoming unnecessarily verbose and to facilitate understanding for those skilled in the art.
[0023] The attached drawings and the following description are provided to enable a person skilled in the art to fully understand this disclosure, and are not intended to limit the subject matter described in the claims.
[0024] <First Embodiment> <System Configuration> Figure 1 shows an example of the configuration of a door phone system. As shown in Figure 1, the door phone system includes a door phone 1, an entrance unit 2, a command relay server 3, a media relay server 4, and terminals 5a and 5b.
[0025] Door phone 1 is installed, for example, inside the house. Door phone 1 is connected to an outdoor unit 2, for example, which is installed outside the house. Door phone 1 and outdoor unit 2 communicate, for example, by wire or wireless.
[0026] Terminals 5a and 5b are, for example, mobile devices such as smartphones. Residents of a house where doorbell 1 is installed can communicate with doorbell 1 using terminals 5a and 5b, for example, while outside their homes.
[0027] Doorphone 1 and terminals 5a and 5b communicate control commands via command relay server 3. Control commands include, for example, commands for establishing a communication path between doorphone 1 and terminals 5a and 5b. Other control commands include, for example, commands for sending images (live images) captured by the entrance station 2 to terminals 5a and 5b, commands for playing and stopping images (recordings) of the entrance station stored in doorphone 1, and commands for locking and unlocking the entrance door.
[0028] Images may include both still images and videos, or either one. Videos may include both video and audio, or either one. Hereafter, images may be referred to as media.
[0029] The communication paths through which the door phone 1 and terminals 5a and 5b communicate media include, for example, a P2P communication path as shown by arrow A1a in Figure 1, and a communication path via the media relay server 4 as shown by arrow A1b.
[0030] When the doorphone 1 and terminals 5a and 5b perform media communication, they send a command to the command relay server 3 to establish a communication path. The command relay server 3 establishes either a P2P communication path or a communication path via the media relay server 4, depending on the command. The doorphone 1 and terminals 5a and 5b perform media communication via either the P2P communication path or the communication path via the media relay server 4.
[0031] Furthermore, if a P2P-based communication channel cannot be established, the command relay server 3 will establish a communication channel via the media relay server 4.
[0032] Furthermore, while Figure 1 shows the door phone 1 communicating with two terminals 5a and 5b, it is not limited to this. The door phone 1 may communicate with one terminal, or with three or more terminals.
[0033] In the door phone system shown in Figure 1, a command relay server 3 resides at all times and processes commands from door phones 1 and terminals 5a and 5b that are connected to the command relay server 3. Therefore, in the door phone system shown in Figure 1, as the number of door phones 1 and terminals 5a and 5b increases, the processing load on the command relay server 3 increases, and the operating costs increase.
[0034] Figure 2 shows an example configuration of a door phone system using WebRTC. In Figure 2, the same components as in Figure 1 are denoted by the same reference numerals.
[0035] Note that the door phone system in Figure 2 has a destination relay server 6 instead of the command relay server 3 shown in Figure 1. Also, the door phone system in Figure 2 has a door phone 1a and a door station 2a installed in a different house from the house where door phone 1 and door station 2 are installed. Furthermore, in Figure 2, terminal 5a is used by the resident of the house where door phone 1a and door station 2a are installed, and terminal 5b is used by the resident of the house where door phone 1 and door station 2 are installed. Also, the media relay server 4 is not shown in Figure 2.
[0036] In the door phone system shown in Figure 2, the door phone and the terminal share a single common channel. For example, door phone 1 and terminal 5b share channel A. Door phone 1a and terminal 5a share channel B.
[0037] An example of operation between the door phone 1 and terminal 5b will be described. For example, when the call button on the entrance unit 2 is pressed, the door phone 1 sends a push notification to terminal 5b via a push server (not shown). The door phone 1 sends channel A to the destination relay server 6, as shown by arrow A2a in Figure 2. Terminal 5b, having received the push notification, sends channel A to the destination relay server 6, as shown by arrow A2b in Figure 2.
[0038] As shown by arrow A2c in Figure 2, the destination relay server 6 establishes a P2P communication path between the doorphone 1 and terminal 5b, which both transmit on the same channel A, using technologies such as SDP (Session Description Protocol) and ICE (Interactive Connectivity Establishment).
[0039] Doorphone 1 and terminal 5b, which have established a P2P communication channel, communicate control commands over the P2P channel. Additionally, doorphone 1 and terminal 5b communicate media over the P2P channel.
[0040] Doorphone 1a and terminal 5a, which share channel B, also establish a P2P communication path via the connected relay server 6, similar to the above (see arrow A2d in Figure 2). Doorphone 1 and terminal 5b, having established a P2P communication path, communicate control commands and media over the P2P communication path.
[0041] If the destination relay server 6 is unable to establish a P2P communication path, it will establish a communication path via a media relay server (not shown).
[0042] The door phone system in Figure 1 includes a command relay server 3. As mentioned above, the command relay server 3 is always present to relay various control commands. Furthermore, as the number of door phones and terminals increases, the processing load on the command relay server 3 increases, leading to increased operating costs.
[0043] In contrast, the door phone system in Figure 2 does not have a command relay server 3. The destination relay server 6 in Figure 2 is released from operation after establishing a communication path. Control commands and media are communicated directly between the door phone and the terminal via P2P. As a result, the door phone system in Figure 2 can reduce server operating costs compared to the door phone system in Figure 1.
[0044] Herein lies a fully managed service that provides resources such as servers, storage, and networks. A company that manufactures or sells door phones can, for example, use the resources of a fully managed service provided by another company to implement communication functionality between the door phone and the terminal. In the following, a company that manufactures or sells door phones may be referred to as a door phone company. Also, a company that provides a fully managed service may be referred to as a service provider.
[0045] Doorphone operators using a fully managed service pay a service fee to the service provider. Depending on the service provider, in addition to the aforementioned usage fee, they may charge the doorphone operator a fee based on the number of channel types (number of channel names) used within a certain period, such as one month.
[0046] For example, suppose door phone 1 uses channel A and door phone 1a uses channel B during the same month. In this case, the door phone provider will be charged a fee based on the number of channel names "A" and "B" ("2"), regardless of how many times channel A and channel B are used.
[0047] Therefore, the fees that door phone operators pay to service providers increase, for example, depending on the number of door phones that establish a communication channel using the destination relay server 6. For this reason, it is important for door phone operators to reduce costs by devising ways to utilize channels.
[0048] For example, in Figure 2, if channel A can be reused between doorphone 1 and doorphone 1a, the number of channel types used within a certain period, such as one month, can be reduced, thereby lowering the cost.
[0049] Figure 3 shows an example configuration of a door phone system according to the first embodiment. As shown in Figure 3, the door phone system includes a door phone 11, an entrance unit 12, a terminal 13, an MQTT (Message Queue Telemetry Transport) server 21, an App (application) server 22, a storage server 23, a destination relay server 24, and a push server 31.
[0050] The door phone 11 is installed, for example, inside the house. The door phone 11 is connected to, for example, an outdoor door station 12 installed outside the house. The door phone 11 and the outdoor door station 12 communicate, for example, by wire or wireless.
[0051] Terminal 13 is, for example, a mobile device such as a smartphone. Residents of a house with a door phone 11 can communicate with the door phone 11 using terminal 13, for example, while outside their home. Note that the number of terminals that the door phone 11 can communicate with is not limited to one. The door phone 11 may communicate with two or more terminals.
[0052] Terminal 13 is equipped with an application for communicating with the door phone 11. The application may be downloaded, for example, from the door phone provider's website.
[0053] The MQTT server 21, App server 22, storage server 23, and destination relay server 24 constitute the information processing system A3a. Resources such as the MQTT server 21, App server 22, storage server 23, and destination relay server 24 of the information processing system A3a are provided by a service provider. Doorphone operators who manufacture or sell doorphones 11 can use the resources of the information processing system A3a by paying a predetermined usage fee. In addition, if a doorphone operator establishes a communication path between the doorphone 11 and the terminal 13 using the destination relay server 24, they will be charged a fee based on the number of channel types used within a certain period, such as one month.
[0054] The MQTT server 21 supports the communication of short messages between devices based on the MQTT protocol. The MQTT server 21 may also be referred to as an MQTT broker.
[0055] App Server 22 is a server that can be used by door phone operators. Door phone operators implement predetermined applications (programs) on App Server 22 to realize predetermined functions. For example, in response to a channel acquisition request from door phone 11, App Server 22 accesses Storage Server 23, which stores channels, and acquires the channel. App Server 22 then sends the acquired channel to door phone 11.
[0056] As detailed in Figures 10 and 11, the App server 22 transmits the channel it sent to the doorphone 11 to the terminal 13 via the push server 31. The doorphone 11 transmits the channel it received from the App server 22 to the destination relay server 24, and the terminal 13 transmits the channel it received from the push server 31 to the destination relay server 24. Therefore, the doorphone 11 and the terminal 13 transmit the same channel to the destination relay server 24. The destination relay server 24 establishes P2P communication between the doorphone 11 and the terminal 13, which transmitted the same channel.
[0057] The storage server 23 is a storage server that can be used by door phone operators. The door phone operators build predetermined tables on the storage server 23 and implement predetermined functions. For example, the storage server 23 stores (builds) the used channel TB23a and the free channel TB23b, as described in Figures 8 and 9. The storage server 23 may also be called storage. Furthermore, the functions of the storage server 23 may be possessed by the App server 22. That is, the App server 22 may have the used channel TB23a and the free channel TB23b.
[0058] As shown by arrow A3b in Figure 3, the destination relay server 24 establishes a P2P communication path between the doorphone 11 and the terminal 13, which are transmitting on the same channel, using technologies such as SDP and ICE.
[0059] The push server 31 sends a push notification to the terminal 13 in response to a push notification request from the app server 22. The push notification includes the same channel that the app server 22 obtained in response to a channel acquisition request from the doorphone 11. The push server 31 is managed by a company separate from, for example, the doorphone operator and service provider.
[0060] <Device Block Configuration> Figure 4 shows an example of the block configuration of the door phone 11. As shown in Figure 4, the door phone 11 includes a control unit 11a, a storage unit 11b, a communication unit 11c, an audio processing unit 11d, a display 11e, and an operation unit 11f.
[0061] The control unit 11a controls the entire door phone 11. The control unit 11a may be composed of, for example, a CPU (Central Processing Unit).
[0062] The memory unit 11b stores the program for the operation of the control unit 11a. The memory unit 11b also stores data for the control unit 11a to perform calculations and data for controlling the connected units. Furthermore, the memory unit 11b stores image data captured by the door station 12. The memory unit 11b may be composed of storage devices such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, and HDD (Hard Disk Drive).
[0063] The communication unit 11c communicates with the MQTT server 21, for example, via a network such as the Internet. The communication unit 11c also communicates with the door station 12, for example, via wired or wireless connection.
[0064] The audio processing unit 11d converts the analog audio data output from the microphone (not shown) built into the door phone 11 into, for example, digital audio data and outputs it to the control unit 11a. The audio processing unit 11d also converts the digital audio data output from the control unit 11a into, for example, analog audio data and outputs it to the speaker (not shown) built into the door phone 11.
[0065] The display 11e displays images based on digital video data output from the control unit 11a. The display 11e is, for example, a liquid crystal display.
[0066] The control unit 11f receives, for example, an operation from a resident of a house where a door phone is installed. The control unit 11f outputs information (signals) corresponding to the received operation to the control unit 11a. The control unit 11f may be, for example, a touch panel superimposed on the display 11e. Alternatively, the control unit 11f may be a push button.
[0067] Figure 5 shows an example of the block configuration of the door station 12. As shown in Figure 5, the door station 12 includes a control unit 12a, a storage unit 12b, a communication unit 12c, an audio processing unit 12d, an operation unit 12e, and a camera 12f.
[0068] The control unit 12a controls the entire door station 12. The control unit 12a may be composed of, for example, a CPU.
[0069] The memory unit 12b stores the program for the operation of the control unit 12a. The memory unit 12b also stores data for the control unit 12a to perform calculations and data for controlling the connected components. The memory unit 12b may be composed of storage devices such as RAM, ROM, flash memory, and HDD.
[0070] The communication unit 12c communicates with the door phone 11 by wire or wireless means.
[0071] The audio processing unit 12d converts the analog audio data output from the microphone (not shown) built into the door station 12 into, for example, digital audio data and outputs it to the control unit 12a. The audio processing unit 12d also converts the digital audio data output from the control unit 12a into, for example, analog audio data and outputs it to the speaker (not shown) built into the door station 12.
[0072] The operation unit 12e, for example, receives input from a visitor. The operation unit 12e outputs information corresponding to the received input to the control unit 12a.
[0073] Camera 12f takes a picture of the area in front of the door station 12 in accordance with the control unit 12a. For example, camera 12f takes a picture of a visitor who operates the control unit 12e. Camera 12f outputs the captured image data to the control unit 12a.
[0074] Figure 6 shows an example of the block configuration of terminal 13. As shown in Figure 6, terminal 13 includes a control unit 13a, a storage unit 13b, a communication unit 13c, an audio processing unit 13d, a display 13e, an operation unit 13f, and a camera 13g.
[0075] The control unit 13a controls the entire terminal 13. The control unit 13a may be composed of, for example, a CPU.
[0076] The storage unit 13b stores the program for the operation of the control unit 13a. The storage unit 13b also stores data for the control unit 13a to perform calculations and data for controlling the connected units. The storage unit 13b may be composed of storage devices such as RAM, ROM, flash memory, and HDD.
[0077] The communication unit 13c communicates with various devices via networks, including, for example, mobile phone networks and the internet.
[0078] The audio processing unit 13d converts analog audio data output from a microphone (not shown) built into the terminal 13 into, for example, digital audio data and outputs it to the control unit 13a. The audio processing unit 13d also converts the digital audio data output from the control unit 13a into, for example, analog audio data and outputs it to a speaker (not shown) built into the terminal 13.
[0079] The display 13e displays images based on digital video data output from the control unit 13a. For example, the display 13e displays images (live images) taken by the door station 12 or images (recorded videos) taken by the door station 12 that are stored in the door phone 11. The display 13e is, for example, a liquid crystal display.
[0080] The operation unit 13f receives, for example, an operation from the owner of the terminal 13. The operation unit 13f outputs information corresponding to the received operation to the control unit 13a. The operation unit 13f is, for example, a touch panel superimposed on the display 13e. The operation unit 13f may also be a push button.
[0081] Camera 13g takes pictures according to the control of control unit 13a. Camera 13g outputs the captured image data to control unit 13a. For example, the image data of the operator captured by camera 13g is transmitted to, for example, the door phone 11.
[0082] Figure 7 shows an example of the block configuration of the App Server 22. As shown in Figure 7, the App Server 22 includes a control unit 22a, a storage unit 22b, and a communication unit 22c.
[0083] The control unit 22a controls the entire server 22. The control unit 22a may be composed of, for example, a CPU.
[0084] The memory unit 22b stores the program for the operation of the control unit 22a. The memory unit 22b also stores data for the control unit 22a to perform calculations and data for controlling the connected components. The memory unit 22b may be composed of storage devices such as RAM, ROM, flash memory, and HDD.
[0085] The communication unit 22c communicates with various devices via networks, including, for example, the Internet and mobile phone networks.
[0086] Furthermore, the MQTT server 21, storage server 23, destination relay server 24, and push server 31 also have blocks similar to those shown in Figure 7. The storage unit of the storage server 23 has an in-use channel TB23a, which is explained in Figure 8, and an empty channel TB23b, which is explained in Figure 9.
[0087] Figure 8 shows an example of the table configuration for the channel TB23a in use. The channel TB23a in use is built on storage server 23.
[0088] The channel TB23a in use stores the channel currently in use (channel name), as shown in channel 23aa in Figure 8. The channel currently in use is the channel that was allocated to the door phone in response to a request for acquisition (usage request) from the door phone.
[0089] The channel TB23a currently in use stores the ID (identifier) of the doorphone to which the channel is assigned, as shown in the device ID 23ab in Figure 8. In the example in Figure 8, the doorphone with device ID "x" is assigned channel "A".
[0090] The channel TB23a currently in use stores its expiration date, as shown in the expiration date 23ac in Figure 8. In the example in Figure 8, the expiration date for channel "A" of device ID "x" is "2022 / x / x / h1:m1:s1". If a request to use the channel is made from a doorphone with the device ID corresponding to the expiration date within the expiration period, that doorphone will be assigned the same channel.
[0091] For example, in the case of the example in Figure 8, if a request to use channel "A" is made again from the doorphone with device ID "x" that was assigned channel "A" within the usage period "2022 / x / x / h1:m1:s1", channel "A" will be assigned to the doorphone with device ID "x" again. Also, if a request to use channel "B" is made again from the doorphone with device ID "y" that was assigned channel "B" within the usage period "2022 / x / x / h2:m2:s2", channel "B" will be assigned to the doorphone with device ID "y" again.
[0092] The channel TB23a in use stores a flag indicating whether or not to return (restore) a channel whose usage period has expired to the vacant channel TB23b, as explained in Figure 9, as shown by the release flag 23ad in Figure 8. If the release flag is "True" and the channel whose usage period has expired is removed from the channel TB23a in use and stored (restored) to the vacant channel TB23b, as explained in Figure 9.
[0093] The release flag has two states, "False" and "True," as shown in Figure 8. "False" is set when a channel stored in the available channel TB23b is assigned to the doorphone 11, and that assigned channel is stored in the in-use channel TB23a.
[0094] For example, suppose channel "C," which is stored in the vacant channel TB23b, is assigned to the doorphone with device ID "z." In this case, channel "C" is removed from the vacant channel TB23b, and channel "C" and device ID "z" are stored in the in-use channel TB23a, as shown in Figure 8. In addition, the expiration date of channel "C," "2022 / x / x / h3:m3:s3," and the release flag "False" are stored in the in-use channel TB23a, as shown in Figure 8.
[0095] On the other hand, "True" is set when the doorphone requests the release of an assigned channel. For example, if a terminal instructs the doorphone to end a call, the doorphone requests the release of the channel used to establish communication with the terminal. The release flag for the requested channel is set to "True". As described above, channels with a release flag of "True" and whose usage period has expired are removed from the active channel TB23a and returned to the available channel TB23b.
[0096] Figure 9 shows an example of the table configuration for the free channel TB23b. The free channel TB23b is created on storage server 23.
[0097] The unused channel TB23b stores the channel (channel name) that is not currently in use, as shown in channel 23ba in Figure 9.
[0098] The time when a channel was stored in the free channel TB23b is stored, as shown in the return time 23bb in Figure 9. For example, as explained in Figure 8, a channel with a release flag of "True" and whose usage period has expired is removed from the in-use channel TB23a and returned to the free channel TB23b. The time when the channel was returned to the free channel TB23b is stored in the return time 23bb.
[0099] Note that channels that have never been returned from channel TB23a while in use will not have their return time recorded. In other words, channels that have never been assigned to a door phone will not have their return time recorded. For example, channels m, n, and o shown in Figure 9 are channels that have never been assigned to a door phone.
[0100] If a channel cannot be assigned to the doorphone from the channel TB23a that is currently in use, as shown in Figure 8, a channel from the available channel TB23b will be assigned to the doorphone. The channel assigned to the doorphone will be removed from the available channel TB23b and stored in the channel TB23a that is currently in use.
[0101] The channel assigned to the doorphone from the available channel TB23b is the channel that was last returned to the available channel TB23b from the currently used channel TB23a (the most recent channel). Whether or not it is the most recent channel is determined based on the return time 23bb.
[0102] In other words, the channel assigned to the door phone from the available TB23b channel is obtained from the available TB23b channel based on the LIFO (Last In First Out) method. This makes it possible to reuse channels.
[0103] Furthermore, if no channel has been used (a channel whose return time is stored) in the free channel TB23b, any of the channels stored in the free channel TB23b may be acquired. For example, in the example in Figure 9, suppose that three channels, m, n, and o, are stored in the free channel TB23b. Since channels m, n, and o do not have a stored return time and have never been used, any of channels m, n, and o may be acquired.
[0104] Furthermore, the number of channels may be set to match the number of door phones, for example, assuming that all door phones request channel acquisition simultaneously.
[0105] Furthermore, if the ratio of door phones that simultaneously request a channel to the total number of door phones is known through statistics or other means, the number of channels provided may be equal to the ratio of door phones to the total number of door phones. For example, suppose the total number of door phones is "α" and the ratio of door phones that simultaneously request a channel is "β%". In this case, channels may be provided for "α*β".
[0106] In the following, a channel TB23a in use may be referred to as "in-use chTB23a," and an available channel TB23b may be referred to as "available chTB23b."
[0107] <Sequence> Figures 10 and 11 are sequence diagrams showing an example of the operation of the door phone system shown in Figure 3. The sequence shown in Figure 11 follows the sequence shown in Figure 10.
[0108] The door station 12 sends an incoming call event to the doorphone 11 in response to the visitor pressing the call button (S1).
[0109] Based on receiving an incoming call event from the door station 12, the door phone 11 sends a channel acquisition request to the MQTT server 21 (S2).
[0110] Based on the channel acquisition request from the doorphone 11, the MQTT server 21 sends a channel acquisition request to the App server 22 (S3).
[0111] Based on the channel acquisition request from MQTT server 21, App server 22 refers to the currently used channel TB23a and checks (determines) by device ID whether the doorphone that sent the incoming event in S1 has already acquired a channel (S4).
[0112] For example, let's say the device ID of the doorphone 11 that sent the incoming event in S1 is "z". In this case, the App server 22 refers to the channel TB23a in use and determines whether the doorphone with device ID "z" has already acquired a channel (whether a channel has already been assigned). In other words, the App server 22 determines whether the device ID "z" and the channel corresponding to device ID "z" are stored in the channel TB23a in use.
[0113] The App server 22 checks the channel TB23a in use and, if it determines that the doorphone 11 that sent the incoming event has already acquired a channel (has already been assigned a channel), it acquires that channel and extends the validity period of the acquired channel (S5). In other words, if a visitor presses the call button on the door station 12 within a certain period of time, the same channel is assigned to the doorphone 11 (the same channel is retransmitted), and the validity period of the channel assigned to the doorphone 11 is extended.
[0114] Meanwhile, App server 22 refers to the channel TB23a in use and, if it determines that the doorphone 11 that sent the incoming call event in S1 has not acquired a channel, it acquires the channel that was most recently used from among the channels stored in the available channel TB23b (S6).
[0115] In other words, the App server 22 refers to the channel TB23a in use, and if there is no channel in use for the doorphone 11 that sent the incoming call event, it retrieves the channel that was most recently used from the channels stored in the available channel TB23b.
[0116] Furthermore, if the App server 22 does not have a used channel (a channel with a recorded return time) stored in the free channel TB23b, it will acquire one of the channels stored in the free channel TB23b (for example, it will acquire one of channels m, n, or o in Figure 9).
[0117] If App Server 22 obtains a recently used channel from the available channel TB23b (S6), it deletes the channel obtained from the available channel TB23b, stores the obtained channel in the currently used channel TB23a, and sets an expiration date (S7). The expiration date may be, for example, 15 minutes from the current time. App Server 22 also sets the release flag for the available channel TB23b to "False" (S7).
[0118] When the App server 22 obtains a channel from the in-use channel TB23a or the available channel TB23b (S5 or S6), it generates temporary authentication information in S14 to indicate that the channel that terminal 13 will send to the destination relay server 24 is appropriate (S8).
[0119] Temporary authentication information includes, for example, an expiration date, access rights (information indicating which channels you are authorized to access), and signature information. The expiration date may be, for example, the same amount of time as the usage expiration date, or it may be, for example, 15 minutes from the current time.
[0120] App server 22 returns (sends) to MQTT server 21 the channel obtained from the in-use channel TB23a in S5, or the channel obtained from the available channel TB23b in S6, along with the temporary authentication information generated in S8 (S9).
[0121] When MQTT server 21 receives the channel and temporary authentication information from App server 22, it sends a channel acquisition response to doorphone 11 in response to the channel acquisition request from doorphone 11 in S2 (S10). The channel acquisition response includes the channel received from App server 22 and the temporary authentication information.
[0122] App server 22 sends a transmission request to push server 31 to terminal 13 for a channel obtained from channel TB23a currently in use in S5, or a channel obtained from channel TB23b available in S6 (S11). The transmission request includes temporary authentication information generated in S8.
[0123] The push server 31 sends a push notification to terminals 13 associated with the door phone 11 (terminals authorized to communicate) in response to a transmission request from the app server 22 (S12). For example, the push server 31 sends a push notification to terminals 13 owned by residents of the house where the door phone 11 is installed. The push notification includes the channel and temporary authentication information included in the transmission request from the app server 22. If multiple terminals are associated with the door phone 11, the push server 31 sends push notifications to all terminals.
[0124] Based on the channel acquisition response (S10) from the MQTT server 21, the doorphone 11 sends the channel and temporary authentication information to the destination relay server 24 and requests a communication path establishment sequence (S13).
[0125] Based on a push notification from the App server 22 (S12), terminal 13 sends the channel and temporary authentication information to the destination relay server 24 and requests a communication channel establishment sequence (S14).
[0126] For example, terminal 13 notifies its owner, via its display screen and audio, that there is an incoming call from doorphone 11, based on a push notification from the App server 22. Then, if terminal 13 receives a call initiation command from the owner, for example, it launches a calling application to make a call with doorphone 11. The calling application on terminal 13 sends the channel and temporary authentication information to the destination relay server 24 and requests a communication channel establishment sequence.
[0127] Based on the request for a communication path establishment sequence from the door phone 11 (S13) and the request for a communication path establishment sequence from the terminal 13 (S14), the destination relay server 24 establishes a P2P communication path between the door phone 11 and the terminal 13 (S15).
[0128] For example, the destination relay server 24 connects the communication path between devices that have the same channel. In this case, the destination relay server 24 determines whether to allow access from the door phone 11 based on the temporary authentication information sent from the door phone 11 in S13. Also, the destination relay server 24 determines whether to allow access from the terminal 13 based on the temporary authentication information sent from the terminal 13 in S14. For example, the destination relay server 24 determines whether the access is within the validity period included in the temporary authentication information, whether the channel authority is appropriate, and whether the signature information has not been tampered with. In other words, the destination relay server 24 establishes the communication path between the door phone 11 and the terminal 13 if the channel sent in S13 and the channel sent in S14 match, and each of the temporary authentication information sent from S13 and the temporary authentication information sent from S14 is appropriate.
[0129] This prevents the establishment of communication paths with terminals that share the same channel as the door phone 11 but are not associated with the door phone 11 (for example, terminals owned by people unrelated to the residents of the house where the door phone 11 is installed).
[0130] For example, multiple devices may be linked to a single door phone "X". In this case, let's assume that channel "A" is assigned to both the single door phone "X" and the multiple devices.
[0131] In the above assumption, suppose one of the multiple terminals, terminal "X1", communicates with doorphone "X", and then terminates communication with doorphone "X". Since channel "A" is reused, channel "A" may be assigned to doorphone "Y", which is different from doorphone "X".
[0132] Multiple devices linked to doorphone "X" receive push notifications and acquire channel "A". Therefore, device "X2", which is different from device "X1" that ended the call with doorphone "X", may attempt to make a call with doorphone "X" which has already ended the call (released channel "A"). In this case, a communication path may be established between doorphone "Y", which has been newly assigned channel "A", and device "X2", which is unrelated to doorphone "Y".
[0133] However, as mentioned above, temporary authentication information, including an expiration date of 15 minutes, is assigned to both the doorphone and the terminal. In addition, a channel in use is released (returned to the available channel TB23b) when the release flag is "True" and the usage expiration date of 15 minutes has elapsed. This suppresses the establishment of a communication path between the doorphone and terminals unrelated to the doorphone. For example, when channel "A," which has been released after its usage expiration date has expired, is assigned to doorphone "Y," the expiration date included in the temporary authentication information of terminal "X2," which is unrelated to doorphone "Y," has also expired. Therefore, the establishment of a communication path between doorphone "Y" and terminal "X2" is suppressed.
[0134] Furthermore, if the destination relay server 24 is unable to establish a P2P communication path between the doorphone 11 and the terminal 13 in S15, it will establish a communication path via a media relay server (not shown).
[0135] When the door phone 11 and terminal 13 establish a communication path via the connected relay server 24, they use the established communication path to communicate control commands or media data (S16). In addition, the entrance unit 12 and terminal 13 communicate voice data or media data via the door phone 11 and the established communication path (S16).
[0136] Terminal 13 performs a disconnection process to end the call with the doorphone 11 (S17). For example, when terminal 13 receives a call termination request from the operator, it sends a call termination request to the doorphone 11. Then, terminal 13 disconnects the call path with the doorphone 11 and terminates the call application used to make a call with the doorphone 11.
[0137] When the doorphone 11 receives a call termination request from terminal 13 sent in S17, it disconnects the communication path with terminal 13 and sends a channel release request to MQTT server 21 (S18).
[0138] Based on the channel release request from the doorphone 11, the MQTT server 21 sends a channel release request to the App server 22 (S19).
[0139] Based on the channel release request from MQTT server 21, App server 22 accesses the in-use channel TB23a and sets the release flag corresponding to doorphone 11 to "True" (S20).
[0140] Note that the order of processing S9 and S11 shown in Figure 11 may be reversed. Also, the order of processing S13 and S14 shown in Figure 11 may be reversed.
[0141] Figure 12 is a sequence diagram showing an example of the channel return operation of a door phone system. The sequence shown in Figure 12 is executed repeatedly, for example, at intervals of 5 minutes.
[0142] App server 22 accesses channel TB23a in use and retrieves a channel whose release flag is "True" and whose usage period has expired (S31).
[0143] App server 22 removes the channel acquired in S31 from the currently used channel TB23a (S32).
[0144] App server 22 adds (stores) the channel acquired in S31 to the available channel TB23b (S33). App server 22 stores the time when the acquired channel was stored in the available channel TB23b as the return time in the available channel TB23b.
[0145] Note that the order of the processes S32 and S33 shown in Figure 12 may be reversed.
[0146] <Flowchart> Figure 13 is a flowchart showing an example of the operation of the door phone 11. For example, when the door phone 11 receives a signal from the entrance unit 12 indicating that the visitor button has been pressed, it executes the process shown in Figure 13.
[0147] Note that in Figure 13, some processing has been added and omitted compared to the sequences in Figures 11 and 12. For example, in Figure 13, a request for push notification from the doorphone 11 to the App server 22 has been added in S41. Also, in Figure 13, the handling of temporary authentication information, as explained in the sequences of Figures 11 and 12, has been omitted.
[0148] The door phone 11 requests the App server 22 to send a push notification to the terminal 13 and to acquire a channel (S41).
[0149] The door phone 11 determines whether or not it was able to receive (acquire) a channel from the App server 22 (S42).
[0150] If the door phone 11 determines that it cannot obtain a channel from the App server 22 (No. in S42), it performs error processing (S43). For example, the door phone 11 displays an error image on the display 11e indicating that it could not establish a communication path with the terminal 13. After performing error processing, the door phone 11 terminates the process shown in the flowchart in Figure 13.
[0151] Meanwhile, if the door phone 11 determines that it has been able to obtain a channel from the App server 22 (Yes in S42), it connects to the destination relay server 24 using the obtained channel (S44).
[0152] After the door phone 11 connects to the destination relay server 24, it determines whether or not the terminal 13 has connected to the destination relay server 24 (S45).
[0153] If the door phone 11 determines that terminal 13 is not connected to the destination relay server 24 (No. in S45), it proceeds to S43 and performs error handling.
[0154] On the other hand, if the door phone 11 determines that terminal 13 is connected to the destination relay server 24 (Yes in S45), it sends the channel acquired in S41 to the destination relay server 24 and starts the communication path establishment sequence via the destination relay server 24 (S46).
[0155] The door phone 11 determines whether or not a communication path has been established with the terminal 13 (S47).
[0156] If the door phone 11 determines that a communication path with terminal 13 has not been established (No. in S47), it proceeds to S43 and performs error handling.
[0157] On the other hand, if the door phone 11 determines that a communication path has been established with terminal 13 (Yes in S47), it performs data communication with terminal 13 (S48).
[0158] The door phone 11 determines whether or not terminal 13 has disconnected data communication (S49).
[0159] If the door phone 11 determines that terminal 13 has not disconnected data communication (No. in S49), it proceeds to S48 and communicates data with terminal 13.
[0160] On the other hand, if the door phone 11 determines that the terminal 13 has disconnected data communication (Yes in S49), it performs the process of releasing the channel it was using (S50). For example, the door phone 11 requests the App server 22 to release the channel. Then, the door phone 11 finishes the process shown in the flowchart in Figure 13.
[0161] Figure 14 is a flowchart showing an example of the operation of the App Server 22. When the App Server 22 receives a request from the doorphone 11 to send a push notification to the terminal and to acquire a channel (see S41 in Figure 13), it executes the process shown in the flowchart of Figure 14.
[0162] Note that in Figure 14, some of the processing steps in the sequences of Figures 11 and 12 are omitted. For example, in Figure 14, the process of generating temporary authentication information and setting the release flag to "False" are omitted.
[0163] The App server 22 obtains a channel from the currently used channel TB23a that corresponds to the same ID as the doorphone 11 that requested push transmission and channel acquisition (S71), and determines whether or not a channel was obtained from the currently used channel TB23a (S72).
[0164] If App Server 22 is able to obtain a channel from the currently used channel TB23a (Yes in S72), it proceeds to S76 and sends the channel obtained from the currently used channel TB23a to Doorphone 11. In other words, if Doorphone 11, which is currently assigned a channel, requests channel acquisition (acquisition request), App Server 22 sends the currently assigned channel to Doorphone 11.
[0165] On the other hand, if the App server 22 cannot obtain a channel from the in-use chTB23a (No. in S72), it obtains the most recently used channel from the available chTB23b (S73) and determines whether or not the most recently used channel was obtained from the available chTB23b (S74).
[0166] If App Server 22 is able to obtain a channel from the available channel TB23b (Yes in S74), it proceeds to S76 and sends the channel obtained from the available channel TB23b to Doorphone 11.
[0167] On the other hand, if the App server 22 cannot obtain a channel from the available channel TB23b (No. in S74), it performs error processing (S75). For example, the App server 22 notifies the doorphone 11 that it could not obtain a channel.
[0168] If the App server 22 obtains a channel via S72 (Yes in S72) or if it obtains a channel via S74 (Yes in S74), it sends the obtained channel to the doorphone 11 (S76).
[0169] After sending the channel to the doorphone 11 in S76, the App server 22 requests the push server 31 to send a push notification to the terminal 13 (S77). At this time, the App server 22 requests the push server 31 to include the channel obtained from the in-use channel TB23a (S71, S72) or the channel obtained from the free channel TB23b (S73, S74) in the push notification.
[0170] After error handling is performed in S75, or after a push notification is sent to the terminal 13 in S77, the App server 22 determines whether or not a channel release request has been received from the doorphone 11 (S78).
[0171] If the App server 22 determines that there is no channel release request from the doorphone 11 (S78 No.), it repeats the process of S78.
[0172] Meanwhile, if the App server 22 determines that there is a channel release request from the doorphone 11 (Yes in S78), it sets the channel release flag for the currently used chTB23a to "True" (S79). Then, the doorphone 11 terminates the process shown in the flowchart in Figure 14.
[0173] Note that the order of processing S76 and S77 shown in Figure 14 may be reversed.
[0174] Figure 15 is a flowchart illustrating an example of the operation of the App Server 22. The App Server 22 executes the processes shown in the flowchart in Figure 15 at regular intervals, such as every 5 minutes.
[0175] The App server 22 refers to the channel TB23a in use, retrieves a channel whose release flag is "True" and whose usage period has expired (S81), and determines whether the channel could be retrieved from the channel TB23a in use (S82).
[0176] If App Server 22 cannot obtain a channel from the currently used chTB23a (No. in S82), it terminates the processing of the flowchart.
[0177] On the other hand, if App server 22 is able to obtain a channel from the currently used channel TB23a (Yes in S82), it deletes the obtained channel from the currently used channel TB23a (S83).
[0178] The App server 22 deletes the channel acquired from the currently used channel TB23a from channel TB23a, and then stores the channel acquired from channel TB23a in the available channel TB23b (S84).
[0179] Note that the order of processing S83 and S84 shown in Figure 15 may be reversed.
[0180] Figure 16 is a flowchart showing an example of the operation of terminal 13. When terminal 13 receives a push notification from doorphone 11 (see S41 in Figure 13), it executes the process shown in the flowchart in Figure 16.
[0181] Note that in Figure 16, some of the processing in the sequences of Figures 11 and 12 is omitted. For example, in Figure 16, the handling of temporary authentication information is omitted.
[0182] Terminal 13 accepts, for example, a tap operation from the user on a push notification displayed on the display 13e (S91).
[0183] When terminal 13 receives a tap operation from the user in response to a push notification, it launches a calling application for making a call with the doorphone 11 (S92). Terminal 13 operates based on the launched calling application.
[0184] Note that the processing in S91 may be omitted. For example, if terminal 13 receives a push notification from doorphone 11, it may launch the calling application without accepting a tap operation from the user.
[0185] Terminal 13 obtains the channel included in the push notification, connects to the destination relay server 24 (S93), and determines whether or not it was able to connect to the destination relay server 24 (S94).
[0186] If terminal 13 cannot connect to the destination relay server 24 (No. in S94), it performs error handling (S95). For example, terminal 13 displays on display 13e that it cannot communicate with doorphone 11.
[0187] On the other hand, if terminal 13 is able to connect to the destination relay server 24 (Yes in S94), it determines whether or not the door phone 11 is connected to the destination relay server 24 (S96).
[0188] If terminal 13 determines that the door phone 11 is not connected to the destination relay server 24 (S96 No.), it repeats the process of S96.
[0189] On the other hand, if terminal 13 determines that doorphone 11 is connected to the destination relay server 24 (Yes in S96), it sends the channel included in the push notification to the destination relay server 24 and starts the communication path establishment sequence via the destination relay server 24 (S97).
[0190] Terminal 13 determines whether or not a communication path has been established with the door phone 11 (S98).
[0191] If terminal 13 determines that a communication path with doorphone 11 has not been established (No. in S98), it proceeds to S95 and executes error handling.
[0192] On the other hand, if terminal 13 determines that a communication path has been established with door phone 11 (Yes in S98), it performs data communication with door phone 11 (S99).
[0193] Terminal 13 determines whether the calling application has been terminated (S100). For example, terminal 13 determines whether it has received a request from the user to terminate the calling application.
[0194] If terminal 13 determines that the call application has not been terminated (No. in S100), it proceeds to S99 and communicates data with doorphone 11.
[0195] On the other hand, if terminal 13 determines that the call application has ended (Yes in S100), it performs a process to disconnect the communication path with doorphone 11 (S101). For example, if terminal 13 receives a request from the user to terminate the call application (Yes in S100), it performs a process to disconnect the communication path with doorphone 11.
[0196] Terminal 13 disconnects the communication path with the doorphone 11 and then terminates the call application (S102). Then, terminal 13 terminates the process shown in the flowchart in Figure 16.
[0197] <Summary of the first embodiment> As explained above, the active channel TB23a and the available channel TB23b of the information processing system A3a manage multiple channels. Based on the channel allocation request (acquisition request) from the door phone 11 (see S2 and S3 in Figure 10), the App server 22 of the information processing system A3a acquires the channel that was most recently used from the available channel TB23b (see S6 in Figure 10), and transmits the acquired channel to the door phone 11 and the terminal 13 associated with the door phone 11 (see S9 to S12 in Figure 11). The destination relay server 24 of the information processing system A3a establishes a P2P communication path between the door phone 11 and the terminal 13 based on whether the channel transmitted from the door phone 11 (see S13 in Figure 11) and the channel transmitted from the terminal 13 (see S14 in Figure 11) match (see S15 in Figure 11).
[0198] This action allows doorphone operators using the service provider's information processing system A3a to reduce the charges they are billed.
[0199] For example, according to the above operation, the channel that another door phone was most recently using is assigned to door phone 11, making it possible to reuse the same channel. As a result, the number of channel types used by door phones is reduced, and the charges incurred are reduced.
[0200] Furthermore, the information processing system A3a manages multiple channels and establishes a P2P communication path between two devices based on whether the channels transmitted from the two devices match. The communication unit 11c of the doorphone 11 communicates with the information processing system A3a. The control unit 11a of the doorphone 11 requests channel assignment from the App server 22 of the information processing system A3a (see S2, S3 in Figure 10). In response to the assignment request, the communication unit 11c of the doorphone 11 receives the most recently used channel from the App server 22 of the information processing system A3a (see S9, S10 in Figure 11) and transmits the received channel to the destination relay server 24 of the information processing system A3a (see S13 in Figure 11).
[0201] This action allows doorphone operators using the service provider's information processing system A3a to reduce the charges they are billed.
[0202] Furthermore, the communication unit 13c of terminal 13 receives a channel assignment request from the information processing system A3a when the doorphone 11 requests it (see, for example, S2 and S3 in Figure 10), and based on that request, receives the most recently used channel transmitted from the information processing system A3a (see S11 and S12 in Figure 11). The communication unit 13c of terminal 13 transmits the received channel to the relay server 24 to which the information processing system A3a is connected.
[0203] This operation allows doorphone operators using the service provider's information processing system A3a to reduce the charges they incur.
[0204] <Second Embodiment> In the first embodiment, an example was described in which the system operates when the call button on the entrance unit 12 is pressed by a visitor. In the second embodiment, the operation in which the terminal 13 calls the doorphone 11 and establishes a communication path is described. The configuration example of the doorphone system in the second embodiment is the same as in Figure 3.
[0205] <Sequence> Figures 17 and 18 are sequence diagrams showing an example of operation of the door phone system according to the second embodiment. The sequence shown in Figure 18 follows the sequence shown in Figure 17.
[0206] Terminal 13, for example, launches a call application to communicate with the doorphone 11 in response to user operation. Terminal 13 (call application), for example, sends a channel acquisition request to the MQTT server 21 in response to the user's operation to initiate communication with the doorphone 11 (S111). The channel acquisition request can also be considered as a connection request from the terminal to the doorphone.
[0207] Based on the channel acquisition request from terminal 13, MQTT server 21 sends a channel acquisition request to doorphone 11 (S112).
[0208] The door phone 11 sends a channel acquisition request to the MQTT server 21 based on the channel acquisition request from the MQTT server 21 (S113).
[0209] Based on the channel acquisition request from the doorphone 11, the MQTT server 21 sends a channel acquisition request to the App server 22 (S114).
[0210] In other words, when terminal 13 initiates a call to doorphone 11, terminal 13 sends a channel acquisition request to doorphone 11 via MQTT server 21, and doorphone 11 then makes a channel acquisition request to App server 22.
[0211] The processes from S115 to S119 are the same as those from S4 to S8 as explained in Figure 10, so their explanation will be omitted.
[0212] App server 22 returns (sends) to MQTT server 21 the channel obtained from the in-use channel TB23a in S116, or the channel obtained from the available channel TB23b in S117, along with the temporary authentication information generated in S119 (S120).
[0213] When the MQTT server 21 receives the channel and temporary authentication information from the App server 22, it sends a channel acquisition response to the doorphone 11 (S121). The channel acquisition response includes the channel received from the App server 22 and the temporary authentication information.
[0214] When the door phone 11 receives a channel and temporary authentication information from the MQTT server 21, it sends the received channel and temporary authentication information to the MQTT server 21 (S122).
[0215] The MQTT server 21 sends the channel and temporary authentication information received from the doorphone 11 to the terminal 13 (S123).
[0216] In other words, when terminal 13 initiates a call to doorphone 11, the calling application is already running on terminal 13. Therefore, the channel and temporary authentication information are not sent to terminal 13 using push notifications from push server 31, but rather sent via MQTT server 21.
[0217] The door phone 11 sends the channel and temporary authentication information received in S121 to the destination relay server 24 and requests a communication path establishment sequence (S124).
[0218] Terminal 13 sends the channel and temporary authentication information received in S123 to the destination relay server 24 and requests a communication channel establishment sequence (S125).
[0219] Based on the request for a communication path establishment sequence from the door phone 11 (S124) and the request for a communication path establishment sequence from the terminal 13 (S125), the destination relay server 24 establishes a P2P communication path between the door phone 11 and the terminal 13 (S126).
[0220] When the door phone 11 and terminal 13 establish a communication path via the connected relay server 24, they use the established communication path to communicate control commands or media data (S127). In addition, the entrance unit 12 and terminal 13 communicate voice data or media data via the door phone 11 and the established communication path.
[0221] Terminal 13 performs a disconnection process to end the call with the doorphone 11 (S128). For example, when terminal 13 receives a call termination request from the operator, it sends a call termination request to the doorphone 11. Then, terminal 13 disconnects the call path with the doorphone 11 and terminates the call application used to make a call with the doorphone 11.
[0222] When the doorphone 11 receives a call termination request from terminal 13 transmitted in S128, it disconnects the communication path with terminal 13 and sends a channel release request to MQTT server 21 (S129).
[0223] Based on the channel release request from the doorphone 11, the MQTT server 21 sends a channel release request to the App server 22 (S130).
[0224] Based on the channel release request from MQTT server 21, App server 22 accesses the in-use channel TB23a and sets the release flag corresponding to doorphone 11 to "True" (S131).
[0225] Note that the order of processing S124 and S125 shown in Figure 18 may be reversed.
[0226] <Summary of the second embodiment> As explained above, the MQTT server 21 of the information processing system A3a receives a connection request (channel acquisition request) from terminal 13 to doorphone 11 (see S111 in Figure 17) and sends the received connection request to doorphone 11 (see S112 in Figure 17). The App server 22 of the information processing system A3a receives a channel assignment request (channel acquisition request) from doorphone 11, which has received the connection request (see S113, 114 in Figure 17).
[0227] This action allows the door phone 11 to be called from terminal 13.
[0228] For example, when the doorphone 11 receives a connection request from terminal 13, it requests channel assignment from the App server 22, similar to the first embodiment, and the channel that was most recently used is sent from the App server 22 to the doorphone 11 and terminal 13. The doorphone 11 and terminal 13 send the channel they received from the App server 22 to the destination relay server 24, and if the channels sent by the doorphone 11 and terminal 13 match, the destination relay server 24 establishes a P2P communication path between the doorphone 11 and terminal 13. This operation allows terminal 13 to call the doorphone 11.
[0229] <Examples of variations, etc.> The above assumes that App Server 22 retrieves the most recently used channel, but it is not limited to this. For example, App Server 22 may retrieve channels that were used within a certain period in the past (going back to a certain point in time from the present). For example, App Server 22 may retrieve channels that were used during a period in which billing is based on the number of channel types used, such as one month.
[0230] Specifically, Channel A, Channel B, and Channel C are defined as channels that have been used retrospectively from the present to a certain point in time (for example, the most recent billing date in the past). Channel A is the channel that was used most recently, Channel B is the channel that was used before Channel A, and Channel C is the channel that was used before Channel B. In this case, App Server 22 may retrieve Channel A, which was used most recently, or it may retrieve Channel B or Channel C.
[0231] Furthermore, although the service provider states that it will provide a fully managed service, it may also provide a managed service. Also, the functions of each server shown in Figure 3 may be implemented by four or more servers, or by two or fewer servers. For example, the functions of App Server 22 may be implemented by two or more servers. For example, the functions of App Server 22 and Storage Server 23 may be implemented by one server. Also, the used chTB23a and free chTB23b may be configured in a single table. Also, the functions of App Server 22 and the connected relay server 24 may be implemented by one server.
[0232] Furthermore, "channel" may be read as a channel identifier or channel name. "Communication path" may be read as a communication route. "Service provider" may be read as an external provider. "Information processing system" may be read as a network system or server system. "Door phone 11" may be read as a door phone master unit, entrance master unit, intercom master unit, intercom master unit, in-house intercom, in-house intercom, or master unit. "Entrance sub-unit 12" may be read as a door phone sub-unit, intercom sub-unit, intercom sub-unit, outside intercom, outside intercom, or sub-unit.
[0233] While embodiments have been described above with reference to the drawings, this disclosure is not limited to such examples. It will be apparent to those skilled in the art that various modifications or alterations can be conceived within the scope of the claims. Such modifications or alterations are also understood to fall within the technical scope of this disclosure. Furthermore, the components in the embodiments may be combined in any way without departing from the spirit of this disclosure.
[0234] In the above-described embodiment, the notation "...part" used for each component may be replaced with other notations such as "...circuitry," "...assembly," "...device," "...unit," or "...module." The communication unit may consist of a receiving unit and a transmitting unit.
[0235] This disclosure can be implemented in software, hardware, or software in conjunction with hardware. Each functional block used in the description of the above embodiments may be implemented in part or in whole as an integrated circuit (LSI), and each process described in the above embodiments may be controlled in part or in whole by a single LSI or a combination of LSIs. An LSI may consist of individual chips, or it may consist of a single chip that includes some or all of the functional blocks. An LSI may have data inputs and outputs. Depending on the degree of integration, LSIs may be referred to as ICs, system LSIs, super LSIs, or ultra LSIs.
[0236] The method of integrated circuit implementation is not limited to LSIs; it may also be implemented using dedicated circuits, general-purpose processors, or dedicated processors. Furthermore, FPGAs (Field Programmable Gate Arrays) that can be programmed after LSI manufacturing, or reconfigurable processors that allow for the reconfiguration of the connections and settings of circuit cells within the LSI, may also be used. This disclosure may be implemented as digital or analog processing.
[0237] Furthermore, if advancements in semiconductor technology or other derived technologies lead to the emergence of integrated circuit technologies that replace LSIs, then naturally, it would be possible to use those technologies to integrate functional blocks. The application of biotechnology, for example, is a possibility. [Industrial applicability]
[0238] This disclosure is useful for systems that establish a communication path between a door phone and a terminal. [Explanation of symbols]
[0239] 11 Doorbell 12 Door station 13 devices 21 MQTT Server 22 App Servers 23 Storage Servers 23a Channel in use TB 23b Unavailable Channel TB 24. Destination relay server A3a Information Processing System 31 Push Server
Claims
1. The first information processing device, Based on the channel assignment request from the door phone, retrieve the channel identifier that was used within a certain period in the past. The acquired channel identifier is transmitted to the door phone and the terminal associated with the door phone. The second information processing device, When the channel identifier transmitted from the door phone matches the channel identifier transmitted from the terminal, a peer-to-peer (P2P) communication path is established between the door phone and the terminal. Method for establishing a communication channel.
2. The first information processing device, When a channel assignment request is received from a door phone that does not have a channel identifier assigned, and a channel identifier that has been used within a certain period in the past is assigned, an expiration date is set for the channel identifier. The method for establishing a communication channel according to claim 1.
3. The first information processing device, When disconnecting the communication path in response to a request from the terminal, the channel identifier assigned to the doorphone is released after the expiration of the expiration period. The method for establishing a communication channel according to claim 2.
4. The first information processing device, When a channel assignment request is received from a doorphone that has a channel identifier assigned to it, the doorphone retransmits the channel identifier that has been assigned to it. The method for establishing a communication channel according to claim 1.
5. The first information processing device, If the channel identifier currently assigned to the door phone is retransmitted, the expiration date of the channel identifier currently assigned to the door phone is extended. The method for establishing a communication channel according to claim 4.
6. The first information processing device, When disconnecting the communication path in response to a request from the terminal, the channel identifier currently assigned to the doorphone is released after the expiration of the expiration period. The method for establishing a communication channel according to claim 5.
7. The first information processing device, Based on the receipt of the channel assignment request, authentication information is generated. The generated authentication information is transmitted to the doorphone that made the channel assignment request and to the terminal associated with the doorphone. The second information processing device, If the authentication information transmitted from the door phone and the authentication information transmitted from the terminal are both appropriate, a P2P communication path is established between the door phone and the terminal. The method for establishing a communication channel according to claim 1.
8. The third information processing device, The terminal receives a connection request to the doorphone. The aforementioned connection request is sent to the door phone. The first information processing device, The doorphone that received the connection request receives the channel assignment request. The method for establishing a communication channel according to claim 1.
9. In the first information processing device, Based on the channel assignment request from the door phone, retrieve the channel identifier that was used within a certain period in the past. The acquired channel identifier is transmitted to the door phone and the terminal associated with the door phone. In the second information processing device, When the channel identifier transmitted from the door phone matches the channel identifier transmitted from the terminal, a P2P communication path is established between the door phone and the terminal. A communication channel establishment program that initiates processing.
10. A control unit that requests channel allocation from the first information processing device, A communication unit that communicates with a second information processing device that establishes a P2P communication path between two devices when the channel identifiers transmitted from the two devices match, Equipped with, The communication unit, in response to the request, receives a channel identifier that was used within a certain period in the past from the first information processing device, and transmits the received channel identifier to the second information processing device. Doorbell.
11. A door phone requests a channel assignment from a first information processing device that manages channel identifiers used within a certain period in the past, and a receiving unit receives the channel identifiers used within a certain period in the past transmitted from the first information processing device based on the request. A transmitting unit transmits the received channel identifier to a second information processing device that establishes a P2P communication path between two devices when the channel identifiers transmitted from the two devices match. A terminal.