JP2017098780A - 管理システム、通信システム、通信制御方法、及びプログラム - Google Patents

管理システム、通信システム、通信制御方法、及びプログラム Download PDF

Info

Publication number
JP2017098780A
JP2017098780A JP2015229814A JP2015229814A JP2017098780A JP 2017098780 A JP2017098780 A JP 2017098780A JP 2015229814 A JP2015229814 A JP 2015229814A JP 2015229814 A JP2015229814 A JP 2015229814A JP 2017098780 A JP2017098780 A JP 2017098780A
Authority
JP
Japan
Prior art keywords
service
client
pub
request
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015229814A
Other languages
English (en)
Inventor
拓也 曽根田
Takuya Soneda
拓也 曽根田
直樹 梅原
Naoki Umehara
直樹 梅原
寛 日野原
Hiroshi Hinohara
寛 日野原
宮本 篤
Atsushi Miyamoto
篤 宮本
岳志 堀内
Takeshi Horiuchi
岳志 堀内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015229814A priority Critical patent/JP2017098780A/ja
Priority to US15/341,349 priority patent/US10498716B2/en
Priority to EP16199428.0A priority patent/EP3174265B1/en
Publication of JP2017098780A publication Critical patent/JP2017098780A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】クライアントが利用するサービス毎にメッセージへのアクセスを制御する管理システム、通信システム、通信制御方法及びプログラムを提供する。【解決手段】管理システム50の送受信部51は、トピックに対するメッセージのpub要求を第1のクライアントで認証された端末10から受け付ける一方で、トピックに対するメッセージのsub要求を第2のクライアントで認証された端末10から受け付ける。管理システム50のpub処理部53及びsub処理部54は、トピックが、第1のクライアント又は第2のクライアントによって利用される各サービスに対応付けられているかに基づいて、端末10へのメッセージの配信を制御する。【選択図】図5

Description

本発明は、管理システム、通信システム、通信制御方法、及びプログラムに関する。
近年、当事者の移動の経費や時間を削減する要請等に伴い、インターネットや専用線等の通信ネットワークを介して通話や会議等を行う通信システムが普及している。このような通信システムでは、通信端末間で通信を開始すると、画像データ及び音データ等のコンテンツデータの送受信が行われ、当事者間のコミュニケーションを実現する。また、通信端末間でコンテンツデータを送信する方法として、出版−購読モデル(Publish-Subscribeモデル、以下、PubSubモデルと記載する)が知られている。
例えば、特許文献1には、メッセージを発行側クライアントから購読側クライアントに複数のルーティング・ブローカ・マシンを介して配送するコンテンツベースのパブリッシュ・システムまたはサブスクライブ・システムのいずれかにおいてアクセス制御を提供する方法が開示されている。この方法では、ルーティング・ブローカ・マシンは新たなアクセス制御ルールを成立させる開始点を選ぶ。そして、開始点以前のメッセージは、そのメッセージが、アクセス制御バージョン識別子に対応付けられた変更前にサブスクリプション・フィルタとアクセス・フィルタを満たす場合かつその場合に限ってクライアントに配送され、また、開始点以降のメッセージは、そのメッセージがアクセス制御バージョン識別子に対応付けられた変更以降のサブスクリプション・フィルタとアクセス・フィルタの両方を満たす場合にクライアントに配送される。
特許文献1のパブリッシュ・システムまたはサブスクライブ・システムによると、新たなアクセス制御ルールを成立させる開始点の前後で、クライアントによるメッセージへのアクセス制御のルールを変更することができる。しかしながら、従来のPubSubモデルの通信システムによると、クライアントが利用するサービス毎にメッセージへのアクセスを制御することができないという課題が生じる。
請求項1に係る発明の管理システムは、所定の属性の情報を配信する要求を、第1のクライアントで認証された第1の通信端末から受け付ける一方で、前記所定の属性の情報を受信する要求を、第2のクライアントで認証された第2の通信端末から受け付ける受付手段と、前記第1のクライアントによって利用される第1のサービス又は前記第2のクライアントによって利用される第2のサービスが、前記所定の属性に対応付けられているかに基づいて、前記第2の通信端末への前記所定の属性の情報の配信を制御する配信制御手段と、を有することを特徴とする。
以上説明したように本発明によれば、通信システムにおいて、クライアントが利用するサービス毎にメッセージへのアクセスを制御することが可能になるという効果を奏する。
本発明の一実施形態に係る通信システムの概略図である。 一実施形態に係る端末のハードウェア構成図である。 一実施形態に係る管理システムのハードウェア構成図である。 一実施形態に係る端末のソフトウェア構成図である。 一実施形態に係る端末、認証サーバ、及び管理システムの各機能ブロック図である。 認証サーバが管理する各管理テーブルを示す概念図である。 管理システムが管理する各管理テーブルを示す概念図である。 一実施形態における認証処理を示すシーケンス図である。 メッセージをpub及びsubする処理の一例を示すシーケンス図である。 メッセージをsubする権限を有するか判断する処理の一例を示したフロー図である。 メッセージをpubする権限を有するか判断する処理の一例を示したフロー図である。 pub又はsubする権限を示す概念図である。
以下、本発明の実施形態について説明する。
<<通信システムの概略>>
図1は、本発明の一実施形態に係る通信システムの概略図である。図1に示されているように、通信システム1は、通信端末10、認証サーバ40、管理システム50によって構築されている。以下、通信端末10を単に端末10と記載する。
管理システム50は、出版−購読(Publish-Subscribe、以下PubSubと記載する)モデルにおいて、クライアント間でメッセージを交換するために、クライアントから、メッセージの出版(Publish、以下pubと記載する)やメッセージの購読(Subscribe、以下subと記載する)の要求を受け付けるサーバである。管理システム50は、PubSubモデルに対応するプロトコルとして、例えば、MQTT(MQ Telemetry Transport)や、XMPP(eXtensible Messaging and Presence Protocol)のPubSub拡張(XEP-0060)等を実装しても良い。
端末10は、例えば、汎用端末であって、任意のクライアントアプリケーションがインストールされている。以下、クライアントアプリケーションをクライアントアプリと表す。また、端末10は、例えば、専用端末であって、クライアントとして稼働する特定のクライアントアプリが組み込まれている。端末10が通信ネットワーク2を介して管理システム50と通信可能に接続することで、各クライアントは、管理システム50にメッセージのpubやメッセージのsubを要求することができる。端末10は、例えば、テレビ会議端末、電子黒板、電子看板、電話、タブレット、スマートフォン、カメラ、PC(personal computer)等であっても良い。
認証サーバ40は、端末10上で動作するクライアントアプリである「クライアント」と、そのクライアントを利用する「ユーザ」とをそれぞれ認証し、管理システム50の利用を認可するサーバである。管理システム50は、上記の認証及び認可を実現するため、例えば、OAuth 2.0やOpenID Connectといった認証、認可のプロトコルを実装する。
図1では、説明を簡単にするために、管理システム50、及び認証サーバ40がそれぞれ一つの装置である場合について説明したが、本発明はこのような実施形態に限定されない。管理システム50、及び認証サーバ40の少なくとも一方は、複数の装置により構築されていても良い。また、管理システム50、及び認証サーバ40が、一つのシステム又は装置によって構築されていても良い。また、図1では、説明を簡単にするために、通信システム1において、4つの端末10が設けられている場合について説明したが、本発明はこのような実施形態に限定されない。通信システム1に設けられる端末10は、2つであっても、3つであっても、5つ以上であっても良い。また、各端末10は、それぞれ同種であっても、図1のように異種であっても良い。
<<ハードウェア構成>>
次に、通信システム1を構成する各装置のハードウェア構成を説明する。
図2は、一実施形態に係る端末10のハードウェア構成図である。なお、通信可能であれば、端末10のハードウェア構成は図2の構成に限定されない。例えば、端末10には、図2に記載されていない構成が含まれていても、図2に記載の構成の一部が含まれていなくても良い。また、図2に記載の構成の一部は端末10に接続可能な外部装置等であっても良い。図2に示されているように、本実施形態の端末10は、端末10全体の動作を制御するCPU(Central Processing Unit)101、IPL(Initial Program Loader)等のCPU101の駆動に用いられるプログラムを記憶したROM(Read Only Memory)102、CPU101のワークエリアとして使用されるRAM(Random Access Memory)103、端末10の各種端末用のプログラム、画像データ、及び音データ等の各種データを記憶するフラッシュメモリ104、CPU101の制御にしたがってフラッシュメモリ104に対する各種データの読み出し又は書き込みを制御するSSD(Solid State Drive)105、フラッシュメモリやICカード(Integrated Circuit Card)等の記録メディア106に対するデータの読み出し又は書き込み(記憶)を制御するメディアI/F107、宛先を選択する場合などに操作される操作ボタン108、端末10の電源のON/OFFを切り換えるための電源スイッチ109、通信ネットワーク2を利用してデータ伝送をするためのネットワークI/F(Interface)111を備えている。
また、端末10は、CPU101の制御に従って被写体を撮像して画像データを得る内蔵型のカメラ112、このカメラ112の駆動を制御する撮像素子I/F113、音声を入力する内蔵型のマイク114、音声を出力する内蔵型のスピーカ115、CPU101の制御に従ってマイク114及びスピーカ115との間で音声信号の入出力を処理する音入出力I/F116、CPU101の制御に従って外付けのディスプレイ120に画像データを伝送するディスプレイI/F117、各種の外部機器を接続するための外部機器接続I/F118、端末10の各種機能の異常を知らせるアラームランプ119、及び上記各構成要素を図2に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン110を備えている。
ディスプレイ120は、被写体の画像や操作用等を表示する液晶や有機EL(Organic Electroluminescence)によって構成された表示部である。また、ディスプレイ120は、ケーブル120cによってディスプレイI/F117に接続される。このケーブル120cは、アナログRGB(VGA)信号用のケーブルであってもよいし、コンポーネントビデオ用のケーブルであってもよいし、HDMI(登録商標)(High-Definition Multimedia Interface)やDVI(Digital Video Interactive)信号用のケーブルであってもよい。
カメラ112は、レンズや、光を電荷に変換して被写体の画像(映像)を電子化する固体撮像素子を含み、固体撮像素子として、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)等が用いられる。
外部機器接続I/F118には、筐体1100の接続口1132に差し込まれたUSB(Universal Serial Bus)ケーブル等によって、外付けカメラ、外付けマイク、及び外付けスピーカ等の外部機器がそれぞれ電気的に接続可能である。外付けカメラが接続された場合には、CPU101の制御に従って、内蔵型のカメラ112に優先して、外付けカメラが駆動する。同じく、外付けマイクが接続された場合や、外付けスピーカが接続された場合には、CPU101の制御に従って、それぞれが内蔵型のマイク114や内蔵型のスピーカ115に優先して、外付けマイクや外付けスピーカが駆動する。
なお、記録メディア106は、端末10に対して着脱自在な構成となっている。また、CPU101の制御にしたがってデータの読み出し又は書き込みを行う不揮発性メモリであれば、フラッシュメモリ104に限らず、EEPROM(Electrically Erasable and Programmable ROM)等を用いてもよい。
図3は、一実施形態に係る管理システム50のハードウェア構成図である。管理システム50は、管理システム50全体の動作を制御するCPU501、IPL等のCPU501の駆動に用いられるプログラムを記憶したROM502、CPU501のワークエリアとして使用されるRAM503、管理システム50用のプログラム等の各種データを記憶するHD504、CPU501の制御にしたがってHD504に対する各種データの読み出し又は書き込みを制御するHDD(Hard Disk Drive)505、フラッシュメモリ等の記録メディア506に対するデータの読み出し又は書き込み(記憶)を制御するメディアドライブ507、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示するディスプレイ508、通信ネットワーク2を利用してデータ通信するためのネットワークI/F509、文字、数値、各種指示などの入力のための複数のキーを備えたキーボード511、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行うマウス512、着脱可能な記録媒体の一例としてのCD−ROM(Compact Disc Read Only Memory)513に対する各種データの読み出し又は書き込みを制御するCD−ROMドライブ514、及び、上記各構成要素を図3に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン510を備えている。
認証サーバ40は、管理システム50と同様のハードウェア構成を有しているため、その説明を省略する。
<<ソフトウェア構成>>
図4は、一実施形態に係る端末10のソフトウェア構成図である。図4に示されているように、OS1020、クライアントアプリ(1031,1032)は、端末10のRAM103の作業領域1010上で動作する。OS1020、及び、クライアントアプリ(1031,1032)は、端末10にインストールされている。
OS1020は、基本的な機能を端末10に提供し、端末10全体を管理する基本ソフトウェアである。クライアントアプリ(1031,1032)は、認証サーバ40に認証を要求し、管理システム50にpub要求及びsub要求の少なくとも一つを実行するためのアプリである。
なお、図4では少なくとも2つのクライアントアプリ(1031,1032)が端末10にインストールされているが、1以上の任意の数のクライアントアプリが端末10にインストールされていれば良い。また、OS1020上で任意のアプリケーションが動作しており、この任意のアプリケーション上でクライアントアプリが動作しても良い。
<<機能構成>>
次に、本実施形態の機能構成について説明する。図5は、一実施形態に係る通信システム1の一部を構成する端末10、認証サーバ40、及び管理システム50の機能ブロック図である。図5では、端末10、認証サーバ40、及び管理システム50が、通信ネットワーク2を介してデータ通信することができるように接続されている。
<端末の機能構成>
端末10は、送受信部11、操作入力受付部12、表示制御部13、認証要求部14、pub要求部15、sub要求部16、及び記憶・読出部19を有している。これら各部は、図2に示されている各構成要素のいずれかが、フラッシュメモリ104からRAM103上に展開されたプログラムに従ったCPU101からの命令によって動作することで実現される機能である。また、端末10は、図2に示されているROM102、RAM103、フラッシュメモリ104によって構築される記憶部1000を有している。
(端末の各機能構成)
次に、図2及び図5を用いて、端末10の各機能構成について詳細に説明する。なお、以下では、端末10の各機能構成を説明するにあたって、図2に示されている各構成要素のうち、端末10の各機能構成を実現させるための主な構成要素との関係も説明する。
送受信部11は、CPU101からの命令、及びネットワークI/F111によって実現され、通信ネットワーク2を介して、相手側の端末、各装置又はシステム等と各種データ(または情報)の送受信を行う。
操作入力受付部12は、CPU101からの命令、並びに操作ボタン108及び電源スイッチ109によって実現され、ユーザによる各種入力を受け付けたり、ユーザによる各種選択を受け付けたりする。
表示制御部13は、CPU101からの命令、及びディスプレイI/F117によって実現され、通話する際に相手側から送られてきた画像データをディスプレイ120に送信するための制御を行う。
認証要求部14は、クライアントアプリに従ったCPU101からの命令によって実現され、認証サーバ40に対して認証を要求する。なお、端末10において複数のクライアントアプリがインストールされている場合、端末10には、起動したクライアントアプリ毎に認証要求部14が生成される。
pub要求部15は、クライアントアプリに従ったCPU101からの命令によって実現され、管理システム50に対してメッセージのpub要求をする。なお、クライアントアプリがsubに対応する一方でpubには対応していない場合、端末10においてpub要求部15は生成されない。また、端末10においてpubに対応した複数のクライアントアプリがインストールされている場合、端末10には、起動したクライアントアプリ毎にpub要求部15が生成される。
sub要求部16は、クライアントアプリに従ったCPU101からの命令によって実現され、管理システム50に対してメッセージのsub要求をする。なお、クライアントアプリがpubに対応する一方でsubには対応していない場合、端末10においてsub要求部16は生成されない。また、端末10においてsubに対応した複数のクライアントアプリがインストールされている場合、端末10には、起動したクライアントアプリ毎にsub要求部16が生成される。
記憶・読出部19は、CPU101からの命令及びSSD105によって実行され、又はCPU101からの命令によって実現され、記憶部1000に各種データを記憶したり、記憶部1000に記憶された各種データを抽出したりする処理を行う。
<認証サーバの機能構成>
認証サーバ40は、送受信部41、ユーザ認証部42、クライアント認証部43、認可部44、トークン発行部45、及び記憶・読出部49を有する。これら各部は、図3に示されている各構成要素のいずれかが、HD504からRAM503上に展開された認証サーバ40用のプログラムに従ったCPU501からの命令によって動作することで実現される機能である。また、認証サーバ40は、HD504により構築される記憶部4000を有している。
(ユーザ管理テーブル)
図6Aは、ユーザ管理テーブルを示す概念図である。記憶部4000には、ユーザ管理テーブルによってユーザ管理DB4001が構築される。ユーザ管理テーブルでは、ユーザID(identifier, identification)毎に、ユーザ名、及びパスワードが関連付けられて管理されている。
(クライアント管理テーブル)
図6Bは、クライアント管理テーブルを示す概念図である。記憶部4000には、クライアント管理テーブルによってクライアント管理DB4002が構築される。クライアント管理テーブルでは、クライアントID毎に、クライアント名、及びパスワードが関連付けられて管理されている。
(サービス管理テーブル)
図6Cは、サービス管理テーブルを示す概念図である。記憶部4000には、サービス管理テーブルによってサービス管理DB4003が構築される。サービス管理テーブルでは、サービスID毎に、サービス名が関連付けられて管理されている。
(サービス認可管理テーブル)
図6Dは、サービス認可管理テーブルを示す概念図である。記憶部4000には、サービス認可管理テーブルによってサービス認可管理DB4004が構築される。サービス認可管理テーブルでは、サービスのサービスID、及びこのサービスへのアクセスが認可されるクライアントのクライアントIDが関連付けられて管理されている。
(認証サーバの各機能構成)
送受信部41は、CPU501からの命令、及びネットワークI/F509によって実現され、通信ネットワーク2を介して、相手側の端末、各装置又はシステム等と各種データ(または情報)の送受信を行う。
ユーザ認証部42は、CPU501からの命令によって実現され、クライアントからの要求に応じてユーザ認証を行う。
クライアント認証部43は、CPU501からの命令によって実現され、クライアントからの要求に応じてクライアント認証を行う。
認可部44は、CPU501からの命令によって実現され、サービスへのクライアントのアクセス権を指定することで認可する。
トークン発行部45は、CPU501からの命令によって実現され、クライアントがサービスへアクセスするときに、サービスで用いられる認可トークンを発行する。
記憶・読出部49は、CPU501からの命令及びHDD505によって実行され、又はCPU501からの命令によって実現され、記憶部4000に各種データを記憶したり、記憶部4000に記憶された各種データを抽出したりする処理を行う。
<管理システムの機能構成>
管理システム50は、送受信部51、トークン確認部52、pub処理部53、sub処理部54、及び記憶・読出部59を有している。これら各部は、図3に示されている各構成要素のいずれかが、HD504からRAM503上に展開された管理システム50用のプログラムに従ったCPU501からの命令によって動作することで実現される機能である。また、管理システム50は、HD504により構築される記憶部5000を有している。
(トピック管理テーブル)
図7Aは、トピック管理テーブルを示す概念図である。記憶部5000には、トピック管理テーブルによってトピック管理DB5001が構築される。トピック管理テーブルでは、トピックID毎に、トピック名が関連付けられて管理されている。トピックとはメッセージに関連付けられる属性である。クライアントアプリがトピックを指定してsub要求すると、管理システム50は、そのトピックに関連付けてpubされたメッセージを、そのトピックに対するsub要求元のクライアントアプリへ送信する。
(ユーザトピック管理テーブル)
図7Bは、ユーザトピック管理テーブルを示す概念図である。記憶部5000には、ユーザトピック管理テーブルによってユーザトピック管理DB5002が構築される。ユーザトピック管理テーブルでは、ユーザのユーザID、トピックのトピックID、及び、ユーザがトピックのpub又はsubを要求するときに、要求を拒否する権限を示す権限情報が関連付けられて管理されている。なお、権限情報"pub"はpubを拒否する権限があることを示し、権限情報"sub"はsubを拒否する権限があることを示し、権限情報"pubsub"はpub及びsubを拒否する権限があることを示す。
(ユーザサービス管理テーブル)
図7Cは、ユーザサービス管理テーブルを示す概念図である。記憶部5000には、ユーザサービス管理テーブルによってユーザサービス管理DB5003が構築される。ユーザサービス管理テーブルでは、ユーザのユーザID、サービスのサービスID、及び、ユーザがサービスを利用してpub又はsubを要求するときに、要求を拒否する権限を示す権限情報が関連付けられて管理されている。
(ユーザクライアント管理テーブル)
図7Dは、ユーザクライアント管理テーブルを示す概念図である。記憶部5000には、ユーザクライアント管理テーブルによってユーザクライアント管理DB5004が構築される。ユーザクライアント管理テーブルでは、ユーザのユーザID、クライアントのクライアントID、及び、ユーザがクライアントからpub又はsubを要求するときに、要求を拒否する権限を示す権限情報が関連付けられて管理されている。
(クライアントトピック管理テーブル)
図7Eは、クライアントトピック管理テーブルを示す概念図である。記憶部5000には、クライアントトピック管理テーブルによってクライアントトピック管理DB5005が構築される。クライアントトピック管理テーブルでは、トピックのトピックID、クライアントのクライアントID、及び、クライアントからトピックのpub又はsubを要求するときに、要求を拒否する権限を示す権限情報が関連付けられて管理されている。
(クライアントサービス管理テーブル)
図7Fは、クライアントサービス管理テーブルを示す概念図である。記憶部5000には、クライアントサービス管理テーブルによってクライアントサービス管理DB5006が構築される。クライアントサービス管理テーブルでは、サービスのサービスID、このサービスへのアクセスが認可されるクライアントのクライアントIDが関連付けられて管理されている。
(サービストピック管理テーブル)
図7Gは、サービストピック管理テーブルを示す概念図である。記憶部5000には、サービストピック管理テーブルによってサービストピック管理DB5007が構築される。サービストピック管理テーブルでは、サービスのサービスID、トピックのトピックID、及び、サービスを利用してトピックのpub又はsubを要求するときに、要求を拒否する権限を示す権限情報が関連付けられて管理されている。
(サービス継承管理テーブル)
図7Hは、サービス継承管理テーブルを示す概念図である。記憶部5000には、サービス継承管理テーブルによってサービス継承管理DB5008が構築される。サービス継承管理テーブルでは、継承されるサービスのサービスID、及び継承するサービスのサービスIDが関連付けられて管理されている。サービス継承管理テーブルにおいて関連付けられているサービス間で、トピックに対するpub又はsubする権限が継承される。
図12Aは、一実施形態に係るpub又はsubする権限を示す概念図である。各ユーザは、ユーザクライアント管理テーブルにおいて関連付けられていないクライアントからメッセージをpub又はsubする権限を有する。また、各クライアントは、クライアントサービス管理テーブルにおいて関連付けられているサービスを利用することができる。また、各サービスを利用することで、サービストピック管理テーブルにおいてサービスに関連付けられていない特定のトピックのメッセージをpub及びsubする権限が得られる。また、pub又はsubする権限は、サービス継承管理テーブルにおいて関連付けられているサービス間で継承される。このように、pub又はsubする権限をサービスと関連付けておくことで、サービス毎にプラットフォームを構築しなくても良くなるだけでなく、新たなサービスを提供開始するときに既存のサービスに対する権限を継承可能となる。
図12Bは、比較例に係るpub又はsubする権限を示す概念図である。pub又はsubする権限がサービスと関連付けられていない比較例では、どのサービスを利用した場合でも、要求元は、要求に係るトピックをpub又はsubすることが可能となる。このため、サービス毎にプラットフォームを構築するか、共通のトピックが扱われるサービス毎にプラットフォームを構築する必要が生じるため、拡張性が低下する。
(セッション管理テーブル)
図7Iは、セッション管理テーブルを示す概念図である。記憶部5000には、セッション管理テーブルによってセッション管理DB5014が構築される。後述するように、ユーザID及びクライアントIDによってログイン認証されると、端末10と管理システム50との間のセッションが確立される。また、端末10は、サービスへのアクセスが認可される。セッション管理テーブルでは、ログイン認証に用いられる端末10側のユーザID、クライアントID、認可されたサービスのサービスID、確立されたセッションを利用してsubするトピックIDが関連付けられて管理される。
(管理システムの各機能構成)
次に、管理システム50の各機能構成について詳細に説明する。なお、以下では、管理システム50の各機能構成を説明するにあたって、図3に示されている各構成要素のうち、管理システム50の各機能構成を実現させるための主な構成要素との関係も説明する。
送受信部51は、CPU501からの命令、及びネットワークI/F509によって実現され、通信ネットワーク2を介して各端末、装置又はシステムと各種データ(または情報)の送受信を行う。
トークン確認部52は、CPU501からの命令によって実現され、端末10のログイン要求に含まれている認可トークンを確認する。
pub処理部53は、CPU501からの命令によって実現され、クライアントによるpub要求を受け付ける。
sub処理部54は、CPU501からの命令によって実現され、クライアントによるsub要求を受け付ける。
記憶・読出部59は、CPU501からの命令及びHDD505によって実行され、又はCPU501からの命令によって実現され、記憶部5000に各種データを記憶したり、記憶部5000に記憶された各種データを抽出したりする処理を行う。
<<処理または動作>>
続いて、通信システム1を構成する端末10、認証サーバ40、及び管理システム50の処理または動作について説明する。まずは、図8を用いて、一実施形態における認証処理について説明する。図8は、一実施形態における認証処理を示すシーケンス図である。
端末10にインストールされている任意のクライアントアプリが起動すると(ステップS21)、起動したクライアントアプリに対応する各機能部により以下の処理が開始される。端末10のクライアントアプリは、ユーザのユーザID及びユーザパスワードを取得する(ステップS22)。取得方法としては、特に限定されないが、操作入力受付部12が、ユーザによるユーザID及びパスワードの入力を受け付ける方法や、記憶・読出部19が、記憶部1000に予め記憶されているユーザID及びパスワードを読み出す方法等が挙げられる。
端末10の認証要求部14は、送受信部11を介して、認証サーバ40に認証/認可要求をする(ステップS23)。この認証/認可要求には、ユーザの認証要求と、クライアントの認証要求と、サービス利用の認可要求とが含まれる。管理システム50へ送信される認証要求には、端末10において取得されたユーザID及びユーザパスワード、起動したクライアントのクライアントID及びクライアントパスワード、及びこれから利用するサービスを示すスコープとしてサービスIDが含まれている。クライアントID及びクライアントパスワードは、記憶部1000に予め記憶されており、記憶・読出部19によって読み出されたものでも良い。
認証サーバ40の送受信部41は、端末10による認証要求を受信する。認証サーバ40のユーザ認証部42は、認証要求に含まれるユーザID及びユーザパスワードの組が、ユーザ管理テーブル(図6A参照)で管理されているか否かに基づいてユーザ認証を行う(ステップS24)。認証要求に含まれるユーザID及びユーザパスワードの組がユーザ管理テーブルで管理されている場合には、ユーザ認証部42はユーザ認証に成功し、認証要求に含まれるユーザID及びユーザパスワードの組がユーザ管理テーブルで管理されていない場合には、ユーザ認証部42はユーザ認証に失敗する。
また、認証サーバ40のクライアント認証部43は、認証要求に含まれるクライアントID及びクライアントパスワードの組が、クライアント管理テーブル(図6B参照)で管理されているか否かに基づいてクライアント認証を行う(ステップS25)。認証要求に含まれるクライアントID及びクライアントパスワードの組がクライアント管理テーブルで管理されている場合には、クライアント認証部43はクライアント認証に成功し、認証要求に含まれるクライアントID及びクライアントパスワードの組がクライアント管理テーブルで管理されていない場合には、クライアント認証部43はクライアント認証に失敗する。
また、認証サーバ40の認可部44は、認証要求に含まれるクライアントID及びサービスIDの組が、サービス認可管理テーブル(図6D参照)で管理されているか否かに基づいて、要求元のクライアントのサービスへのアクセスを認可する(ステップS26)。認証要求に含まれるクライアントID及びサービスIDの組がサービス認可管理テーブルで管理されている場合には、認可部44は認可に成功し、認証要求に含まれるクライアントID及びサービスIDの組がサービス認可管理テーブルで管理されていない場合には、認可部44は認可に失敗する。
ユーザ認証、クライアント認証、及びサービス認可の少なくとも一つに失敗した場合、送受信部41は、認証又は認可に失敗した旨を示すエラーメッセージを要求元の端末10へ送信する。
ユーザ認証、クライアント認証、及びサービス認可のすべてに成功した場合、認証サーバ40のトークン発行部45は、認証要求してきた端末10が管理システム50にアクセス可能であることを示す認可トークンを発行する(ステップS27)。この認可トークンには、ユーザ名、クライアント名、この認可トークンを利用するサービス名、及びトークンの有効期限などが含まれている。
なお、通信システム1において、認証及び認可は、OAuth 2.0及びOpenID Connect等のプロトコルを用いて実行することもできる。この場合、ユーザID/ユーザパスワードなどの認証情報の授受の方法、認可トークンに含まれる内容は、OAuth 2.0及びOpenID Connect等の仕様によって規定されることになる。その場合、トークン自体はJWT(JSON Web Token)であっても良い。また、認可トークンがその経路上で改竄されないことを保証するため、トークン発行部45は、認可トークンに対して秘密鍵を用いて署名しても良い。秘密鍵は、RSA(Rivest, Shamir, Adleman)暗号を用いたものでも良い。なお、署名に、HMAC(Hash-based Message Authentication Code)のような公開鍵を用いても良い。認可トークンを利用する管理システム50では、認可トークンが秘密鍵で署名されているか共有鍵で署名されているかに応じて、公開鍵または共有鍵を用いて署名の確認をする。署名は例えばJWS(JSON Web Signature)といった公知の標準を用いることもできる。認可トークンは必要に応じて、例えば、JWE(JSON Web Encryption)で暗号化される。
送受信部41は、発行された認可トークンを認証結果に含めて端末10へ送信する。端末10の送受信部11は、認証サーバによって送信された認可トークンを含む認証結果を受信する。続いて、端末10の送受信部11は受信した認可トークンを管理システム50へ送信することにより、管理システム50へログイン要求する(ステップS28)。
管理システム50の送受信部51は、端末10によって送信されたログイン要求を受信する。管理システム50のトークン確認部52は、ログイン要求に含まれる認可トークンを確認する(ステップS29)。この場合、トークン確認部52は、通信システム1で用いられる標準にしたがって、ログイン要求に含まれている認可トークンを解析する。トークン確認部52は、解析の結果に応じて、認証サーバによる署名が正しいか否かを判断しても良い。認証サーバによる署名が正しいものではないと判断された場合、トークン確認部52は、ログイン要求に含まれる認可トークンが改竄されていると判断して、認可に失敗する。
続いて、トークン確認部52は、認可トークンに含まれている有効期限を確認することで、認可トークンの有効期限が切れているか否かを判断する。認可トークンの有効期限が切れていると判断された場合、トークン確認部52は、認可トークンの期限切れにより認可に失敗する。
続いて、トークン確認部52は、認可トークンに自管理システムに対応するサービス名が含まれているか否かを確認する。認可トークンに自管理システムに対応するサービス名が含まれていないと判断された場合、トークン確認部52は、認可に失敗する。
トークン確認部52が、認可トークンの署名、有効期限、及びサービスの確認のいずれかの過程で認可に失敗すると、送受信部51は、端末10へ認可に失敗した旨を示す認可結果情報を送信する。トークン確認部52が、認可トークンの署名、有効期限、及びサービスのいずれもが正当なものであると判断した場合、認可トークンに示されているユーザ及びクライアントによるサービスの利用を認可する。ユーザ及びクライアントが認可されると、管理システム50は、端末10とのセッションを確立する(ステップS30)。この場合、管理システム50は、端末10へ、認可に成功した旨を示す認可結果情報を送信する。
セッションが確立すると管理システム50では、認可トークンに含まれているユーザID、クライアントID、及びサービスID、並びにクライアントのIPアドレス等を関連付けて記憶部1000において管理する。これにより、相手側のクライアントが情報を送信する毎に管理システム50へ、ユーザID、クライアントID、及びサービスIDを送信しなくても、管理システム50では、端末10が認証/認可要求で送信したユーザID、クライアントID、及びサービスIDを把握できるようになる。
上記のステップS21乃至S30の処理は、端末10で起動するクライアントアプリ毎に実行される。例えば、カメラアプリ及びOS2用テレビ会議アプリ等の各クライアントアプリは、それぞれ認証サーバ40へ認証要求しても良い。管理システム50が、各クライアントアプリの認証に成功した場合には、管理システム50及び各クライアントアプリ間でそれぞれ別のセッションが同時に確立することになる。
続いて、図9を用いて端末10間でメッセージをpub及びsubする処理について説明する。図9は、メッセージをpub及びsubする処理の一例を示すシーケンス図である。以下、複数の端末10の一例として端末10a及び端末10bの間でメッセージをpub及びsubする処理について説明する。
まず、ユーザ"User1"のユーザID"U01"、クライアント「専用端末用テレビ会議アプリ」のクライアントID"C02"で認証され、サービス「テレビ会議サービス」へのアクセスが認可された端末10aが、トピック"video"に対してsub要求する処理について説明する。端末10aのsub要求部16は、テレビ会議サービスにおける映像を受け取るため、sub要求を管理システム50へ送信する(ステップS41)。sub要求には、映像に関するトピック名"video"が含まれている。
管理システム50の送受信部51は、端末10aによって送信されたsub要求を受信する。管理システム50のsub処理部54は、端末10aの専用端末用テレビ会議アプリがテレビ会議サービスを利用してsub要求に係るメッセージをsubする権限を有するか否かを判断する(ステップS42)。ステップS42の処理について、図10を用いて詳細に説明する。図10は、メッセージをsubする権限を有するか判断する処理の一例を示したフロー図である。
記憶・読出部59は、sub要求に含まれるトピック名に対応するトピックIDをトピック管理テーブルから取得する(ステップS42−1)。例えば、sub要求に含まれるトピック名が"video"であれば、トピック管理テーブルからトピックID"T04"が取得される。
sub処理部54は、クライアントサービス管理テーブルを参照して、sub要求元のクライアントのクライアントIDに関連付けられているサービスIDがあるか判断する(ステップS42−2)。sub要求元のクライアントIDは、端末10aが先に管理システム50へログインするときに、管理システム50へ送信される認可トークンに含まれている。例えば、sub要求元のクライアント「専用端末用テレビ会議アプリ」のクライアントIDが"C02"である場合、クライアントサービス管理テーブルにこのクライアントIDに関連付けられているサービスIDがあると判断される。ステップS42−2においてNOと判断された場合、ステップS42−14に進み、sub要求元のユーザ、クライアント、及びトピックの関係に応じたsub権限の判断を行う。このように、ステップS42−2の判断を行うことで、サービスを利用してsubする処理と、サービスを利用せずにsubする処理を共通のプラットフォームで実現できるようになる。
ステップS42−2においてYESと判断された場合、sub処理部54は、sub要求元のユーザ、クライアント、利用するサービス、及びトピックの関係に応じたsub権限の判断を開始する。まず、sub処理部54は、sub要求元のユーザのユーザID、及びsub要求元に対して認可されたサービスのサービスIDの組を検索キーとして、ユーザサービス管理テーブルを検索する(ステップS42−3)。sub要求元のユーザのユーザID、及びsub要求元に対して認可されたサービスのサービスIDは、sub要求元が先に管理システム50へログインするときに、管理システム50へ送信される認可トークンに含まれている。なお、sub要求元のユーザのユーザIDが"U01"であり、認可されたサービスのサービスIDが"S02"である場合、ユーザサービス管理テーブルからはこれらの組に対応する権限情報"pub"が取得される。
sub処理部54は、ステップS42−3で権限情報"sub"又は"pubsub"が取得されたか判断する(ステップS42−4)。権限情報"sub"又は"pubsub"が取得された場合(ステップS42−4のYES)、ステップS42−7へ進み、継承されるサービスの確認を行う。
権限情報"sub"又は"pubsub"が取得されなかった場合(ステップS42−4のNO)、sub処理部54は、sub要求元に対して認可されたサービスのサービスID、及びステップS42−1で取得されたトピックIDの組を検索キーとして、サービストピック管理テーブルを検索する(ステップS42−5)。例えば、sub要求元に対して認可されたサービスのサービスIDが"S02"、取得されたトピックIDが"T04"である場合、これらの組に対応する権限情報"pubsub"は取得されない。
sub処理部54は、ステップS42−5で権限情報"sub"又は"pubsub"が取得されたか判断する(ステップS42−6)。権限情報"sub"又は"pubsub"が取得されなかった場合(ステップS42−6のNO)、ステップS42−14に進み、sub要求元のユーザ、クライアント、及びトピックの関係に応じたsub権限の判断を行う。
権限情報"sub"又は"pubsub"が取得された場合(ステップS42−4,S42−6のYES)、sub処理部54は、sub要求元に対して認可されたサービスのサービスIDを検索キーとしてサービス継承管理テーブルにおける継承するサービスのフィールドを検索する(ステップS42−7)。
sub処理部54は、ステップS42−7で対応する継承されるサービスのサービスIDが取得されたか判断する(ステップS42−8)。ステップS42−8でNOと判断された場合、sub処理部54は、sub要求元に対して継承されるサービスはないため、sub要求元にsub権限はないと判断する(ステップS42−13)。この場合、送受信部51は、sub要求を拒否する旨を示す情報をsub要求元の端末10aへ送信して処理を終了する。
ステップS42−8においてYESと判断された場合、sub要求元のユーザ、クライアント、継承されるサービス、及びトピックの関係に応じたsub権限の判断を開始する。まず、sub処理部54は、sub要求元のユーザのユーザID、及びステップS42−7で取得された継承されるサービスのサービスIDの組を検索キーとして、ユーザサービス管理テーブルを検索する(ステップS42−9)。
sub処理部54は、ステップS42−9で権限情報"sub"又は"pubsub"が取得されたか判断する(ステップS42−10)。権限情報"sub"又は"pubsub"が取得された場合(ステップS42−10のYES)、sub処理部54は、sub要求元にsub権限はないと判断する(ステップS42−13)。この場合、送受信部51は、sub要求を拒否する旨を示す情報をsub要求元の端末10aへ送信して処理を終了する。
権限情報"sub"又は"pubsub"が取得されなかった場合(ステップS42−10のNO)、sub処理部54は、ステップS42−7で取得された継承されるサービスのサービスID、及びステップS42−1で取得されたトピックIDの組を検索キーとして、サービストピック管理テーブルを検索する(ステップS42−11)。
sub処理部54は、ステップS42−11で権限情報"sub"又は"pubsub"が取得されたか判断する(ステップS42−12)。権限情報"sub"又は"pubsub"が取得されなかった場合(ステップS42−12のNO)、ステップS42−14に進み、sub要求元のユーザ、クライアント、及びトピックの関係に応じたsub権限の判断を行う。
権限情報"sub"又は"pubsub"が取得された場合(ステップS42−12のYES)、sub処理部54は、sub要求元にsub権限はないと判断する(ステップS42−13)。この場合、送受信部51は、sub要求を拒否する旨を示す情報をsub要求元の端末10aへ送信して処理を終了する。
ステップS42−2,S42−6,S42−12でNOと判断された場合、sub処理部54は、sub要求元のユーザのユーザID、sub要求元のクライアントのクライアントIDの組を検索キーとして、ユーザクライアント管理テーブルを検索する(ステップS42−14)。例えば、sub要求元のユーザのユーザID"U01"、sub要求元のクライアントのクライアントID"C02"である場合、ユーザクライアント管理テーブルからこれらの組に対応する権限情報"pub"が取得される。
sub処理部54は、ステップS42−14で権限情報"sub"又は"pubsub"が取得されたか判断する(ステップS42−15)。権限情報"sub"又は"pubsub"が取得された場合(ステップS42−15のYES)、sub処理部54は、sub要求元にsub権限はないと判断する(ステップS42−13)。この場合、送受信部51は、sub要求を拒否する旨を示す情報をsub要求元の端末10aへ送信して処理を終了する。
権限情報"sub"又は"pubsub"が取得されなかった場合(ステップS42−15のNO)、sub処理部54は、sub要求元のクライアントのクライアントID、ステップS42−1で取得されたトピックのトピックIDの組を検索キーとして、クライアントトピック管理テーブルを検索する(ステップS42−16)。例えば、sub要求元のクライアントのクライアントID"C02"、取得されたトピックのトピックIDが"T04"である場合、クライアントトピック管理テーブルからこれらの組に対応する権限情報"pub"が取得される。
sub処理部54は、ステップS42−16で権限情報"sub"又は"pubsub"が取得されたか判断する(ステップS42−17)。権限情報"sub"又は"pubsub"が取得された場合(ステップS42−17のYES)、sub処理部54は、sub要求元にsub権限はないと判断する(ステップS42−13)。この場合、送受信部51は、sub要求を拒否する旨を示す情報をsub要求元の端末10aへ送信して処理を終了する。
権限情報"sub"又は"pubsub"が取得されなかった場合(ステップS42−17のNO)、sub処理部54は、sub要求元のユーザのユーザID、ステップS42−1で取得されたトピックのトピックIDの組を検索キーとして、ユーザトピック管理テーブルを検索する(ステップS42−18)。例えば、sub要求元のユーザのユーザID"U01"、取得されたトピックのトピックIDが"T04"である場合、ユーザトピック管理テーブルからこれらの組に対応する権限情報"pub"が取得される。
sub処理部54は、ステップS42−18で権限情報"sub"又は"pubsub"が取得されたか判断する(ステップS42−19)。権限情報"sub"又は"pubsub"が取得された場合(ステップS42−19のYES)、sub処理部54は、sub要求元にsub権限はないと判断する(ステップS42−13)。この場合、送受信部51は、sub要求を拒否する旨を示す情報をsub要求元の端末10aへ送信して処理を終了する。
権限情報"sub"又は"pubsub"が取得されなかった場合(ステップS42−19のNO)、sub処理部54は、sub要求元はsub権限を有すると判断する(ステップS42−20)。
ステップS42−20において、sub要求元にsub権限はあると判断された場合、sub処理部54は、sub要求元のユーザID、クライアントID、sub要求元に対して認可されたサービスのサービスID、及びsub要求に係るトピックのトピックIDをセッション管理テーブルに関連付けて登録する(ステップS43)。
続いて、ユーザ"User2"のユーザID"U02"、クライアント「OS2用連携アプリ」のクライアントID"C05"で認証され、サービス「テレビ会議連携サービス」へのアクセスが認可された端末10bが、トピック"video"に対してpub要求する処理について説明する。端末10bのpub要求部15は、テレビ会議サービスにおける映像を配信するため、pub要求を管理システム50へ送信する(ステップS44)。pub要求には、映像に関するトピック名"video"、及びメッセージとして自端末で撮像された映像の映像データが含まれている。
管理システム50の送受信部51は、端末10bによって送信されたpub要求を受信する。管理システム50のpub処理部53は、端末10bのOS2用連携アプリがテレビ会議連携サービスを利用してpub要求に係るメッセージをpubする権限を有するか否かを判断する(ステップS45)。ステップS45の処理について、図11を用いて詳細に説明する。図11は、メッセージをpubする権限を有するか判断する処理の一例を示したフロー図である。
記憶・読出部59は、pub要求に含まれるトピック名に対応するトピックIDをトピック管理テーブルから取得する(ステップS45−1)。例えば、pub要求に含まれるトピック名が"video"であれば、トピック管理テーブルからトピックID"T04"が取得される。
pub処理部53は、クライアントサービス管理テーブルを参照して、pub要求元のクライアントのクライアントIDに関連付けられているサービスIDがあるか判断する(ステップS45−2)。pub要求元のクライアントIDは、端末10bが先に管理システム50へログインするときに、管理システム50へ送信される認可トークンに含まれている。例えば、pub要求元のクライアント「OS2用連携アプリ」のクライアントIDが"C05"である場合、クライアントサービス管理テーブルにこのクライアントIDに関連付けられているサービスIDがあると判断される。なお、ステップS45−2においてNOと判断された場合、ステップS45−14に進み、pub要求元のユーザ、クライアント、及びトピックの関係に応じたpub権限の判断を行う。このように、ステップS45−2の判断を行うことで、サービスを利用してpubする処理と、サービスを利用せずにpubする処理を共通のプラットフォームで実現できるようになる。
ステップS45−2においてYESと判断された場合、pub処理部53は、pub要求元のユーザ、クライアント、利用するサービス、及びトピックの関係に応じたpub権限の判断を開始する。まず、pub処理部53は、pub要求元のユーザのユーザID、及びpub要求元に対して認可されたサービスのサービスIDの組を検索キーとして、ユーザサービス管理テーブルを検索する(ステップS45−3)。pub要求元のユーザのユーザID、及びpub要求元に対して認可されたサービスのサービスIDは、pub要求元が先に管理システム50へログインするときに、管理システム50へ送信される認可トークンに含まれている。例えば、pub要求元のユーザのユーザIDが"U02"であり、認可されたサービスのサービスIDが"S03"である場合、ユーザサービス管理テーブルからはこれらの組に対応する権限情報は取得されない。
pub処理部53は、ステップS45−3で権限情報"pub"又は"pubsub"が取得されたか判断する(ステップS45−4)。権限情報"pub"又は"pubsub"が取得された場合(ステップS45−4のYES)、ステップS45−7へ進み、継承されるサービスの確認を行う。
権限情報"pub"又は"pubsub"が取得されなかった場合(ステップS45−4のNO)、pub処理部53は、pub要求元に対して認可されたサービスのサービスID、及びステップS45−1で取得されたトピックIDの組を検索キーとして、サービストピック管理テーブルを検索する(ステップS45−5)。なお、pub要求元に対して認可されたサービスのサービスIDが"S03"、取得されたトピックIDが"T04"である場合、これらの組に対応する権限情報"pubsub"が取得される。
pub処理部53は、ステップS45−5で対応する権限情報"pub"又は"pubsub"が取得されたか判断する(ステップS45−6)。権限情報"pub"又は"pubsub"が取得されなかった場合(ステップS45−6のNO)、ステップS45−14に進み、pub要求元のユーザ、クライアント、及びトピックの関係に応じたpub権限の判断を行う。
権限情報"pub"又は"pubsub"が取得された場合(ステップS45−4,S45−6のYES)、pub処理部53は、pub要求元に対して認可されたサービスのサービスIDを検索キーとしてサービス継承管理テーブルにおける継承するサービスのフィールドを検索する(ステップS45−7)。例えば、pub要求元に対して認可されたサービスのサービスID"S03"に対応する、継承されるサービスのサービスID"S02"が取得される。
pub処理部53は、ステップS45−7で対応する継承されるサービスのサービスIDが取得されたか判断する(ステップS45−8)。ステップS45−8でNOと判断された場合、pub処理部53は、pub要求元に対して継承されるサービスはないため、pub要求元にpub権限はないと判断する(ステップS45−13)。この場合、送受信部51は、pub要求を拒否する旨を示す情報をpub要求元の端末10bへ送信して処理を終了する。
ステップS45−8においてYESと判断された場合、pub要求元のユーザ、クライアント、継承されるサービス、及びトピックの関係に応じたpub権限の判断を開始する。まず、pub処理部53は、pub要求元のユーザのユーザID、及びステップS45−7で取得された継承されるサービスのサービスIDの組を検索キーとして、ユーザサービス管理テーブルを検索する(ステップS45−9)。pub要求元のユーザIDが"U02"、継承されるサービスのサービスIDが"S02"である場合、ユーザサービス管理テーブルからはこれらの組に対応する権限情報"sub"が取得される。
pub処理部53は、ステップS45−9で権限情報"pub"又は"pubsub"が取得されたか判断する(ステップS45−10)。権限情報"pub"又は"pubsub"が取得された場合(ステップS45−10のYES)、pub処理部53は、pub要求元にpub権限はないと判断する(ステップS45−13)。この場合、送受信部51は、pub要求を拒否する旨を示す情報をpub要求元の端末10bへ送信して処理を終了する。
権限情報"pub"又は"pubsub"が取得されなかった場合(ステップS45−10のNO)、pub処理部53は、ステップS45−7で取得された継承されるサービスのサービスID、及びステップS45−1で取得されたトピックIDの組を検索キーとして、サービストピック管理テーブルを検索する(ステップS45−11)。継承されるサービスのサービスIDが"S02"、取得されたトピックIDが"T04"である場合、サービストピック管理テーブルからはこれらの組に対応する権限情報は取得されない。
pub処理部53は、ステップS45−11で権限情報"pub"又は"pubsub"が取得されたか判断する(ステップS45−12)。権限情報"pub"又は"pubsub"が取得されなかった場合(ステップS45−12のNO)、ステップS45−14に進み、pub要求元のユーザ、クライアント、及びトピックの関係に応じたpub権限の判断を行う。
権限情報"pub"又は"pubsub"が取得された場合(ステップS45−12のYES)、pub処理部53は、pub要求元にpub権限はないと判断する(ステップS45−13)。この場合、送受信部51は、pub要求を拒否する旨を示す情報をpub要求元の端末10bへ送信して処理を終了する。
ステップS45−2,S45−6,S45−12でNOと判断された場合、pub処理部53は、pub要求元のユーザのユーザID、pub要求元のクライアントのクライアントIDの組を検索キーとして、ユーザクライアント管理テーブルを検索する(ステップS45−14)。例えば、pub要求元のユーザのユーザID"U02"、pub要求元のクライアントのクライアントID"C05"である場合、ユーザクライアント管理テーブルからこれらの組に対応する権限情報"sub"が取得される。
pub処理部53は、ステップS45−14で権限情報"pub"又は"pubsub"が取得されたか判断する(ステップS45−15)。権限情報"pub"又は"pubsub"が取得された場合(ステップS45−15のYES)、pub処理部53は、pub要求元にpub権限はないと判断する(ステップS45−13)。この場合、送受信部51は、pub要求を拒否する旨を示す情報をpub要求元の端末10bへ送信して処理を終了する。
権限情報"pub"又は"pubsub"が取得されなかった場合(ステップS45−15のNO)、pub処理部53は、pub要求元のクライアントのクライアントID、ステップS45−1で取得されたトピックのトピックIDの組を検索キーとして、クライアントトピック管理テーブルを検索する(ステップS45−16)。例えば、pub要求元のクライアントのクライアントID"C05"、取得されたトピックのトピックIDが"T04"である場合、クライアントトピック管理テーブルからこれらの組に対応する権限情報は取得されない。
pub処理部53は、ステップS45−16で権限情報"pub"又は"pubsub"が取得されたか判断する(ステップS45−17)。権限情報"pub"又は"pubsub"が取得された場合(ステップS45−17のYES)、pub処理部53は、pub要求元にpub権限はないと判断する(ステップS45−13)。この場合、送受信部51は、pub要求を拒否する旨を示す情報をpub要求元の端末10bへ送信して処理を終了する。
権限情報"pub"又は"pubsub"が取得されなかった場合(ステップS45−17のNO)、pub処理部53は、pub要求元のユーザのユーザID、ステップS45−1で取得されたトピックのトピックIDの組を検索キーとして、ユーザトピック管理テーブルを検索する(ステップS45−18)。例えば、pub要求元のユーザのユーザID"U02"、取得されたトピックのトピックIDが"T04"である場合、ユーザトピック管理テーブルからこれらの組に対応する権限情報は取得されない。
pub処理部53は、ステップS45−18で権限情報"pub"又は"pubsub"が取得されたか判断する(ステップS45−19)。権限情報"pub"又は"pubsub"が取得された場合(ステップS45−19のYES)、pub処理部53は、pub要求元にpub権限はないと判断する(ステップS45−13)。この場合、送受信部51は、pub要求を拒否する旨を示す情報をpub要求元の端末10bへ送信して処理を終了する。
権限情報"pub"又は"pubsub"が取得されなかった場合(ステップS45−19のNO)、pub処理部53は、pub要求元はpub権限を有すると判断する(ステップS45−20)。
ステップS45−20においてpub要求元はpub権限を有すると判断された場合、pub処理部53は、pub要求に係るトピックのトピックIDを検索キーとして、セッション管理テーブルを検索し、対応するユーザID及びクライアントID、及びサービスIDを取得する(ステップS46)。例えば、pub要求に係るトピックのトピックIDが"T04"である場合、セッション管理テーブルからは、ユーザID"U01"、クライアントID"C02"、及びサービスID"S02"が取得される。これにより、pub処理部53は、ユーザID"U01"、クライアントID"C02"で認証され、サービスID"S02"のサービスの利用が認可された端末10aをメッセージの配信先として特定する。
送受信部51は、pub要求に係るメッセージ、即ち、映像データを、特定された端末10aへ送信する。これにより、端末10aは、端末10bが送信した映像データをメッセージとして受信することができる。
管理システム50は、pub要求に係るメッセージを記憶部5000において管理しても良い。これにより、pub要求時には管理システム50と接続していないクライアントが、後に管理システム50と接続したときに、管理システム50は、記憶部5000において管理されているメッセージをクライアントに送信することもできる。
<<本実施形態の主な効果>>
続いて、上記実施形態の主な効果を説明する。上記実施形態の通信制御方法によると、管理システム50の送受信部51(受付手段の一例)は、OS2用連携アプリ(第1のクライアントの一例)で認証された端末10b(第1の通信端末の一例)からトピック"video"(所定の属性の一例)に対するメッセージ(情報の一例)のpub要求(配信の要求の一例)を受け付ける一方で、専用端末用テレビ会議アプリ(第2のクライアントの一例)で認証された端末10a(第2の通信端末の一例)からトピック"video"に対するメッセージのsub要求(受信の要求の一例)を受け付ける(受付処理の一例)。なお、トピックは、PubSubモデルにおいて、subする情報を特定するため、予め定められた属性である。また、メッセージは、PubSubモデルにおいて、pub又はsubすることが可能な情報であり、テキストの他、画像データ、映像データ、音データ等のコンテンツデータも含まれる。管理システム50のpub処理部53及びsub処理部54(配信制御手段の一例)は、OS2用連携アプリによって利用されるテレビ会議連携サービス(第1のサービスの一例)、又は専用端末用テレビ会議アプリによって利用されるテレビ会議サービス(第2のサービスの一例)が、トピック"video"に対応付けられているかに基づいて、端末10aへのトピック"video"のメッセージの配信を制御する(配信制御処理の一例)。上記実施形態の通信システム1によると、クライアントが利用するサービス毎にメッセージへのアクセスを制御することができる。
管理システム50の送受信部51は、ユーザID"U02"(第1のアカウントの一例)を用いて認証された端末10bからトピック"video"に対するメッセージのpub要求を受け付ける一方で、ユーザID"U01"(第2のアカウントの一例)を用いて認証された端末10aからトピック"video"に対するメッセージのsub要求を受け付ける。なお、アカウントはサービス等を利用する権限であって、通信システム1では、ユーザIDをアカウントとして用いている。管理システム50のpub処理部53及びsub処理部54は、ユーザID"U02"がテレビ会議サービスに対応付けられているか、又は、ユーザID"U01"がテレビ会議連携サービスに対応付けられているかに基づいて、端末10aへのトピック"video"のメッセージの配信を制御する。上記実施形態の通信システム1によると、更に、ユーザが利用するサービス毎にメッセージへのアクセスを制御することができる。
テレビ会議連携サービスがテレビ会議サービス(第3のサービスの一例)を継承するサービスとして対応付けられている場合、管理システム50のpub処理部53及びsub処理部54は、トピック"video"がテレビ会議サービスに対応付けられているかに基づいて、端末10aへのトピック"video"のメッセージの配信を制御する。上記実施形態の通信システム1によると、所定のサービスを利用するときに設定されるpub権限又はsub権限を特定のサービスに継承させることができる。
管理システム50のpub処理部53及びsub処理部54は、ユーザID"U02"がテレビ会議サービスに対応付けられているかに基づいて、端末10aへのトピック"video"のメッセージの配信を制御する。上記実施形態の通信システム1によると、更に、ユーザが利用するサービス毎にメッセージへのアクセスを制御することができる。
管理システム50のpub処理部53及びsub処理部54は、トピック"video"がテレビ会議サービス又はテレビ会議連携サービスに対応付けられている場合には、端末10aへトピック"video"のメッセージの配信しないように制御し、トピック"video"がテレビ会議サービス及びテレビ会議連携サービスのいずれにも対応付けられていない場合には、端末10aへのトピック"video"のメッセージの配信するように制御する。これにより、管理システム50は、pub要求元、及びsub要求元が利用するサービスに応じて適切にメッセージを配信できるようになる。
管理システム50のサービストピック管理DB5007(属性管理手段の一例)は、トピックのトピックID(属性情報の一例)、及びサービスのサービスID(サービス情報の一例)を関連付けて管理する。管理システム50のpub処理部53及びsub処理部54は、サービストピック管理DB5007において、所定のトピックのトピックIDに関連付けられて、pub要求元、又はsub要求元が利用する各サービスのサービスIDが管理されているかに基づいて、sub要求元への所定のトピックのメッセージの配信を制御する。これにより、通信システム1は、クライアントが利用するサービス毎にメッセージへのアクセスを制御することができる。
<<実施形態の補足>>
端末10、認証サーバ40、及び管理システム50用の各プログラムは、インストール可能な形式又は実行可能な形式のファイルによって、コンピュータで読み取り可能な記録媒体(記録メディア106等)に記録されて流通されるようにしてもよい。また、上記記録媒体の他の例として、CD−R(Compact Disc Recordable)、DVD(Digital Versatile Disk)、ブルーレイディスク等が挙げられる。
また、上記実施形態の各プログラムが記憶されたCD−ROM等の記録媒体、並びに、これらプログラムが記憶されたHD504は、プログラム製品(Program Product)として、国内又は国外へ提供されることができる。
また、上記実施形態における端末10、認証サーバ40、及び管理システム50は、単一のコンピュータによって構築されてもよいし、各部(機能又は手段)を分割して任意に割り当てられた複数のコンピュータによって構築されていてもよい。また、認証サーバ40及び管理システム50は、単一のコンピュータによって構築されていても良い。
1 通信システム
2 通信ネットワーク
10 端末
11 送受信部
12 操作入力受付部
13 表示制御部
14 認証要求部
15 pub要求部
16 sub要求部
19 記憶・読出部
40 認証サーバ
41 送受信部
42 ユーザ認証部
43 クライアント認証部
44 認可部
45 トークン発行部
49 記憶・読出部
50 管理システム
51 送受信部
52 トークン確認部
53 pub処理部
54 sub処理部
59 記憶・読出部
1000 記憶部
4000 記憶部
4001 ユーザ管理DB
4002 クライアント管理DB
4003 サービス管理DB
4004 サービス認可管理DB
5000 記憶部
5001 トピック管理DB
5002 ユーザトピック管理DB
5003 ユーザサービス管理DB
5004 ユーザクライアント管理DB
5005 クライアントトピック管理DB
5006 クライアントサービス管理DB
5007 サービストピック管理DB
5008 サービス継承管理DB
5014 セッション管理DB
特許第5160134号公報

Claims (10)

  1. 所定の属性の情報を配信する要求を、第1のクライアントで認証された第1の通信端末から受け付ける一方で、前記所定の属性の情報を受信する要求を、第2のクライアントで認証された第2の通信端末から受け付ける受付手段と、
    前記第1のクライアントによって利用される第1のサービス又は前記第2のクライアントによって利用される第2のサービスが、前記所定の属性に対応付けられているかに基づいて、前記第2の通信端末への前記所定の属性の情報の配信を制御する配信制御手段と、
    を有することを特徴とする管理システム。
  2. 前記受付手段は、前記所定の属性の情報を配信する要求を、第1のアカウントで認証された前記第1の通信端末から受け付ける一方で、前記所定の属性の情報を受信する要求を、第2のアカウントで認証された前記第2の通信端末から受け付け、
    前記配信制御手段は、前記第1のアカウントが前記第1のサービスに対応付けられているか、又は、前記第2のアカウントが前記第2のサービスに対応付けられているかに基づいて、前記第2の通信端末への前記所定の属性の情報の配信を制御することを特徴とする請求項1に記載の管理システム。
  3. 前記配信制御手段は、前記第1のサービスが第3のサービスに対応付けられている場合に、前記第3のサービスが前記所定の属性に対応付けられているかに基づいて、前記第2の通信端末への前記所定の属性の情報の配信を制御することを特徴とする請求項2に記載の管理システム。
  4. 前記配信制御手段は、前記第1のアカウントが前記第3のサービスに対応付けられているかに基づいて、前記第2の通信端末への前記所定の属性の情報の配信を制御することを特徴とする請求項3に記載の管理システム。
  5. 前記配信制御手段は、前記第1のサービス又は前記第2のサービスが、前記所定の属性に対応付けられている場合には、前記第2の通信端末へ前記所定の属性の情報を配信しないように制御し、前記第1のサービス及び前記第2のサービスが、いずれも前記所定の属性に対応付けられていない場合には、前記第2の通信端末へ前記所定の属性の情報を配信するように制御することを特徴とする請求項1乃至4のいずれか一項に記載の管理システム。
  6. 属性を示す属性情報、及びサービスを示すサービス情報を関連付けて管理する属性管理手段を有しており、
    前記配信制御手段は、前記属性管理手段において、前記所定の属性を示す属性情報に関連付けられて前記第1のサービスを示すサービス情報、又は第2のサービスを示すサービス情報がそれぞれ管理されているかに基づいて、前記第2の通信端末への前記所定の属性の情報の配信を制御することを特徴とする請求項1乃至5のいずれか一項に記載の管理システム。
  7. 請求項1乃至5のいずれか一項に記載の管理システムと、
    前記第1の通信端末と、
    前記第2の通信端末と、
    を有することを特徴とする通信システム。
  8. 管理システムが、
    所定の属性の情報を配信する要求を、第1のクライアントで認証された第1の通信端末から受け付ける一方で、前記所定の属性の情報を受信する要求を、第2のクライアントで認証された第2の通信端末から受け付ける受付処理と、
    前記第1のクライアントによって利用される第1のサービス又は前記第2のクライアントによって利用される第2のサービスが、前記所定の属性に対応付けられているかに基づいて、前記第2の通信端末への前記所定の属性の情報の配信を制御する配信制御処理と、
    を実行することを特徴とする通信制御方法。
  9. 前記第1の通信端末が、
    前記第1のクライアントで認証されてから前記所定の属性の情報を配信する要求を前記管理システムへ送信する処理を実行し、
    前記第2の通信端末が、
    前記第2のクライアントで認証されてから前記所定の属性の情報を受信する要求を前記管理システムへ送信する処理を実行する
    ことを特徴とする請求項8に記載の通信制御方法。
  10. 管理システムに、
    所定の属性の情報を配信する要求を、第1のクライアントで認証された第1の通信端末から受け付ける一方で、前記所定の属性の情報を受信する要求を、第2のクライアントで認証された第2の通信端末から受け付ける受付処理と、
    前記第1のクライアントによって利用される第1のサービス又は前記第2のクライアントによって利用される第2のサービスが、前記所定の属性に対応付けられているかに基づいて、前記第2の通信端末への前記所定の属性の情報の配信を制御する配信制御処理と、
    を実行させることを特徴とするプログラム。
JP2015229814A 2015-11-25 2015-11-25 管理システム、通信システム、通信制御方法、及びプログラム Pending JP2017098780A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015229814A JP2017098780A (ja) 2015-11-25 2015-11-25 管理システム、通信システム、通信制御方法、及びプログラム
US15/341,349 US10498716B2 (en) 2015-11-25 2016-11-02 Management system, communication control method, and communication system
EP16199428.0A EP3174265B1 (en) 2015-11-25 2016-11-18 Management system, communication control method, and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015229814A JP2017098780A (ja) 2015-11-25 2015-11-25 管理システム、通信システム、通信制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2017098780A true JP2017098780A (ja) 2017-06-01

Family

ID=58803825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015229814A Pending JP2017098780A (ja) 2015-11-25 2015-11-25 管理システム、通信システム、通信制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2017098780A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2017170176A1 (ja) * 2016-03-28 2019-02-14 株式会社リコー 情報送信システム、情報送信方法、及びプログラム
JP2020135199A (ja) * 2019-02-15 2020-08-31 富士電機株式会社 機器制御システム及び機器制御方法
JP7508818B2 (ja) 2020-03-18 2024-07-02 富士電機株式会社 機器制御システム及び機器制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2017170176A1 (ja) * 2016-03-28 2019-02-14 株式会社リコー 情報送信システム、情報送信方法、及びプログラム
JP2020135199A (ja) * 2019-02-15 2020-08-31 富士電機株式会社 機器制御システム及び機器制御方法
JP7508818B2 (ja) 2020-03-18 2024-07-02 富士電機株式会社 機器制御システム及び機器制御方法

Similar Documents

Publication Publication Date Title
JP2017068596A (ja) 管理システム、通信システム、送信制御方法、及びプログラム
US10778455B2 (en) Conference system, information transmission method, and storage medium
US10498716B2 (en) Management system, communication control method, and communication system
US10681094B2 (en) Control system, communication control method, and program product
JP2017091369A (ja) 管理システム、管理方法、及びプログラム
JP6724431B2 (ja) 通信システム、情報送信方法、及びプログラム
JP2014179806A (ja) 通信システム、通信管理装置、及びプログラム
CN106233267B (zh) 访问管理系统、通信系统、记录介质和访问管理方法
JP2017097652A (ja) 管理システム、通信システム、通信制御方法、及びプログラム
EP3261317B1 (en) Authentication system, communication system, and authentication and authorization method
JP6107977B2 (ja) アクセス制御装置、通信システム、プログラム、及びアクセス制御方法
US20170339135A1 (en) Authentication system, communication system, and authentication method
JP6724423B2 (ja) 通信端末、通信システム、出力方法、及びプログラム
EP3151481B1 (en) Communication terminal, communication system, and output method
JP2017098780A (ja) 管理システム、通信システム、通信制御方法、及びプログラム
US10728254B2 (en) Management system, communication system, and management method
JP2017211769A (ja) 管理システム、通信システム、認可方法、及びプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180209