JP2015041947A - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2015041947A
JP2015041947A JP2013173110A JP2013173110A JP2015041947A JP 2015041947 A JP2015041947 A JP 2015041947A JP 2013173110 A JP2013173110 A JP 2013173110A JP 2013173110 A JP2013173110 A JP 2013173110A JP 2015041947 A JP2015041947 A JP 2015041947A
Authority
JP
Japan
Prior art keywords
information
communication
information processing
communication path
connection
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
JP2013173110A
Other languages
English (en)
Inventor
成志 見山
Shigeji Miyama
成志 見山
真人 島川
Masato Shimakawa
真人 島川
靖郎 中野
Yasuro Nakano
靖郎 中野
嗣智 榎並
Tsugutomo Enami
嗣智 榎並
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2013173110A priority Critical patent/JP2015041947A/ja
Priority to US14/457,346 priority patent/US20150058491A1/en
Priority to CN201410400901.XA priority patent/CN104423965A/zh
Publication of JP2015041947A publication Critical patent/JP2015041947A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】ネットワーク負荷を極力抑えながらも、通信相手のデバイスに接続できない状態が検出された場合に当該デバイスに関する情報を誤りなく無効化すること。【解決手段】情報処理装置は、通信部と、記憶部と、制御部とを有する。上記記憶部は、上記通信部により通信可能なデバイスが発見される度に生成される、上記デバイスに関するデバイス情報と、当該デバイス情報を上記発見毎に識別する識別子とを対応付けて記憶する。上記制御部は、所定の通信路を介した上記デバイスとの通信が不可能な状態であることを検出した場合であって、かつ、上記識別子が上記記憶時から変化していないことを検出した場合に、上記デバイス情報を無効化する。【選択図】図7

Description

本技術は、他の情報処理装置と通信可能な情報処理装置、情報処理方法及びプログラムに関する。
近年、通信技術の発達により、異なるネットワークインターフェースを有する複数の機器が相互にネットワーク接続することが可能となっている。例えばUPnP(Universal Plug and Play)で用いられているSSDP(Simple Service Discovery Protocol)はそれを実現するためのプロトコルの一つである。
ところで、このようなネットワークにおける通信処理において、ネットワークに接続されたデバイス間のコネクションが不通になる場合がある。SSDPでは、デバイスがネットワークから離脱する場合にはssdp:bye byeメッセージによりそれを通知することとされているが、例えば突然の電源断によって、接続先のデバイスがssdp:bye byeメッセージを送信できずにネットワークから離脱することもあり得る。
このような場合、接続先のデバイスに関するエントリ情報は、接続時のままの誤った情報であるにも関わらず、上記離脱が検出できない以上、存在し続けるため、接続先のデバイスに送信すべきデータが、不通になっているコネクションに流れ、誤動作が広がってしまうことになる。
このような問題に関連して、下記特許文献1には、ネットワーク接続された外部装置から、ssdp:aliveメッセージを受信して接続登録を維持するとともに、当該ssdp:aliveメッセージの受信間隔よりも短い間隔で外部装置へssdp:discoverメッセージを送信して応答を確認(polling)することで、外部機器のネットワークからの離脱を速やかに認識可能とすることが記載されている。
特開2009−65688号公報
しかしながら、上記特許文献1に記載の技術では、外部機器と正常な通信状態であっても常に外部機器との間でポーリングを行っているため、ネットワーク負荷を増大させることになる。
以上のような事情に鑑み、本技術の目的は、ネットワーク負荷を極力抑えながらも、通信相手のデバイスに接続できない状態が検出された場合に当該デバイスに関する情報を誤りなく無効化することが可能な情報処理装置、情報処理方法及びプログラムを提供することにある。
上述の課題を解決するため、本技術の一形態に係る情報処理装置は、通信部と、記憶部と、制御部とを有する。
上記記憶部は、上記通信部により通信可能なデバイスが発見される度に生成される、上記デバイスに関するデバイス情報と、当該デバイス情報を上記発見毎に識別する識別子とを対応付けて記憶する。
上記制御部は、所定の通信路を介した上記デバイスとの通信が不可能な状態であることを検出した場合であって、かつ、上記識別子が上記記憶時から変化していないことを検出した場合に、上記デバイス情報を無効化する。
これにより情報処理装置は、ネットワーク負荷を極力抑えながらも、通信相手のデバイスに接続できない状態が検出された場合に当該デバイスに関する情報を誤りなく無効化することができ、無駄な通信処理を削減することができる。
上記記憶部は、上記識別子として、上記デバイスが発見された時刻を示すタイムスタンプを記憶してもよい。この場合上記制御部は、上記デバイス情報を利用して上記所定の通信路を介して上記デバイスとの接続を確立し、上記利用されたデバイス情報に対応付けられたタイムスタンプと、現在の上記デバイス情報に対応付けられたタイムスタンプとを比較し、両タイムスタンプが一致した場合に上記デバイス情報を無効化してもよい。
これにより情報処理装置は、タイムスタンプの比較により両者が一致した場合にはじめてデバイス情報を無効化することで、無効化の直前に、デバイスのネットワーク復帰によりデバイス情報が更新されて有効になっていた場合に、それが誤って無効化されてしまうのを防ぐことができる。
上記制御部は、上記所定の通信路を介して上記デバイスと接続を確立した後、当該デバイスとの接続が有効であることを確認するための確認信号を第1の時間間隔で上記デバイスへ送信するように上記通信部を制御してもよい。さらに制御部は、上記デバイスとの通信が不可能な状態であることを推測させる所定のイベントが発生した場合に、上記確認信号を送信する時間間隔を上記第1の時間間隔から当該第1の時間間隔よりも短い第2の時間間隔へ変更するように上記制御部を制御してもよい。さらに制御部は、上記第2の時間間隔での上記確認信号に対する上記デバイスからの応答信号が受信されない場合に、上記デバイスとの接続を破棄するように上記通信部を制御してもよい。
これにより情報処理装置は、デバイスとの不通が疑われるイベントが発生した場合に確認信号(Heart Beat信号やM-Search)の間隔を短くすることで、不通であることを迅速に検出し、接続を破棄することができる。ここで第1の時間間隔は例えば20秒、第2の時間間隔は例えば3秒であるが、もちろんこれらに限られない。
上記制御部は、上記デバイスと接続を確立した後、上記所定の通信路以外の通信路を介して上記デバイスからデータを受信した場合に、上記時間間隔を変更するように上記通信部を制御可能であってもよい。
これにより情報処理装置は、所定の通信路でのコネクションがあるにも関わらずそれ以外の通信路を介してデータを受信したことをもって、不通を推測することができる。
上記通信部は、当該情報処理装置と上記デバイスとの間の通信を中継し上記情報処理装置と上記デバイスとの接続を管理する中継サーバと、上記所定の通信路とは異なる通信路を介して通信可能であってもよい。この場合上記制御部は、上記デバイスと接続を確立した後、上記デバイスから上記中継サーバを介して上記データを受信した場合に、上記時間間隔を変更するように上記通信部を制御可能であってもよい。
これにより情報処理装置は、デバイスとのP2P接続が確立しているにも関わらず中継サーバを介してデータを受信したことをもって、P2P接続の不通を推測することができる。
上記制御部は、上記接続を確立した上記デバイスから定期的に受信されるべき通知信号が受信されなくなった場合に、上記時間間隔を変更するように上記通信部を制御可能であってもよい。
これにより情報処理装置は、例えばSSDP Notify等の定期的な通知を受信しなくなったことをもって、不通を推測することができる。
上記制御部は、上記デバイスから上記確認信号を受信したときに当該確認信号に対する上記応答信号を上記デバイスへ送信するように上記通信部を制御可能であってもよい。
これにより情報処理装置は、デバイスとの接続の有効性を自ら確認することができるのみならず、デバイスからの確認信号に応答することで、上記有効性をデバイスにも確認させることができる。
本技術の他の形態に係る情報処理方法は、通信可能なデバイスが発見される度に生成される、上記デバイスに関するデバイス情報と、当該デバイス情報を上記発見毎に識別する識別子とを対応付けて記憶すること、及び、所定の通信路を介した上記デバイスとの通信が不可能な状態であることを検出した場合であって、かつ、上記識別子が上記記憶時から変化していないことを検出した場合に、上記デバイス情報を無効化することを含む。
本技術のまた別の形態に係るプログラムは、情報処理装置に、記憶ステップと無効化ステップとを実行させる。上記記憶ステップでは、通信可能なデバイスが発見される度に生成される、上記デバイスに関するデバイス情報と、当該デバイス情報を上記発見毎に識別する識別子とが対応付けられて記憶される。上記無効化ステップでは、所定の通信路を介した上記デバイスとの通信が不可能な状態であることが検出された場合であって、かつ、上記識別子が上記記憶時から変化していないことが検出された場合に、上記デバイス情報が無効化される。
以上のように、本技術によれば、ネットワーク負荷を極力抑えながらも、通信相手のデバイスに接続できない状態が検出された場合に当該デバイスに関する情報を誤りなく無効化することができる。
本技術の第1の実施形態に係るシステムの概要を示した図である。 本技術の第1の実施形態に係るデバイスのハードウェア構成を示した図である。 本技術の第1の実施形態に係るデバイスのソフトウェアモジュールの構成を示した図である。 本技術の第1の実施形態に係るデバイスが保持する近隣機器テーブルの例を示した図である。 本技術の第1の実施形態に係るデバイスが保持する通信路テーブルの例を示した図である。 本技術の第1の実施形態に係るデバイスの近隣機器テーブル及び通信路テーブルのキャッシュ処理の流れを示したフローチャートである。 本技術の第1の実施形態に係るデバイスによる近隣機器情報の削除処理の流れを示したフローチャートである。 本技術の第1の実施形態に係るデバイスによる近隣機器情報の削除処理を概念的に示した図である。 本技術の第2の実施形態に係るデバイスによる近隣機器情報の削除処理の流れを示したフローチャートである。 本技術の第2の実施形態に係るデバイスによる近隣機器情報の削除処理を概念的に示した図である。
以下、本技術に係る実施形態を、図面を参照しながら説明する。
<第1の実施形態>
まず、本技術の第1の実施形態について説明する。
[システムの概要]
図1は、本実施形態に係る通信システムの概要を示した図である。
同図に示すように、本実施形態に係るシステムは、デバイス100、デバイス200及びクラウド(インターネット)上の中継サーバ300から構成される。
同図では、デバイス100、デバイス200及び中継サーバ300はそれぞれ1台ずつ示されているが、それぞれ複数台存在し得る。
デバイス100及びデバイス200は、中継サーバ300と常時接続により通信可能であり、当該中継サーバ300を介して互いに通信可能である。またデバイス100とデバイス200とは、可能な場合には直接、例えばUPnPによるP2P(Peer to Peer)通信を行う。
ここでデバイス100及びデバイス200は、例えばスマートフォン、デスクトップPC、ノートブックPC、タブレット、BDR(Blu-ray (登録商標)Recorder)、TV、ストレージ装置、ゲーム機器、オーディオ機器等、あらゆるデバイスであり得る。
中継サーバ300は、デバイス100とデバイス200との間の通信を中継し、両者間のコネクションを管理する。中継サーバ300は、デバイス間の所定数のコネクション毎に設置されてもよい。
中継サーバ300は、デバイス100、デバイス200及びその他のデバイスの接続情報(IPアドレス、ポート番号等)を、各デバイスを識別するデバイスID等と対応付けて記憶している。
各デバイスが中継サーバ300を介して通信する場合には、各デバイスは、自身のID及び送信先IDを指定して中継サーバ300へメッセージを送信し、中継サーバ300は当該IDに基づいて送信先IDを有するデバイスへ当該メッセージを転送する。
また、中継サーバ300の負荷を軽減するため、各デバイスは、可能な場合にはP2Pにより通信する。詳細は後述するが、このP2P通信には、近隣機器テーブル及び通信路テーブルという2つのテーブルが用いられる。各デバイスは、例えばSSDP Notifyによる近隣機器の検索により他のデバイスを発見すると、そのデバイスに関する情報(デバイス情報)を近隣機器テーブルのエントリに追加する。そして、接続元のデバイスは、上記近隣機器テーブルを用いて、接続先のデバイスと通信路(コネクション)を確立し、当該通信路に関する情報を通信路テーブルのエントリに追加する。
また、上記P2P通信が開始された通信路に関する情報は、中継サーバ300にも通知される。中継サーバ300は、当該情報を用いて、両デバイス間のコネクションを管理する。
詳細は後述するが、本実施形態では、デバイス100は、上記P2P通信による通信が確立された後、P2P通信の不通が疑われる現象が発生した場合に、それを確認するための動作を実行した上で、不通が確認された場合には、上記通信路テーブルのエントリ及び近隣機器テーブルのエントリを削除する。これにより不通となった通信路による通信が無駄に繰り返されるのが防止される。
[デバイスのハードウェア構成]
図2は、上記デバイス100のハードウェア構成を示した図である。同図に示すように、デバイス100は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、入出力インタフェース15、及び、これらを互いに接続するバス14を備える。
CPU11は、必要に応じてRAM13等に適宜アクセスし、各種演算処理を行いながら中継サーバ300の各ブロック全体を統括的に制御する。ROM12は、CPU11に実行させるOS、プログラムや各種パラメータなどのファームウェアが固定的に記憶されている不揮発性のメモリである。
RAM13は、CPU11の作業用領域等として用いられ、OS、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。特に本実施形態においては、RAM13は、上記通信路テーブル及び近隣機器テーブル用のキャッシュとしても機能する。
入出力インタフェース15には、表示部16、操作受付部17、記憶部18、通信部19等が接続される。
表示部16は、例えばLCD(Liquid Crystal Display)、OELD(Organic ElectroLuminescence Display)、CRT(Cathode Ray Tube)等を用いた表示デバイスである。
操作受付部17は、例えばタッチパネル、キーボード、ボタン、マウス等の入力装置である。操作受付部17がタッチパネルである場合、それは表示部16と一体化されている。
記憶部18は、例えばHDD(Hard Disk Drive)、フラッシュメモリ(SSD;Solid State Drive)、その他の固体メモリ等の不揮発性メモリである。当該記憶部18には、OSや、本実施形態におけるデバイス情報(各テーブルのエントリ)の削除処理に必要な各種ソフトウェアや各種データが記憶される。
通信部19は、ネットワークに接続するためのNIC(Network Interface Card)や無線通信モジュールであり、上記外部デバイス200や中継サーバ300との間の通信処理を担う。
図示しないが、デバイス200及び中継サーバ300のハードウェア構成は、基本的にデバイス100及び200のそれと略同様である。
[デバイスのソフトウェア構成]
図3は、上記デバイス100が有するソフトウェアモジュールの構成を示した図である。
同図に示すように、デバイス100は、通信部110、近隣機器情報制御部120、近隣機器探索部130、近隣機器情報記憶部140、通信経路判定部150、通信路管理部160、通信路情報記憶部170、Heart Beat制御部180の各ソフトウェアモジュールを有する。
通信部110は、デバイス200及び中継サーバ300との通信処理を制御する。
近隣機器探索部130は、近隣機器情報制御部120の指示を受けて、例えばSSDP Notifyに基づいて近隣のデバイス(例えばデバイス200)を探索する。
近隣機器情報制御部120は、上記近隣機器探索部130の探索処理を制御するとともに、探索により発見されたデバイスに関する情報を近隣機器情報記憶部140に記憶し、管理する。
近隣機器情報記憶部140は、上記発見されたデバイス情報のエントリからなる近隣機器テーブルを記憶する。
通信経路判定部150は、デバイス200等の他のデバイスが、どの通信路を介してデバイス100に接続されたかを判定する。
通信路管理部160は、デバイス200等の他のデバイスとの間における通信路(コネクション)の確立及び切断を制御し、当該通信路に関する情報を通信路情報記憶部170に記憶させる。
通信路情報記憶部170は、上記コネクションが確立された通信路及びその通信相手であるデバイスに関する情報のエントリからなる上記通信路テーブルを記憶する。
Heart Beat制御部180は、コネクションを確立したデバイスとの間で、そのコネクションが有効であるか否かを確認するためのHeart Beat通信を行うとともに、上記通信経路判定部150による判定結果に応じて、そのHeart Beat通信の時間間隔を制御する。
ここで、本実施形態において実行されるHeart Beatとしては、一般的なレスポンスレスのモデルではなく、レスポンスモデルが採用されている。
レスポンスレスモデルのHeart Beatでは、双方のデバイスが独立して一定間隔でパケットを送信し、受信したデバイスは、送信側から一定間隔でHeart Beatを受信できなくなった場合に、異常が発生したと判断している。
一方、本実施形態で採用されるレスポンスモデルのHeart Beatでは、双方のデバイスが一定間隔でパケットを送信し、それを受信したデバイスは、すぐにレスポンスを返す。したがって送信側のデバイスは、そのレスポンスが無い場合には即座に異常が発生したことを把握することができる。
このモデルが採用されることで、各デバイスが能動的にHeart Beat間隔を変更できる。
[近隣機器テーブル及び通信路テーブル]
次に、上記近隣機器テーブル及び通信路テーブルについて説明する。
図4は、デバイス100が保持する近隣機器テーブルの例を示した図である。
同図に示すように、近隣機器テーブルには、例えばSSDP Notifyによって発見された近隣のデバイス(例えばデバイス200)の機器ID、IPアドレス及び発見時間(タイムスタンプ)が対応付けされてキャッシュされる。
発見されたデバイスが同一で、発見時間が異なる場合は、発見時間が更新される。
ここで、当該近隣機器テーブルにエントリされるデバイスは、必ずしもデバイス100の近隣に存在するデバイスでなくてもよく、例えばクラウド上等、遠隔地に存在するデバイスがエントリされてもよい。
図5は、デバイス100が保持する通信路テーブルの例を示した図である。
同図に示すように、通信路テーブルには、他のデバイス(例えばデバイス200)とコネクションを確立した通信路を識別する通信路ID、当該他のデバイスの機器ID、当該通信路の確立に上記近隣機器テーブルのエントリ情報(SSDP情報)が利用されたか否かを示すフラグ、及び当該利用されたエントリ情報に記憶された発見時間がキャッシュされる。
[デバイスの動作]
次に、以上のように構成されたシステムにおけるデバイス100の動作について説明する。本実施形態及び他の実施形態において、デバイス100の動作は、CPU11と、その制御下において実行される上記各ソフトウェアモジュールとで協働して行われる。
(近隣機器テーブル及び通信路テーブルのキャッシュ処理)
まず、デバイス100による近隣機器テーブル及び通信路テーブルのキャッシュ処理について説明する。図6は、当該キャッシュ処理の流れを示したフローチャートである。
同図に示すように、デバイス100の近隣機器探索部130は、他のデバイスからのSSDP Notifyを待機し(ステップ61)、SSDP Notifyを受信すると(ステップ62)、近隣機器情報制御部120は、それによりデバイスを発見してデバイスの情報(機器ID、IPアドレス)を抽出する(ステップ63)。
続いて近隣機器情報制御部120は、上記抽出した情報と、上記発見時の時間情報とを近隣機器テーブルにキャッシュする(ステップ64)。
続いて通信路管理部160は、上記近隣機器テーブルにキャッシュされた情報を利用して、エントリ内のデバイスと通信路を確立する(ステップ65)。
そして通信路管理部160は、上記通信路を確立したデバイスに関する情報(通信路ID、機器ID、SSDP情報の利用の有無、発見時間)を通信路テーブルにキャッシュする(ステップ66)。
(不通時における近隣機器テーブル情報の削除処理)
次に、上記他のデバイスと通信路を確立した後に、その通信路が不通となった場合のデバイス100による近隣機器情報の削除処理について説明する。図7は、当該近隣機器情報の削除処理の流れを示したフローチャートである。また図8は、当該近隣機器情報の削除処理を概念的に示した図である。
通信路確立後は、Heart Beat制御部180によるHeart Beat通信も所定間隔(例えば20秒間隔)で実行されているものとする。
図7に示すように、デバイス100の通信経路判定部150は、接続先のデバイス(例えばデバイス200)からの通信データを待機し(ステップ72)、通信データを受信すると(ステップ72)、それが中継サーバ300経由で受信されたものか否かを判断する(ステップ73)。
上記デバイス200からの通信データが中継サーバ経由であると判断した場合(Yes)、Heart Beat制御部180は、接続先のデバイスが近隣機器であるか否かを判断する(ステップ74)。この処理は、近隣機器以外のデバイスについては同図の処理を適用しないための処理であるが、近隣機器以外のデバイスについてもコネクション異常を検知してもよい場合には、当該ステップ74の処理は不要である。
続いてHeart Beat制御部180は、上記通信データの送信元のデバイスとの間に、P2Pによる通信路が確立されているか(通信路テーブルにエントリがあるか)否かを判断する(ステップ75)。
このように、通信路テーブル上はP2P通信が確立されているにも関わらず中継サーバ300経由で通信データを受信するケースは、例えば、図8に示すように、接続先のデバイスがスマートフォンであり、移動等の理由により当該デバイスがWLANから突然3G/LTE(Long Term Evolution)ネットワークに切り替わった場合等が考えられる。
上記ステップ75において通信路が確立されていると判断した場合(Yes)、Heart Beat制御部180は、接続先のデバイスへのHeart Beatを短くする(例えば20秒から3秒へ)(ステップ76)。
そして、当該Heart Beatに対するレスポンスが例えば数秒以内に無い場合(Heart Beat異常の場合)(ステップ78のYes)、通信路管理部160は、接続先のデバイスとの通信路を破棄し、上記通信路テーブルから該当するエントリを削除する(ステップ79)(図8参照)。
一方、Heart Beatに対するレスポンスがあり、異常無しと判断された場合には(ステップ78のNo)、Heart Beat制御部180は、Heart Beat間隔を以前の間隔(例えば20秒)に戻す(ステップ77)。
また、近隣機器情報制御部120は、上記通信路テーブルにおける発見時間と、当該エントリに対応するデバイスの、現在の近隣機器テーブルにおけるエントリ内の発見時間とを比較する(ステップ80)。
両者が一致する場合(変更がない場合)(Yes)には、近隣機器テーブルから当該エントリを削除する(ステップ81)(図8参照)。
ここで、発見時間が比較されるのは、例えば上記エントリの削除を試みる直前に情報が更新されて(例えばデバイスが3Gネットワークから再度WLANに復帰して)、コネクションが有効になっている可能性があるからである。
すなわち、発見時間を比較しない場合には、実際には有効な通信路情報が誤って削除されてしまう可能性があるが、当該比較処理により、それが防止されることになる。
上記ステップ80において両発見時間が一致しない場合には(No)、エントリの破棄は行われず、そのままコネクションが維持される。
このように、デバイス100は、不通が推測される現象(P2P通信確立後の中継サーバ300からのデータ受信)が発生した場合にはじめて、それをHeart Beat間隔の短縮により確認しているため、常時Heart Beatを短い間隔で送信する場合に比べて、ネットワーク負荷が軽減される。
<第2の実施形態>
次に、本技術の第2の実施形態について説明する。以下の説明において、上記第1の実施形態と同様の構成となる箇所については説明を省略する。
上述の第1の実施形態では、デバイス100は、上記P2P通信による通信が確立された後、P2P通信の不通が疑われる現象が発生した場合(通信データを中継サーバ300から受信した場合)に、それを確認するための動作(Heart Beat間隔の短縮)を実行した上で、不通が確認された場合には、上記通信路テーブルのエントリ及び近隣機器テーブルのエントリを削除していた。
一方、本実施形態では、デバイス100は、上記近隣機器テーブルに基づいてP2P通信の接続確立を試みるもののそれが失敗した場合に、近隣機器テーブルのエントリを削除することとしている。その際、デバイス100は、上記第1の実施形態と同様に、エントリの削除の際に、タイムスタンプの比較によって、接続失敗時の近隣機器テーブルのエントリと削除時の同エントリとが同一であることを確認し、同一でない場合には削除は実行しないこととしている。
図9は、本実施形態に係るデバイス100による近隣機器情報の削除処理の流れを示したフローチャートである。また図10は、近隣機器情報の削除処理を概念的に示した図である。
図9に示すように、まず、デバイス100の近隣機器情報制御部120は、SSDP情報のキャッシュにより近隣機器テーブルを作成し、通信路管理部160は、待機の後(ステップ91)、接続を開始する(ステップ92)。
続いて通信路管理部160は、上記接続が失敗したか否かを判断し(ステップ93)、失敗した場合には(Yes)、上記失敗した接続が、近隣機器テーブルのエントリを利用したものであったか否かを判断する(ステップ94)。このような接続の失敗の理由としては、上記第1の実施形態と同様、デバイス200がWLANから3G/LTEネットワークへ突然切り替わったこと等が挙げられる(図10参照)。
接続が近隣機器テーブルを利用したものであった場合(Yes)、近隣機器情報制御部120は、利用した近隣機器テーブルのエントリに含まれる発見時間と、現在の近隣機器テーブルのエントリに含まれる発見時間とを比較し、両者が等しいか否かを判断する(ステップ95)。
そして近隣機器情報制御部120は、両発見時間が等しいと判断した場合には(Yes)、近隣機器テーブルから、上記接続を失敗したデバイスのエントリを削除する(ステップ96)(図10参照)。
[まとめ]
以上説明したように、本技術の第1の実施形態及び第2の実施形態によれば、デバイス100は、P2P通信が可能なデバイスが発見される度に生成されるデバイス情報と、当該デバイス情報を上記発見毎に識別する識別子(タイムスタンプ)とを対応付けて記憶しておき、P2P通信が不可能な状態であることを検出した場合であって、かつ、上記識別子が上記記憶時から変化していないことを検出した場合に、上記デバイス情報を無効化(削除)する。
これによりデバイス100は、ネットワーク負荷を極力抑えながらも、通信相手のデバイスに接続できない状態が検出された場合に当該他のデバイスに関する情報を誤りなく無効化することができ、無駄な通信処理を削減することができる。
[変形例]
本技術は上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更され得る。
上述の第1の実施形態では、P2P通信の確立後に中継サーバ300経由で通信データが受信された場合にHeart Beatの間隔が短縮されたが、Heart Beat間隔の短縮のトリガとなる現象はこれに限られない。例えば、中継サーバ300以外のデバイスを経由して、またはP2Pによる通信路以外の通信路を介して、データが受信された事実がトリガとされてもよい。また、P2P通信確立後に定期的に受け取るはずのSSDP Notifyを接続先のデバイスから受け取らなくなった事実がトリガとされてもよい。
上述の第1の実施形態では、P2P通信の確立後の中継サーバ300からデータを受信した場合に、Heart Beatの送信間隔が短縮された。しかし、その処理の代わりに、デバイス100は、例えば、SSDPのM-Searchを意図的に送信する等、他の処理によってデバイス200との不通を確認しても構わない。
さらに、デバイス100は、Heart Beatの間隔を短くするだけでなく、その期間を設けてもよい。例えば、2秒間隔でのHeart BeatをX秒間(またはY回)行ってもよい。
上述の第1及び第2の実施形態では、近隣機器テーブル作成後、デバイス200との普通が確認された場合には、そのエントリが削除された。しかし、デバイス100は、エントリを削除するのではなく、それに「無効」のフラグをつけるだけでもよい。すなわち、上述の各実施形態におけるデバイス情報の削除処理は、デバイス情報の無効化処理の一形態である。また、確認の結果、デバイス200との接続が有効であることが判明した場合、デバイス100は、エントリはそのまま維持するものの、疑いがあったことは記録しておいてもよい。
上述の第1及び第2の実施形態では、近隣機器テーブル及び通信路テーブルのエントリは発見時間(タイムスタンプ)によって識別されていたが、例えば当該エントリが記憶されたメモリ上のアドレス等、他の識別子によってエントリが識別されても構わない。
上述の各実施形態では、上記図2で説明した各ハードウェアと図3で示したソフトウェアモジュールとによって本技術が実施されたが、本技術は、当該ソフトウェアモジュールに代わる専用回路等の他のハードウェアによって実施されても構わない。
[その他]
本技術は以下のような構成も採ることができる。
(1)
通信部と、
前記通信部により通信可能なデバイスが発見される度に生成される、前記デバイスに関するデバイス情報と、当該デバイス情報を前記発見毎に識別する識別子とを対応付けて記憶する記憶部と、
所定の通信路を介した前記デバイスとの通信が不可能な状態であることを検出した場合であって、かつ、前記識別子が前記記憶時から変化していないことを検出した場合に、前記デバイス情報を無効化する制御部と
を具備する情報処理装置。
(2)
上記(1)に記載の情報処理装置であって、
前記記憶部は、前記識別子として、前記デバイスが発見された時刻を示すタイムスタンプを記憶し、
前記制御部は、前記デバイス情報を利用して前記所定の通信路を介して前記デバイスとの接続を確立し、前記利用されたデバイス情報に対応付けられたタイムスタンプと、現在の前記デバイス情報に対応付けられたタイムスタンプとを比較し、両タイムスタンプが一致した場合に前記デバイス情報を無効化する
情報処理装置。
(3)
上記(1)または(2)に記載の情報処理装置であって、
前記制御部は、
前記所定の通信路を介して前記デバイスと接続を確立した後、当該デバイスとの接続が有効であることを確認するための確認信号を第1の時間間隔で前記デバイスへ送信し、
前記デバイスとの通信が不可能な状態であることを推測させる所定のイベントが発生した場合に、前記確認信号を送信する時間間隔を前記第1の時間間隔から当該第1の時間間隔よりも短い第2の時間間隔へ変更し、
前記第2の時間間隔での前記確認信号に対する前記デバイスからの応答信号が受信されない場合に、前記デバイスとの接続を破棄する
ように前記通信部を制御可能である
情報処理装置。
(4)
上記(3)に記載の情報処理装置であって、
前記制御部は、前記デバイスと接続を確立した後、前記所定の通信路以外の通信路を介して前記デバイスからデータを受信した場合に、前記時間間隔を変更するように前記通信部を制御可能である
情報処理装置。
(5)
上記(4)に記載の情報処理装置であって、
前記通信部は、当該情報処理装置と前記デバイスとの間の通信を中継し前記情報処理装置と前記デバイスとの接続を管理する中継サーバと、前記所定の通信路とは異なる通信路を介して通信可能であり、
前記制御部は、前記デバイスと接続を確立した後、前記デバイスから前記中継サーバを介して前記データを受信した場合に、前記時間間隔を変更するように前記通信部を制御可能である
情報処理装置。
(6)
上記(3)に記載の情報処理装置であって、
前記制御部は、前記接続を確立した前記デバイスから定期的に受信されるべき通知信号が受信されなくなった場合に、前記時間間隔を変更するように前記通信部を制御可能である
情報処理装置。
(7)
上記(3)〜(6)のいずれかに記載の情報処理装置であって、
前記制御部は、前記デバイスから前記確認信号を受信したときに当該確認信号に対する前記応答信号を前記デバイスへ送信するように前記通信部を制御可能である
情報処理装置。
11…CPU
13…RAM
18…記憶部
19…通信部
100,200…デバイス
110…通信部
120…近隣機器情報制御部
130…近隣機器探索部
140…近隣機器情報記憶部
150…通信経路判定部
160…通信路管理部
170…通信路情報記憶部
180…Heart Beat制御部
300…中継サーバ

Claims (9)

  1. 通信部と、
    前記通信部により通信可能なデバイスが発見される度に生成される、前記デバイスに関するデバイス情報と、当該デバイス情報を前記発見毎に識別する識別子とを対応付けて記憶する記憶部と、
    所定の通信路を介した前記デバイスとの通信が不可能な状態であることを検出した場合であって、かつ、前記識別子が前記記憶時から変化していないことを検出した場合に、前記デバイス情報を無効化する制御部と
    を具備する情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記記憶部は、前記識別子として、前記デバイスが発見された時刻を示すタイムスタンプを記憶し、
    前記制御部は、前記デバイス情報を利用して前記所定の通信路を介して前記デバイスとの接続を確立し、前記利用されたデバイス情報に対応付けられたタイムスタンプと、現在の前記デバイス情報に対応付けられたタイムスタンプとを比較し、両タイムスタンプが一致した場合に前記デバイス情報を無効化する
    情報処理装置。
  3. 請求項1に記載の情報処理装置であって、
    前記制御部は、
    前記所定の通信路を介して前記デバイスと接続を確立した後、当該デバイスとの接続が有効であることを確認するための確認信号を第1の時間間隔で前記デバイスへ送信し、
    前記デバイスとの通信が不可能な状態であることを推測させる所定のイベントが発生した場合に、前記確認信号を送信する時間間隔を前記第1の時間間隔から当該第1の時間間隔よりも短い第2の時間間隔へ変更し、
    前記第2の時間間隔での前記確認信号に対する前記デバイスからの応答信号が受信されない場合に、前記デバイスとの接続を破棄する
    ように前記通信部を制御可能である
    情報処理装置。
  4. 請求項3に記載の情報処理装置であって、
    前記制御部は、前記デバイスと接続を確立した後、前記所定の通信路以外の通信路を介して前記デバイスからデータを受信した場合に、前記時間間隔を変更するように前記通信部を制御可能である
    情報処理装置。
  5. 請求項4に記載の情報処理装置であって、
    前記通信部は、当該情報処理装置と前記デバイスとの間の通信を中継し前記情報処理装置と前記デバイスとの接続を管理する中継サーバと、前記所定の通信路とは異なる通信路を介して通信可能であり、
    前記制御部は、前記デバイスと接続を確立した後、前記デバイスから前記中継サーバを介して前記データを受信した場合に、前記時間間隔を変更するように前記通信部を制御可能である
    情報処理装置。
  6. 請求項3に記載の情報処理装置であって、
    前記制御部は、前記接続を確立した前記デバイスから定期的に受信されるべき通知信号が受信されなくなった場合に、前記時間間隔を変更するように前記通信部を制御可能である
    情報処理装置。
  7. 請求項3に記載の情報処理装置であって、
    前記制御部は、前記デバイスから前記確認信号を受信したときに当該確認信号に対する前記応答信号を前記デバイスへ送信するように前記通信部を制御可能である
    情報処理装置。
  8. 通信可能なデバイスが発見される度に生成される、前記デバイスに関するデバイス情報と、当該デバイス情報を前記発見毎に識別する識別子とを対応付けて記憶し、
    所定の通信路を介した前記デバイスとの通信が不可能な状態であることを検出した場合であって、かつ、前記識別子が前記記憶時から変化していないことを検出した場合に、前記デバイス情報を無効化する
    情報処理方法。
  9. 情報処理装置に、
    通信可能なデバイスが発見される度に生成される、前記デバイスに関するデバイス情報と、当該デバイス情報を前記発見毎に識別する識別子とを対応付けて記憶するステップと、
    所定の通信路を介した前記デバイスとの通信が不可能な状態であることを検出した場合であって、かつ、前記識別子が前記記憶時から変化していないことを検出した場合に、前記デバイス情報を無効化するステップと
    を実行させるプログラム。
JP2013173110A 2013-08-23 2013-08-23 情報処理装置、情報処理方法及びプログラム Pending JP2015041947A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013173110A JP2015041947A (ja) 2013-08-23 2013-08-23 情報処理装置、情報処理方法及びプログラム
US14/457,346 US20150058491A1 (en) 2013-08-23 2014-08-12 Information processing apparatus, information processing method, and program
CN201410400901.XA CN104423965A (zh) 2013-08-23 2014-08-15 信息处理设备,信息处理方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013173110A JP2015041947A (ja) 2013-08-23 2013-08-23 情報処理装置、情報処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2015041947A true JP2015041947A (ja) 2015-03-02

Family

ID=52481411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013173110A Pending JP2015041947A (ja) 2013-08-23 2013-08-23 情報処理装置、情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US20150058491A1 (ja)
JP (1) JP2015041947A (ja)
CN (1) CN104423965A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017185322A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 存储网元发现方法及装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838241B2 (en) * 2014-02-06 2017-12-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Discovery of services over infrastructure networks
CN107864045B (zh) * 2016-09-28 2020-11-24 平安科技(深圳)有限公司 标识信息的轨迹记录方法和装置
CN112118273B (zh) * 2019-06-19 2023-04-07 杭州萤石软件有限公司 一种数据交互方法、系统及第一客户端
CN111031583A (zh) * 2019-12-19 2020-04-17 杭州迪普科技股份有限公司 一种信道切换方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983324B1 (en) * 2000-10-23 2006-01-03 International Business Machines Corporation Dynamic modification of cluster communication parameters in clustered computer system
US7082460B2 (en) * 2002-04-19 2006-07-25 Axeda Corporation Configuring a network gateway
US8296413B2 (en) * 2006-05-31 2012-10-23 Sap Ag Device registration in a hierarchical monitor service
EP2316192B1 (en) * 2008-08-24 2012-02-29 OPNET Technologies, Inc. Incremental and targeted auto-discovery of network devices
JP5815924B2 (ja) * 2010-03-24 2015-11-17 ソニー株式会社 情報処理システム、情報処理装置、および管理サーバ
JP5671952B2 (ja) * 2010-11-05 2015-02-18 富士ゼロックス株式会社 情報処理装置、情報処理システム、及びプログラム
CA2798523C (en) * 2010-11-22 2015-02-24 Seven Networks, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
CA2869067A1 (en) * 2012-03-30 2013-10-03 Ambient Corporation Data network device discovery optimization to reduce data transfer volume

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017185322A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 存储网元发现方法及装置
US10372673B2 (en) 2016-04-29 2019-08-06 Huawei Technologies Co., Ltd. Storage network element discovery method and apparatus

Also Published As

Publication number Publication date
CN104423965A (zh) 2015-03-18
US20150058491A1 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
US9693252B1 (en) Detecting device presence for a layer 3 connection using layer 2 discovery information
JP4974964B2 (ja) ロードバランス型ネットワーク環境におけるインテリジェントフェイルオーバー
JP2015041947A (ja) 情報処理装置、情報処理方法及びプログラム
US9900385B2 (en) Connection management device, communication system, connection management method, and computer program product
WO2015188579A1 (zh) 分布式虚拟防火墙装置、方法及防火墙控制器
JP5272263B2 (ja) ロードバランス型ネットワーク環境におけるインテリジェントフェイルオーバー
CN109379291B (zh) 一种组网中服务请求的处理方法及装置
JP2012080418A (ja) ネットワーク認証における端末接続状態管理
JP5962676B2 (ja) 情報処理装置、情報処理方法及びプログラム
EP2908497B1 (en) Method, device and system for remote management of terminal peripheral
CN103139818A (zh) 一种aos中保持长连接的方法、系统、aoe、aog及终端
US10530869B2 (en) Bidirectional forwarding detection accelerator
JP2018201154A (ja) 送信制御プログラム、送信制御方法、及び情報処理装置
JP5880688B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
US9560058B2 (en) Monitoring device and monitoring method
JP2009003491A (ja) クラスタシステムにおけるサーバ切り替え方法
US11432172B2 (en) Channel establishment method and base station
US11310191B2 (en) Receiving device, receiving device control method, network system, network system control method, and medium
CN109510864B (zh) 一种缓存请求的转发方法、传输方法及相关装置
TWI505675B (zh) 網路交換器與資料更新方法
JP5764090B2 (ja) 端末状態検知装置および端末状態検知方法
CN115426250B (zh) 一种用于靶场指控的双机热备切换方法及装置
JP2012175578A (ja) レイヤ2アドレスキャッシュ更新制御方法、装置及びプログラム
JP2017011567A (ja) 障害通知システム、中継装置、および中継方法
WO2011070607A1 (ja) サーバシステムの制御方法及びサーバの制御プログラム