JP2016035656A - 通信装置およびその制御方法、プログラム - Google Patents
通信装置およびその制御方法、プログラム Download PDFInfo
- Publication number
- JP2016035656A JP2016035656A JP2014158125A JP2014158125A JP2016035656A JP 2016035656 A JP2016035656 A JP 2016035656A JP 2014158125 A JP2014158125 A JP 2014158125A JP 2014158125 A JP2014158125 A JP 2014158125A JP 2016035656 A JP2016035656 A JP 2016035656A
- Authority
- JP
- Japan
- Prior art keywords
- content
- relay
- communication
- server
- relay device
- 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
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】コンテンツの属性に応じた適切な中継装置を選択できるようにする。【解決手段】クライアント装置とサーバ装置とのネットワークを介した通信を中継する中継装置を選択する通信装置は、ネットワーク上の複数の中継装置を管理し、サーバ装置とクライアント装置との間で送信されるコンテンツの属性情報を取得し、取得された属性情報に基づいて、複数の中継装置のうちコンテンツの送信に用いる中継装置を選択し、コンテンツの識別情報と選択された中継装置を関連付ける関連付け情報を生成する。【選択図】 図5
Description
本発明は、ネットワークにおいて通信装置間のデータを中継する通信技術に関する。
近年、ネットワークの普及によりパーソナルコンピュータだけでなく携帯電話や家電機器などの様々な電子機器がネットワークに接続出来るようになってきた。それに伴い、今まで単独で用いられてきた家電製品やその他の電器製品もネットワークに繋がるようになり、電子機器などを相互連携して利用する環境は、オフィスユースに限られず、ホームユースにも及ぶようになってきた。
上記のような状況により、ネットワークに接続する各種機器の接続容易性、設定容易性がとりわけ求められている。このような要求に応えることができるネットワーク技術の一つに、ユニバーサルプラグアンドプレイ(Universal Plug and Play:以下UPnPと記す)と呼ばれるものが存在する。UPnPは一つのホームネットワーク内で動作するプロトコルである。また、このような閉じたネットワーク内で動作するプロトコルを、インターネット越しの遠隔拠点間を接続する上位のネットワークでも動作可能にするための技術が存在する。
特許文献1に記載のシステムでは、直接通信し合うことのできない二つのネットワーク間にリバースプロキシ装置を配置し、リバースプロキシ装置が二つのネットワーク間のデータを中継することで、ネットワーク間のデータのやりとりが可能になっている。また、特許文献2では、サーバまたはクライアントからコンテンツ容量を通知されたノード装置が空きネットワークの状況に応じて経路を選択する技術が開示されている。
特許文献1に記載の技術では、リバースプロキシを介してwebサーバ装置からユーザに対してコンテンツを転送している。リバースプロキシはコンテンツの容量、web装置または、ユーザの特性に応じて転送経路を切換えることはできない。また、特許文献2に記載の技術では、コンテンツ容量とネットワークの状況に応じて経路を選択するのみであり、中継装置の機能に応じて転送経路を切り替えるものではない。したがって、複数のタイプの中継装置がネットワーク上に存在する場合に、コンテンツの種別(たとえば、データストリームか否か)に応じて適切な中継装置を選択するようなことは何等考慮されていない。
本発明は、上記課題を解決するためになされたものであり、コンテンツの転送に必要な中継機能に応じてコンテンツの転送を中継する中継装置を選択可能とすることを目的とする。
上記の目的を達成するための本発明の一態様による通信装置は以下の構成を備える。すなわち、
クライアント装置とサーバ装置とのネットワークを介した通信を中継する中継装置を選択する通信装置であって、
前記ネットワーク上の複数の中継装置を管理する管理手段と、
前記サーバ装置と前記クライアント装置との間で送信されるコンテンツの属性情報を取得する取得手段と、
前記取得手段で取得された属性情報に基づいて、前記複数の中継装置のうち前記コンテンツの送信に用いる中継装置を選択する選択手段と、
前記コンテンツの識別情報と前記選択手段で選択された中継装置を関連付ける関連付け情報を生成する生成手段と、を備える。
クライアント装置とサーバ装置とのネットワークを介した通信を中継する中継装置を選択する通信装置であって、
前記ネットワーク上の複数の中継装置を管理する管理手段と、
前記サーバ装置と前記クライアント装置との間で送信されるコンテンツの属性情報を取得する取得手段と、
前記取得手段で取得された属性情報に基づいて、前記複数の中継装置のうち前記コンテンツの送信に用いる中継装置を選択する選択手段と、
前記コンテンツの識別情報と前記選択手段で選択された中継装置を関連付ける関連付け情報を生成する生成手段と、を備える。
本発明によれば、コンテンツの属性に基づいて中継装置が選択されるので、コンテンツの転送に必要な中継機能に応じて適切な中継装置を選択することができる。
以下、添付の図面を参照して、本発明の好適な実施形態のいくつかを説明する。
<第1実施形態>
図1は、第1実施形態による、通信システムの構成例を示す図である。図1において、中継サーバ100は、クライアント装置とサーバ装置とのネットワークを介した通信を中継する中継装置を選択する通信装置である。図1の例では、中継サーバ100は、WAN(Wide Area Network)600を介してフロントエンド装置200及びLAN500のホームゲートウェイ(HGWB510)と接続し、クライアント装置420とサーバ装置520間のデータを中継する。
図1は、第1実施形態による、通信システムの構成例を示す図である。図1において、中継サーバ100は、クライアント装置とサーバ装置とのネットワークを介した通信を中継する中継装置を選択する通信装置である。図1の例では、中継サーバ100は、WAN(Wide Area Network)600を介してフロントエンド装置200及びLAN500のホームゲートウェイ(HGWB510)と接続し、クライアント装置420とサーバ装置520間のデータを中継する。
フロントエンド装置200は、ネットワーク(WAN600)と別のネットワーク(LAN400)とを接続する位置に設けられる。フロントエンド装置200は、クライアント装置420が用いる、WAN600における通信経路を決定する。図1に示された例では、フロントエンド装置200は、LAN400のホームゲートウェイ(HGWA410)、中継サーバ100、中継装置A310及び中継装置B320と接続している。また、フロントエンド装置200は、
・クライアント装置420からサーバ装置520(LAN500)に送信される要求メッセージをHGWA410介して受信し、中継サーバ100、中継装置A310または中継装置B320のいずれを用いるかを決定して、その要求メッセージを転送する機能、
・サーバ装置520からの応答メッセージを中継サーバ100、中継装置A310または中継装置B320を介して受信しHGWA410を介してクライアント装置420(LAN400)に転送する機能、を有する。
・クライアント装置420からサーバ装置520(LAN500)に送信される要求メッセージをHGWA410介して受信し、中継サーバ100、中継装置A310または中継装置B320のいずれを用いるかを決定して、その要求メッセージを転送する機能、
・サーバ装置520からの応答メッセージを中継サーバ100、中継装置A310または中継装置B320を介して受信しHGWA410を介してクライアント装置420(LAN400)に転送する機能、を有する。
中継装置A310および中継装置B320は、それぞれ、ネットワーク(WAN600)を介しフロントエンド装置200及びHGWB510に接続される。中継装置A310および中継装置B320は、それぞれ、フロントエンド装置200から受信した要求メッセージをHGWB510に転送し、HGWB510から受信した応答メッセージをフロントエンド装置200へ転送する。但し、中継装置A310は、要求及び応答メッセージを受信した際に、受信したメッセージをメモリ領域に一時キャッシュし、メッセージを他方へ送信する際の送信速度を調整する機能を有する。他方、中継装置B320は、受信したメッセージに何の処理も加えずにブリッジ転送する機能を有する。
なお、本実施形態では、中継サーバ100、フロントエンド装置200、中継装置A310及び中継装置B320は、独立したノードとして配置しているが、これらノードを配置する場所や装置に制限はない。例えば、スマートフォンなどのモバイル端末に、フロントエンド装置200、中継サーバ100、中継装置A310、中継装置B320の機能の全てまたは一部を実現してもよい。また、中継装置A310または中継装置B320と同じ機能を有する他の中継装置や、中継装置A310または中継装置B320と異なる機能を有する他の中継装置をさらに設置してもよい。中継装置が備え得る機能としては、
・コンテンツをキャッシュするキャッシュ機能、
・コンテンツをクライアント装置へ転送する際の転送速度を調整する調整機能、
・コンテンツのサイズやフォーマットを変換する変換機能、
・コンテンツの内容を編集する編集機能、
・コンテンツをクライアント装置以外に転送するフォーク機能、などがある。
・コンテンツをキャッシュするキャッシュ機能、
・コンテンツをクライアント装置へ転送する際の転送速度を調整する調整機能、
・コンテンツのサイズやフォーマットを変換する変換機能、
・コンテンツの内容を編集する編集機能、
・コンテンツをクライアント装置以外に転送するフォーク機能、などがある。
HomeAは、LAN400(Local Area Network)を構築しているエリアであり、後述するクライアント装置420およびHGWA410が接続されている。HGWA410は、クライアント装置420及び中継サーバ100間のデータを中継する装置(ホームゲートウェイ)である。
クライアント装置420は、UPnP Device Architectureで定義されているControl Pointに準拠し、UPnPのメディアサーバ(Media Server)を制御する機能を有する。クライアント装置420は、後述するサーバ装置520に対して、コンテンツ一覧の取得や、コンテンツの取得等の要求を行う装置である。なお、そのようなサーバ装置520への要求はUPnP以外の方式で行われてもよい。また、本実施形態では、クライアント装置420はHGWA410を介してフロントエンド装置200とデータ送受信を行っているが、HGWA410を介さずに、直接、フロントエンド装置200とデータ送受信を行うようにしてもよい。
HomeBは、LAN500(Local Area Network)を構築しているエリアであり、後述するサーバ装置520、HGWB510が接続されている。HGWB510は、サーバ装置520と、中継サーバ100や中継装置A310および中継装置B320との間のデータを中継する装置(ホームゲートウエイ)である。サーバ装置520は、UPnPメディアサーバ(UPnP Media Server)機能を有しており、クライアント装置420からの要求に応じて管理しているコンテンツの一覧やコンテンツを提供する。なお、本実施形態のサーバ装置520はメディアサーバ機能を有した装置として記載しているが、UPnP以外のデバイスまたはサービスであってもよい。また、サーバ装置520は、HGWB510を介して中継サーバ100、中継装置A310、中継装置B320とデータ送受信を行っているが、HGWB510を介さないで、これら装置と直接にデータ送受信を行うようにしてもよい。
図2(a)は中継サーバ100のハードウェア構成例を示すブロック図である。CPU111は、ROM112あるいはRAM113に格納されたプログラムを実行することにより、図5のフローチャートにより後述するような処理を含む各種処理を実現する。ROM112は、読み出し専用の不揮発性メモリであり、各種パラメータやプログラムを格納する。RAM113は、随時読み書きが可能な揮発性メモリであり、CPU111が処理を実行する際の作業領域を提供する。ネットワークインターフェース114は、WAN600内の機器と通信接続を行うためのインターフェースである。バス115は、上述した各部を相互に通信可能に接続する。なお、フロントエンド装置200も図2(a)に示したような構成を備えた通信装置であり、CPU111がROM112あるいはRAM113に格納されたプログラムを実行することにより図6のフローチャートにより後述するような処理が実行される。
図2(b)は中継サーバ100の機能構成例を示すブロック図である。図2(b)に示される各機能ブロックは、CPU111がROM112あるいはRAM113に格納されたプログラムを実行することにより実現されるものとする。ただし、これらの機能ブロックの一部またはすべてが専用のハードウェアによって実現されてもよいことは言うまでもない。また、たとえば中継サーバ100とフロントエンド装置200としてのノードが一つの通信装置において構成されていてもよい。
図2(b)において、送受信部101は、ネットワークインターフェース114を用いて、フロントエンド装置200及びHGWB510とネットワーク(WAN600)を介して接続し、データの送受信を行う機能を有する。中継装置管理部104は、ネットワーク上(WAN600上)の複数の中継装置を管理する。中継装置管理部104は、WAN600上において中継装置を探索し、探索された中継装置を管理する管理情報を生成する。管理情報の一例を図3(a)に示す。管理情報140は、中継装置を識別する識別情報141、中継装置のアドレス142、中継装置の機能を示す機能情報143を含む。機能情報143には、たとえば、中継装置がキャッシュ機能、調整機能、変換機能、編集機能、フォーク機能を有するか否かなどが記録される。
コンテンツ情報解析部102は、クライアント装置420とサーバ装置520の間で送信されるコンテンツの属性を取得するために、受信したメッセージを解析する。たとえば、コンテンツ情報解析部102は、フロントエンド装置200から受信しHGWB510に送信したコンテンツ一覧取得要求に対して、HGWB510から受信されたコンテンツ一覧応答メッセージの解析を行う。より具体的には、コンテンツ情報解析部102は、受信されたコンテンツ一覧応答メッセージの中にコンテンツを識別する識別子(たとえばURL)やコンテンツ属性情報が含まれているか否かを解析する。コンテンツ属性情報は、例えばコンテンツ種別(写真または動画)やコンテンツフォーマット(JPEG、MPEG2、MP4など)、コンテンツのサイズである。コンテンツの識別子及びコンテンツ属性情報が含まれている場合は、それらを関連付けて保存する。
転送経路選択部103は、コンテンツ情報解析部102で取得したコンテンツ属性情報に基づいて、各コンテンツの送信に用いる中継装置を選択する。本実施形態では、メッセージの解析により取得された各コンテンツについて、そのコンテンツ属性情報に基づいて中継装置A310または中継装置B320のどちらを経由させるかを選択する。転送経路選択部103は、選択した中継装置を、コンテンツ識別子、コンテンツ属性情報と共に、関連付け情報として保存する。本実施形態では、転送経路選択部103は、たとえばコンテンツ属性情報が動画の場合は中継装置A310を、静止画の場合は中継装置B320を選択する。図3(b)は本実施形態による関連付け情報のデータ構成例を説明する図である。関連付け情報150は、コンテンツ識別子151と選択された中継装置152、コンテンツ属性情報153の対応付けを示す情報である。
図4は本実施形態における通信システム全体のメッセージの流れを示すシーケンス図である。なお、図4では、HGWA410及びHGWB510は省略して記載している。まず、クライアント装置420とサーバ装置520との間で、WAN600を経由したセッションが確立される。次に、S101にて、クライアント装置420は、サーバ装置520に対してコンテンツ一覧取得要求を送信する。送信されたコンテンツ一覧取得要求は、フロントエンド装置200、中継サーバ100を介してサーバ装置520に到達する。
次に、S102にて、サーバ装置520はコンテンツ一覧要求に応じて自身が管理するコンテンツ一覧応答を返信する。中継サーバ100においてサーバ装置520が送信したコンテンツ一覧応答が受信されると、S103にて、コンテンツ情報解析部102がコンテンツ一覧応答を解析し、図3(b)に示したような関連付け情報150を生成する。また、S104において、中継サーバ100は、受信されたコンテンツ一覧応答をフロントエンド装置200へ送信する。こうして、サーバ装置520から送信されたコンテンツ一覧応答は、中継サーバ100、フロントエンド装置200を介してクライアント装置420に到達する。なお、本実施形態ではフロントエンド装置200を介してクライアント装置420にデータを転送しているが、中継サーバ100が直接、クライアント装置420に送信してもよい。ただし、後述の関連付け情報に関する通知は、中継サーバ100からフロントエンド装置200に送信される。
ここで、図5のフローチャートを参照して、中継サーバ100がサーバ装置520からコンテンツ一覧応答を受信してフロントエンド装置200に転送するまでの一連の処理を説明する。なお、図5のフローチャートで示される処理の開始に先立って、中継装置管理部104は、ネットワーク(WAN600)上の中継装置の情報を収集し、図3(a)に示したような管理情報140を生成しておく。但し、管理情報の生成のタイミングはこれに限られるものではない。たとえば、コンテンツ一覧を受信した際に、中継装置管理部104がクライアント装置420とサーバ装置520の間の通信を中継することが可能な中継装置の情報を収集するようにしてもよい。
中継サーバ100は、以下のS200〜S205の処理により、クライアント装置420とサーバ装置520との間で送信されるコンテンツの属性情報を取得し、管理情報により管理されている中継装置からコンテンツの送信に用いる中継装置を選択する。まず、S200において、中継サーバ100の送受信部101は、ネットワークインターフェース114を介して、S102でサーバ装置520から送信されたメッセージを受信する。コンテンツ情報解析部102は、S200で受信したメッセージを解析し、メッセージの中にコンテンツ一覧が含まれているか否かを確認する。S201にてコンテンツ一覧が含まれていないと判断された場合は、処理はS207へ進み、中継サーバ100はフロントエンド装置200へS200で受信したメッセージを転送するS207。
コンテンツ情報解析部102による解析した結果、コンテンツ一覧が含まれていると判断した場合(すなわち、受信したメッセージがコンテンツ一覧応答であった場合)、処理はS202へ進む。S202において、コンテンツ情報解析部102はさらにコンテンツ一覧を解析することにより、サーバ装置520とクライアント装置420との間で送信され得るコンテンツの各々の識別子及びコンテンツ属性情報を取得する。
次に、S203、S204、S205において、転送経路選択部103は、S202で取得されたコンテンツ属性情報に基づいて、コンテンツの送信を中継する中継装置を選択する。本実施形態では、各コンテンツの属性情報によって要求される機能に基づいて、そのコンテンツの転送に用いるべき中継装置が選択される。たとえば、コンテンツ属性に含まれるコンテンツ種別が動画や音声のようなストリーミングデータの場合、転送経路選択部103はキャッシュ機能を有する中継装置A310を選択する(S204)。また、コンテンツ種別が静止画データのような非ストリーミングデータの場合、転送経路選択部103は、キャッシュ機能を有していない中継装置Bを選択する(S205)。
続いて、転送経路選択部103は、各コンテンツについて選択された中継装置をそのコンテンツの識別情報(コンテンツ識別子)に関連付けた関連付け情報を生成する。S206において、中継サーバ100は、S202で取得されたコンテンツ識別子、コンテンツの属性情報および、S203で決定された中継装置を関連付けて、関連付け情報として保存する。ここで、関連付け情報に記録されるコンテンツ属性情報とは、たとえば、コンテンツ一覧応答に記録されている、コンテンツのサイズや、ビットレート(動画などのストリーミングデータの場合)等の属性情報である。関連付け情報の例は図3(b)に示したとおりであり、その保存にはたとえばRAM113が用いられる。
次に、S207において、中継サーバ100は、サーバ装置520から受信したコンテンツ一覧応答をフロントエンド装置200に転送する。S206で関連付け情報が生成された場合、中継サーバ100は、クライアント装置420とサーバ装置520の間のセッションの識別情報(セッション識別情報)と、当該セッションで関連付け情報が生成されたことをフロントエンド装置200に通知する。この通知を受けた後、フロントエンド装置200は、当該セッションの間にコンテンツ取得要求を受け取ると、要求されたコンテンツの送信に適切な中継装置を中継サーバ100が保持する関連付け情報から検索する。なお、中継サーバ100から関連付け情報そのものをフロントエンド装置200へ送信し、関連付け情報をフロントエンド装置が保持するようにしてもよい。その場合、フロントエンド装置200は、要求されたコンテンツの送信に適切な中継装置を、自身に保持してある関連付け情報から検索する。
なお、セッション識別情報は、たとえば、クライアント装置420がサーバ装置520にコンテンツ一覧取得を要求する際にクライアント装置420がサーバ装置520にログオンするなどして、セッションが確立したときに発行される。また、クライアント装置420がサーバ装置520所定期間にわたってアクセスしないことまたはクライアント装置420がサーバ装置520からログオフしたことをもってそのセッションは解消する。
図4に戻り、S105にて、クライアント装置420はS104で受信したコンテンツ一覧応答に含まれるコンテンツ識別子を含むコンテンツ取得要求をサーバ装置520に対して送信する。コンテンツ取得要求はまずフロントエンド装置200により受信される。S106にて、フロントエンド装置200は、クライアント装置420から受信したコンテンツ取得要求を解析し、コンテンツ識別子を取得する。そして、取得したコンテンツ識別子をキーにS103で中継サーバ100が生成した関連付け情報から、コンテンツに適した中継装置を選択する。S107にて、フロントエンド装置200は、コンテンツ識別子をキーにして検索され、選択された中継装置(ここでは中継装置A310)にコンテンツ取得要求を送信する。S108にて、中継装置A310は受信したコンテンツ取得要求をサーバ装置520に転送する。
ここで、図6のフローチャートを参照して、フロントエンド装置200における中継装置の選択処理(S106)について説明する。フロントエンド装置200は、メッセージを受信すると(S301)、それがコンテンツ取得要求か否かを判定する(S302)。受信したメッセージがコンテンツ取得要求でなければ、中継サーバ100へそのメッセージを転送する(S303)。他方、受信したメッセージがコンテンツ取得要求であった場合、フロントエンド装置200は当該セッションについて関連付け情報が生成されているか否かを判定する(S304)。すなわち、当該セッション識別情報において関連付け情報が生成されたことを中継サーバ100から通知されているか否かが判定される。そのような通知がなされていない場合は、フロントエンド装置200は受信したコンテンツ要求について中継装置が割り当てられていないと判定し、中継サーバ100へそのメッセージを転送する(S303)。なお、S303では、予め定められた(デフォルトの)中継装置を経由するようにメッセージを転送してもよい。
当該セッションの関連付け情報があると判定された場合、フロントエンド装置200は、受信したコンテンツ取得要求からコンテンツ識別子を取得し、そのコンテンツ識別子に関連付けられた中継装置を検索する(S305)。たとえば、フロントエンド装置200は、コンテンツ識別子を中継サーバ100に送信し、中継サーバ100から対応する中継装置の指定を取得する。フロントエンド装置200は、こうして検索された中継装置を当該コンテンツ取得要求の送信に使用するべく決定する。そして、フロントエンド装置200は、選択された中継装置へコンテンツ取得要求を送信する(S306)。なお、上記処理では関連付け情報150を中継サーバ100に保持しておき、フロントエンド装置200が中継サーバ100からコンテンツ識別子に関連付けられた中継装置を取得した。すなわち、フロントエンド装置200は、外部の通信装置であるサーバ装置520に保持されている関連付け情報から中継装置を検索するようにしたがこれに限られるものではない。上述したように中継サーバ100からフロントエンド装置200へ関連付け情報が送信され、フロントエンド装置200で関連付け情報を保持するようにしてもよい。その場合、フロントエンド装置200は、自身が保持する関連付け情報から中継装置を検索することになる。
図4に戻り、S109にて、サーバ装置520はコンテンツ識別子に対応するコンテンツをクライアント装置420に返信する。このとき、コンテンツは、コンテンツ取得要求を転送した中継サーバ(図4では中継装置A310)を経由するようにコンテンツを送信する。コンテンツは中継装置A310の転送処理(S110)を経て、フロントエンド装置200を介してクライアント装置420に到達する(S111)。なお、本実施形態ではフロントエンド装置200を介しているが中継装置A310がクライアント装置420に直接転送してもよい。
S110にて、中継装置A310による転送処理が行われるが、本例では、中継装置A310がサーバ装置520から受信したコンテンツ(たとえば動画データ)を中継装置A310のメモリ上に一時キャッシュする。そして、S111にて、中継装置A310は、メモリ上に一時キャッシュした動画データをフロントエンド装置200に転送する。なお、フロントエンド装置200は、S107において、コンテンツ取得要求とともにコンテンツの属性情報を中継装置A310へ送信しており、中継装置A310は、動画のビットレートを把握している。よって、中継装置A310は、動画のビットレート(コンテンツ情報解析(S103)で取得したコンテンツ属性に含まれるビットレート)にあわせて、フロントエンド装置200(クライアント装置420)に動画を転送する。
一般に、クライアント装置420は動作再生スピードより早いスピードで動画データを受信した場合、再生するまでの間メモリに受信したデータを保存しておく必要があり、長時間再生する場合にはメモリが枯渇する可能性がある。そのようなメモリの枯渇を防ぐためには、クライアント装置420において、複数回に分けてコンテンツ取得要求を行うか、コンテンツ送信の一時停止依頼を行うなどの調整を行うことが必要となる。一方、サーバ装置520においても、クライアント装置420のそのようなコンテンツ取得要求の調整によって、複数回のコンテンツ取得要求を受信したり、コンテンツ一時停止に対応したりすることとなる。その結果、サーバ装置520は、クライアント装置420からの要求を完結するまでの処理時間が長くなり、クライアント装置420以外の装置からのコンテンツ取得要求に対応できなくなる可能性がある。すなわち、クライアントにおけるメモリの枯渇を防止しようとするとサーバ側の動作が遅延してしまうという課題があった。
しかしながら、本実施形態によれば、S110及びS111によって、サーバ装置520と中継装置A310間のデータ転送は高速に、中継装置A310とクライアント装置420との間のデータ転送は低速に行うことができる。また、中継装置A310が動画のビットレートにあわせてコンテンツを送信することにより、クライアント装置420は、動画再生スピードに応じてデータを受信することができる。また、サーバ装置520はクライアント装置420からのコンテンツ取得要求に対して、クライアント装置420の状態に依存することなくコンテンツ送信を行うことができる。したがって、上記のような課題(クライアントにおけるメモリの枯渇を防止しようとするとサーバ側の動作が遅延するという課題)が解消される。
一方、静止画の場合は動画とは異なり、中継装置B320を介してコンテンツのブリッジ転送を行う。静止画は再生速度に応じてデータをバッファリングする必要がなく、受信したデータを表示すればよい。従って中継装置A310がデータのバッファリングを行う必要はなく、データのバッファリングを行わない中継装置B320を介してしてコンテンツの転送を行う。このことによって中継装置A310において不要なバッファリング処理の実行が回避される。
また、本実施形態では、コンテンツ属性情報に応じて経路選択を行っているが、クライアント装置420の属性やサーバ装置520の属性に応じて中継装置を選択してもよい。例えばクライアント装置420またはサーバ装置520の機器性能が高く中継装置でデータをバッファリングする必要がないと判断した場合は、動画データでも中継装置B320を選択してもよい。
さらに、サーバ装置520からクライアント装置420にコンテンツを送信しているが、クライアント装置420からサーバ装置520に送信する時も同様である。具体的には、S101〜S104と同様に、クライアント装置420のコンテンツアップロード要求に対してサーバ装置520がアップロード先の識別子(URL)を応答する。この応答データは、フロントエンド装置200及び中継サーバ100を介して送信される。中継サーバ100はS103において、アップロード要求に含まれるコンテンツの属性情報、および/またはアップロード先の識別子に基づいて特定される装置の性能、などを考慮してコンテンツの識別子と中継装置の関連付けを行う。クライアント装置420からコンテンツの実態がアップロードされる場合、フロントエンド装置はアップロードされるコンテンツの属性情報により使用する中継装置を検索し、検索された中継装置(中継装置A310または中継装置B320)にコンテンツを送信する。
また、S105にて、クライアント装置420は、コンテンツ取得要求にコンテンツ変換要求、コンテンツ編集要求、他の装置へのフォーク要求など、付加的な機能の要求を付けて送信してもよい。その場合、フロントエンド装置200は、上述した関連付け情報の参照により、コンテンツ取得要求において要求されている機能に対応できる中継装置を検索する。
また、S103にて中継サーバ100は、サーバ装置520から受取ったコンテンツ一覧応答に含まれるコンテンツ識別子を変換してもよい。変換したコンテンツ識別子は、コンテンツを識別可能でかつ、コンテンツを中継する中継装置を特定できる識別子とする。この場合、フロントエンド装置200は、コンテンツ取得要求に含まれるコンテンツ識別子(コンテンツ名+ファイル識別子)のうち、ファイル識別子を用いて使用すべき中継装置を選択し、選択した中継装置へコンテンツ取得要求を送信する。したがって、この場合、変換されたコンテンツ識別子そのものが関連付け情報となる。
また、中継サーバ100は、クライアント装置420およびサーバ装置520間のセッションを監視してもよい。セッションの解消が検出された場合は、S103で保存した関連付け情報を削除する。
<他の実施形態>
本発明の目的は前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
本発明の目的は前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOperating System(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
100:中継サーバ、101:送受信部、102:コンテンツ情報解析部、103:転送経路選択部、104:中継装置管理部、200:フロントエンド装置、310:中継装置A、320:中継装置B、420:クライアント装置、520:サーバ装置
Claims (19)
- クライアント装置とサーバ装置とのネットワークを介した通信を中継する中継装置を選択する通信装置であって、
前記ネットワーク上の複数の中継装置を管理する管理手段と、
前記サーバ装置と前記クライアント装置との間で送信されるコンテンツの属性情報を取得する取得手段と、
前記取得手段で取得された属性情報に基づいて、前記複数の中継装置のうち前記コンテンツの送信に用いる中継装置を選択する選択手段と、
前記コンテンツの識別情報と前記選択手段で選択された中継装置を関連付ける関連付け情報を生成する生成手段と、を備えることを特徴とする通信装置。 - 前記取得手段は、前記サーバ装置が送信した、コンテンツの識別情報と属性情報を含むコンテンツ一覧から、コンテンツの属性情報を取得し、
前記生成手段は、前記コンテンツ一覧からコンテンツの識別情報を取得することを特徴とする請求項1に記載の通信装置。 - 前記生成手段は、前記クライアント装置と前記サーバ装置との間に確立されたセッションの間に生成した前記関連付け情報を前記セッションの識別情報と関連付けることを特徴とする請求項1または2に記載の通信装置。
- 前記セッションの解消の検出に応じて、前記セッションに関連付けられている前記関連付け情報を削除する削除手段をさらに備えることを特徴とする請求項3に記載の通信装置。
- 前記選択手段は、各コンテンツの前記属性情報によって要求される機能に基づいて、前記コンテンツの転送に用いる中継装置を選択することを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
- 前記クライアント装置と前記サーバ装置の間の前記ネットワークにおける通信経路を決定する外部の通信装置へ、前記関連付け情報を送信する送信手段をさらに備えることを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
- 送信されるコンテンツの識別情報に基づいて、前記関連付け情報から該送信されるコンテンツの通信に用いる中継装置を決定する決定手段をさらに備えることを特徴とする請求項1乃至4のいずれか1項に記載の通信装置。
- 前記決定手段は、外部の装置から受信した前記送信されるコンテンツの識別情報に基づいて中継装置を決定し、決定した中継装置を前記外部の装置へ通知することを特徴とする請求項7に記載の通信装置。
- 前記決定手段は、前記クライアント装置から送信されたコンテンツ取得要求に含まれている前記送信されるコンテンツの識別情報に基づいて中継装置を決定し、
前記決定手段で決定された中継装置へ、前記コンテンツ取得要求を転送する転送手段をさらに備えることを特徴とする請求項7に記載の通信装置。 - 前記コンテンツ取得要求は、コンテンツの送信に関する付加的な機能の要求を含み、
前記決定手段は、前記コンテンツの識別情報に関連付けられている中継装置のうち、前記コンテンツ取得要求が要求する機能に基づいて中継装置を決定することを特徴とする請求項9に記載の通信装置。 - 前記コンテンツ取得要求が要求する機能とは、
コンテンツを前記クライアント装置へ転送する際の転送速度を調整する調整機能、
コンテンツのサイズやフォーマットを変換する変換機能、
コンテンツの内容を編集する編集機能、または
コンテンツを前記クライアント装置以外の装置へ転送するフォーク機能、であることを特徴とする請求項10に記載の通信装置。 - 前記取得手段は、前記クライアント装置が送信したアップロード要求から、コンテンツの属性情報を取得することを特徴とする請求項1または2に記載の通信装置。
- 前記選択手段は、さらに、前記クライアント装置または前記サーバ装置の機能に基づいて中継装置を選択することを特徴とする請求項1乃至12のいずれか1項に記載の通信装置。
- ネットワーク上のクライアント装置とサーバ装置との間の通信を中継する中継装置を選択する通信装置の制御方法であって、
前記ネットワーク上の複数の中継装置を管理する管理工程と、
前記サーバ装置と前記クライアント装置との間で送信されるコンテンツの属性情報を取得する取得工程と、
前記取得工程で取得された属性情報に基づいて、前記複数の中継装置のうち前記コンテンツの送信に用いる中継装置を選択する選択工程と、
前記コンテンツの識別情報と前記選択工程で選択された中継装置を関連付ける関連付け情報を生成する生成工程と、を有することを特徴とする通信装置の制御方法。 - クライアント装置とサーバ装置の間のネットワークにおける通信経路を決定する通信装置であって、
前記クライアント装置から受信したコンテンツ取得要求からコンテンツの識別情報を取得する取得手段と、
コンテンツの識別情報と中継装置が関連付けられた関連付け情報から、前記識別情報に基づいて前記コンテンツの通信に使用する中継装置を検索する検索手段と、
前記検索手段で検索された中継装置へ前記コンテンツ取得要求を転送する転送手段と、を備えることを特徴とする通信装置。 - 前記関連付け情報を外部の装置から受信し、保持する保持手段をさらに備えることを特徴とする請求項15に記載の通信装置。
- 前記検索手段は、外部の通信装置に保持されている前記関連付け情報から中継装置を検索することを特徴とする請求項15に記載の通信装置。
- クライアント装置とサーバ装置の間のネットワークにおける通信経路を決定する通信装置の制御方法であって、
前記クライアント装置から受信したコンテンツ取得要求からコンテンツの識別情報を取得する取得工程と、
前記識別情報に基づいて、前記コンテンツの通信に使用する中継装置を決定する決定工程と、
前記決定工程で決定された中継装置へ前記コンテンツ取得要求を転送する転送工程と、を有することを特徴とする通信装置の制御方法。 - 請求項14または18に記載の通信装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014158125A JP2016035656A (ja) | 2014-08-01 | 2014-08-01 | 通信装置およびその制御方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014158125A JP2016035656A (ja) | 2014-08-01 | 2014-08-01 | 通信装置およびその制御方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016035656A true JP2016035656A (ja) | 2016-03-17 |
Family
ID=55523477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014158125A Pending JP2016035656A (ja) | 2014-08-01 | 2014-08-01 | 通信装置およびその制御方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016035656A (ja) |
-
2014
- 2014-08-01 JP JP2014158125A patent/JP2016035656A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7958253B2 (en) | Method and apparatus for transmitting and receiving content on distributed storage system | |
JP2018517341A (ja) | 改善されたモバイルインターネットの速度およびセキュリティのためのシステム | |
JP6553760B2 (ja) | 負荷分散装置、中継装置、負荷分散方法及びプログラム | |
US9537930B2 (en) | Information system, file server, and file server control method | |
JP2018536356A (ja) | 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするためのシステムおよび方法 | |
JP2013542681A (ja) | コンテンツ中心のネットワーク環境でグループ変更に関する情報を用いるコンテンツ共有方法及び装置 | |
US20150195764A1 (en) | Network service system and method for providing network service in multiple mobile network environment | |
US20190108284A1 (en) | Information collection system, information collection method, and storage medium | |
US20100332592A1 (en) | Data processing device and data retriever | |
JP6886874B2 (ja) | エッジ装置、データ処理システム、データ送信方法、及びプログラム | |
JP7097427B2 (ja) | データ処理システム、及びデータ処理方法 | |
JP6193155B2 (ja) | 通信装置、通信システム、通信方法およびプログラム | |
KR102226915B1 (ko) | 소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법, 장치 및 컴퓨터 프로그램 | |
US20090077162A1 (en) | Medium Management Device and Medium Management Method | |
JP2016035656A (ja) | 通信装置およびその制御方法、プログラム | |
JP2006018378A (ja) | サーバ装置 | |
JP2007006291A (ja) | ゲートウェイ装置及び中継方法及びプログラム | |
US20120233431A1 (en) | Relay device | |
JP6724427B2 (ja) | コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム | |
KR20130134911A (ko) | 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치 | |
JP5289345B2 (ja) | アドレス変換装置、通信システム、メッセージ通信方法、及びプログラム | |
JP2006261768A (ja) | 通信装置、通信方法および通信プログラム | |
KR101015961B1 (ko) | 가상서버를 이용한 스트리밍 장치 및 그 방법 | |
JP5831927B2 (ja) | 情報伝達経路探索システム | |
JP2016046598A (ja) | 通信装置、通信方法、及び、プログラム |