JP6410423B2 - 通信制御装置、通信制御方法、及び、プログラム - Google Patents

通信制御装置、通信制御方法、及び、プログラム Download PDF

Info

Publication number
JP6410423B2
JP6410423B2 JP2013245196A JP2013245196A JP6410423B2 JP 6410423 B2 JP6410423 B2 JP 6410423B2 JP 2013245196 A JP2013245196 A JP 2013245196A JP 2013245196 A JP2013245196 A JP 2013245196A JP 6410423 B2 JP6410423 B2 JP 6410423B2
Authority
JP
Japan
Prior art keywords
communication
data
communication device
time
session
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.)
Active
Application number
JP2013245196A
Other languages
English (en)
Other versions
JP2015104076A (ja
JP2015104076A5 (ja
Inventor
亨 強矢
亨 強矢
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013245196A priority Critical patent/JP6410423B2/ja
Priority to US14/551,704 priority patent/US9866541B2/en
Publication of JP2015104076A publication Critical patent/JP2015104076A/ja
Publication of JP2015104076A5 publication Critical patent/JP2015104076A5/ja
Priority to US15/837,510 priority patent/US10447680B2/en
Application granted granted Critical
Publication of JP6410423B2 publication Critical patent/JP6410423B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Description

本発明は、ネットワークで接続された複数の装置間での通信セッションの制御に関する。
近年、動画像や音声などのマルチメディアデータをRTP(Real−time Transport Protocol)と呼ばれる通信プロトコルを用いてストリーミング配信し、視聴する技術が広く実用化されている。
RTPは、主に音声や動画像などをリアルタイムでデータ転送するためのプロトコルであり、IETFによりRFC3550として定義されている。
RTPは、非コネクション型のプロトコルであるUDP(User Datagram Protocol)の上位プロトコルである。RTPを用いて動画像や音声のデータをパケット化して通信する場合、一般にネットワークに流れるRTPパケットのことをストリームデータ、或いはメディアストリームなどと呼ぶ。
このRTPを用いたメディアストリームの開始や終了などの制御を行うためのプロトコルとして、一般にRTSP(RealTime Streaming Protocol)が知られている。RTSPは、IETF(Internet Engineering Task Force)によりRFC2326として定義されている。
RTSPで制御する通信セッションは、ストリームデータを受信するクライアントから送信元のサーバに対して、所定の時間メッセージの送信が無かった場合、通信セッションがタイムアウトしたとして、サーバがセッションを切断する場合がある。
通信セッションを継続したい場合、クライアントは所定の時間が経過する前に、メッセージを送信することにより通信セッションを継続することができる。この通信セッションを継続する仕組みはキープ・アライブとも呼ばれる。
RTSPでは、通信セッションを開始する際に、通信セッションがタイムアウトする時間をサーバからクライアントに通知する。クライアントは、通知されたタイムアウト時間が経過する前に、任意のRTSPコマンドをサーバに送信することにより通信セッションを継続することができる。
また従来、通信セッションを継続する手段として、RTSPに加えて、RTCP(Real−Time Transport Control Protocol)と呼ばれるプロトコルを利用する通信システムが知られている(例えば、特許文献1)
RTCPは、RTPと組み合わせて使用される。RTCPはデータのフロー制御や送信者と受信者間の情報を伝達するためのプロトコルで、IETFによってRFC3550で定義されている。
RTCPでは、通信の状況をクライアント側からサーバ側に通知するためにReceiver Report(以降、RRと記述する)と呼ばれる種類のパケットが使用される。
従来、このRRをクライアントからサーバに定期的に通知することによって、サーバに通信セッションを継続させる方法が知られている。
特表2005−526294号公報
しかし、複数の通信手順(通信プロトコル)を用いて通信セッションを管理する場合、サーバが認証しないクライアントとの通信セッションが確立され又は継続されてしまう場合がある。
例えば、クライアントの認証を行う機能をサポートする第1のプロトコルと、クライアントの認証を行う機能をサポートしない第2のプロトコルとを併用する場合に以下の課題が生じる。すなわち、サーバが認証しないクライアントとの通信セッションが確立され又は継続されてしまう場合がある。
例えば、RTSPは、サーバとクライアント間で通信セッションを確立又は維持する際に、サーバがクライアントの認証を行う機能をサポートしている。
一方、RTCPでは、サーバがクライアントの認証を行う機能をサポートしていない。従って、上述の従来例のように、クライアントからサーバにRRを定期的に通知することによって通信セッションを継続させる場合に、クライアントの認証を必要としない。
従って、RTSPを用いた通信においてクライアントの認証を行った結果、サーバがクライアントと通信セッションを継続しないと判断したにもかかわらず、RTCPによる通信によって、当該クライアントとの通信が継続してしまう場合がある。
このように、サーバとクライアント間でのセキュアな通信が行われなくなってしまう場合がある。
本発明は、このような課題を鑑みて、よりセキュアな通信セッションの制御を実現することを目的とする。
本発明の目的を達成するために、例えば本発明にかかる通信制御装置は以下の構成を備える。
すなわち、通信装置との通信セッションの維持に関する判定のために前記通信装置の認証を行う第1の通信プロトコル、及び、前記通信装置の認証をせずに前記通信装置と通信を行う第2の通信プロトコルを用いて前記通信装置との通信を行う通信手段と、前記第1の通信プロトコルに基づく前記通信装置の認証成功している状態においては、前記第1の通信プロトコルに基づいて構築された通信セッションの維持に関するセッションタイムアウトの判定を前記第1の通信プロトコルによる通信状況と前記第2の通信プロトコルによる通信状況とに基づいて行い、前記第1の通信プロトコルに基づく前記通信装置の認証失敗している状態においては、前記第1の通信プロトコルに基づいて構築された通信セッションの維持に関するセッションタイムアウトの判定を前記第2の通信プロトコルによる通信状況によらず前記第1の通信プロトコルによる通信状況に基づいて行う制御手段とを有する。
以上の構成からなる本発明によれば、よりセキュアな通信セッションの制御を実現することができる。
サーバ100の構成を示す図。 サーバ100における通信セッションのタイムアウト時間を記憶する処理の一例を示すフローチャート。 サーバ100における通信セッションを継続するか切断するか判定処理の一例を示すフローチャート。 実施形態1にかかるサーバ100における通信セッション制御の一例を示すシーケンス図。 実施形態2にかかるサーバ100における通信セッション制御の一例を示すシーケンス図である。 サーバ100において、RTSP認証失敗後に再び認証が成功した場合の処理の一例を示すシーケンス図。
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
本発明の一実施形態である通信制御装置の例を図1に示す。図1は、本発明の第1の実施形態におけるサーバ100(通信制御装置)の構成例を示すブロック図である。
サーバ100は例えば、PC(Personal Computer)やタブレット端末等のクライアントに対して映像データを送信する送信装置とすることができる。あるいはサーバ100は、撮像を行う撮像部を有するネットワークカメラとしてもよい。ネットワークカメラにサーバ100の機能を搭載する場合、撮像部において撮像された映像データをPCやタブレット端末等のクライアントに送信してもよい。
図1において、サーバ100は、生成部101、制御部102、管理部103、保持部104、通信部105を有する。
伝送路106は、いわゆる3Gや4G等の携帯電話方式の通信サービスや、インターネット、或いはLAN(Local Area Network)等のネットワークである。
通信部105はデータを送受信する機能を備え、伝送路106と通信可能な様に接続される。尚、通信手段は無線でも有線でも良い。
通信部105は、通信装置(以下、「クライアント」という)との通信セッションを維持するためにクライアントの認証を行う第1の通信手順を用いてクライアントとの通信セッションを構築することができる。また通信部105は、クライアントと通信するためにクライアントの認証を必要としない第2の通信手順を用いてクライアントとの通信を行うことができる。
本実施例では、通信部105はRTSP(第1の通信手順)によって、クライアントとの通信を行うことができるものとする。また本実施例において通信部105はRTCP(第2の通信手順)によって、クライアントとの通信を行うことができるものとする。
ここで、RTSPを用いた通信においては、サーバ100とクライアントとの間に通信セッションが構築される。クライアントはRTSP(第1の通信手順)により規定された手順を用いて、サーバ100から送信される映像の再生、一時停止、停止等の操作をサーバ100に対して行うことができる。例えば、サーバ100がネットワークカメラである場合、クライアントはネットワークカメラが撮像した映像の送信の一時停止、再開、停止等をRTSPに規定された手順を用いて行うことができる。
本実施例において、通信セッションとは、第1の通信手順を用いてサーバ100の映像送信を制御するために用いられるセッションである。本実施例では、通信セッションを切断すると、サーバ100からクライアントへの映像ストリーミングも終了されるものとする。あるいは、第1の通信手順を用いてサーバ100の映像送信を制御するために用いられる通信セッションが切断された場合でも、映像ストリーミングは継続されることとしてもよい。
RTSPを用いた通信においては、サーバとクライアント間で通信セッションを確立及び維持する際に、サーバ100がクライアントの認証を行うことができる。
RTSPを用いた通信において、サーバ100はクライアントから第1のデータ(例えば、第1のRTSPコマンド)を受信した後に、第2のデータ(例えば、第2のRTSPコマンド)を受信する。第1のRTSPコマンド及び第2のRTSPコマンドは、例えば、GET_PARAMETERコマンドとすることができる。
サーバ100は、第1のデータが受信されてから第1の所定時間が経過するまでに第2のデータを受信し、かつ、第2のデータを送信したクライアントが所定のクライアントであると認証された場合には、クライアントとの通信セッションを維持する。第1の所定時間はタイムアウト時間である。
また、RTCPを用いた通信においては、サーバ100とクライアントとの間に通信セッションは構築されない。本実施例において、RTCPの通信手順が、構築された通信セッションを維持するために用いられる場合について説明する。クライアントは、RTCPにより規定された手順を用いて、サーバ100から送信されたデータの受信状況をRRに記載してサーバ100に通知する。RRには例えば、パケットロスト数や、パケット到達時間のジッター等についての情報が記載される。
本実施例にかかるサーバ100は、RTSPを用いて構築された通信セッションのタイムアウト時間を、RRを受信する度に更新する。
例えば、RTCPを用いた通信において、サーバ100はクライアントから第3のデータ(例えば、RTCPの第1のRR)を受信した後に、第4のデータ(例えば、RTCPの第2のRR)を受信する。
RTCPを用いた通信において、サーバ100は、第3のデータが受信されてから第2の所定時間が経過するまでに第4のデータを受信した場合には、RTSPの通信手順によって構築された通信セッションを維持する。
本実施例にかかるサーバ100は、RTSPを用いて構築した通信セッションを維持するか否かを、RTSPコマンドの受信及びRRの受信によって判断する。従って、クライアント装置がRTSPコマンド又はRRの一方のみを用いて、通信セッションを維持するか否かを決定する場合であっても、本発明のサーバ100によれば適切にセッションの維持を行うことができる。
生成部101は、例えばRTPプロトコルを用いる場合、外部から入力された動画像や音声の符号化されたデータを、通信に適したサイズに分割し、更にメディアの種類毎に適切なヘッダを付加してRTPのデータパケットを生成する。
制御部102は、サーバ100の各構成を制御する。制御部102は、クライアントとの通信セッションの作成や切断に関する指示を行う。また、制御部102はサーバ100からクライアントに送信するデータのフロー制御を行う。
本実施形態において、制御部102は通信装置との通信セッションを維持するかを決定する制御を第1の通信手順(例えば、RTSP)及び前記第2の通信手順(例えば、RTCP)を用いて行う。また、制御部102は、第1の通信手順によりクライアントが所定のクライアントであると認証されない場合には、以下の制御を行う。すなわち、第2の通信手順によりクライアントとの通信セッションを維持することを制限する制御を行う。
制御部102は例えば、CPU(Central Processing Unit)などのプロセッサとすることができる。制御部102がプロセッサとして構成される場合、例えば制御部102は、後述の保持部104に記憶されたプログラムを実行することにより、サーバ100の各構成を制御する。
管理部103は、通信セッションが作成されたクライアントからサーバ100に送信されるデータの内容及び当該データが受信された時刻を後述の保持部104に保持させる。管理部103は、クライアントから送信されたデータとともに、当該データが送信された時刻を保持部104に保持させることとしてもよい。また管理部103は、保持部104に記憶させた情報に基づいて、クライアントとの通信セッションの維持に関する情報の管理を行う。
保持部104は、クライアントから受信したデータの内容を保持する。また保持部104は、サーバ100がクライアントからデータを受信された時刻、又は、クライアントからデータが送信された時刻の情報を保持する。本実施例において、保持部104に保持される時刻は、通信セッションのタイムアウト時間の計測が開始される時刻である。たとえば、タイムアウト時間が60秒である場合、保持部104に保持された時刻から60秒が経過すると、サーバ100はクライアントとの通信セッションを切断する。
次に、本実施形態のサーバ100による通信セッション制御の詳細について、図2及び図3を用いて説明する。図2及び図3は、本実施形態のサーバ100における通信セッション制御の一例を示すフローチャートである。
サーバ100の制御部102がプロセッサ及びメモリを内蔵する形態では、図2及び図3に示した処理は、図2及び図3に示される手順を制御部102が保持部104に格納されたプログラムをメモリに展開して実行することにより実現される。サーバ100は、各手順を実行することにより、各手順を実現する各構成として機能する。あるいは、図2及び図3に示す処理の一部又は全体をハードウェアが行うこととしてもよい。
クライアントからパケットを受信した際に、サーバ100がパケットの最終受信時間を記憶する処理の例について、図2を用いて説明する。
図2において、まず制御部102は、通信部105が受信したパケットの種別を判定する(S201)。パケットがRTSPコマンドであった場合は、ステップS202へ進み、RTCPのRRであった場合はステップS205へ進む。
ここで、RTSPコマンドとは、RTSPを用いた通信において、クライアントからサーバ100に送信されるコマンドである。
また、RTCPのRRとは、RTCPを用いた通信において、クライアントからサーバに送られるパケットである。サーバから通知されたセッションのタイムアウト時間が経過する前にクライアントがRRをサーバに通知することによって、クライアントはサーバに通信セッションを継続させることができる。
ステップS201において制御部102が行う判定は上記の例に限られず、通信部105において受信したデータが、クライアントの認証を行う通信手順を用いて送信されたデータであるか否かを判定することとすればよい。
通信部105が受信したパケットがRTSPコマンドであった場合(S201においてRTSPの場合)、制御部102はRTSPの認証機能が有効であるか判定する(S202)。ここで、RTSPの認証機能とは、RTSPを用いた通信手順において、サーバ100にアクセスを行ったクライアントが、サーバ100との通信セッションを構築することを許可するクライアントであるか判定する機能である。認証の方式として、例えば、DIGEST認証やBASIC認証を用いることができる。RTSPの認証機能が有効であるか、無効であるかの設定は保持部104に保持されているものする。クライアントがサーバ100に指示して、認証機能の有効又は無効を切り替えられることとしてもよい。
RTSPの認証モードが有効である場合(S202においてYesの場合)、制御部102はRTSP認証を実行して、クライアントがサーバ100との通信セッションを構築することを許可するクライアントであるか判定する(S203)。ステップS203においてクライアントが認証された場合(S203においてOKの場合)、制御部102はステップS204の処理を行う。一方、ステップS203においてクライアントが認証されなかった場合(S203においてエラーの場合)、制御部102は処理を終了する。
ステップS203において、クライアントが所定のクライアントであると認証されなかった場合、サーバ100はRTSPによる認証が失敗した状態であることを保持部104に保持する。あるいは、サーバ100はRTSPによる認証が成功した状態であることを保持部104に保持することとしてもよい。
また、ステップS202においてRTSP認証モードが無効である場合(Noの場合)は、制御部102は、RTSP認証を行わずにステップS204の処理を行う。
ステップS204では、制御部102は管理部103を制御して、通信セッション毎に、最後にRTSPコマンドを受信した時刻(最終受信時間)を保持部104に保持させて処理を終了する。保持部104に保持されたRTSPコマンドの受信時刻から所定のタイムアウト時間(例えば、60秒)がカウントされる。当該タイムアウト時間以内に新たなRTSPコマンドが受信され、かつ、RTSPによるクライアントの認証に成功した場合には、サーバ100は通信セッションを維持すると判定する。
一方、ステップS201において、受信したパケットの種類がRTCPのRRであると判定した場合、制御部102はステップS205の処理を行う。
通信部105が受信したパケットがRTCPコマンドであった場合(S201においてRTCPのRRの場合)、ステップS205において制御部102は、その時点で当該通信セッションがRTSP認証に失敗した状態か否かのチェックを行う。RTSP認証が失敗した状態の場合(ステップS205においてYesの場合)、制御部102は処理を終了する。PTSP認証が失敗した状態であることは保持部104に保持されている。
一方、RTSP認証に成功した状態か、或いはRTSP認証が無効である場合(ステップS205においてNoの場合)、制御部102はステップS206の処理を行う。PTSP認証が成功した状態であること、RTSP認証が無効であることは保持部104に保持されている。
ステップS206では、制御部102は管理部103を制御して、通信セッション毎に、最後にRTCPのRRを受信した時刻(最終受信時間)を保持部104に保持させる。保持部104に保持されたRRの受信時刻から所定のタイムアウト時間(例えば、60秒)がカウントされ、当該タイムアウト時間以内に新たなRRが受信された場合には、サーバ100は通信セッションを維持すると判定する。
以上のとおり、図2に示したフローによれば、以下の処理を行うことができる。
即ち、クライアントから第1のデータ(RTSPコマンド)を第1の通信手順(RTSP)を用いて受信した場合を第1の場合とする(S201でRTSPの場合)。また、第1のデータを送信したクライアントが所定の通信装置であると認証された場合を第2の場合とする(S203でYesの場合)。第1の場合であって、かつ、第2の場合、第1のデータを受信した時刻を保持部104に保持する。
また、クライアントから第1のデータを第1の通信手順を用いて受信し、かつ、クライアントが所定の通信装置であると認証されない場合には、第1のデータを受信した時刻を保持部104に保持しない。(S201でRTSP、S203でエラーの場合)。
RTSPコマンド(第1のデータ)を受信した時刻が保持部104に保持されない場合、新たなRTSPコマンドを受信しても、タイムアウト時間の計測を開始する時刻が更新されない。従って、セッションタイムアウトにより、クライアントとの通信セッションが維持されなくなる。
また図2に示したフローによれば、以下の処理を行うことができる。
すなわち、クライアントから第3のデータ(RR)を第2の通信手順(RTCP)を用いて受信した場合を第3の場合とする(S201でRTCP RRの場合)。また、第1の通信手順によりクライアントが所定のクライアントであると認証された状態である場合を第4の場合とする(S205でNoの場合)。第3の場合であって、かつ、第4の場合、第3のデータを受信した時刻を保持部104に保持する。
またクライアントから第3のデータを第2の通信手順を用いて受信し、かつ、第1の通信手順によりクライアントが所定のクライアントであると認証されていない状態である場合には、第3のデータを受信した時刻を保持部104に保持しない。(S201でRTCP RR、S205でYesの場合)。
RR(第3のデータ)を受信した時刻が保持部104に保持されない場合、新たなRRを受信しても、タイムアウト時間の計測を開始する時刻が更新されないので、セッションタイムアウトにより、クライアントとの通信が維持されなくなる。
図2を用いて説明した処理は、通信セッション毎に通信部105がクライアントから送信されたパケットを受信する度に実行される。ステップS204及びステップS206においては、図2を用いて説明した処理が繰り返される度に、保持部104に保持した時間が更新される。
次に、図2を用いて説明した処理によって記憶されたパケットの最終受信時間と通信セッションのタイムアウト時間を基に、当該通信セッションを継続するか切断するか判定する処理の例について図3を用いて説明する。制御部102は、定期的に(例えば、1秒おきに)図3の処理を実行する。
まず制御部102は、保持部104から、最後にRTSPコマンドを受信した時刻と、最後にRTCPのRRを受信した時刻を取得する(S301)。
次に制御部102は、最後にRTSPコマンドを受信した時刻から現在の時刻までの経過時間と、当該通信セッションのタイムアウト時間とを比較して、RTSPを用いて構築された通信セッションをタイムアウトとするか確認する(S302)。
最後にRTSPコマンドを受信した時刻から現在の時刻までの経過時間が、RTSPを用いた通信におけるタイムアウト時間を経過していなかった場合(S302においてNoの場合)は、制御部102はステップS303の処理を実行する。すなわち、クライアントとの通信セッションを継続する(S303)。
最後にRTSPコマンドを受信した時刻から現在の時刻までの経過時間が、RTSPを用いた通信におけるタイムアウト時間を経過している場合(S302においてYesの場合)は、制御部102はステップS304の処理を実行する。
ステップS304において、制御部102は、当該通信セッションがRTSP認証に失敗した状態か否かのチェックを行う。RTSP認証が失敗した状態であった場合(S304においてYesの場合)、制御部102はステップS306へ進み、クライアントとの通信セッションを切断する制御を行う。ステップS306において制御部102は、クライアントとの通信セッションを切断する。
ステップS304においてRTSP認証に成功した状態である場合、及び、RTSP認証が無効である場合(S304においてNoの場合)には、制御部102はステップS305へ進む。
ステップS305において制御部102は、RTCPのRRを最後に受信した時刻から現在の時刻までの経過時間と、RTCPを用いた通信セッションのタイムアウト時間とを比較することで、当該通信セッションをタイムアウトとするか確認する。
RTCPのRRを最後に受信した時刻から現在の時刻までの経過時間が、タイムアウト時間を経過していない場合(ステップS305においてNoの場合)は、制御部102はステップS303の処理を実行する。すなわち、制御部102はクライアントとの通信セッションを継続する(S303)。
RTCPのRRを最後に受信した時刻から現在の時刻までの経過時間が、タイムアウト時間を経過していた場合(S305においてYesの場合)は、制御部102はステップS306の処理を実行する。すなわち制御部102は、クライアントとの通信セッションを切断する(S306)。
以上のとおり、図3に示したフローによれば、以下の処理を行うことができる。
すなわち、第2のデータ(RTSPコマンド)を送信したクライアントが所定のクライアントであると認証された場合を第5の場合とする(S203においてYesの場合)。また、保持部104に保持された時刻から所定時間が経過するまでに第2のデータを第1の通信手順(RTSP)を用いて受信した場合を第6の場合とする(S302においてNoの場合)。第5の場合であってかつ第6の場合には、クライアントとの通信セッションを維持するように制御する(S303)。
また、図3に示したフローによれば、以下の処理を行うことができる。
すなわち、保持部104に保持された時刻から所定時間が経過するまでに第4のデータ(RR)を第2の通信手順(RTCP)を用いて受信した場合には、クライアント装置との通信セッションを維持するように制御する(S305でNo)。
図3の処理は、例えば1秒から数秒おきに繰り返し実行し、通信セッションを適時タイムアウトさせることで、セキュアな通信セッションの維持を可能にする。
次に、図2及び図3を用いて説明した処理の流れの一例について、図4及び図5に示したシーケンス図を用いて説明する。図4は、本発明の一実施形態であるサーバにおける通信セッション制御の一例を示すシーケンス図である。
サーバ100がRTSP及びRTCPを用いてクライアントとの通信セッションを制御する例について、図4を用いて説明する。
図4に示した例において、サーバ100は、RTSPを用いた通信におけるタイムアウト時間が経過する前にRTSPコマンドの1つであるGET_PARAMETERをクライアントから受信すると、クライアントの通信セッションを継続する。
また図4に示した例においてサーバ100は、RTCPを用いた通信におけるタイムアウト時間が経過する前にRRをクライアントから受信すると通信セッションを継続する。
本実施例では、GET_PARAMETERを受信してから通信セッションがタイムアウトするまでの時間が60秒である場合について説明する。また、RRを受信してから通信セッションがタイムアウトするまでの時間が60秒である場合について説明する。
図4において、時刻403は、サーバ100がクライアントから第1のRTSPコマンド(第1のGET_PARAMETER)を受信した時刻400からタイムアウト時間である60秒が経過する時刻を示す。
サーバ100は、時刻403が経過する以前に第2のRTSPコマンドを受信し、かつ、当該RTSPコマンドを送信したクライアントがサーバ100に認証された場合には、当該クライアントとの通信セッションを継続する。
一方、第1のRTSPコマンドを受信した後、時刻403が経過する以前に第2のRTSPコマンド(第2のGET_PARAMETER)を受信せず、RR受信によるセッション維持もなされない場合、クライアントとの通信セッションを切断する。また、時刻403が経過する以前に第2のRTSPコマンドを受信した場合であっても、当該RTSPコマンドを送信したクライアントがサーバ100に認証されない場合には、通信セッションを切断する。
タイムアウト時間は60秒に限られない。また、RTSPを用いた通信におけるタイムアウト時間と、RTCPを用いた通信におけるタイムアウト時間は必ずしも同じ長さでなくともよい。
時刻404は、サーバ100がRTCPの第1のRRを受信してからタイムアウト時間である60秒が経過する時刻を示す。また時刻405は、サーバ100がクライアントから第2のRRを受信してからタイムアウト時間である60秒が経過する時刻を示す。
サーバ100は、第1のRRを受信した後、時刻404が経過する前に第2のRRを受信した場合にはクライアントとの通信セッションを継続する。
一方、サーバ100は時刻404が経過する前に第2のRRを受信せず、RTSPコマンドによるセッション維持もなされない場合には、クライアントとの通信セッションを切断する。時刻405についても時刻404と同様にして、クライアントとの通信セッションを継続するか否かを判定する。
時刻401は、第1のRTSPコマンドを受信した時刻400と第2のRTSPコマンドの受信した時刻との間において、クライアントがRTSP認証モードの変更やパスワードの変更などの設定変更を行った時刻を表す。
図4に示した時刻401において、例えば、サーバ100においてRTSP認証モードの変更やパスワードの変更などがあった場合、第2のRTSPコマンドを送信したクライアントがRTSPの認証に失敗することがある。この場合、サーバ100がクライアントを認証しないことを示すエラーコード402(Unauthorized)をクライアントに返す。
RTSPを用いた通信においてクライアントが認証されなかった場合(認証エラーの場合)、サーバ100は、第2のRTSPコマンドの受信後、RTCPのRRを受信してもクライアントとの通信セッションを継続しないようにする。
例えば、クライアントからRRを受信することによる通信セッションの継続を無効にする。すなわち、時刻405のタイムアウト時刻は無効となる。
図4の例では、クライアントが認証されないまま時刻403を経過した場合、保持部104に保持されているRRの最終受信時刻(第2のRRの受信時刻)から60秒が経過する前に第3のRRを受信したとしても、通信セッションを維持させない。
そして、第1のRTSPコマンド(GET_PARAMETER)を受信した時刻からタイムアウト時間である60秒が経過する時刻403を、クライアントとの通信セッションのタイムアウト時刻とする。図4の例において、第1のRTSPコマンドは、当該コマンドをサーバ100が受信したときにクライアントの認証に成功したコマンドである。 このようにして、RTSPを用いた通信においてサーバがクライアントを認証しなかった場合には、その後、RTCPを用いた通信によってクライアントとの通信セッションが継続されないようにすることができる。
このようにして、サーバ100がクライアントの認証を行う機能を実現できる第1の通信手順と、サーバ100がクライアントの認証を必要としない第2の通信手順を併用して通信を行う場合にも、認証したクライアントとのみ通信を継続することができる。従って、サーバ100とクライアントとの間で、よりセキュアな通信を実現することができる。
本実施例では、RTSPを用いた通信においてクライアントが認証されなかった場合でも、クライアントとの通信セッションのタイムアウト時刻が経過するまでは、通信セッションを維持するものとする。このようにして、一度クライアントが認証に失敗しても、タイムアウト前に再度認証を行い、認証に成功した場合には、通信セッションを維持させることができる。
RTSPの認証が失敗し、その後に同じ通信セッションでRTSPの認証が成功した場合の処理の例について、図6を用いて説明する。
時刻601は、クライアントにおいて、RTSP認証モードの変更やパスワードの変更などがあった時刻を表す。
コマンド602は、クライアントが時刻601において行った変更のために、サーバ100がクライアントを認証しないことを示すエラーコードである。コマンド602は、第1のRTSPコマンドの受信に応答して、サーバ100からクライアントに送信される。
クライアントのRTSP認証に失敗すると、サーバ100は、RTSP認証に失敗した状態では、当該通信セッションにおいて、RTCPのRRによる通信セッションの継続を無効とする。即ち、図6の603に示すRTCP RRは、RTSP認証がエラーとなった状態で受信したものなので、603に示すRTCP RRを受信したことを理由とするセッションの継続は行わない。図6では、RTSP認証がエラーになる前のRTCP RRの受信から60秒のセッションタイムアウト時刻が経過するまでは、セッションが継続される。
RTCP認証がエラーになった後、セッションタイムアウト時刻が経過するまでに、第2のRTSPコマンドを受信し、クライアントのRTSP認証が成功した場合、サーバ100はクライアントに認証が成功したことを示すコマンド604を送信する。
サーバ100は、コマンド604を送信した以後は、RTCPのRRを受信したことを理由として通信セッションを継続する機能を有効に切り替える。すなわち、RR605はクライアントのRTSP認証が成功した状態で受信したものなので、RR605による当該セッションの継続は有効となる。
こうして、第1の通信手順によりクライアントが所定のクライアントであると認証されなかった第1の時刻からクライアントが認証された第2の時刻までの期間には第2の通信手順によりクライアントとの通信セッションを維持することを制限する。ここで、第1の通信手順はRTSPであり、第2の通信手順はRTCPとすることができる。そして、第2の時刻以後は第2の通信手順によりクライアントとの通信セッションを維持することを許可する制御を行う。
このようにすれば、サーバ100によるクライアントの認証が失敗した後、当該クライアントがサーバ100によって認証された場合には、クライアントがRTCPのRRを送信することにより通信セッションを継続させる機能を有効にすることができる。
<実施形態2>
実施形態1では、RTSPを用いた通信においてクライアントが認証されなかった場合、それ以降、サーバ100がRTCPのRRを受信してもクライアントとの通信セッションを継続しないようにする例について説明した。
しかし、クライアントが認証されなかった場合、それ以降に受信したRRのうち所定の時間内にRRを受信した場合には、RRの受信に応じてサーバ100がクライアントとの通信セッションを継続させることとしてもよい。
実施形態2では、第1のRRを受信してから所定時間が経過する前に第2のRRを受信した場合、第1のRRの受信時刻と第2のRRの受信時刻の間でRTSPのクライアント認証が失敗しても、第2のRRの受信に応じて通信セッションを継続させる。
実施形態2における送信装置の構成については、実施形態1において図1を用いて説明した内容と同じであるため説明を省略する。
実施形態2における通信セッション制御の例を、図5を用いて説明する。
実施形態1において図4を用いて説明した内容と同様に、RTSPによる通信及びRTCPによる通信のタイムアウト時間は60秒である場合について説明する。
時刻503は第1のRTSPコマンド(第1のGET_PARAMETER)を受信してから60秒後の時刻を表す。
時刻504は第1のRRを受信してから60秒後の時刻を表す。時刻505は、第1のRRの後に送信される第2のRRをサーバが受信してから60秒後の時刻を表す。また、時刻506は、第2のRRの後に送信される第3のRRをサーバが受信してから60秒後の時刻を表す。
図5において、時刻501は、第1のRTSPコマンドを受信した時刻と第2のRTSPコマンドの受信した時刻との間において、クライアントがRTSP認証モードの変更やパスワードの変更などの設定変更を行った時刻を表す。
図5の時刻501において、例えば、RTSP認証モードの変更やパスワードの変更などがあった場合、第2のRTSPコマンドに応じて実行されるクライアント認証が失敗すると、サーバ100は認証エラーを示すエラーコード502を応答する。
ここで、本実施形態では第2のRRを受信してから第3のRRを受信するまでに、クライアントの認証が失敗となった場合について説明する。
実施形態1においては、クライアントが認証されなかった場合、それ以降に受信した第3のRRによっては通信セッションが継続されない場合について説明した。しかし、本実施形態では、第2のRRを受信した時刻から所定のタイムアウト時間が経過するまでに第3のRRを受信した場合には、サーバ100は第3のRRの受信に応じて通信セッションを継続すると判定する。
そして、クライアントの認証が失敗した後に受信した第3のRRから所定のタイムアウト時間が経過するまでに第4のRRを受信しても、第4のRRの受信に応じて通信セッション継続する機能は無効とする。
このようにしても、RTSPを用いた通信においてサーバがクライアントを認証しなかった場合には、その後、RTCPを用いた通信によってクライアントとの通信セッションが継続されないようにすることができる。
このようにして、サーバ100がクライアントの認証を行う機能を実現できる第1の通信手順と、サーバ100がクライアントの認証を必要としない第2の通信手順を併用して通信を行う場合にも、認証したクライアントとのみ通信を継続することができる。従って、サーバ100とクライアントとの間で、よりセキュアな通信を実現することができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
100 サーバ
102 制御部
103 管理部
104 保持部
105 通信部

Claims (14)

  1. 通信装置との通信セッションの維持に関する判定のために前記通信装置の認証を行う第1の通信プロトコル、及び、前記通信装置の認証をせずに前記通信装置と通信を行う第2の通信プロトコルを用いて前記通信装置との通信を行う通信手段と、
    前記第1の通信プロトコルに基づく前記通信装置の認証成功している状態においては、前記第1の通信プロトコルに基づいて構築された通信セッションの維持に関するセッションタイムアウトの判定を前記第1の通信プロトコルによる通信状況と前記第2の通信プロトコルによる通信状況とに基づいて行い、前記第1の通信プロトコルに基づく前記通信装置の認証失敗している状態においては、前記第1の通信プロトコルに基づいて構築された通信セッションの維持に関するセッションタイムアウトの判定を前記第2の通信プロトコルによる通信状況によらず前記第1の通信プロトコルによる通信状況に基づいて行う制御手段と、を有することを特徴とする通信制御装置。
  2. 前記第1の通信プロトコルに基づいてアクセスした前記通信装置が通信セッションを構築することを許可する通信装置であると判定される場合は認証成功と判定し、
    前記第1の通信プロトコルに基づいてアクセスした前記通信装置が通信セッションを構築することを許可しない通信装置であると判定される場合は認証失敗と判定する判定手段を有することを特徴とする請求項1に記載の通信制御装置。
  3. 前記認証成功している状態とは、前記通信装置の認証に成功したと判定されたタイミングから、前記通信装置の認証に失敗したと判定されたタイミングまで期間に対応することを特徴とする請求項1又は2に記載の通信制御装置。
  4. 前記認証失敗している状態とは、前記通信装置の認証に失敗したと判定されたタイミングから、前記通信装置の認証に成功したと判定されたタイミングまで期間に対応することを特徴とする請求項1乃至3のうち、何れか1項に記載の通信制御装置。
  5. 前記制御手段は、前記通信装置の認証成功している状態においては、前記第1及び第2の通信プロトコルの何れかに基づくデータの受信から所定時間内に前記第1及び第2の通信プロトコルのうち少なくとも何れかに基づくデータが受信された場合には前記通信セッションを維持する一方、前記通信装置の認証失敗している状態においては、前記第1の通信プロトコルに基づくデータの受信から前記所定時間内に前記第1の通信プロトコルに基づくデータを受信しなかった場合には、前記所定時間内に前記第2の通信プロトコルに基づくデータを受信したとしても、前記通信セッションを切断するようセッションタイムアウトの判定を行うことを特徴とする請求項1乃至4のうち、何れか1項に記載の通信制御装置。
  6. 前記通信手段は、前記通信装置から第1のデータ及び前記第1のデータよりも後に受信される第2のデータを前記第1の通信プロトコルを用いて受信し、
    前記制御手段は、前記第1のデータが受信されてから所定時間が経過するまでに前記第2のデータを受信し、かつ、前記第2のデータを送信した前記通信装置が所定の通信装置であると認証された場合には、前記通信装置との通信セッションを維持するようにセッションタイムアウトの判定を行うことを特徴とする請求項1に記載の通信制御装置。
  7. 前記制御手段は、前記通信装置の認証成功している状態における前記第1の通信プロトコルに基づくデータの受信に応じて、前記第1の通信プロトコルに基づく第1データ受信時刻を更新し、且つ、前記第2の通信プロトコルに基づくデータの受信に応じて、前記第2の通信プロトコルに基づく第2データ受信時刻を更新し、前記第1及び第2データ受信時刻からの経過時間がいずれも所定時間に達すると、前記通信セッションを切断することを特徴とする請求項1に記載の通信制御装置。
  8. 前記第1及び第2データ受信時刻をメモリに記憶させる記憶制御手段を有することを特徴とする請求項7に記載の通信制御装置。
  9. 前記制御手段は、前記通信装置の認証が失敗している状態において前記第2の通信プロトコルを用いたデータの受信をしても、前記第2データ受信時刻を更新しないことを特徴とする請求項7又は8に記載の通信制御装置。
  10. 通信装置との通信セッションの維持に関する判定のために前記通信装置の認証を行う第1の通信プロトコル、及び、前記通信装置の認証をせずに前記通信装置との通信を行う第2の通信プロトコルを用いて前記通信装置との通信を行う通信手段を有する通信装置の制御方法であって、
    前記第1の通信プロトコルに基づく前記通信装置の認証成功している状態においては、前記第1の通信プロトコルに基づいて構築された通信セッションの維持に関するセッションタイムアウトの判定を前記第1の通信プロトコルによる通信状況と前記第2の通信プロトコルによる通信状況とに基づいて行い、前記第1の通信プロトコルに基づく前記通信装置の認証失敗している状態においては、前記第1の通信プロトコルに基づいて構築された通信セッションの維持に関するセッションタイムアウトの判定を前記第2の通信プロトコルによる通信状況によらず前記第1の通信プロトコルによる通信状況に基づいて行う制御ステップを有することを特徴とする通信制御方法。
  11. 前記通信装置から第1のデータ及び前記第1のデータよりも後に受信される第2のデータを前記第1の通信プロトコルを用いて受信する場合、
    前記制御ステップにおいて、前記第1のデータが受信されてから第1の所定時間が経過するまでに前記第2のデータを受信し、かつ、前記第2のデータを送信した前記通信装置が所定の通信装置であると認証された場合には、前記通信装置との通信セッションを維持するようにセッションタイムアウトの判定を行うことを特徴とする請求項10に記載の通信制御方法。
  12. 前記第1の通信プロトコルにより前記通信装置が所定の通信装置であると認証された状態で前記通信装置から第3のデータを前記第2の通信プロトコルを用いて受信した場合には、前記第3のデータを受信した時刻を保持手段に保持し、前記第1の通信プロトコルにより前記通信装置が所定の通信装置であると認証されていない状態で前記通信装置から前記第3のデータを前記第2の通信プロトコルを用いて受信した場合には、前記第3のデータを受信した時刻を前記保持手段に保持しない保持ステップを有し、
    前記制御ステップにおいて、前記保持手段に保持された時刻から所定時間が経過するまでに第4のデータを前記第2の通信プロトコルを用いて受信した場合には、前記通信装置との通信セッションを維持するように制御することを特徴とする請求項10に記載の通信制御方法。
  13. 前記制御ステップにおいて、前記第1の通信プロトコルにより前記通信装置が所定の通信装置であると認証されなかった第1の時刻から前記第1の通信プロトコルにより前記通信装置が所定の通信装置であると認証された第2の時刻までの期間には前記第2の通信プロトコルの通信状況により前記通信装置との通信セッションを維持することを制限し、前記第2の時刻以後は前記第2の通信プロトコルの通信状況により前記通信装置との通信セッションを維持する制御を行うことを特徴とする請求項10に記載の通信制御方法。
  14. コンピュータを、請求項1乃至9のうち何れか1項に記載の通信制御装置の各手段として動作させるためのプログラム。
JP2013245196A 2013-11-27 2013-11-27 通信制御装置、通信制御方法、及び、プログラム Active JP6410423B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013245196A JP6410423B2 (ja) 2013-11-27 2013-11-27 通信制御装置、通信制御方法、及び、プログラム
US14/551,704 US9866541B2 (en) 2013-11-27 2014-11-24 Communication control apparatus, communication control method, and recording medium
US15/837,510 US10447680B2 (en) 2013-11-27 2017-12-11 Communication control apparatus, communication control method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013245196A JP6410423B2 (ja) 2013-11-27 2013-11-27 通信制御装置、通信制御方法、及び、プログラム

Publications (3)

Publication Number Publication Date
JP2015104076A JP2015104076A (ja) 2015-06-04
JP2015104076A5 JP2015104076A5 (ja) 2017-06-29
JP6410423B2 true JP6410423B2 (ja) 2018-10-24

Family

ID=53183850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013245196A Active JP6410423B2 (ja) 2013-11-27 2013-11-27 通信制御装置、通信制御方法、及び、プログラム

Country Status (2)

Country Link
US (2) US9866541B2 (ja)
JP (1) JP6410423B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140358584A1 (en) * 2013-05-23 2014-12-04 Lifenexus, Inc. Electronic Health Record System

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9905056D0 (en) * 1999-03-05 1999-04-28 Hewlett Packard Co Computing apparatus & methods of operating computer apparatus
US8099758B2 (en) * 1999-05-12 2012-01-17 Microsoft Corporation Policy based composite file system and method
US7356687B2 (en) 2002-05-21 2008-04-08 General Instrument Corporation Association of security parameters for a collection of related streaming protocols
JP4564739B2 (ja) * 2003-11-07 2010-10-20 シャープ株式会社 サーバ装置および通信システム
KR100652650B1 (ko) * 2004-07-28 2006-12-06 엘지전자 주식회사 서비스 음영지역에서 동기화를 위한 피티티 서비스 시스템및 방법
CN101155260A (zh) * 2006-09-30 2008-04-02 华为技术有限公司 电子设备的控制方法、鉴权方法和服务器
US8214890B2 (en) * 2008-08-27 2012-07-03 Microsoft Corporation Login authentication using a trusted device

Also Published As

Publication number Publication date
US20180103027A1 (en) 2018-04-12
JP2015104076A (ja) 2015-06-04
US9866541B2 (en) 2018-01-09
US20150150089A1 (en) 2015-05-28
US10447680B2 (en) 2019-10-15

Similar Documents

Publication Publication Date Title
CN108293058B (zh) 使用安全信令建立通信事件
US8510549B2 (en) Transmission of packet data over a network with security protocol
CN107743698B (zh) 用于多路径媒体传递的方法和装置
US20190089760A1 (en) Systems and methods for real-time content creation and sharing in a decentralized network
US9185346B2 (en) Real-time communications methods providing pause and resume and related devices
US7526641B2 (en) IPsec communication method, communication control apparatus, and network camera
US10354618B2 (en) Wireless communication system for offline participation in a display session
US10194180B2 (en) Systems and methods for transmitting video data over a network
US9319439B2 (en) Secured wireless session initiate framework
KR102132266B1 (ko) 데이터 스트리밍에 대한 보조의 노드 타입 기반 제어
US20110258682A1 (en) Method, apparatus, and system for processing session context
KR101821123B1 (ko) 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
CN105813228B (zh) 基于SIP over TCP/TLS的通信方法及相关装置
JP2008005298A (ja) 無線LANシステムにおけるVoIP端末通話数制御方法および装置
JP2008078878A (ja) セッション制御システム、セッション代行装置、通信方法、およびプログラム
JP6149591B2 (ja) 無線中継装置、通信システム、及び、通信方法
CN110740300A (zh) 多媒体数据的传输方法、系统、客户端及视频监控设备
JP6410423B2 (ja) 通信制御装置、通信制御方法、及び、プログラム
CN110771117B (zh) 一种采用面向id的网络的会话层通信
JP2010258802A (ja) 通信システム、通信端末、通信方法、および通信プログラム
JP5328875B2 (ja) 通信装置及び通信装置の電力の復帰方法
JP2007189383A (ja) Tcp/ip通信中継方法及びtcp/ip通信中継装置
JP5851809B2 (ja) 呼制御に利用する情報の冗長化方法および呼制御システム
KR101528268B1 (ko) 콘텐츠를 원격 위치들에 스트리밍하기 위한 시스템과 방법
JP2009118022A (ja) コンテンツ提供システム、監視サーバおよびsipプロキシサーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180423

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180925

R151 Written notification of patent or utility model registration

Ref document number: 6410423

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151