JP2015036900A - 情報処理装置およびその制御方法、プログラム - Google Patents

情報処理装置およびその制御方法、プログラム Download PDF

Info

Publication number
JP2015036900A
JP2015036900A JP2013168339A JP2013168339A JP2015036900A JP 2015036900 A JP2015036900 A JP 2015036900A JP 2013168339 A JP2013168339 A JP 2013168339A JP 2013168339 A JP2013168339 A JP 2013168339A JP 2015036900 A JP2015036900 A JP 2015036900A
Authority
JP
Japan
Prior art keywords
processing apparatus
information processing
network
digital camera
found
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
JP2013168339A
Other languages
English (en)
Inventor
幸史 徳永
Yukifumi Tokunaga
幸史 徳永
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 JP2013168339A priority Critical patent/JP2015036900A/ja
Priority to EP14177764.9A priority patent/EP2843909A1/en
Priority to KR20140101606A priority patent/KR20150020069A/ko
Priority to RU2014133186/07A priority patent/RU2593272C2/ru
Priority to US14/457,873 priority patent/US20150052235A1/en
Priority to CN201410398358.4A priority patent/CN104378569A/zh
Publication of JP2015036900A publication Critical patent/JP2015036900A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/16Discovering, processing access restriction or access information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Abstract

【課題】 ネットワーク上に存在する通信機器のうち、通信すべき機器を効率よく発見することが可能な情報処理装置およびその制御方法の提供【解決手段】 第1のネットワーク上で第1のデバイスが見つかった場合、見つかった第1のデバイスが、自身と有効な関連付けがなされているデバイスかどうかを第2のネットワーク上のデバイスに問い合わせる。問い合わせの結果、見つかった第1のデバイスが自身と有効な関連付けがなされているデバイスであると判定される場合には、見つかった第1のデバイスからデータを取得する。一方、見つかった第1のデバイスが自身と有効な関連付けがなされているデバイスであると判定されない場合には、見つかった第1のデバイスとの通信を行わない。【選択図】 図5

Description

本発明は情報処理装置およびその制御方法、プログラムに関する。
無線通信機能を搭載したデジタルカメラやデジタルビデオカメラが知られている(特許文献1)。このようなデジタルカメラやデジタルビデオカメラは、無線通信機能を用いてネットワークに接続し、撮影した画像データをネットワーク上の外部装置にアップロードすることが可能である。
特開2003-319309号公報
ネットワーク上の外部装置と通信する場合、まず通信相手を特定する必要がある。この際、ネットワーク上に存在する機器をサーチすることが考えられるが、サーチによりネットワーク上の特定サービスを有する機器がすべて検出されるのは煩雑である。
本発明は、ネットワーク上に存在する通信機器のうち、通信すべき機器を効率よく発見することが可能な情報処理装置およびその制御方法の提供を目的の1つとする。
上述の目的は、第1のネットワーク上のデバイスおよび、第1のネットワークとは異なる第2のネットワーク上のデバイスと通信可能な情報処理装置であって、第1のネットワーク上で第1のデバイスが見つかった場合、見つかった第1のデバイスが、情報処理装置と有効な関連付けがなされているデバイスかどうかを第2のネットワーク上のデバイスに問い合わせる問い合わせ手段と、問い合わせの結果、見つかった第1のデバイスが情報処理装置と有効な関連付けがなされているデバイスであると判定される場合には、見つかった第1のデバイスからデータを取得し、見つかった第1のデバイスが情報処理装置と有効な関連付けがなされているデバイスであると判定されない場合には、見つかった第1のデバイスとの通信を行わない通信手段とを有することを特徴とする情報処理装置によって達成される。
本発明によれば、ネットワーク上に存在する通信機器のうち、通信すべき機器を効率よく発見することが可能な情報処理装置およびその制御方法を提供できる。
実施形態に係る通信装置の一例としてのデジタルカメラの機能構成例を示すブロック図 実施形態に係る情報処理装置を実現可能なパーソナルコンピュータの機能構成例を示すブロック図 第1の実施形態における、デジタルカメラ、PC、およびサーバの接続形態を模式的に示す図 第1の実施形態におけるペアリング情報の例を示す図 第1の実施形態のディスカバリ処理におけるデジタルカメラ、PC、サーバの動作シーケンス図 第1の実施形態のディスカバリ処理におけるデジタルカメラの動作を示すフローチャート 第1の実施形態のディスカバリ処理におけるPCの動作を示すフローチャート デジタルカメラとPCのデバイス情報の例を示す図 第2の実施形態のディスカバリ処理におけるデジタルカメラ、PC、サーバの動作シーケンス図 第2の実施形態のディスカバリ処理におけるデジタルカメラの動作を示すフローチャート 第1の実施形態のディスカバリ処理におけるPCの動作を示すフローチャート
以下、本発明の例示的な実施形態について、添付図面を用いて詳細に説明する。
なお、以下に説明する実施形態は、本発明の実現手段の単なる例示であり、本発明が適用される装置の具体的な構成や各種条件によって適宜修正又は変更されてもよい。また、各実施形態を適宜組み合せることも可能である。
●(第1の実施形態)
<デジタルカメラの構成>
以下の説明では、データ転送元である通信装置の一例としての、無線通信機能を有するデジタルカメラについて説明する。なお、無線通信機能を有し、データを転送可能な任意の装置に本発明は適用可能である。このような端末としては例えば携帯電話機、パーソナルコンピュータ、タブレット端末、ゲーム機などがあるが、他の機器であってもよい。
図1は、本実施形態に係るデジタルカメラ100の機能構成例を示すブロック図である。制御部101は、例えば、CPU(MPU)、メモリ(DRAM、SRAM)などからなり、各種処理(プログラム)を実行してデジタルカメラ100の各ブロックを制御したり、各ブロック間でのデータ送信を制御したりする。また制御部101は、ユーザからの操作を受け付ける操作部102からの操作信号に応じて、デジタルカメラ100の各ブロックを制御する。
操作部102は、例えば、電源ボタン、ズーム調整ボタン、オートフォーカスボタンなどの撮影に関連する各種操作を入力するスイッチ類からなる。また、メニュー表示ボタン、決定ボタン、その他カーソルキー、ポインティングデバイス、タッチパネル等で構成することが可能であり、ユーザによりこれらのキーやボタンが操作されると制御部101に操作信号を送信する。さらに操作部102はレリーズボタンを含み、レリーズボタンはいわゆる半押し状態で押下されるスイッチ(SW1)と、いわゆる全押し状態で押下されるスイッチ(SW2)とを有する。SW1の押下により撮影準備指示が出力され、SW2の押下により撮影指示が出力される。撮影準備動作には、自動焦点検出(AF)、自動露出制御(AE)などが含まれる。なお、本実施形態では、静止画撮影のためのレリーズボタンと動画撮影のためのレリーズボタンとを共用しているが、別のボタンとすることも可能である。
バス103は、各種データ、制御信号、指示信号などをデジタルカメラ100の各ブロックに送るための汎用バスである。
撮像部110は、撮像レンズにより取り込まれた被写体の光学像の光量を、絞りにより制御し、CCDイメージセンサやCMOSイメージセンサ等の撮像素子により画像信号に変換する。
また、音声入力部120は、例えば、内蔵された無指向性のマイクまたは音声入力端子を介して接続された外部マイク等により、デジタルカメラ100の周囲の音声を集音する。
メモリ104は、例えばRAM(Random Access Memory)や書き換え可能な不揮発性メモリであって、画像信号および音声信号、デジタルカメラ100の設定情報などを一時的に記憶する。
記録媒体141は、デジタルカメラ100に接続可能な記録媒体である。記録媒体141は、デジタルカメラ100で生成した各種データなどを記録することができる。記録媒体141の例としては、例えばハードディスク、光ディスク、書き換え可能な不揮発性半導体メモリなどがあげられる。本実施形態では、いわゆるメモリカードと呼ばれる、デジタルカメラ100に装着可能な書き換え可能な不揮発性半導体メモリ装置を記録媒体141として用いるものとする。
映像出力部150は、例えば映像出力端子からなり、接続された外部ディスプレイ等に映像を表示させるために画像信号を送信する。また、映像出力部150と後述する音声出力部151は統合された1つの端子、例えばHDMI(登録商標)端子のような端子であってもよい。
音声出力部151は、例えば音声出力端子からなり、接続されたイヤホンやスピーカなどから音声を出力させるために音声信号を送信する。また、音声出力部151は、デジタルカメラ100に内蔵されてもよい。
通信部152は外部デバイスとの間でシリアルまたはパラレル通信によるデータの送受信を有線または無線で行う。通信部152が用いることのできる通信インタフェースの例としては、RS232C、USB、IEEE1394、P1284、SCSI、モデム、LAN、IEEE802.11xなどがある。また、通信部152は通信インタフェースに応じた通信プロトコルを実行することで、外部デバイスとデータを送受信することが可能である。通信プロトコルの一例として、HTTP(Hyper Text Transfer Protocol)やPTP−IP(Picture Transfer Protocol over IP)などが挙げられる。ここで例示した通信インタフェースおよび通信プロトコルは周知であるため、その詳細に関する説明は割愛する。なお、記憶媒体141が通信部152の機能を備えていてもよい。
表示部130は、記録媒体141に記録された画像データや、各種メニューなどのGUIを表示する。表示部130は例えば、液晶ディスプレイ、有機ELディスプレイ等を用いることができる。
<パーソナルコンピュータ(PC)の構成>
以下の説明では、本発明の実施形態に係るユーザ端末およびサーバを実現可能な情報処理装置の一例として、静止画や動画が取り込み可能なパーソナルコンピュータ(PC)について説明する。なお、タブレット型PCやスマートフォンも情報処理装置の一例である。
図2は、本実施形態に係るPC200の機能構成例を示すブロック図である。
PC200は、表示部201と、操作部202と、CPU203と、一次記憶装置204と、二次記憶装置205と、通信装置206とを有している。
各構成の基本的な機能はデジタルカメラ100と同様であるから、ここでは詳細な説明は省略する。表示部201には液晶ディスプレイや有機ELディスプレイ等を用いることができる。また表示部201はPC200が備える必要はなく、PC200は表示部201の表示を制御する表示制御機能を有していればよい。一次記憶装置204は例えばRAM(Random Access Memory)や書き換え可能な不揮発性メモリであり、PCの設定値を保持したり、CPU203が実行するプログラムを保持および展開したり、CPU203のワークエリア等として利用される。二次記憶装置205はHDDや磁気テープドライブなどの磁気記録装置、DVD、CD、BD、MOなどの光または光磁気メディアを用いる記憶装置、SSDなど不揮発性半導体メモリを用いた記憶装置である。二次記憶装置205は、各種アプリケーション(OSを含む)やユーザデータなどの保存に用いられる。
CPU203は、一次記憶装置204に展開したプログラム(OS、アプリケーション等)を実行し、PC200の各ブロックを制御する。CPU203はまた、ユーザからの操作を受け付ける操作部202からの操作信号に応じて各ブロックを制御する。操作部202としては、キーボードやマウス、またタッチパネルなどが一般的に用いられるが、これらに限定されない。
通信装置206はデジタルカメラ100の通信部152と同様、所定の規格に応じた通信インタフェースおよび通信プロトコルを用いて外部デバイスとデータ通信する。なお、通信部152および通信装置206は、複数種の通信インタフェースを有し、通信インタフェースに応じた通信プロトコルでの通信が可能である。本実施形態では、通信装置206はローカルエリアネットワーク(LAN)上のデバイスと、インターネットなどのワイドエリアネットワーク(WAN)上のデバイスとの両方と通信可能であるように構成される。なお、LANとWANは2つの異なるネットワークの例であり、通信装置206はデータの送信元デバイスがアクセス可能な第1のネットワークと、データ転送サービスを提供するサーバが存在する第2のネットワークとの両方に接続可能であれば良い。
なお、実施形態に係るサーバおよびユーザ端末はいずれも図2に示したパーソナルコンピュータによって実現可能であるが、以下の説明においては便宜上、「PC」はユーザ端末を意味するものとして用い、サーバとして機能するPCは「サーバ」と呼ぶ。
<接続形態の概要>
図3は、本実施形態における、デジタルカメラ100、PC200a、およびサーバ200bの接続形態を模式的に表した図である。
図3(a)は、サーバ200bとデジタルカメラ100、サーバ200bとPC200aのペアリング処理を行うための通信301、302の処理を示した模式図である。デジタルカメラ100とPC200aはルータ300が構築したローカルエリアネットワーク(LAN)に無線および有線で接続し、ルータ300を通じてインターネットなどの広域ネットワーク(WAN)に接続し、WAN上のサーバ200bと通信可能である。
ルータ300は、ネットワークの構築機能および、構築したネットワークに接続されたポータブルデバイスやPCなどのデバイス間の通信を中継するルーティング機能を提供する。ルータ300は、インターネットプロトコルスイートに準拠して動作し、自身のIPアドレスをGatewayアドレスとしたLANを構築する。また、ルータ300は有線インタフェースと無線インタフェースの少なくとも一方を有する。有線接続の一例として、LANケーブルによるルータとデバイスの物理的な接続が、また無線接続の一例として、IEEE802.11x(xはa,b,g,n,acなど)に準拠した無線接続があげられる。本実施形態のルータ300は、図示の通り有線インタフェースおよび無線インタフェースを有する。
ルータ300が無線インタフェースを有する場合、SSIDと暗号キーが設定されており、接続デバイスはルータ300に設定されているSSIDと暗号キーを用いてルータ300に認証されることでルータ300との無線接続が確立される。自身のLANにポータブルデバイスやPCなどのデバイスが有線接続または無線接続されると、ルータ300は接続デバイスに対してIPアドレスを割り当てる。例えばIPアドレスの自動割り当てを行う代表的なプロトコルとしてDHCP(Dynamic Host Configuration Protocol)があげられる。ルータ300はまた、LAN上のデバイス間で通信が行われる際にLAN上を流れるデータのプロトコルやIPアドレスを解析し、どの経路を通じて転送すべきかを判断する。
サーバ200bとデジタルカメラ100の通信301を通じたペアリング処理において、ユーザは、サーバ200bが提供するサービスを使用するために、ユーザアカウントを作成する。サーバ200bで作成したユーザアカウントに対して、デジタルカメラ100を登録することで、サーバ200bとデジタルカメラ100のペアリングを実現する。ペアリング処理は具体的に以下のように処理することで実現する。デジタルカメラ100は、サーバ200bに対してデジタルカメラ100のデバイス情報を送信する。送信するデジタルカメラ100のデバイス情報は、例えば図4(a)に示される情報であり、メモリ104にあらかじめ保存されている。具体的には、デジタルカメラ100のモデル名であるCamera Name、デジタルカメラ100を一意に識別するための個体情報であるCamera GUID (Global Unique Identifier)などである。GUID以外にUUIDなど他の情報を個体情報として用いても良い。
サーバ200bはデジタルカメラ100の情報を取得すると、デジタルカメラ100に固有なAlias IDを生成する。サーバ200bはさらに、デジタルカメラ100がサーバ200bのアクセス認証処理に使用するためのAccess IDとAccess Passwordを生成する。そして、サーバ200bはこれらの情報をデジタルカメラ100に送信する。デジタルカメラ100は、その後サーバ200bにアクセスする際に用いるため、受信したAlias ID、Access ID、およびAccess Passwordをメモリ104の不揮発性領域に保存する。
サーバ200bは図4(a)に示すデジタルカメラ100とのペアリング情報を二次記憶装置205に記憶する。Camera Alias IDは、デジタルカメラ100の情報と、ユーザアカウントとに関連付けてサーバ200bが生成する、デジタルカメラ100を一意に特定可能な固有情報である。そのため、デジタルカメラ100からCamera Alias IDを受信すれば、サーバ200bは通信元のデジタルカメラを一意に特定することができる。以上の処理によって、サーバ200bとデジタルカメラ100のペアリング処理が完了する。
次に、サーバ200bとPC200aとの通信302において、ユーザは、PC200aの二次記憶装置205に保存されている転送サービスアプリケーションを起動し、通信301で作成済みのユーザアカウントを使用してサーバ200bにログインする。ログインの方法に制限は無いが、例えばPC200aで稼動する転送サービスアプリケーションのブラウザ機能によってサーバ200bのURLにアクセスし、表示されたログイン画面にユーザIDとパスワードを入力する方法であってよい。ログインが正常に終了して転送サービスアプリケーションに表示される例えばサービスメニュー画面から、PC登録をユーザが指示すると、サーバ200bは転送サービスアプリケーションを通じてPC200aの情報を取得する。
ここでPC200aから送信する情報は、二次記憶装置205にあらかじめ保存されているPC200aのPC名称であるPC Name、PC200aを一意に識別するための個体情報であるPC GUIDなどである。このPC GUIDは、PC200aを一意に識別できるものであればよい。例えば、PC200aのシリアル番号やネットワークインタフェースカード(NIC)のMACアドレスのようなハードウェア情報であっても良いし、転送サービスアプリケーションが生成した文字列であっても良い。
サーバ200bはPC200aからデバイス情報を受信すると、サーバ200bがPC200aを管理するための識別子であるPC Alias ID、サーバアクセス時の認証処理に使用するAccess IDとAccess Passwordを生成して二次記憶装置205に記憶し、PC200aに送信する。なお、サーバ200bは図4(b)に示すPC200bとのペアリング情報を二次記憶装置205に記憶する。PC Alias IDは、PC200aのデバイス情報と、ユーザのアカウントとに関連付けてサーバ200bが生成する、PC200aを一意に特定可能な固有情報である。そのため、PC200aからPC Alias IDを受信すれば、サーバ200bは通信元のPCを一意に特定することができる。以上の処理によって、サーバ200bとPC200aとのペアリング処理が完了する。
以上の処理により、サーバ200bとデジタルカメラ100、サーバ200bとPC200aのペアリング処理がそれぞれ完了する。これらのペアリング処理により、サーバ200bにおいて、同じユーザアカウントにデジタルカメラ100とPC200aの双方が関連付けられ、両者が同一ユーザに関する機器としてサーバ200bに管理されるようになる。その結果、デジタルカメラ100からPC200aに画像ファイルを送信することが可能となる。
図3(b)は、デジタルカメラ100からPC200aへ画像データを送信する際の2通りの経路を示している。本実施形態において、デジタルカメラ100からサーバ200bを経由してPC200aへ画像データを送信する経路は、サーバ200bを経由する経路(サーバ経由転送)と、サーバ200bを経由しない経路(直転送)がある。サーバ経由転送は通信304,305、直転送は通信303で示されている。
本実施形態のデジタルカメラ100の二次記憶装置105には、ネットワーク上でデバイス探索を行うためのディスカバリプロトコルに従ってPC200aと通信が可能なプログラムがインストールされている。ここでは、ディスカバリプロトコルとして、UPnP(Universal Plug and Play)およびBonjourの仕様に準拠した通信が可能であるものとするが、これらに限定されない。従って、デジタルカメラ100には、UPnPおよびBonjourを使用した通信を実行するためのコマンド、およびUPnPおよびBonjourで通信するのに必要なデジタルカメラ100の固有のデバイス情報などが記録されている。
また、本実施形態のPC200aの二次記憶装置205にも、UPnPおよびBonjourの仕様に準拠してデジタルカメラ100と通信が可能なプログラムがインストールされている。従って、PC200aには、UPnPおよびBonjourを用いた通信を実行するためのコマンド、およびUPnPおよびBonjourで通信するのに必要なPC固有のデバイス情報などが記録されている。
また、本実施形態のデジタルカメラ100の二次記憶装置105には、画像を転送するためのプロトコルとしてHTTPに準拠してPC200と通信可能なプログラムがインストールされている。このプログラムは、HTTPクライアントとしてHTTPサーバにリクエストを送信する機能、また、HTTPサーバとして、HTTPクライアントからのリクエストを受信し、リクエストに応じた処理を行うための機能の双方を有している。また、本実施形態のPC200aの二次記憶装置205には、HTTPに準拠してデジタルカメラ100と通信可能なプログラムがインストールされており、このプログラムは、HTTPクライアントとしてHTTPサーバにリクエストを送信する機能を有する。
また、本実施形態のデジタルカメラ100の記録媒体141およびPC200aの二次記憶装置205にはあらかじめ画像ファイルが記録されているものとする。本実施形態における画像ファイルの送信処理は、デジタルカメラ100とPC200aがネットワークを介して接続され、デジタルカメラ100から供給された画像ファイルがPC200aの二次記憶装置205の任意のディレクトリに保存されることで実現される。
本実施形態は、デジタルカメラ100がディスカバリプロトコルであるUPnPおよびBonjourを用いてPC200aと接続して、PTP−IPを用いて画像ファイルをPC200aに送信する形態を例にあげて詳細を説明する。PTP−IPはPicture Transfer Protocol over TCP/IP networksの略称である。なお、本発明はここで説明する特定のディスカバリプロトコルおよび転送プロトコルに限定されず、他のプロトコルを用いた通信においても実施可能である。例えば、他のディスカバリプロトコルとして、Sun Microsystems社のJiniを用いても良い。
ここで、本実施形態で用いるディスカバリプロトコルであるUPnP(Universal Plug and Play)とBonjourについて説明する。UPnPは、家庭内のPCや周辺機器、AV機器、電話、家電製品などのデバイスを、ネットワークを通じて接続し、相互に機能を提供しあうための技術仕様である。また、Bonjourは、Ethernet(登録商標)や802.11シリーズのような無線LAN等のIPネットワーク上のデバイスを自動的に検出して接続する技術である。Bonjourでは、ルータが関与しない通信はローカルネットワークと判断し、自動的にIPアドレスを取得する。また、ローカルホスト名を必ずしも設定しなくてよいマルチキャストDNSを用いて名前付けを行う。また、使いたい機能を持っているデバイスを探し出すことでサービス探索を行う。これらのプロトコルの仕様は公開されているため、その詳細についての説明は割愛する。
図3(b)における通信303は、デジタルカメラ100の画像ファイルをPC200aに直接送信する経路(直転送)を示す。ここでは、サーバ200bとのペアリング処理が完了した後、PC200aで稼動する転送サービスアプリケーションが、ルータ300が構築したLAN上で機器を定期的に探索し、接続機器からの機器情報取得要求がある場合には応答するものとする。なお、以下では、CPU203がプログラム実施することによって実現される動作について、PC200aを主体として説明することがある。また、同様に、デジタルカメラ100の制御部101がプログラムを実施することによって実現される動作について、デジタルカメラ100を主体として説明することがある。
操作部102を介してユーザから画像ファイルをPC200aに送信する処理の実行が指示されると、上述のプログラムを実行する、デジタルカメラ100の制御部101は、ルータ300が構築するローカルエリアネットワークに通信部152を通じて接続する。次に、デジタルカメラ100はローカルエリアネットワーク内の機器を探索し、PC200aが存在するか否かを確認する。探索の結果、デジタルカメラ100とPC200aが互いを発見した場合、デジタルカメラ100はHTTPサーバの機能を実行して画像ファイルを外部に提供する準備を行い、HTTPクライアントからの取得要求を待つ。PC200aは、HTTPクライアントの機能を実行し、デジタルカメラ100に対して画像ファイルの取得要求を送信し、通信303を通じてデジタルカメラ100から直接、画像ファイルを取得する。
なお、本実施形態でデジタルカメラ100およびPC200aはHTTPに準拠してデータの送受信を行うものとする。HTTPサーバとは、World Wide Web(WWW)システムにおいて、情報送信機能を持ったソフトウェアまたはコンピュータを指す。HTTPサーバはコンテンツを保有しており、HTTPクライアントによるGet、Post、HeadなどのHTTPメソッドの要求に応じて、コンテンツファイルをHTTPクライアントに送信する。また、HTTPクライアントは、HTTPメソッドを用いてHTTPサーバに対してリクエストを送信するソフトウェアまたはコンピュータを指す。本実施形態における画像取得要求とは、HTTPメソッドであり、コンテンツとは、画像ファイルを指す。なお、通信303で画像ファイルを送信する際のデジタルカメラ100とPC200aの探索処理の詳細は、図5〜図8を用いて後述する。
図3(b)において、デジタルカメラ100の画像ファイルを、サーバ200bを経由してPC200aに送信する経路は、通信304,305によって実現される。
デジタルカメラ100はルータ300のローカルエリアネットワーク内の機器を探索し、PC200aが存在しないと判断すると、HTTPクライアントの機能を実行し、通信304によってサーバ200bに対して画像ファイルを送信する。HTTPクライアントからHTTPサーバへのファイル送信は、例えばPostメソッドを用いて実行することができる。送信された画像ファイルは、サーバ200bの二次記憶装置205に一時保存される。PC200aは、HTTPクライアントとしてサーバ200bに例えば定期的にアクセスし、画像ファイルがサーバ200bに一時保存されているかを確認する。画像ファイルが保存されていると判断した場合、PC200aは通信305によってサーバ200bから画像ファイルを取得する。HTTPサーバからの画像ファイルの取得は、例えばGetメソッドを用いて実行することができる。以上が、本実施形態における画像ファイル転送手順の概要である。
<ディスカバリシーケンス>
次に、デジタルカメラ100の記録媒体141に保存された画像ファイルを、通信303によってPC200aに送信(直転送)するために実行する、デジタルカメラ100、PC200a、サーバ200bの機器探索(ディスカバリ)処理の詳細について説明する。
図5は、本実施形態のディスカバリ処理におけるデジタルカメラ100、PC200a、サーバ200bの動作シーケンス図である。このシーケンスは、デジタルカメラ100の操作部102に含まれる電源ボタンや再生ボタンが押下されたことを制御部101が検知したことに応じて開始される。
まず、S501において、デジタルカメラ100の制御部101は、ルータ300が構築するローカルエリアネットワークに接続する。例えば制御部101は表示部130に、ネットワーク接続に必要な情報の入力を受付けるGUI(Graphical User Interface)を表示する。具体的には、制御部101は、LANを構築するルータ300に無線接続するために必要なSSID(Service Set Identifier)と暗号キーを入力するテキストボックスを有するGUIを表示部130に表示する。
なお、SSIDとは、IEEE802.11xシリーズの無線LANにおけるアクセスポイントの識別子であり、混信を避けるために付けられる名前である。また、暗号キーは、SSIDに不正アクセスされないよう通信内容の暗号化を行うためのキーである。ユーザは例えば表示部130に表示されたソフトウェアキーボードを操作部102で操作してSSIDおよび暗号キーを入力する。もちろん、ハードウェアキーや音声入力など他の入力方法を用いたり、一度接続したアクセスポイントについてはSSIDと暗号キーを記憶しておき、次回以降はSSIDを選択するだけでもよい。
制御部101は入力もしくは読み出されたSSIDおよび暗号キーをメモリ104に一時記憶するとともに、ルータ300との無線接続を確立する。ルータ300との無線接続が確立すると、ルータ300はデジタルカメラ100にIPアドレスを割り当てる。制御部101は、割り当てられたIPアドレスをメモリ104に保存する。以上で、ローカルエリアネットワークへの接続(S501)が完了する。
次に、ディスカバリのシーケンスを説明する。ネットワーク上に所望のデバイスタイプの機器が存在することを確認すると、自身の存在をネットワーク上に広告するのが一般的なディスカバリ処理の流れである。しかし、本実施形態では、所望のデバイスタイプのデバイスがLAN上に存在することが判明しても、そのデバイスが自身とペアリング済みで、かつそのペアリングが有効であることが確認されなければ自身の存在をデバイスに知らせる広告処理を行わない。
図5に示した例では、PC200aが所望のデバイスタイプのデバイスであるデジタルカメラ100の存在を確認した場合、デジタルカメラ100とPC200aとのペアリングが有効かどうかをサーバ200bに問い合わせる。そして、デジタルカメラ100がPC200aと同一ユーザアカウントに登録されていることが判明すれば、ペアリング済みかつペアリングが有効であるとしてデジタルカメラ100にPC200aの存在を広告する。なお、ペアリング済みのデバイスであっても、その後サーバ200b側での手続きにおいてペアリングが解除されている場合があるため、ペアリングを管理するサーバ200bに最新の状況を確認する。
本実施形態において、デジタルカメラ100とPC200aとのペアリングが有効か否かを判定するまでの処理は、2つのシーケンスのいずれかによって実現される。1つ目が、S502〜S507に示した、デジタルカメラ100の広告処理をきっかけとするシーケンス、2つ目が、S508〜S514に示した、PC200aの探索処理をきっかけとするシーケンスである。
まず、デジタルカメラ100の広告処理をきっかけとするシーケンスについて説明する。
S502において、デジタルカメラ100の制御部101は、広告処理であるStartAdvertisementを実行し、デジタルカメラ100の存在をLAN上のデバイスにマルチキャストする。ディスカバリプロトコルがUPnPの場合、制御部101は図8(a)に示すDeviceTypeタグのデバイスタイプ、及びServiceTypeタグのサービスタイプを指定したSSDP:Aliveメッセージをマルチキャストする。また、ディスカバリプロトコルがBonjourの場合、制御部101はMulticast DNS:Notifyに図8(c)に示すServiceTypeを指定してマルチキャストする。
なお、SSDP(Simple Service Discovery Protocol)は、ネットワーク上で、UPnPをサポートするデバイスを探索、発見するための公知のプロトコルである。また、Multicast DNSは、ネットワーク上で、Bonjourをサポートするデバイスを探索、発見するための公知のプロトコルである。
S503で、デジタルカメラ100の存在が、デジタルカメラ100が接続しているLANに接続中のデバイス(PC200aを含む)に通知される。
S504において、PC200aのCPU203は、デジタルカメラ100の広告メッセージ(SSDP:AliveまたはMulticast DNS:Notify)を受信する。そして、CPU203は、広告メッセージに含まれる情報から、デジタルカメラ100が自身が探索対象とするデバイスかどうかを判定する。具体的には、CPU203は、広告メッセージに含まれるデバイスタイプやサービスタイプからデジタルカメラ100が探索対象のデバイスであると判定すると、S504でデバイス情報の取得要求(GetDescription)を送信する。具体的には、CPU203は、ディスカバリプロトコルがUPnPの場合はHTTP GETを実行してディスクリプションを要求し、Bonjourの場合はTXTレコードを要求する。
次に、S505において、デジタルカメラ100の制御部101は、取得要求に応答してデバイス情報をPC200aへ送信する。図8(a)は、ディスカバリプロトコルがUPnPの場合にS505で送信されるデバイス情報(Description)の例である。また、図8(c)の下段は、ディスカバリプロトコルがBonjourの場合にS505で送信されるTXTレコードの例である。図8(a)および(c)から分かるように、制御部101は、デバイス情報のns:X_devAliasIDまたはdevAid.ABCDE.comに、デジタルカメラ100のCamera Alias IDを含める。
次に、S506において、PC200aのCPU203は、サーバ200bに対し、デジタルカメラ100とPC200aとのペアリングが有効か否か(有効なペアリング設定が存在するか否か、もしくはペアリング設定の有効性)を問い合せる。具体的には、CPU203はデジタルカメラ100から取得した固有情報(Camera Alias ID)を基に、サーバ200bに問い合わせ(GetPairingInfo)を送信する。なお、デバイス情報として他の固有情報が用いられても良い。
S507において、サーバ200bのCPU203は、受信したデバイス固有情報(Camera Alias ID)を含んだカメラ−サーバ間のペアリング設定(図4(a))があるか二次記憶装置205を調べる。この際、サーバ200bのCPU203は、Camera Alias IDがPC200aと同じユーザアカウントに関連付けられていれば、PC200aとのペアリングが有効なデジタルカメラであると判定する。また、サーバ200bのCPU203は、Camera Alias IDがペアリング設定に存在しない場合や、PC200aと異なるユーザアカウントに関連付けられている場合には、PC200aとのペアリングが有効でないと判定する。そして、サーバ200bのCPU203は、判定結果(Result)をPC200aに送信する。
以上が、デジタルカメラ100の広告処理をきっかけとするシーケンスである。
次に、PC200aの探索処理をきっかけとするシーケンスについて説明する。
S508において、PC200aのCPU203は、PC200aが接続しているネットワークに、特定のタイプのデバイスが接続しているか問い合わせる探索メッセージ(StartSearch)をマルチキャストする。具体的には、PC200aのCPU203は、ディスカバリプロトコルがUPnPの場合は、SSDPのM-Searchを開始する。M-Searchはネットワーク上のUPnP対応デバイスを検出するメソッドであり、図8(a)に示すDeviceTypeタグのデバイスタイプ、及びServiceTypeタグのサービスタイプを指定してマルチキャストする。一方、ディスカバリプロトコルがBonjourの場合、PC200aのCPU203はMulticastDNS:Queryに、検索対象とするServiceType(図8(c)上段)を指定してマルチキャストする。
S509で、PC200aが接続しているLANに接続中のデバイス(デジタルカメラ100を含む)に、探索メッセージが通知される。
次に、S510において、デジタルカメラ100の制御部101は、デジタルカメラ100のデバイスタイプやサービスタイプが受信した探索メッセージに指定されたものと一致するか判定する。そして、制御部101は、一致する場合には応答(Search Response)をPC200aに送信する。
S511〜S514はS504〜S507と同様であるため説明は割愛する。以上が、PC200aの探索処理をきっかけとするシーケンスである。
S507もしくはS514において、デジタルカメラ100が自身と有効にペアリング設定されているデバイスであるとの判定結果がサーバ200bから得られた場合、S515またはS519以降のシーケンスが実行される。また、PC200aのCPU203は、自身のデバイス情報に、ペアリングが有効と判定されたデバイスのAlias IDを含める。一方、S507もしくはS514において、デジタルカメラ100が自身と有効にペアリング設定されていないデバイスであるとの判定結果がサーバ200bから得られた場合、S515またはS519以降のシーケンスは実行されない。
デジタルカメラ100がPC200aを、自身と有効にペアリング設定されたPCと判定してHTTPサーバを起動するまでの処理もまた、2つのシーケンスのいずれかによって実現される。1つ目が、S515〜S518に示した、PC200aの広告処理をきっかけとするシーケンス、2つ目が、S519〜S523に示した、デジタルカメラ100の探索処理をきっかけとするシーケンスである。
まず、PC200aの広告処理をきっかけとするシーケンスについて説明する。
S515において、PC200aのCPU203は、広告メッセージ(StartAdvertisement)をマルチキャストし、PC200aの存在をLAN上のデバイスに通知する。ディスカバリプロトコルがUPnPの場合、PC200aのCPU203は図8(b)に示すDeviceTypeタグのデバイスタイプ、及びServiceTypeタグのサービスタイプを指定したSSDP:Aliveメッセージをマルチキャストする。また、ディスカバリプロトコルがBonjourの場合、PC200aのCPU203はMulticast DNS:Notifyメッセージに図8(d)上段に示すServiceTypeを指定してマルチキャストする。
S516で、PC200aの存在が、PC200aが接続しているLANに接続中のデバイス(デジタルカメラ100を含む)に通知される。
次に、S517において、デジタルカメラ100の制御部101は、PC200aからの広告メッセージを受信すると、デバイス情報の取得要求(Get_Description)をPC200aに送信する。具体的には、制御部101は、ディスカバリプロトコルがUPnPの場合はHTTP GETを実行してディスクリプションを要求し、Bonjourの場合はTXTレコードを要求する。
次に、S518において、PC200aのCPU203は、取得要求に応答してデバイス情報をデジタルカメラ100へ送信する。図8(b)は、ディスカバリプロトコルがUPnPの場合にS518で送信されるデバイス情報(Description)の例である。また、図8(d)の下段は、ディスカバリプロトコルがBonjourの場合にS518で送信されるTXTレコードの例である。図8(b),(d)から分かるように、PC200aのCPU203は、デバイス情報のns:X_devAliasIDまたはdevAid.ABCDE.comに、ペアリング設定が有効なデバイスのDevice Alias IDを含める。ここでは、デジタルカメラ100のAlias IDが含まれている。PC200aのDevice Alias IDは、デバイス情報のns:X_sevAliasIDまたはsevAid.ABCDE.comに含めている。以上が、PC200aの広告処理をきっかけとするシーケンスである。
次に、デジタルカメラ100の探索処理をきっかけとするシーケンスについて説明する。
S519において、デジタルカメラ100の制御部101は、デジタルカメラ100が接続しているネットワークに、特定のタイプのデバイスが接続しているか問い合わせる探索メッセージ(StartSearch)をマルチキャストする。具体的には、制御部101は、ディスカバリプロトコルがUPnPの場合は、図8(b)に示すDeviceTypeタグのデバイスタイプ、及びServiceTypeタグのサービスタイプを指定したM-Searchメッセージをマルチキャストする。一方、ディスカバリプロトコルがBonjourの場合、制御部101はMulticastDNS:Queryに、検索対象とするServiceType(図8(d)上段)を指定してマルチキャストする。
S520で、デジタルカメラ100が接続しているLANに接続中のデバイス(PC200aを含む)に、探索メッセージが通知される。
S521において、PC200aのCPU203は、PC200aのデバイスタイプやサービスタイプが受信した探索メッセージに指定されたものと一致するか判定し、一致すれば応答(Search Response)をデジタルカメラ100に送信する。
S522〜S523はS517〜S518と同様であるため説明は割愛する。以上が、デジタルカメラ100の探索処理をきっかけとするシーケンスである。
S518もしくはS523において、デジタルカメラ100の制御部101が、探索対象のデバイスからデバイス情報を取得できた場合、S524以降のシーケンスが実行される。一方、S518もしくはS523において、デジタルカメラ100の制御部101が探索対象のデバイスからデバイス情報を取得できない場合、S524以降のシーケンスは実行されない。
S524において、デジタルカメラ100の制御部101は、S518またはS523で取得したデバイス情報(Description)に自身のDevice Alias IDが含まれるか否かを確認する。具体的には、ディスカバリプロトコルがUPnPの場合は図8(b)のns:X_devAliasIdタグに記述されているDevice AliasIDを、自身のDevice Alias IDと一致するか判定する。また、ディスカバリプロトコルがBonjourの場合は図8(d)のdevAid.ABCDE.comのKeyに記述されているDevice AliasIDを参照し、自身のDevice Alias IDと一致するか判定する。
一致した場合、制御部101はPC200aをペアリングが有効なPCであると判断し、HTTPサーバ機能を実行する。そして、制御部101は、HTTPクライアントとして動作するPC200aからのリクエスト受信の準備、および提供可能な画像ファイルのリストの生成などを行う。このリストは、例えばXML(Extensible Markup Language)で生成することができる。
なお、別の実施形態において制御部101は、PC200aから受信したデバイス情報(DescriptionやTXTレコード)に自身のDevice Alias IDが含まれるかどうかの判定を行わなくてもよい。この場合、制御部101は、要求に応じてPC200aがデバイス情報を送信してきたことをもって、PC200aが有効にペアリングされたPCと判定してもよい。
S525において、PC200aのCPU203は、デジタルカメラ100が提供可能な画像ファイルのリストを取得する。具体的には、PC200aのCPU203は、HTTPクライアントとして、HTTPサーバであるデジタルカメラ100に対してHTTP Getメソッド(GetImageList)を実行する。リストの場所はURI(Uniform Resource Identifier)としてS505またはS512にて取得したデバイス情報に記述されている。具体的には、ディスカバリプロトコルがUPnPの場合は、図8(a)のns:X_imgLstタグ、Bonjourの場合は図8(c)のimglist.ABCDE.comのKeyにURIが記述されている。PC200aのCPU203は、このURIをアクセス先としたHTTP Getメソッドをデジタルカメラ100に対して実行する。
S526において、HTTPサーバとして機能するデジタルカメラ100の制御部101は、デジタルカメラ100が提供可能な画像ファイルのリストをPC200aに送信する。上述の通りリストは例えばXMLで記述され、デジタルカメラ100が提供可能な画像ファイルそれぞれのURIが含まれている。
S527において、HTTPクライアントとして機能するPC200aのCPU203は、取得した、デジタルカメラ100が提供可能な画像ファイルのリストを解析し、画像ファイル取得のリクエストをデジタルカメラ100に送信する。具体的には、PC200aのCPU203は、リスト中に含まれる画像ファイルのURIをアクセス先としたHTTP Getメソッドを実行する。
S528において、デジタルカメラ100の制御部101は、URIで指定された画像ファイルをPC200aに送信する。PC200aのCPU203は、画像ファイルのリストから、受信が完了した画像ファイルのURIを削除する。PC200aのCPU203およびデジタルカメラ100の制御部101は、PC200aがリストに含まれる画像ファイルを全て取得するまでS527、S528の処理を繰り返す。
S529において、PC200aのCPU203は、画像ファイルのリストから画像ファイルのURIが全て削除されると、画像ファイルの取得が全て完了したことをデジタルカメラ100に通知する(NotifyComplete)。
S530において、デジタルカメラ100の制御部101は、取得完了の通知を受信すると、HTTPサーバとしての機能を終了させて、ネットワーク接続を切断する(Result)。
以上が、ディスカバリ処理シーケンスにおけるデジタルカメラ100、PC200a、サーバ200bの動作である。
<ディスカバリ処理におけるデジタルカメラの動作>
上述したディスカバリ処理におけるデジタルカメラ100の動作について、図6に示すフローチャートを用いて再度説明する。
S601において、制御部101は、ルータ300が構築するローカルエリアネットワークに接続する。図5のS501に対応する。
S602において、制御部101は、広告処理を行う。図5のS502に対応する。
S603において、制御部101は、探索処理を行う。図5のS519に対応する。
S604において、制御部101は、ネットワーク上の他デバイスからマルチキャストされた探索メッセージを受信したか否かを判断する。図5のS509に対応する。探索メッセージを受信した場合、制御部101は処理をS605へ進め、受信していなければ処理をS606へ進める。
S605において、制御部101は、受信した探索メッセージに対するレスポンスをPC200aに送信する。図5のS510に対応する。
S606において、デジタルカメラ100の制御部101は、デバイス情報の取得要求(S511に記載のHTTP Getメソッド)を受信したか否か判断する。制御部101は、デバイス情報の取得要求を受信していれば処理をS607に進め、受信していなければ処理をS608へ進める。
S607において、制御部101は、要求されたデバイス情報をPC200aへ送信する。図5のS505に対応する。
S608において、制御部101は、PC200aからの広告マルチキャストメッセージを受信したか否かを判断する。図5のS516に対応する。制御部101は、PC200aから広告マルチキャストメッセージを受信していれば処理をS610へ進め、受信していなければ処理をS609へ進める。
S609において、制御部101は、S603で送信した探索マルチキャストメッセージに対してPC200aからのレスポンスを受信したか否かを判断し、レスポンスを受信していれば処理をS610へ進め、受信していなければ処理をS615に進める。
S610において、制御部101は、デバイス情報の取得要求をPC200aに送信する。図5のS517、S522に対応する。
S611において、制御部101は、S518またはS523にて送信されたPC200aのデバイス情報を受信する。
S612において、制御部101は、PC200aがデジタルカメラ100とペアリングが有効なデバイスであるか否かを判定する。図5のS524に対応する。制御部101は、PC200aがペアリングが有効なデバイスであれば処理をS613へ進め、ペアリングが有効なデバイスでなければ処理をS615に進める。
S613において、制御部101は、HTTPサーバ機能を有効にする。図5のS524に対応する。なお、本実施形態では、PC200aがペアリングが有効なデバイスであると判断した後にHTTPサーバ機能を有効にする形態を説明した。しかし、HTTPサーバ機能の有効化が完了する前にHTTPクライアント(PC200a)からリクエストが送信された場合、応答できない可能性がある。そのため、S601でLANへの接続が確立した時点で、HTTPサーバ機能を有効化しておいてもよい。
S614において、制御部101は、PC200aの要求に対して画像ファイルのリストおよび画像ファイルの送信を行う。図5のS525〜S530に対応する。
S615において、制御部101は、ディスカバリ処理を開始してからN秒経過したか否かを判断する。制御部101はあらかじめディスカバリ実行期間を設定しており、実行期間中はS604〜S614の処理を繰り返すことで、デジタルカメラ100が接続しているネットワーク上でペアリングが有効なPCを探索する。もし、設定した実行期間内にペアリングが有効なPCが探索できなければ(タイムアウトした場合)、制御部101は処理をS616へ進める。
S616において、制御部101は、接続しているネットワークに対して、ディスカバリプロトコルのネットワーク離脱のためのメッセージをマルチキャストする。具体的には、制御部101は、ディスカバリプロトコルがUPnPの場合は、SSDP:Byebyeを、Bonjourの場合は、MulticastDNS:goodbyeを、それぞれマルチキャストする。
S617において、制御部101は、ペアリングが有効なPC(PC200a)に直転送ではなくサーバ経由で画像ファイルを転送するため、HTTPクライアント機能を有効化する。なお、この時点でHTTPサーバ機能が有効化されている場合、HTTPクライアント機能の有効化を行う前にHTTPサーバ機能を終了してもよい。
S618において、制御部101は、サーバ200bへ画像送信するための準備を行う。具体的には、制御部101は、サーバ200bに対して送信する画像ファイルの情報(総ファイル数、画像ファイル名、ファイルサイズなど)を、サーバ200bに送信する。
S619において、制御部101は、HTTPサーバとして機能するサーバ200bに対してHTTPのPostメソッドを実行し、画像ファイルをサーバ200bへ送信する。
以上が、本実施形態のディスカバリ処理におけるデジタルカメラ100の動作である。
<ディスカバリ処理におけるPCの動作>
上述したディスカバリ処理におけるPC200aの動作について、図7に示すフローチャートを用いて再度説明する。
S701において、PC200aのCPU203は、転送サービスアプリケーションを二次記憶装置205から一次記憶装置204にロードし、起動する。
S702において、PC200aのCPU203は、探索処理を実行する。図5のS508に対応する。
S703において、PC200aのCPU203は、カメラが発見されたか否かを判断する。PC200aのCPU203は、デジタルカメラ100からS502で説明した広告マルチキャストメッセージを受信した場合か、S702で送信した探索マルチキャストメッセージに対してレスポンスを受信した場合にはカメラを発見したと判断する。PC200aのCPU203は、カメラを発見したと判断した場合は処理をS704へ、カメラを発見したと判断しなかった場合は処理をS713へ進める。
S704において、PC200aのCPU203は、発見したデバイスに対してデバイス情報の取得要求(Get_Description)を送信する。図5のS504またはS511に対応する。
S705において、PC200aのCPU203は、発見したカメラからS505またはS512で送信されたデバイス情報を取得する。
S706において、PC200aのCPU203は、発見したカメラが自身とペアリングが有効なデバイスであるか否かをサーバ200bへ問合せる。図5のS506またはS513に対応する。
S707において、PC200aのCPU203は、サーバ200bからS507またはS514で送信された判定結果を基に、発見したカメラが自身とペアリングが有効なデバイスであるか否かを判断する。PC200aのCPU203は、発見したカメラが自身とペアリングが有効なデバイスであると判断した場合はS708へ、そうでない場合は、S713へ処理を進める。
S708において、PC200aのCPU203は、広告処理を開始する。図5のS515に対応する。
S709において、PC200aのCPU203は、デジタルカメラ100からデバイス情報の取得要求があるか否かを判断し、デバイス情報の取得要求があると判断した場合はS710へ。そうでない場合はS713へ処理を進める。
S710において、PC200aのCPU203は、PC200aのデバイス情報をデジタルカメラ100へ送信する。図5のS518またはS523に対応する。
S711において、PC200aのCPU203は、デジタルカメラ100から画像ファイルのリストおよび画像ファイルを取得する。図5のS525〜S530に対応する。
S712において、PC200aのCPU203は、デジタルカメラ100から画像ファイルを全て取得した後、接続しているネットワークに対して、ディスカバリプロトコルのネットワーク離脱のためのメッセージをネットワークにマルチキャストする。具体的には、PC200aのCPU203は、ディスカバリプロトコルがUPnPの場合はSSDP:Byebyeを、Bonjourの場合はMulticastDNS:goodbyeを、それぞれマルチキャストする。PC200aのCPU203はこのマルチキャストにより、広告処理を終了し、その後、処理をS703に戻して探索処理を繰り返す。
一方、S713において、PC200aのCPU203は、ディスカバリを開始してからのN秒経過したか否かを判断する。PC200aはあらかじめディスカバリ実行期間を設定しており、実行期間中はS703〜S712の処理を繰り返すことで、PC200aが接続しているLAN上でペアリングが有効なデバイス(カメラ)を探索する。設定した実行期間内にペアリングが有効なデバイスが見つからなければ、PC200aのCPU203は、サーバ200bから画像ファイルを取得するために処理をS714へ進める。
S714において、PC200aのCPU203は、サーバ200bにアクセスして、サーバ200bに取得すべき画像ファイルが保存されているか否かを確認する。サーバ200bにはPC200aが受信すべき画像ファイルのリストが生成されており、PC200aはHTTPクライアントとしてHTTP Getメソッドを実行し、HTTPサーバとして機能するサーバ200bからリストを取得する。リストの形式に特に制限は無いが、デジタルカメラ100が提供するような、画像ファイルごとのURIが記述されたXML形式のリストであって良い。
S715において、PC200aのCPU203は、S714にて取得したリストを解析し、取得すべき画像ファイルがあるか否かを判断する。PC200aのCPU203は、例えば、取得したリストに画像ファイルのURIが記述されている場合には取得すべき画像ファイルがあると判断して処理をS716へ進め、そうでない場合は処理をS703へ戻す。
S716において、PC200aのCPU203は、リストに含まれる画像ファイルのURIをアクセス先のアドレスとするHTTP Getメソッドをサーバ200bに対して実行し、サーバ200bから画像ファイルを取得する。PC200aのCPU203は、この処理を、リストにURIが記述された画像ファイルを全て取得するまで繰り返す。
以上が、本実施形態のディスカバリ処理におけるPC200aの動作である。
このように、本実施形態によれば、自身が接続しているネットワーク上に、探索対象のタイプのデバイス(特定のサービスを有するデバイス)が見つかった場合、そのデバイスと通信すべきかどうかをディスカバリ処理において判別する。従って、見つかったデバイスと通信すべきかどうかの判定が早期に可能であり、通信すべきデバイスの探索を効率的に行うことができる。
●(第2の実施形態)
第1の実施形態は、デジタルカメラ100とPC200aとのペアリングの有効性をPC200aがサーバ200bに問合せる形態であったが、本実施形態では、ペアリングの有効性の問い合わせをデジタルカメラ100が行う形態について説明する。
図9は、本実施形態のディスカバリ処理におけるデジタルカメラ100、PC200a、サーバ200bの動作シーケンス図である。図9において、図5と同じ動作については同じ参照数字を付して説明を省略する。
S915において、デジタルカメラ100の制御部101は、サーバ200bに対し、デジタルカメラ100とPC200aとのペアリングが有効か否か(有効なペアリング設定が存在するか否か、もしくはペアリング設定の有効性)を問い合せる。具体的には、制御部101はPC200aから取得した固有情報(Devicea Alias ID)を基に、サーバ200bに問い合わせ(GetPairingInfo)を送信する。なお、デバイス情報として他の固有情報が用いられても良い。制御部101は具体的には、ディスカバリプロトコルがUPnPの場合は図8(b)のns:X_sevAliasIdタグに、Bonjourの場合は図8(d)のserAid.ABCDE.comのKeyに記述されているPC200aのDevice AliasIDを送信する。
S916において、サーバ200bのCPU203は、受信したデバイス固有情報(Device Alias ID)を含んだPC−サーバ間のペアリング設定(図4(b))があるか二次記憶装置205を調べる。この際、サーバ200bのCPU203は、Device Alias IDがデジタルカメラ100と同じユーザアカウントに関連付けられていれば、デジタルカメラ100とのペアリングが有効なPCであると判定する。また、サーバ200bのCPU203は、Device Alias IDがペアリング設定に存在しない場合や、デジタルカメラ100と異なるユーザアカウントに関連付けられている場合には、デジタルカメラ100とのペアリングが有効でないと判定する。そして、サーバ200bのCPU203は、判定結果(Result)をデジタルカメラ100に送信する。
また、S922およびS923ではS915およびS916と同様に処理するため説明は割愛する。
以上が、本実施形態におけるディスカバリ処理におけるデジタルカメラ100の動作である。
図10は、図9のシーケンスチャートにおけるデジタルカメラ100の処理を示すフローチャートである。図10において、図6と同様の動作については同様の参照数字を付して説明を省略する。
S1012において、デジタルカメラ100の制御部101は、サーバ200bに対して、デジタルカメラ100とPC200aとのペアリングが有効か否か(有効なペアリング設定が存在するか否か、もしくはペアリング設定の有効性)を問い合せる。図9のS915に対応する。
S1013において、デジタルカメラ100の制御部101は、S1012の問い合わせに対してサーバ200bから返送された判定結果を基に、PC200aがデジタルカメラ100とペアリングが有効なデバイスであるか否かを判断する。PC200aがデジタルカメラ100とペアリングが有効なデバイスであると判断した場合、制御部101は処理をS1014へ進め、そうでない場合は処理をS615へ進める。
なお、S615でディスカバリ処理の開始からN秒経過してもペアリングが有効なPCが見つからず、サーバ200bに画像ファイルを送信すると決定した場合、制御部101は表示部130にディスカバリ処理の結果を表示してもよい。例えば、制御部101は、探索対象の(特定サービスを有する)デバイスは発見したが、自身とのペアリングが有効でないデバイスであったことを示すメッセージを表示部130に表示する。または、探索期間内に探索対象のデバイスが1つも発見できなかった場合、制御部101は時間切れの旨を示すメッセージを表示部130に表示する。
以上が、本実施形態のディスカバリ処理におけるデジタルカメラ100の動作である。
図11は、本実施形態のディスカバリ処理におけるPC200aの動作を示すフローチャートであり、図7と同じ動作については同様の参照数字を付して説明を省略する。
このように、本実施形態においても、第1の実施形態と同様の効果を実現できる。
<他の実施形態>
上述の実施形態では、デジタルカメラ100が、接続するLANに自身とのペアリングが有効なPC200aが存在すればHTTPサーバ、存在しなければHTTPクライアントとして動作する一方、PC200aは常にHTTPクライアントとして動作する。しかし、デジタルカメラ100が常にHTTPクライアントして動作し、PC200aが、接続するネットワークに自身とのペアリングが有効なデジタルカメラ100が存在すればHTTPサーバとして、存在しなければHTTPクライアントとして動作してもよい。
また、本実施形態では、デジタルカメラとPCとの接続を例にしたが、必ずしもデバイスの種類は限定されない。プリンタなどのアウトプットデバイス、スマートフォンやタブレットなどのモバイル端末であってもよい。
また、本実施形態では無線通信機能を内蔵したデジタルカメラ100を例にあげて説明したが、無線通信が可能な記録メディアがデジタルカメラ100に装着され記録媒体141として無線通信を制御する構成としても構わない。この場合も本実施形態と同様の制御を無線通信が可能な記録メディアの無線回路部に対して行う。
さらに、デジタルカメラ100をPCなどから遠隔操作するシステムにおいても、本発明は適用可能である。この場合は、PCの制御部がデジタルカメラ100の制御部101に対して各種の問合せ及び制御の要求を行うことにより、遠隔操作で実現することが可能となる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (11)

  1. 第1のネットワーク上のデバイスおよび、前記第1のネットワークとは異なる第2のネットワーク上のデバイスと通信可能な情報処理装置であって、
    前記第1のネットワーク上で第1のデバイスが見つかった場合、該見つかった第1のデバイスが、前記情報処理装置と有効な関連付けがなされているデバイスかどうかを前記第2のネットワーク上のデバイスに問い合わせる問い合わせ手段と、
    前記問い合わせの結果、前記見つかった第1のデバイスが前記情報処理装置と有効な関連付けがなされているデバイスであると判定される場合には、前記見つかった第1のデバイスからデータを取得し、前記見つかった第1のデバイスが前記情報処理装置と有効な関連付けがなされているデバイスであると判定されない場合には、前記見つかった第1のデバイスとの通信を行わない通信手段とを有することを特徴とする情報処理装置。
  2. 前記問い合わせ手段は、前記見つかった第1のデバイスからデバイス情報を取得し、前記デバイス情報に含まれる前記見つかった第1のデバイスの固有情報を用いて前記問い合わせを行うことを特徴とする請求項1記載の情報処理装置。
  3. 前記問い合わせ手段は、前記第1のネットワーク上で前記第1のデバイスが送信した広告メッセージを受信するか、前記第1のネットワーク上で送信した前記第1のデバイスの探索メッセージに対する応答を受信すると、前記第1のデバイスが見つかったと判定することを特徴とする請求項1記載の情報処理装置。
  4. 前記通信手段は、前記見つかった第1のデバイスが前記情報処理装置と有効な関連付けがなされているデバイスであると判定されない場合には、前記情報処理装置の広告メッセージを前記第1のネットワーク上に送信しないことを特徴とする請求項1から請求項3のいずれか1項に記載の情報処理装置。
  5. 前記第1のネットワークで前記第1のデバイスが見つからない場合、前記通信手段は前記第2のネットワーク上のデバイスに前記第1のデバイスから送信されたデータを、該デバイスから取得することを特徴とする請求項1から請求項4のいずれか1項に記載の情報処理装置。
  6. 撮像手段をさらに有することを特徴とする請求項1または請求項2に記載の情報処理装置。
  7. 前記問い合わせ手段は、前記第1のネットワーク上で前記情報処理装置が送信した広告メッセージに対する第1のデバイスからの応答を受信するか、前記第1のネットワーク上で前記第1のデバイスが送信した探索メッセージを受信すると、前記第1のデバイスが見つかったと判定することを特徴とする請求項6記載の情報処理装置。
  8. 前記通信手段は、前記見つかった第1のデバイスが前記情報処理装置と有効な関連付けがなされているデバイスであると判定されない場合には、前記第1のデバイスからの要求に応答しないことを特徴とする請求項6または請求項7に記載の情報処理装置。
  9. 前記第1のネットワークがローカルエリアネットワークであり、前記第2のネットワークがワイドエリアネットワークであることを特徴とする請求項1から請求項8のいずれか1項に記載の情報処理装置。
  10. 第1のネットワーク上のデバイスおよび、前記第1のネットワークとは異なる第2のネットワーク上のデバイスと通信可能な情報処理装置の制御方法であって、
    問い合わせ手段が、前記第1のネットワーク上で第1のデバイスが見つかった場合、該見つかった第1のデバイスが、前記情報処理装置と有効な関連付けがなされているデバイスかどうかを前記第2のネットワーク上のデバイスに問い合わせる工程と、
    通信手段が、前記問い合わせの結果、前記見つかった第1のデバイスが前記情報処理装置と有効な関連付けがなされているデバイスであると判定される場合には、前記見つかった第1のデバイスからデータを取得し、前記見つかった第1のデバイスが前記情報処理装置と有効な関連付けがなされているデバイスであると判定されない場合には、前記見つかった第1のデバイスとの通信を行わない工程と、を有することを特徴とする情報処理装置の制御方法。
  11. コンピュータを、請求項1から請求項9のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
JP2013168339A 2013-08-13 2013-08-13 情報処理装置およびその制御方法、プログラム Pending JP2015036900A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2013168339A JP2015036900A (ja) 2013-08-13 2013-08-13 情報処理装置およびその制御方法、プログラム
EP14177764.9A EP2843909A1 (en) 2013-08-13 2014-07-21 Information processing apparatus, method for controlling the same and computer program
KR20140101606A KR20150020069A (ko) 2013-08-13 2014-08-07 정보처리장치, 그 제어 방법 및 컴퓨터 프로그램
RU2014133186/07A RU2593272C2 (ru) 2013-08-13 2014-08-12 Устройство обработки информации и способ управления таким устройством
US14/457,873 US20150052235A1 (en) 2013-08-13 2014-08-12 Information processing apparatus and method for controlling the same
CN201410398358.4A CN104378569A (zh) 2013-08-13 2014-08-13 信息处理装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013168339A JP2015036900A (ja) 2013-08-13 2013-08-13 情報処理装置およびその制御方法、プログラム

Publications (1)

Publication Number Publication Date
JP2015036900A true JP2015036900A (ja) 2015-02-23

Family

ID=51225297

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013168339A Pending JP2015036900A (ja) 2013-08-13 2013-08-13 情報処理装置およびその制御方法、プログラム

Country Status (6)

Country Link
US (1) US20150052235A1 (ja)
EP (1) EP2843909A1 (ja)
JP (1) JP2015036900A (ja)
KR (1) KR20150020069A (ja)
CN (1) CN104378569A (ja)
RU (1) RU2593272C2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016178460A (ja) * 2015-03-19 2016-10-06 キヤノン株式会社 通信機器およびその制御方法、プログラム

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6260272B2 (ja) * 2013-12-27 2018-01-17 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
US9680646B2 (en) 2015-02-05 2017-06-13 Apple Inc. Relay service for communication between controllers and accessories
US10419497B2 (en) * 2015-03-31 2019-09-17 Bose Corporation Establishing communication between digital media servers and audio playback devices in audio systems
US10506068B2 (en) * 2015-04-06 2019-12-10 Microsoft Technology Licensing, Llc Cloud-based cross-device digital pen pairing
US10355923B2 (en) 2015-11-02 2019-07-16 Mobitv, Inc. Self-configuration of wireless connections
CN106105244A (zh) * 2016-06-12 2016-11-09 北京小米移动软件有限公司 上传视频的方法、装置及摄像装置
JP6467395B2 (ja) * 2016-11-25 2019-02-13 キヤノン株式会社 画像送信装置、画像受信装置、それらの制御方法および画像通信システム
CN108024306B (zh) * 2017-12-05 2020-12-18 锐捷网络股份有限公司 一种tcp连接管理方法及网关设备
JP2019114989A (ja) * 2017-12-25 2019-07-11 キヤノン株式会社 通信装置、制御方法、およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206810A (ja) * 2006-01-31 2007-08-16 Brother Ind Ltd ネットワーク認証システム、情報処理装置、ネットワーク装置及びプログラム
JP2008085393A (ja) * 2006-09-25 2008-04-10 Olympus Corp 情報端末装置、情報処理システム及び情報処理プログラム
WO2013086993A1 (zh) * 2011-12-13 2013-06-20 华为终端有限公司 终端之间传输数据的方法和终端

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3664148B2 (ja) 2002-04-22 2005-06-22 コニカミノルタフォトイメージング株式会社 デジタルカメラおよびプログラム
JP2003333051A (ja) * 2002-05-13 2003-11-21 Fuji Photo Film Co Ltd データ送信方法および装置並びにプログラム
JP2004120607A (ja) * 2002-09-27 2004-04-15 Fuji Photo Film Co Ltd カメラ制御方法および装置並びにプログラム
US7437771B2 (en) * 2004-04-19 2008-10-14 Woodcock Washburn Llp Rendering protected digital content within a network of computing devices or the like
US20080066181A1 (en) * 2006-09-07 2008-03-13 Microsoft Corporation DRM aspects of peer-to-peer digital content distribution
CN101309143A (zh) * 2008-06-24 2008-11-19 宇龙计算机通信科技(深圳)有限公司 一种移动终端间互访共享数据的方法及系统
US8850045B2 (en) * 2008-09-26 2014-09-30 Qualcomm Incorporated System and method for linking and sharing resources amongst devices
JP2010086174A (ja) * 2008-09-30 2010-04-15 Fujifilm Corp 画像共有システムおよび画像共有方法
KR101679428B1 (ko) * 2009-10-16 2016-11-25 삼성전자주식회사 Cpns 서비스 제공을 위한 개인망 형성 장치 및 방법
US20130109314A1 (en) * 2011-10-27 2013-05-02 Nokia Corporation Method, apparatus, and computer program product for stopping reception of discovery responses in wireless networks
JP5425168B2 (ja) * 2011-12-02 2014-02-26 キヤノン株式会社 撮像手段を有する通信装置およびその制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206810A (ja) * 2006-01-31 2007-08-16 Brother Ind Ltd ネットワーク認証システム、情報処理装置、ネットワーク装置及びプログラム
JP2008085393A (ja) * 2006-09-25 2008-04-10 Olympus Corp 情報端末装置、情報処理システム及び情報処理プログラム
WO2013086993A1 (zh) * 2011-12-13 2013-06-20 华为终端有限公司 终端之间传输数据的方法和终端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016178460A (ja) * 2015-03-19 2016-10-06 キヤノン株式会社 通信機器およびその制御方法、プログラム

Also Published As

Publication number Publication date
EP2843909A1 (en) 2015-03-04
RU2593272C2 (ru) 2016-08-10
RU2014133186A (ru) 2016-03-10
US20150052235A1 (en) 2015-02-19
KR20150020069A (ko) 2015-02-25
CN104378569A (zh) 2015-02-25

Similar Documents

Publication Publication Date Title
RU2593272C2 (ru) Устройство обработки информации и способ управления таким устройством
EP2104317B1 (en) Information processing unit, information playback unit, information processing method, information playback method, information processing system and program
KR101944736B1 (ko) 통신장치와 통신장치의 제어방법
EP2424172B1 (en) Method and apparatus for establishing communication
JP5425167B2 (ja) 撮像手段を有する通信装置およびその制御方法
JP2007053530A (ja) 家電機器遠隔操作システムおよびその運用方法
KR101531532B1 (ko) 원격 접속에 기초해 홈 네트워크 디바이스의 서비스를 이용하는 방법 및 장치
JP5425168B2 (ja) 撮像手段を有する通信装置およびその制御方法
JP5448489B2 (ja) 情報処理装置及びその制御方法、情報処理システム、及び、プログラム
JP2010004344A (ja) リモートアクセスを行う方法、装置、システム及びプログラム
JP4774473B2 (ja) 機器登録方法及びサーバ装置
US20170302879A1 (en) Communication apparatus, control method thereof, information processing apparatus, and recording medium
JP6351221B2 (ja) 情報処理装置およびその制御方法、プログラム
JP2010061306A (ja) 情報処理装置、コンテンツ管理サーバ、情報処理方法、接続管理方法および情報処理システム
JP3840215B2 (ja) 通信装置、方法、機器制御装置、方法、及び、プログラム
JP2014042353A (ja) 撮像装置
JP2015036899A (ja) 情報処理装置およびその制御方法、プログラム
JP6101312B2 (ja) 通信装置及びその制御方法及びプログラム
JP2012010291A (ja) 宅間接続システム、宅間接続方法、接続要求端末、接続先ゲートウェイ装置、及びプログラム
RU2574775C1 (ru) Аппарат связи и способ управления таким аппаратом
JP5775562B2 (ja) 情報処理装置及びその制御方法、及び、プログラム
JP2017192069A (ja) 通信装置およびその制御方法、プログラム
RU2574835C1 (ru) Устройство связи и способ управления таким устройством
JP6512882B2 (ja) 通信機器およびその制御方法
JP2014060783A (ja) 撮像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170707

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171222