This patent application is based on and claims priority pursuant to 35 U.S.C. §119(a) to Japanese Patent Application No. 2015-193433, filed on Sep. 30, 2015, in the Japan Patent Office, the entire disclosure of which is hereby incorporated by reference herein.
Technical Field
Embodiments of the present invention relate to a management system, a communication system, and a transmission control method.
Background Art
In recent years, communication systems for performing phone conversation or video conference through the communication network such as the Internet or private lines are widely used due to increasing demands for reduction in cost and time. When communication among a plurality of communication terminals is started, such communication systems exchange contents of data such as image data and audio data with each other. Accordingly, the communication among the participants who use the communication terminals is realized. Moreover, as a method of sending contents of data from one communication terminal to some other communication terminals, the publish-subscribe model is known in the art (hereinafter, the publish-subscribe model may be referred to simply as “pub/sub model”).
For example, a remote monitoring system that operates with a first data processing system and a second data processing system is known in the art. Such a remote monitoring system stores the log data, which is generated by an application program, in the memory of the first data processing system that stores the application program. Subsequently, the remote monitoring system captures the newly stored log data, which is to be processed by a publisher program that is executed in the first data processing system, and repeatedly sends the captured log data to the second data processing system as a series of publication. Note also that the second data processing system is provided that a publish/subscribe and matching engine.
Embodiments of the present invention described herein provide a management system, a communication system, and a transmission control method. The management system includes a receiver to receive information of a predetermined attribute, circuitry to determine whether the predetermined attribute is associated with a client, and a transmitter to send the information received by the receiver to a communication terminal that is authenticated by a client when the predetermined attribute is associated with the client. The communication system includes an authentication system and the management system. The authentication system includes an acceptance unit to accept an authentication request from a client, and an authentication processing unit to authenticate the client. In the communication system, the authentication system and the management system communicate with each other through a communication network. The transmission control method includes accepting an authentication request from a client, authenticating the client, receiving information of a predetermined attribute; and controlling the information received by the receiving to be sent to a communication terminal that is authenticated with a client by the authenticating when the predetermined attribute is associated with the client.
A more complete appreciation of exemplary embodiments and the many attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings.
The accompanying drawings are intended to depict exemplary embodiments of the present disclosure and should not be interpreted to limit the scope thereof. The accompanying drawings are not to be considered as drawn to scale unless explicitly noted.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “includes” and/or “including”, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
In describing example embodiments shown in the drawings, specific terminology is employed for the sake of clarity. However, the present disclosure is not intended to be limited to the specific terminology so selected and it is to be understood that each specific element includes all technical equivalents that have the same structure, operate in a similar manner, and achieve a similar result.
In the following description, an embodiment of the present invention is described with reference to the drawings.
<<Schematic Configuration of Communication System>>
The management system 50 is a server that receives a message publication request and a message subscription request from clients in the publish-subscribe model. Such message publication requests and message subscription requests are used to exchange messages among clients. The publish-subscribe model may be referred to simply as a pub/sub model, and publication and subscription may be referred to simply as pub and sub, respectively. As a protocol compatible with the pub/sub model, for example, the management system 50 may be provided with a pub/sub extension (XEP-0060) of Message Queue Telemetry Transport (MQTT) or Extensible Messaging and Presence Protocol (XMPP).
The communication terminal 10 may be, for example, a general-purpose communication terminal, and may be installed with a desired client application. Alternatively, the communication terminal 10 may be, for example, a communication terminal that is designed for exclusive use, and may be installed with a specific client application that serves as a client. The communication terminal 10 is connected to the management system 50 through a communication network 2. Accordingly, the clients of the communication terminal 10 can request message pub and message sub from the management system 50. The communication terminal 10 may be, for example, a television conference terminal, an electronic whiteboard, a digital signage, a telephone, a tablet personal computer (PC), a smartphone, a camera, and a PC.
The authentication server 40 is a server that authenticates a client, which is a client application operating on the communication terminal 10, and a user who uses that client, respectively, to authorize the use of the management system 50. In order to implement such authentication and authorization as above, the management system 50 is provided with an authenticating or authorizing protocol such as OAuth 2.0 or OpenID Connect.
For the purpose of simplification, cases in which each of the management system 50 and the authentication server 40 is a single device are described as above with reference to
<<Hardware Configuration>>
Next, the hardware configuration of each element of the communication system 1 is described.
Moreover, the communication terminal 10 includes a built-in camera 112 that captures a subject under the control of the CPU 101 to obtain the image data of the subject, an imaging device interface (I/F) 113 that controls the operation of the camera 112, a built-in microphone 114 that receives audio, a built-in loudspeaker 115 that outputs sound, an audio input and output (input/output) interface (I/F) 116 that controls the input and output of an audio signal between the microphone 114 and the loudspeaker 115 under the control of the CPU 101, a display interface 117 that transmits the image data to an external display 120 under the control of the CPU 101, an external device connection interface (I/F) 118 that connects the communication terminal 10 to various kinds of external devices, an alarm lamp 119 that provides notification of various kinds of functional abnormalities detected in the communication terminal 10, and a bus line 110 such as an address bus or a data bus that electrically connects various elements as above to each other as illustrated in
The display 120 may be a liquid crystal or organic electroluminescence (EL) display that displays an image of a subject, an operation icon, or the like. The display 120 is connected to the display interface 117 via a cable 120c. The cable 120c may be an analog red green blue (RGB) (video graphic array (VGA)) signal cable, a component video cable, a high-definition multimedia interface (HDMI, registered trademark) signal cable, or a digital video interactive (DVI) signal cable.
The camera 112 includes a lens and a solid-state image sensing device that converts an image (video) of a subject into electronic data by converting light to electric charge. As the solid-state image sensing device, for example, a complementary metal-oxide-semiconductor (CMOS) or a charge-coupled device (CCD) is used.
To the external device connection interface 118, an external device such as an external camera, an external microphone, and an external loudspeaker can be electrically connected, through a Universal Serial Bus (USB) cable or the like that is inserted into a connection port of the housing of the communication terminal 10. In cases where an external camera is connected, the external camera is driven on a priority basis and the built-in camera 112 is not driven under the control of the CPU 101. In a similar manner to the above, in the case where an external microphone is connected or an external loudspeaker is connected, the external microphone or the external loudspeaker is driven under the control of the CPU 101 on a top-priority basis over the built-in microphone 114 or the built-in loudspeaker 115.
The recording medium 106 is removable from the communication terminal 10. In addition, a nonvolatile memory that reads or writes data under the control of the CPU 101 is not limited to the flash memory 104, and, for example, an electrically erasable and programmable read-only memory (EEPROM) may be used instead.
Note that the hardware configuration of the authentication server 40 illustrated in
<Software Configuration of Communication Terminal>
The OS 1020 is basic software that controls entire operation of the communication terminal 10 through providing basic functions. The client applications 1031 and 1032 request the authentication server 40 to perform authentication, and sends at least one of a pub request and a sub request to the management system 50.
In
<Functional Configuration>
Next, the functional configuration according to the present embodiment is described.
<Functional Configuration of Communication Terminal>
The communication terminal 10 includes a data transmitter and receiver 11, an operation acceptance unit 12, a display controller 13, an authentication request sender 14, a publication (pub)-request sender 15, a subscription (sub)-request sender 16, and a data processor 19. These elements are functions that are implemented by the operation of some of the hardware components illustrated in
<Detailed Functional Configuration of Communication Terminal>
Next, the functional configuration of the communication terminal 10 is described in detail with reference to
The data transmitter and receiver 11 is implemented by the instructions from the CPU 101 and the network interface Ill, each of which is illustrated in
The acceptance unit 12 is implemented by the instructions from the CPU 101, the operation key 108, and the power switch 109, and receives various kinds of input or selection.
The display controller 13 is substantially implemented by the instructions from the CPU 101 illustrated in
The authentication request sender 14 is implemented by the instructions according to the client applications from the CPU 101 illustrated in
The pub-request sender 15 is implemented by the instructions according to the client applications from the CPU 101 illustrated in
The sub-request sender 16 is implemented by the instructions according to the client applications from the CPU 101 illustrated in
The data processor 19 is substantially implemented by the instructions from the CPU 101 and the SSD 105, each of which is illustrated in
<Functional Configuration of Authentication Server>
As illustrated in
<User Management Table>
<Client Management Table>
A chat application illustrated in
<Service Management Table>
<Service Authorization Management Table>
<Detailed Functional Configuration of Authentication Server>
The data transmitter and receiver 41 is implemented by the instructions from the CPU 501 and the network interface 509, each of which is illustrated in
The user authenticator 42 is implemented by the instructions from the CPU 501 illustrated in
The client authenticator 43 is implemented by the instructions from the CPU 501 illustrated in
The authorization unit 44 is implemented by the instructions from the CPU 501 illustrated in
The token issuing unit 45 is implemented by the instructions from the CPU 501 illustrated in
The data processor 49 is substantially implemented by the instructions from the CPU 501 and the HDD 505, each of which is illustrated in
<Functional Configuration of Management System>
The management system 50 includes a data transmitter and receiver 51, a token checker 52, a pub acceptance unit 53, a sub acceptance unit 54, and a data processor 59. These units are functions implemented by or caused to function by operating some of the elements illustrated in
<Topic Management Table>
<Client Authorization Management Table>
The client authorization management table in
A server such as the management system 50 that brokers a message from a client in the pub/sub model is referred to as a broker. For example, when the log management application and the chat application access a broker in the related art, the broker sends a message on a topic for the log management application to the chat application, or the broker sends a message on a topic for the chat application to the log management application. For this reason, a broker has to be provided for each client in the related art, and thus the extensibility was low. By contrast, the management system 50 according to the present embodiment is provided with the client authorization management table. Thus, even when a plurality of clients are connected to the management system 50, the management system 50 can send an appropriate message to each of the clients.
<User Authorization Management Table>
<Session Management Table>
<Detailed Functional Configuration of Management System>
Next, the functional configuration of the management system 50 is described in detail. In the following description of the functional configuration of the management system 50, the relation between the hardware configuration of
The data transmitter and receiver 51 is implemented by the instructions from the CPU 501 and the network interface 509, each of which is illustrated in
The token checker 52 is implemented by the instructions from the CPU 501 illustrated in
The pub acceptance unit 53 is implemented by the instructions from the CPU 501 illustrated in
The sub acceptance unit 54 is implemented by the instructions from the CPU 501 illustrated in
The data processor 59 is substantially implemented by the instructions from the CPU 501 and the HDD 505, each of which is illustrated in
<Operation>
Next, the operation of the communication terminal 10, the authentication server 40, and the management system 50 that together configure the communication system 1 is described. Firstly, the authentication processes according to the present embodiment are described with reference to
Once a desired client application that is installed in the communication terminal 10 is activated (step S21), the functional units that correspond to the activated client application start the following processes. The client application of the communication terminal 10 obtains user ID and a user password (step S22). No limitation is intended, but the obtaining method may be, for example, a method in which the operation acceptance unit 12 accepts an input of user ID and a password, and a method in which the data processor 19 reads user ID and a password that are stored in advance in the memory 1000.
The authentication request sender 14 of the communication terminal 10 sends an authentication/authorization request to the authentication server 40 through the data transmitter and receiver 11 (step S23). The authentication/authorization request includes a request to authenticate a user, a request to authenticate a client, and a request to authorize the use of service. The authentication request that is sent to the management system 50 includes the user ID and the user password obtained by the communication terminal 10, client ID and a client password of the activated client application, and service ID that serves as a scope indicating the service to be used. The client ID and the client password may be stored in advance in the memory 1000 and be read by the data processor 19. In the following description, cases in which the service ID included in the authentication request is “S01” that indicates the management system 50 are described.
The data transmitter and receiver 41 of the authentication server 40 receives an authentication request sent from the communication terminal 10. The user authenticator 42 of the authentication server 40 authenticates a user depending on whether or not a pair of the user ID and the user password included in the authentication request is stored in the user management table (see
The client authenticator 43 of the authentication server 40 authenticates a client depending on whether or not a pair of the client ID and the client password included in the authentication request is stored in the client management table (see
The authorization unit 44 of the authentication server 40 authorizes a requesting client to access the service depending on whether or not a pair of the client ID and the service ID included in the authentication request is stored in the service authorization management table (see
When there is a failure in at least one of the user authentication, the client authentication, and the service authorization, the data transmitter and receiver 41 sends an error message indicating a failure in authentication or authorization to the request sender communication terminal 10.
When all the user authentication, the client authentication, and the service authorization are successful, the token issuing unit 45 of the authentication server 40 issues an authorizing token that indicates that the request sender communication terminal 10 can access the management system 50 (step S27). The authorizing token includes the user name, the client name, the service name that uses this authorizing token, the expiration date, or the like.
In the communication system 1, authentication and authorization can be performed with a protocol such as the OAuth 2.0 and the OpenID Connect. In such cases, a method of exchanging the authentication information such as user ID and a user password and the contents of the authorizing token are determined by the specification of a protocol such as the OAuth 2.0 and the OpenID Connect. In this configuration, the token may be a JSON Web Token (JWT). In order to ensure that the authorizing token is not tampered in the path, the token issuing unit 45 may digitally sign the authorizing token using a secret key. The secret key may be implemented using the RSA (Rivest, Shamir, and Adleman) cryptosystem. Note also that the digital signature may be implemented using a public key cryptography such as the hash-based message authentication code (HMAC). The management system 50 that uses the authorizing token checks the digital signature using a public key or a secret key depending on whether the authorizing token is digitally signed using a secret key or a public key. The digital signature may be implemented using a known standard, for example, the JSON Web Signature (JWS). The authorizing token may be encoded by using, for example, the JSON Web Encryption (JWE), where appropriate.
The data transmitter and receiver 41 incorporates the issued authorizing token into the authentication result, and sends the authentication result to the communication terminal 10. The data transmitter and receiver 11 of the communication terminal 10 receives from the authentication server the authentication result that includes the authorizing token. Subsequently, the data transmitter and receiver 11 of the communication terminal 10 sends the received authorizing token to the management system 50 to request login (step S28).
The data transmitter and receiver 51 of the communication management system 50 receives the login request sent from the communication terminal 10. The token checker 52 of the management system 50 checks an authorizing token included in the login request (step S29). In this case, the token checker 52 analyzes the authorizing token that is included in the login request according to the standard adopted in the communication system 1. The token checker 52 may determine whether the digital signature that is made by the authentication server is appropriate based on the result of the analysis. When the digital signature that is made by the authentication server is determined to be inappropriate, the token checker 523 determines that the authorizing token included in the login request has been tampered, and fails to authorize the login request.
Subsequently, the token checker 52 checks the expiration date included in the authorizing token to determine whether or not the expiration date of the authorizing token has expired. When the expiration date of the authorizing token is determined to have expired, the token checker 52 fails to authorize the login request due to the expiration of the authorizing token.
Subsequently, the token checker 52 checks whether or not the authorizing token includes the service name that corresponds to the management system 50. When the authorizing token is determined not to include the service name that corresponds to the management system 50, the token checker 52 fails to authorize the login request.
When the token checker 52 fails to authorize the login request due to the check processes of any one of the digital signature, expiration date, and the service name of the authorizing token, the data transmitter and receiver 51 sends to the communication terminal 10 authorization result information indicating that the authorization ended in failure. When the token checker 52 determines that the digital signature, expiration date, and the service name of the authorizing token are all valid, the use of the service by the user and the client specified in the authorizing token is authorized. Once the user and the client are authorized, the management system 50 establishes a session with the communication terminal 10 (step S30). In such cases, the management system 50 sends to the communication terminal 10 authorization result information indicating that the authorization was successful.
Once the session is established, the management system 50 stores in the memory 1000 the user name of the client, the client name, the IP address of the client, or the like included in the authorizing token in association with each other. Due to this configuration, the management system 50 can figure out the user name of the client (of the request sender) and the client name, without the client's sending the user name and the client name to the management system 50 every time the client sends data to the management system 50.
The processes in the steps S21 to S30 as above are performed for each of the client applications activated in the communication terminal 10. For example, the client applications such as the chat application and the log management application may use a shared user password or user ID to send an authentication request to the authentication server 40. When the management system 50 has successfully authenticated the client applications, a plurality of sessions are simultaneously established between the management system 50 and the client applications, respectively.
Next, the processes in which a message is published and subscribed to among the multiple communication terminals 10 are described with reference to
The following processes are to be performed after the management system 50 has successfully authenticated the user “a” and the client application “chat application” and the authentication result information is sent from the management system 50 to the communication terminal 10a. The sub-request sender 16 of the communication terminal 10a sends a sub request to the management system 50 in order for the user “a” to receive a message written in a bulletin board and a message addressed to the communication terminal 10a (step S41). The sub request includes the topic name “bulletin_board” related to a bulletin board and the topic name “message_to/a” related to a message addressed to the user “a”.
The data transmitter and receiver 51 of the communication management system 50 receives the sub request sent by the chat application of the communication terminal 10a. The sub acceptance unit 54 of the management system 50 determines whether or not the chat application of the communication terminal 10a has the authority to be subscribed to a message related to the sub request (step S42). With reference to
Firstly, the sub acceptance unit 54 determines whether or not each topic name included in the sub request is stored in the topic management table (see
When it is determined that the topic name included in the sub request is stored in the topic management table (“YES” in the step S42-1), the sub acceptance unit 54 determines, for each topic name included in sub request, whether or not a group of the topic ID, the client name of the sub-request sender, and the authorization information “sub” is stored in the client authorization management table (step S42-2). Note that the authorization information “sub” indicates the presence of sub authorization. In regard to the topic name “bulletin_board” included in sub request, sub acceptance unit 54 determines that the group of the topic ID “T02” of “bulletin_board”, the client name “chat application” of the pub-request sender, and the authorization information “sub” indicating the presence of sub authorization is stored in the client authorization management table (“YES” in the step S42-2). In regard to the topic name “message_to/a” included in sub request, sub acceptance unit 54 determines that the group of the topic ID “T03” of “message_to/a”, the client name “chat application” of the pub-request sender, and the authorization information “sub” indicating the presence of sub authorization is not stored in the client authorization management table (“NO” in the step S42-2). When it is determined to be “NO” in the step S42-2, the sub acceptance unit 54 determines whether or not a group of the topic ID of a topic included in the sub request, the user name of the sub-request sender, the client name of the sub-request sender, and the authorization information “sub” is stored in the user authorization management table (step S42-3). Note that the authorization information “sub” indicates the presence of sub authorization. In regard to the topic name “message_to/a” included in sub request, sub acceptance unit 54 determines that the group of the topic ID “T03” of “message_to/a”, the user name “a” of sub-request sender, the client name “chat application” of the pub-request sender, and the authorization information “sub” indicating the presence of sub authorization is stored in the user authorization management table (“YES” in the step S42-3).
When it is determined to be “NO” in the step S42-3, the sub acceptance unit 54 determines that the sub-request sender does not have the authority to subscribe to the topic specified in sub request (step S42-5).
On the other hand, when it is determined to be “YES” in the steps S42-2 or S42-3, the sub acceptance unit 54 determines that the chat application of the sub-request sender has the authority to subscribe to the topics “bulletin_board” and “message_to/a” specified in sub request (step S42-4). In this case, sub acceptance unit 54 registers the user name “a” of sub-request sender, the client name “chat application”, the topic ID “T2” and “T3” of the topics “bulletin_board” and “message_to/a” in association with the session management table (see
The data transmitter and receiver 51 of the management system 50 may transmit information about the permission or rejection of the sub request to the communication terminal 10a based on the result of the determination made in the steps S42-4 and S42-5.
The processes in the steps S41 to S43 as above are performed for each of the client applications activated in the communication terminal 10. For example, when the user “a” starts the chat application and the log management application on the communication terminal 10a, each of the chat application and the log management application can send a sub request to the management system 50. Once the sub requests from the chat application and the log management application are permitted, the client ID indicating the chat application or the log management application, and the topic ID that corresponds to the request from each of the client applications are associated with the user name in common and stored in the session management table (see
The following processes are to be performed after the management system 50 has successfully authenticated the user “b” and the client application “chat application” and the authentication result information is sent from the management system 50 to the communication terminal 10b. Once the operation acceptance unit 12 of the communication terminal 10b receives a message for bulletin board “hello” input by the user “b”, the pub-request sender 16 sends a pub request to the management system 50 (step S44). The pub request includes the topic name “bulletin_board” related to a bulletin board and the received message “helllo”.
The data transmitter and receiver 51 of the communication management system 50 receives the pub request sent by the chat application of the communication terminal 10b. The pub acceptance unit 53 of the management system 50 determines whether or not the chat application of the communication terminal 10b has the authority to publish a message on the topic related to the pub request (step S45). With reference to
Firstly, the pub acceptance unit 53 determines whether or not each topic name included in the pub request is stored in the topic management table (see
When it is determined that the topic name included in the pub request is stored in the topic management table (“YES” in the step S45-1), the pub acceptance unit 53 determines, for each topic name included in pub request, whether or not a group of the topic ID, the client name of the pub-request sender, and the authorization information “pub” is stored in the client authorization management table (step S45-2). Note that the authorization information “pub” indicates the presence of pub authorization. In regard to the topic name “bulletin_board” included in the pub request, the pub acceptance unit 53 determines that the group of the topic ID “T02” of “bulletin_board”, the client name “chat application” of the pub-request sender, and the authorization information “pub” indicating the presence of pub authorization is stored in the client authorization management table (“YES” in the step S45-2). When it is determined to be “NO” in the step S45-2, the pub acceptance unit 53 determines whether or not a group of the topic ID of a topic included in the pub request, the user name of the pub-request sender, the client name of the sub-request sender, and the authorization information “pub” indicating the presence of pub authorization is stored in the user authorization management table (step S45-3).
When it is determined to be “NO” in the step S45-3, the pub acceptance unit 53 determines that the pub-request sender does not have the authority to subscribe to the topic specified in pub request (step S45-5).
On the other hand, when it is determined to be “YES” in the steps S45-2 or S45-3, the pub acceptance unit 53 determines that the pub-request sender has the authority to subscribe to the topic “bulletin_board” specified in pub request (step S45-4).
The data transmitter and receiver 51 of the management system 50 may transmit information about the permission or rejection of the pub request to the communication terminal 10b based on the result of the determination made in the steps S45-4 and S45-5.
On the other hand, when it is determined to be “YES” in the steps S45-2 or S45-3, the pub acceptance unit 53 searches the session management table using the topic ID “T02” of “bulletin_board” included in the message that is permitted to be published as a search key, and obtains a pair of the corresponding user name and client name, i.e., (“a”, chat application) and (“b”, chat application) (step S46). Accordingly, the pub acceptance unit 53 can specify the chat application in use by the user “a” and the chat application in use by the user “b” as the destination to which a message is to be sent.
The data transmitter and receiver 51 sends the message requested to publish to which the request sender has been added, i.e., a message “hello (fromb)” to the specified destinations, i.e., the chat application in use by the user “a” of the communication terminal 10a and the chat application in use by the user “b” of the communication terminal 10b. When each of the chat application and the log management application of the communication terminal 10a is connected to the management system 50, the management system 50 uses the session with the chat application of the communication terminal 10a to send a message. Accordingly, the log management application can be prevented from receiving a message for a chat application.
The management system 50 may store a message related to the pub request in the memory 5000. By so doing, when a client that is not connected to the management system 50 at the time of pub request is later connected to the management system 50, the management system 50 can send a message stored in the memory 5000 to that client.
The processes in the steps S44 to S47-1 and S47-2 as above are performed for each of the client applications activated in the communication terminal 10b. In other words, when a client application and a user are authenticated in the management system 50, a pub request for a message can be made for every client application that the user uses.
Next, a modification of the embodiments of the present invention is described. In particular, differences in configuration from the embodiments as described above are described.
Each of the communication terminals 10c and 10d is installed with a monitoring camera application as a client application. In a similar manner to the processes in the steps S21 to S30, the monitoring camera application of each of the communication terminals 10c and 10d uses the authority of a common user “a” to send an authentication/authorization request to the authentication server 40. As a result, each of the communication terminals 10c and 10d establishes a session with the management system 50.
The communication terminal 10e is installed with a monitoring center application as a client application. In a similar manner to the processes in the steps S21 to S30, the monitoring center application of the communication terminal 10e uses the authority of the common user “a” to send an authentication/authorization request to the authentication server 40. As a result, the communication terminal 10e establishes a session with the management system 50.
In a similar manner to the processes in the steps S41 to S43, the monitoring center application of the communication terminal 10e sends a sub request for the topic “surveillance/mart” to the management system 50, and the sub request is authorized by the management system 50. In a similar manner to the processes in the step S44, the monitoring camera application of each of the communication terminals 10c and 10d sends a pub request for the topic “surveillance/mart” to the management system 50. However, the processes herein are different from those in the embodiments described above as follows. Each of the monitoring camera applications sends the image data of an image captured by the local communication terminal to the management system 50 as a message related to the topic “surveillance/mart”. The management system 50 authorizes the pub requests of the monitoring camera applications of the communication terminals 10c and 10d in a similar manner to the processes in the step S45. Further, the management system 50 specifies the destination of a message to be the monitoring center application of the communication terminal 10e that the user “a” uses, in a similar manner to the processes in the step S46. Accordingly, the management system 50 sends the message (image data) received from the monitoring camera applications of the communication terminals 10c and 10d to the monitoring center application of the communication terminal 10e, in a similar manner to the processes in the step S47-1. Note also that the monitoring camera application of each of the communication terminals 10c and 10d may send a pub request for the topic “surveillance/mart” to the management system 50 on a regular basis (for example, every 5 seconds). Accordingly, the monitoring center application of the communication terminal 10e can receive the image data of the captured images as a message at regular time intervals. Thus, the monitoring center application can achieve remote monitoring of the store 300.
Next, some effects of the above example embodiments of the present invention are described. With the transmission control method according to the embodiments described above, the data transmitter and receiver 51 of the management system 50 serves as a receiver, and receives information of a predetermined attribute. Note that the attribute indicates, for example, a topic that specifies the information to be subscribed to in a publish-subscribe model. Note also that the information specified by a topic indicates, for example, a message or image data that can be published or subscribed to in a pub/sub model. When a predetermined attribute is associated with a certain client in the client authorization management DB 5002, the pub acceptance unit 53 and the sub acceptance unit 54 of the management system 50 control the data transmitter and receiver 51 to send the information received by the data transmitter and receiver 51 to the communication terminal 10 that is authenticated by the certain client. Note that the pub acceptance unit 53 and the sub acceptance unit 54 serve as a controller, and the control performed by the pub acceptance unit 53 and the sub acceptance unit 54 is an example of a step of controlling. When a predetermined attribute is associated with both a certain account and a certain client in the user authorization management DB 5003, the pub acceptance unit 53 and the sub acceptance unit 54 (i.e., an example of a controller) of the management system 50 control the data transmitter and receiver 51 to send the information received by the data transmitter and receiver 51 to the communication terminal 10 that is authenticated by both the certain account and the certain client. Note the control performed herein by the pub acceptance unit 53 and the sub acceptance unit 54 is an example of a step of controlling. When a predetermined attribute is not associated with both a certain account and a certain client in the user authorization management DB 5003, the pub acceptance unit 53 and the sub acceptance unit 54 of the management system 50 control the data transmitter and receiver 51 not to send the information received by the data transmitter and receiver 51 to the communication terminal 10 that is authenticated by both the certain account and the certain client. Note the control performed herein by the pub acceptance unit 53 and the sub acceptance unit 54 is an example of a step of controlling. Note that an account indicates an authority to use a service, and for example, user ID may be used as an account. According to the embodiments described above, even when a plurality of clients are connected to the management system 50, appropriate information can be subscribed to on a client-by-client basis or on a client and account by client and account basis.
The client authorization management DB 5002 of the management system 50 stores identification information of the client and attribute information indicating the attribute in association with each other. Note that the client authorization management DB 5002 serves as a manager. When a certain account is associated with the attribute information indicating a predetermined attribute in the client authorization management DB 5002, the pub acceptance unit 53 and the sub acceptance unit 54 control the data transmitter and receiver 51 to send the information received by the data transmitter and receiver 51 to the communication terminal 10 that is authenticated by the certain client. The user authorization management DB 5003 of the management system 50 stores an account, client identification information, and the attribute information indicating an attribute in association with each other. When a certain account, the information identifying a certain client, and the attribute information indicating a predetermined attribute are associated with each other in the user authorization management DB 5003, the pub acceptance unit 53 and the sub acceptance unit 54 control the data transmitter and receiver 51 to send the information received by the data transmitter and receiver 51 to the communication terminal 10 that is authenticated by the certain client. As described above, in the management system 50, client identification information and an attribute are associated with each other in advance, or an account, client identification information, and the attribute information indicating an attribute are associated with each other in advance. Accordingly, the pub acceptance unit 53 and the sub acceptance unit 54 can determine whether or not to send information.
The data transmitter and receiver 41 of the authentication server 40 accepts an authentication request from a certain client and a certain account. Note that the reception performed herein is an example of a step of receiving, and the authentication server 40 and the data transmitter and receiver 41 serve as an authentication system and a receiver, respectively. The user authenticator 42 of the authentication server 40 authenticates the certain account. The client authenticator 43 of the authentication server 40 authenticates the certain account. Note that the authentication performed herein is an example of a step of authenticating, and the client authenticator 43 serves as an authentication processing unit. By so doing, when a certain account and a certain client are authenticated, the management system 50 can control specified information to be subscribed to.
The token issuing unit 45 of the authentication server 40 issues an authorizing token when the user authenticator 42 authenticates a certain account and the client authenticator 43 authenticates a certain client. Note that the token issuing unit 45 serves as an issuing unit. The management system 50 authorizes the use of service based on an authorizing token issued by the token issuing unit 45. Accordingly, the security can be ensured even when the management system 50 and the authentication server 40 are separate devices.
Further, the control programs for the communication terminal 10, the authentication server 40, and the management system 50 may be recorded in a file in a format installable or executable on a computer-readable recording medium such as the recording medium 106 for distribution. Examples of the recording medium include, but not limited to, a compact disc-recordable (CD-R), a digital versatile disk (DVD), and a Blu-ray disc.
Note also that a recording medium such as a CD-ROM storing the programs according to the example embodiment as described above or the HD 504 storing these programs may be distributed as a program product at home and abroad.
The communication terminal 10, the authentication server 40, and the management system 50 according to the embodiment as described above may be configured by a single computer or a plurality of computers to which functions or units are allocated as desired in a divided manner. Alternatively, the authentication server 40 and the management system 50 may be implemented by a single computer (one or more processors).
Numerous additional modifications and variations are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the disclosure of the present invention may be practiced otherwise than as specifically described herein. For example, elements and/or features of different illustrative embodiments may be combined with each other and/or substituted for each other within the scope of this disclosure and appended claims.
Each of the functions of the described embodiments may be implemented by one or more processing circuits or circuitry. Processing circuitry includes a programmed processor, as a processor includes circuitry. A processing circuit also includes devices such as an application specific integrated circuit (ASIC), digital signal processor (DSP), field programmable gate array (FPGA), and conventional circuit components arranged to perform the recited functions.
Number | Date | Country | Kind |
---|---|---|---|
2015-193433 | Sep 2015 | JP | national |