(58)【調査した分野】(Int.Cl.,DB名)
複数のデバイスのうち少なくとも一つのデバイスを制御するために通信端末が実行するアプリケーションソフトを開発する開発者端末とネットワークを介して接続する情報提供装置であって、
前記開発者端末から、前記デバイスに実現させる機能の指定を取得する取得部と、
(1)前記デバイスに実現させる機能と、(2)前記機能を前記デバイスに実現させるための、前記デバイスが解釈可能な情報である制御情報と、を関連付けて記憶する記憶部を参照して、前記開発者端末が指定した機能に対応するプログラミングインタフェースの仕様を生成する生成部と、
前記仕様を前記開発者端末に送信する送信部と、
を備えることを特徴とする情報提供装置。
前記生成部は、一つのユーザ識別情報に複数のデバイス識別情報が関連付けられている場合、当該複数のデバイス識別情報の組み合わせのパターンごとにその数を集計した組み合わせ情報を生成し、
前記送信部は、前記取得部が前記開発者端末から前記組み合わせ情報の提供要求を取得することを契機として、前記開発者端末に前記組み合わせ情報を送信する、
ことを特徴とする請求項5又は6に記載の情報提供装置。
前記生成部は、前記複数のデバイス識別情報の組み合わせのパターンごとに集計された数に基づいて前記パターンが整列された前記組み合わせ情報を生成することを特徴とする請求項7に記載の情報提供装置。
複数のデバイスのうち少なくとも一つのデバイスを制御するために通信端末が実行するアプリケーションソフトを開発する開発者端末とネットワークを介して接続する情報提供装置のプロセッサが、
前記開発者端末から、前記デバイスに実現させる機能の指定を取得するステップと、
(1)前記デバイスに実現させる機能と、(2)前記機能を前記デバイスに実現させるための、前記デバイスが解釈可能な情報である制御情報と、を関連付けて記憶する記憶部を参照して、前記開発者端末が指定した機能に対応するプログラミングインタフェースの仕様を生成するステップと、
前記仕様を前記開発者端末に送信するステップと、
を実行することを特徴とする情報提供方法。
【発明を実施するための形態】
【0020】
<第1の実施形態>
[デバイス制御システムSの概要]
図1は、第1の実施形態のデバイス制御システムSの概要について説明するための図である。デバイス制御システムSは、デバイス制御装置1と、通信端末2(2a,2b)と、デバイス3(3a,3b,3c)と、ルータ4と、開発者端末6とを有する。デバイス制御装置1、通信端末2及びルータ4は、有線通信回線又は無線通信回線を介してネットワークNに接続されている。デバイス制御装置1はまた、ネットワークNを介して開発者端末6とも接続されている。
【0021】
ネットワークNには、インターネット、携帯電話網及びWi−Fi(登録商標)回線等が含まれる。
図1には、2台の通信端末2が示され、3台のデバイス3が示されているが、デバイス制御装置1は、より多くの通信端末2及びデバイス3との間でデータを送受信することができる。
【0022】
デバイス制御装置1は、例えば、CPU(Central Processing Unit)及び記憶媒体を有するコンピュータである。デバイス制御装置1は、ネットワークNを介して、通信端末2及びデバイス3との間、及び開発者端末6との間で通信することができる。
【0023】
通信端末2は、例えば、無線通信機能を有する携帯端末である。通信端末2は、例えばスマートフォン、タブレット、ファブレット、ノートPC(Personal Computer)、又はデスクトップPC等である。通信端末2は、アプリケーションソフトを実行することにより、デバイス3を制御するための第1制御情報をデバイス制御装置1に対して送信する。
図1において、通信端末2aは、デバイス3が設置されたユーザの自宅の外にあり、通信端末2bは、デバイス3が設置された自宅内にある。通信端末2は、場所によらず、ネットワークNを介してデバイス制御装置1との間で通信をすることができる。
【0024】
デバイス3は、通信機能を有する装置であり、例えば、通信端末2のユーザの自宅に設置されている電気機器である。
図1に示す例において、デバイス3aは照明器具(以下、ライトという)、デバイス3bはエアコン、デバイス3cはビデオレコーダであるが、デバイス3には、デバイス制御装置1からデータを受信できる任意の装置が含まれる。ルータ4は、ネットワークNに接続されており、デバイス制御装置1から受信したデータをデバイス3a、デバイス3b又はデバイス3cのいずれかに転送する。
【0025】
開発者端末6は、通信端末2がデバイス3を制御するために実行するアプリケーションソフトの開発者Dが利用する端末である。開発者端末6は、通信端末2が実行するアプリケーションソフトの開発用に、デバイス制御装置1の運用者が開発者Dに提供したSDK(Software Development Kit)を実行する端末である。開発者端末6は、例えばノートPCやデスクトップPC等の計算機である。開発者端末6も、通信端末2と同様に、通信機能を有する装置であり、ネットワークNを介してデバイス制御装置1と情報をやり取りすることができる。例えば、開発者端末6は、ネットワークNを介してデバイス制御装置1からSDKをダウンロードできる。
【0026】
デバイス制御装置1は、アプリケーションソフトを実行した通信端末2から送信された、デバイス3を制御するための第1制御情報を受信すると、受信した第1制御情報の内容に基づいて、複数のデバイス3から、制御する対象となるデバイス3を選択し、選択したデバイス3を制御するための第2制御情報を生成する。第1制御情報は、デバイス3に依存しない汎用的な形式のAPI(Application Programming Interface)に基づいて作成されたアプリケーションソフトにより生成される情報であり、制御する対象となるデバイス3に対する制御内容を含む情報である。第2制御情報は、特定のデバイス3を制御するためのデバイス専用の形式であるAPIに則って記述された情報であり、第1制御情報が示す制御内容をデバイス3に実現させるための、デバイス3が解釈可能な情報である。第2制御情報は、例えば、デバイス3のメーカー及び型名ごとに異なる形式の情報である。
【0027】
アプリケーションソフトは、特定の種別のデバイス3(例えば、ライト)を制御するための汎用的なソフトウェアであり、メーカーや型名を問わず、同じ種別のデバイス3を制御するための第1制御情報をデバイス制御装置1に送信することができる。アプリケーションソフトを実行した通信端末2が出力する第1制御情報は、第2制御情報と形式が異なるので、通信端末2は、デバイス3を直接制御することができない。しかし、デバイス制御システムSにおいては、デバイス制御装置1が、第1制御情報に基づいて第2制御情報を生成し、通信端末2のユーザが制御する対象のデバイス3に対して第2制御情報を送信する。したがって、ユーザは、汎用的なアプリケーションソフトがインストールされた通信端末2を用いて、各種のデバイス3を制御することができる。
【0028】
図2は、通信端末2の画面の一例である。通信端末2には、さまざまな種別のデバイス3を制御するための各種のアプリケーションソフトがインストールされている。
図2(a)に示す例においては、エアコンを制御するためのエアコンアプリ、ライトを制御するためのライトアプリ、ビデオレコーダを制御するためのレコーダアプリ、監視カメラを制御するためのカメラアプリ、冷蔵庫を制御するための冷蔵庫アプリ及び洗濯機を制御するための洗濯機アプリ等がインストールされており、それぞれに対応するアイコンが表示されている。
【0029】
ユーザは、例えば自宅に設置されたデバイス3のいずれかを制御したい場合、制御対象となるデバイス3に対応するアプリケーションソフトを起動することにより、自宅から離れた場所において、所望のデバイス3を制御することができる。
図2(a)においては、デバイス3の種別ごとにアプリケーションソフトがインストールされている例を示しているが、
図2(b)に示すように、一つのアプリケーションソフトが、制御可能なデバイス3の一覧を表示し、ユーザが制御する対象のデバイス3を選択することによって、通信端末2からデバイス3を制御できるものとしてもよい。この場合、通信端末2が一つのアプリケーションソフトを実行することにより、例えばライト用の第1制御情報及びエアコン用の第1制御情報を出力することになる。
【0030】
なお、通信端末2には、ユーザが制御することができるデバイス3の一覧を表示することができる統合アプリケーションがインストールされていてもよい。ユーザが、統合アプリケーションを起動して所定の操作をすることにより、各デバイスを制御するためのアプリケーションソフトを起動するための
図2(b)に示すような画面が表示されるものとしてもよい。
【0031】
[デバイス制御装置1の構成]
図3は、デバイス制御装置1の構成を示す図である。デバイス制御装置1は、通信部11と、記憶部12と、制御部13とを有する。
【0032】
通信部11は、例えばLAN(Local Area Network)コントローラを有する。通信部11は、ネットワークNを介して通信端末2及びデバイス3との間でデータを送受信する。
【0033】
記憶部12は、ROM(Read Only Memory)、RAM(Random Access Memory)、及びハードディスク等の記憶媒体を含んでいる。記憶部12は、制御部13が実行するプログラムを記憶する。また、記憶部12は、制御部13が動作する際に使用するデータ及び制御部13が生成するデータを記憶する。
【0034】
記憶部12は、制御部13が使用するデータを記憶する領域として、ユーザ記憶部121及びAPI記憶部122を有する。ユーザ記憶部121は、通信端末2のユーザを識別するためのユーザ識別情報(以下、ユーザIDという)に関連付けて、ユーザが制御する対象として予め登録されたデバイス3の識別情報(以下、デバイスIDという)を記憶している。また、API記憶部122は、通信端末2から送信された第1制御情報の内容に基づいて制御部13が第2制御情報を生成するために用いる情報を記憶している。第2制御情報を生成するために用いられる情報は、例えば、メーカー又はデバイスの型名ごとに定められたAPIである。
【0035】
図4は、ユーザ記憶部121が記憶しているユーザ情報データベース(以下、ユーザ情報DBという)の一例を示す図である。ユーザ情報DBにおいては、ユーザIDと、ユーザが制御可能なデバイス3の種別、デバイスID、メーカー名及びアドレスとが関連付けられている。
【0036】
ユーザIDは、ユーザに固有の識別情報であり、例えば、ユーザの通信端末2が使用する通信回線を提供する通信会社との契約情報に関連付けられている。
デバイス種別は、デバイス3が有する機能の種別を示す情報であり、ライト、エアコン、レコーダー、監視カメラ又は時計等の種別を特定するために用いられる。通信端末2にインストールされている、デバイス3を制御するためのアプリケーションソフトは、デバイス種別ごとに作成されている。
【0037】
デバイスIDは、ユーザが通信端末2を用いた制御の対象とするデバイス3に割り当てられた識別情報であり、例えば、商品の型名を含んでいる。
図4に示す例においては、ユーザID0001のユーザが所有するC社のライトのように、ユーザが複数の同一の型名のデバイス3を有している場合、型名にシリアル番号を付加した情報をデバイスIDとしている。
メーカー名は、各デバイス3の製造者名であり、デバイスIDとメーカー名との組み合わせにより、デバイス3が特定される。
【0038】
アドレスは、デバイス3に第2制御情報を送信する宛先を示す情報であり、例えばグローバルIPアドレス又はMACアドレスのようにデバイス3に固有の情報である。ルータ4にグローバルIPアドレスが割り当てられており、デバイス制御装置1が、ユーザに関連付けてルータ4のアドレスを記憶している場合、第1制御情報に含まれるアドレスは、ローカルIPアドレスであってもよい。あるいは、デバイス3がSIM(Subscriber Identity Module)スロットを備えており、SIMカードが挿入されているような場合には、SIMカードに記録されている電話番号等の固有情報をアドレスとしてもよい。
【0039】
図3に戻って、制御部13の詳細について説明する。制御部13は、例えばCPUである。制御部13は、記憶部12に記憶されたプログラムを実行することにより、取得部131、デバイス特定部132、情報生成部133、送信部134及び課金部135として機能する。
【0040】
取得部131は、サービスの提供を受けることができるユーザの通信端末2から、デバイス制御装置1に予め登録されたデバイス3を制御するための第1制御情報を取得する。第1制御情報は、通信端末2にインストールされたアプリケーションソフトを用いてユーザが制御可能な種別のデバイス3を制御するための情報である。
【0041】
図5は、制御情報について説明するための図である。
図5(a)は、通信端末2からデバイス制御装置1に送信される第1制御情報に含まれる内容を示している。
図5(b)は、デバイス制御装置1からデバイス3に送信される第2制御情報に含まれる内容を示している。なお、第1制御情報から第2制御情報への変換の詳細は後述する。
【0042】
図6は、通信端末2によりデバイス3を制御する際のデータの流れを示す図である。通信端末2aは、ライト制御用のAPIに則った形式で記述された「点灯」、「消灯」、「留守モード設定」、「タイマー設定」等の制御内容を含む第1制御情報を送信する。デバイス制御装置1は、第1制御情報を受信すると、デバイス3aを制御するためのAPIを用いて記述された第2制御情報を生成し、ネットワークN、ルータ4を介してデバイス3aに送信する。
【0043】
図5(a)に示すように、取得部131が取得する第1制御情報には、アプリID、デバイス特定情報、及び制御内容情報が含まれている。アプリIDは、第1制御情報の種別を示す情報であり、制御の対象とするデバイスの種別を特定するために用いられる。アプリIDは、例えば、ユーザが使用したアプリケーションソフトが、エアコン制御用であるかライト制御用であるかなどを特定するための情報である。
【0044】
デバイス特定情報は、
図4に示したユーザ情報DBに含まれているデバイスIDを含む情報である。
制御内容情報は、デバイスIDで指定されたデバイス3をどのように制御するかを示す情報である。
図6は、
図4におけるユーザIDが「0001」、アプリIDが「ライトアプリ」、デバイスIDが「LB0002」の第1制御情報においては、ライトの明るさを5に設定するという制御内容が示されている場合におけるデータの流れを示している。制御内容情報は、デバイス3の型名によらず、デバイス種別ごとに定められた形式となっている。したがって、アプリケーションソフトの開発者Dは、デバイス3の型名を意識することなく、共通のAPIを用いてアプリケーションソフトを開発できる。
【0045】
図3に戻って、デバイス特定部132〜課金部135について説明する。
デバイス特定部132は、第1制御情報に基づいて制御対象デバイスを特定する。デバイス特定部132は、第1制御情報に含まれているユーザIDに対応するユーザのユーザ情報DBを参照し、第1制御情報に含まれているデバイス特定情報に対応するデバイスIDを有するデバイス3を、制御対象デバイスとして特定する。デバイス特定部132は、特定したデバイス3の型名を情報生成部133に通知し、特定したデバイス3のアドレスを送信部134に通知する。
【0046】
図7は、API記憶部122が記憶しているAPIデータベース(以下、APIDBという)の一例を示す図である。APIDBにおいては、各デバイス3を特定するデバイスIDごとに、そのデバイス3が実現可能な機能、すなわちそのデバイス3に対する制御内容と、それを実現するためのデバイス3に固有のAPIである第2制御情報とが格納されている。APIDBにはさらに、デバイス3に対する制御内容に対応する第1制御情報が汎用APIの書式で格納されている。
【0047】
情報生成部133は、取得部131が取得した第1制御情報に含まれる制御内容と、デバイス特定部132が第1制御情報に基づいて特定したデバイスIDとを用いて、APIDBを参照することによって第2制御情報を生成する。
図7に示す例において、デバイスIDがLA0050で特定されるデバイス3と、LC0020で特定されるデバイス3とは、ともにライトである。しかしながら、
図7に示すように、デバイスIDがLA0050で特定されるデバイス3を点灯させるための第2制御情報と、デバイスIDがLC0020で特定されるデバイス3を点灯させるための第2制御情報とは異なる。
【0048】
一方、デバイスIDがLA0050で特定されるデバイス3を点灯させるための第1制御情報と、LC0020で特定されるデバイス3を点灯させるための第1制御情報とは、同じ書式である。情報生成部133は、第1制御情報に含まれている制御内容を、デバイス特定部132が特定したデバイス3の型名に対応するAPIに入れ込むことにより第2制御情報を生成する。これにより、情報生成部133は、
図5(b)に示すように、第1制御情報を、デバイス3のメーカーや型名ごとに異なる形式の第2制御情報に変換することができる。
【0049】
ここで
図5(b)のLB0002用の第2制御情報を参照すると、第1制御情報においては制御内容が「点灯」となっているにもかかわらず、第2制御情報においては「明るさ=5」とされている。ライトによっては、「点灯」、「消灯」を制御するAPIに対応しておらず、明るさを指定することにより制御するAPIにより作成された第2制御情報でなければ制御できない場合がある。このような場合に、情報生成部133は、第1制御情報に含まれている制御内容をデバイス3の専用APIの形式で記述することで、第2制御情報を生成する。このようにすることで、アプリケーションソフトの開発者が、デバイス3ごとに異なる専用APIを意識しないでアプリケーションソフトを開発できるとともに、ユーザは、単一のアプリケーションソフトを用いて異なる型名のデバイス3を制御できる。
【0050】
送信部134は、デバイス特定部132から通知された制御対象デバイスのアドレスに対して、第1制御情報が示す制御内容を実行させるための第2制御情報を送信する。
課金部135は、ユーザが通信端末2を利用してデバイス3を制御したことに応じて、ユーザに対する課金額を算出する。課金部135は、算出した課金額をユーザIDに関連付けて記憶部12に記憶させる。課金部135は、課金額を、通信端末2の使用料を管理する通信会社のサーバに送信してもよい。このようにすることで、通信端末2の使用料と合算してサービス使用料をユーザに請求することができるので、請求処理を効率化することができる。
【0051】
また、課金部135は、ユーザが通信端末2にインストールされたアプリケーションソフトを用いてデバイス3を制御した場合に、アプリケーションソフトを提供する業者に対して課金してもよい。例えば、課金部135は、アプリケーションソフトを用いて通信端末2から送信された第1制御情報に基づいて情報生成部133が第2制御情報を生成した回数に応じた額を、アプリケーションソフトを提供する業者に対して課金する。
【0052】
[制御対象デバイスを登録する際の手順]
図8は、ユーザが、通信端末2を用いて制御する対象となるデバイス3を新たに登録する際の手順について説明するための図である。
図8(a)は、デバイス制御サービスを利用するためのログイン画面である。ユーザは、予め設定されたユーザIDを入力することにより、制御対象デバイスを新たに追加したり、設定内容を変更したりすることができる。
【0053】
図8(b)は、ログイン後の画面である。ユーザが、既にエアコンを登録済であることが表示されている。ユーザは、「追加登録」のアイコンにタッチすることで、新たな制御対象デバイスを登録するための画面を表示することができる。
【0054】
図8(c)は、新たな制御対象デバイスを登録するための画面である。ユーザが、この画面に表示されているアイコンのうち、登録する対象のデバイス3の種別に対応するアイコンにタッチすることにより、通信端末2は、登録する対象のデバイス3を探索する。具体的には、通信端末2は、例えばBluetooth(登録商標)等の無線通信方式を用いて通信可能なデバイス3を探索する。通信端末2は、ユーザにより選択された種別のデバイス3が見つかった場合に、デバイス3を登録するための画面を表示する。この時点で、通信端末2は、各デバイス3から取得した型名情報、メーカー名及びMAC(Media Access Control)アドレスをメモリに記憶する。
【0055】
図8(d)は、探索により見つかったデバイス3を登録するための画面である。ユーザは、登録したいデバイス3に名称(例えば「リビング」、「玄関」等の設置場所)を入力してから登録ボタンにタッチすることで、デバイス3を登録することができる。通信端末2は、デバイス3から取得した型名情報を含むデバイスIDを生成し、ユーザにより入力された名称と関連付けてデバイスIDを内部のメモリに記憶する。また、通信端末2は、通信端末2を使用するユーザのユーザID、デバイスID、メーカー名、MACアドレスをデバイス制御装置1に送信する。このようにすることで、ユーザは、制御対象デバイスをデバイス制御装置1に登録することができる。
【0056】
[デバイス3を制御する際の動作シーケンス]
図9は、デバイス制御装置1がデバイス3を制御する際の動作シーケンスを示す図である。まず、ユーザが、通信端末2において、制御対象デバイスを制御するためのアプリケーションソフトを起動すると(S11)、通信端末2は、ユーザが入力した制御内容を取得する(S12)。通信端末2は、取得した制御内容を含む第1制御情報を生成し、ネットワークNを介してデバイス制御装置1に第1制御情報を送信する(S13)。
【0057】
デバイス制御装置1は、第1制御情報を受信すると、デバイス特定部132において、受信した第1制御情報に基づいて制御対象のデバイス3を特定する(S14)。続いて、情報生成部133が、APIDBを参照して制御対象のデバイス3に対応する第2制御情報を生成し、送信部134が第2制御情報を制御対象のデバイス3に送信する(S15)。
【0058】
デバイス3は、第2制御情報を受信すると、第2制御情報に含まれている制御内容に応じた動作を実行する(S16)。デバイス3は、動作を実行すると、デバイス3自身の状態を示す第1状態情報をデバイス制御装置1に送信する(S17)。例えばデバイス3がライトであり、制御内容が「点灯」である場合、デバイス3は、点灯が完了したことを示す第1状態情報を送信する。また、デバイス3がエアコンであり、制御内容が「温度を25℃に設定」である場合、デバイス3は、第2制御情報を受信してから制御内容が示す温度に達するまでの間、定期的に室温を測定し、測定した室温示す第1状態情報をデバイス制御装置1に送信する。ここで、第1状態情報は、デバイス3ごとに異なる形式で作成された情報であるものとする。
【0059】
デバイス制御装置1においては、取得部131が第1状態情報を取得すると、情報生成部133が、通信端末2のアプリケーションソフトが認識できる、同一の種別のデバイス3に共通する形式の第2状態情報に第1状態情報を変換する(S18)。送信部134は、情報生成部133が変換して生成した第2状態情報を、ネットワークNを介して通信端末2に送信する(S19)。通信端末2は、第2状態情報を受信すると、第2状態情報が示すデバイス3の状態を画面に表示する(S20)。
以上の手順により、ユーザは、通信端末2を操作することにより所望のデバイス3を制御したり、デバイス3の状態を確認したりすることができる。
【0060】
[アプリケーションソフトの開発者Dに提供する情報]
以上、デバイス制御装置1、通信端末2、及びデバイス3の3者間におけるデータの流れについて主に説明した。次に、デバイス制御装置1と開発者端末6との間におけるデータの流れについて説明する。
より具体的には、デバイス制御装置1は、開発者Dからの要求に応じて、アプリケーションソフトの開発に利用可能な情報を提供することができる。この観点から見ると、デバイス制御装置1は情報提供装置として機能する。
【0061】
図10は、第1制御情報の問い合わせフォームの一例を示す図である。アプリケーションソフト開発用のSDK(以下、単に「SDK」と記載する)は、開発者端末6の表示部にAPI問い合わせ用のGUI(Graphical User Interface)を表示することができる。
図10に示すように、開発者Dは、SDKを実行する開発者端末6において、アプリケーションソフトの制御対象とするデバイス3と、そのデバイスに実現させる機能を選択する。開発者Dが問い合わせフォームにおける「問い合わせアイコン」を押下すると、SDKはデバイス3を特定するためのデバイスIDと開発者Dが選択した機能とを、ネットワークNを介してデバイス制御装置1に送信する。
【0062】
取得部131は、アプリケーションソフトを開発する開発者端末6から、デバイス3のデバイスIDとそのデバイス3に実現させる機能の指定とを取得する。情報生成部133は、APIDBを参照して、開発者端末6が指定した機能をデバイスIDで特定されるデバイス3に実現させるための第2制御情報に対応する第1制御情報を、アプリケーションソフトが用いるAPIの仕様として生成する。送信部134は、情報生成部133が生成したAPIの仕様を、問い合わせ元の開発者端末6に送信する。これにより、開発者Dのアプリケーションソフトの開発効率を向上することができる。
【0063】
図10に示すように、開発者Dは、指定した機能を実現させるためのデバイス3を具体的に指定することができる。このため、取得部131は、開発者端末6から指定された機能を実現させるデバイス識別情報IDを取得することができるので、情報生成部133は、デバイスIDで特定されるデバイス3で解釈可能な第2制御情報に対応するAPIの仕様を生成することができる。この結果、例えば照度調整機能を持たないライトが指定された場合には、情報生成部133は照度指定のためのパラメータをAPIから削除して生成する。第2制御情報はデバイス3に非依存の汎用的なAPIであるが、開発者Dに提示されるAPIには開発対象とするデバイス3で実現できない機能に関するパラメータは削除されているため、開発者Dのアプリケーションソフトの開発効率を向上することができる。
【0064】
なお開発者Dは、
図10に示すGUIにおいて、デバイスの種別と機能のみを選択し、メーカー及び型番を省略してデバイス制御装置1に問い合わせることもできる。この場合、情報生成部133は、特定のデバイス3の機能に依存しない一般的な機能を実現するためのAPIをAPIDBから抽出する。
【0065】
ここで、デバイス制御装置1のAPIDBにどのようなデバイス3のAPIが格納されているかを予め知ることができれば、開発者DはAPI問い合わせの際のデバイスIDの指定に便利である。
そこで情報生成部133は、APIDBに格納されているデバイス3の一覧情報、すなわち情報生成部133が生成する第2制御情報を解釈可能なデバイス3の一覧情報を生成する。送信部134は、取得部131が開発者端末6から一覧情報の提供要求を取得することを契機として、その開発者端末6にデバイス3の一覧情報を送信する。これにより、開発者Dは、開発対象とするアプリケーションソフトの制御対象とするデバイスの候補を把握することができる。
【0066】
開発者Dが開発しようとするアプリケーションソフトの制御対象のデバイス3は、そのアプリケーションソフトを利用する可能性のあるユーザの数が多い方が、開発者Dのソフト開発に対する意欲が高まると考えられる。そこで情報生成部133は、デバイス3の種別ごとに、そのデバイス3に関連付けらえているユーザの数を集計し、集計したユーザの数をデバイス3の種別ごとに記載して一覧情報を生成することもできる。情報生成部133はさらに、集計したユーザの数に基づいてデバイス3の種別を、例えば降順に整列させて一覧情報を生成することもできる。これにより開発者Dは、多くのユーザが利用するデバイス3対象としてアプリケーションソフトを開発することができる。
【0067】
開発者Dが
図2(b)に示すような統合アプリケーションを開発しようとする場合には、どのようなデバイス3の組み合わせをそのアプリケーションソフトの制御対象とするかを選択する必要がある。
そこで情報生成部133は、ユーザ情報DBにおいて一つのユーザIDに複数のデバイスIDが関連付けられている場合、その複数のデバイスIDの組み合わせのパターンごとにその数を集計した組み合わせ情報を生成する。この組み合わせ情報は、ユーザ情報DBに登録されているユーザが、異なるデバイス3をどのような組み合わせのパターンで所持しているかを示す情報である。情報生成部133はまた、複数のデバイスIDの組み合わせのパターンごとに集計した数に基づいて、そのパターンを例えば降順で整列させて組み合わせ情報を生成することもできる。
【0068】
送信部134は、取得部131が開発者端末6から組み合わせ情報の提供要求を取得することを契機として、開発者端末6に組み合わせ情報を送信する。これにより開発者Dは、組み合わせのパターンを把握することができる。より多くのユーザが所持するデバイス3の組み合わせパターンを選択してそのパターンに含まれるデバイス3を制御するための統合アプリケーションを開発することにより、開発者Dは、より多くのユーザが利用する可能性のある統合アプリケーションを開発することができる。
【0069】
[変形例1]
図5においては、第1制御情報に含まれるデバイス特定情報としてデバイスIDが用いられる例について説明したが、これに限らない。ユーザ情報DBにおいて、ユーザが所有しているデバイス種別ごとに、ユーザが所有している同一種別のデバイス3のうち、何番目のデバイス3であるかを示すシリアル番号がデバイス3の型名に関連付けられていれば、第1制御情報におけるデバイス特定情報は、シリアル番号であってもよい。シリアル番号は、例えば、
図8(d)に示した「リビング」、「玄関」等のように、デバイス3の設置場所を示す情報に関連付けられており、デバイス制御装置1に登録された順番に割り当てられた番号である。
【0070】
図11は、変形例1におけるユーザ情報DBの例を示す図である。
図12は、変形例1において通信端末2から送信される第1制御情報の例を示す図である。
図11に示すユーザ情報DBにおいては、デバイスIDはデバイスの型名を示しており、ユーザが同一の型名のデバイス3を複数所有している場合、デバイスIDは同一の内容になっている。デバイス特定部132は、第1制御情報に含まれているアプリID及びデバイス特定情報としてのシリアル番号に基づいて、同一の型名のデバイス3のうち、どのデバイス3に対して第2制御情報を送信する必要があるかを特定することができる。なお、デバイス特定情報が、MACアドレスのようにデバイス3に固有の情報を含む場合、第1制御情報にユーザIDが含まれていなくてもよい。
【0071】
[変形例2]
上記の説明においては、1台の通信端末2がデバイス3を制御する場合について説明したが、複数の通信端末2がデバイス3を制御できるようにしてもよい。例えば、デバイス制御システムSは、通信端末2bが、通信端末2aの通信料金と合算して通信料金を支払う対象になっている家族の通信端末2であれば、通信端末2aにおいて登録されたデバイス3を、通信端末2bを用いて制御できるようにしてもよい。
【0072】
このように複数の通信端末2がデバイス3を制御できるようにするために、記憶部12は、複数のユーザの複数のユーザIDを互いに関連付けて記憶する。例えば、取得部131が、通信会社において管理されるサーバから、通信料金を合算して支払う対象となっている複数のユーザIDを取得して、取得した複数のユーザIDを記憶部12に記憶させる。
【0073】
デバイス特定部132は、取得部131が取得した第1制御情報に第1ユーザIDが含まれている場合、第1ユーザIDに関連付けて記憶部12に記憶されている第2ユーザIDに対応するユーザ情報DBが記憶部12に記憶されているかどうかを確認する。第2ユーザIDに対応するユーザ情報DBが記憶部12に記憶されている場合、デバイス特定部132は、このユーザ情報DBにおいて第2ユーザIDに関連付けられたデバイスIDを特定することにより、制御対象デバイスを特定する。
【0074】
[変形例3]
上記の説明においては、デバイス制御装置1が開発者端末6からの要求に応じてAPI情報等の生成及び送信を実行する場合について説明した。これに代えて、開発者端末6からの問い合わせに応じるための、デバイス制御装置1とは異なる専用の情報提供装置(不図示)を設けてもよい。デバイス制御装置1は、第1制御情報を第2制御情報に変換する処理に専念できるため、デバイス制御装置1の処理効率を向上させることができる。
【0075】
このように、複数の通信端末2からデバイス3を制御可能にする場合、課金部135は、複数のユーザのうち、代表者として登録されているユーザに対して課金してもよい。すなわち、課金部135は、第2ユーザIDに対応するユーザに対して、第1ユーザIDに対応する通信端末2から第1制御情報が送信されたことに対する費用を課金してもよい。このようにすることで、通信料金を支払う第1ユーザIDのユーザが、デバイス制御サービスの使用料も通信料金と合算して支払うことができるので、他のユーザが個別にサービス使用料を支払う手間がかからない。
【0076】
[第1の実施形態のデバイス制御システムSによる効果]
以上説明したように、デバイス制御システムSにおいては、通信端末2にインストールされた、同一の種別の型名が異なる複数のデバイスを制御することができるアプリケーションソフトを用いてユーザが操作することにより、デバイスの種別ごとに共通する形式の第1制御情報がデバイス制御装置1に送信される。デバイス制御装置1は、受信した第1制御情報に基づいて、デバイス専用のAPIを用いた第2制御情報を生成して、第1制御情報において指定されたデバイス3に第2制御情報を送信する。
【0077】
このようにすることで、ユーザは、デバイスごとに異なるアプリケーションソフトをインストールすることなく、一つのアプリケーションソフトを用いて各種のデバイス3を制御できるので、デバイス3を買い替えた際にアプリケーションソフトを入れ替える必要がない。また、デバイス3の製造者は、新たなデバイス3の販売を開始するたびにアプリケーションソフトを提供する必要がなく、APIを公開するだけでよいので、開発費を抑えることができる。
【0078】
また、デバイス制御装置1は、例えば通信料金を合算して支払うユーザが、共通のデバイス3を制御できるようにする。このようにすることで、家族のうちの一人が制御対象とするデバイス3を登録しておくことで、他のユーザがデバイス3を制御できるので、登録の手間が省ける。
さらに、通信料金を合算して支払うユーザがサービスを利用した場合の費用は、合算して課金されるので、ユーザごとに個別にサービス使用料を支払う手間がかからない。
【0079】
また開発者Dは、第2制御情報、すなわち各デバイス3に固有のAPIを使用せずに、デバイス3を制御するためのアプリケーションソフトを開発することができる。これは例えばデバイス3の製造者が、第2制御情報をデバイス制御装置1の運用者を含む限定された範囲にのみ公開しており、開発者Dがその第2制御情報を知ることができない場合であってもアプリケーションソフトを開発できる点で有用である。
開発者Dは、ユーザ情報DBに登録されている複数のデバイス3のうち、所持しているユーザの数が多いデバイス3又はデバイスの種別を取得することができる。このため、より多くのユーザに使われる可能性のあるアプリケーションソフトを開発することができるので、開発者Dのソフト開発の意欲を高めることができる。
【0080】
<第2の実施形態>
図13は、第2の実施形態のデバイス制御システムSについて説明するための図である。第2の実施形態においては、サーバ5a及びサーバ5bのように、他のサービス提供者のサーバを介してデバイス3を制御するという点で、第1の実施形態と異なる。サーバ5a及びサーバ5bは、例えば、デバイス3のメーカーが、自社のデバイス3を制御するサービスを提供するためのデバイスサーバであり、制御対象デバイスに、第2制御情報に基づく制御信号を送信する。この場合、情報生成部133は、通信端末2から第1制御情報を受信すると、第1制御情報に含まれている制御内容に基づいて、サーバ5に制御対象デバイスを制御させるための第2制御情報を生成する。そして、送信部134は、情報生成部133が生成した第2制御情報を、デバイスサーバとしてのサーバ5に送信する。デバイスサーバとしてのサーバ5は第2制御情報を解釈可能である。
【0081】
本実施形態の記憶部12は、デバイス3を制御するサービスの提供者に関連付けて、それぞれのサービス提供者のサーバ5のAPIを記憶している。情報生成部133は、例えば、記憶部12に記憶されているサーバ5のAPIに基づいて第2制御情報を生成する。具体的には、情報生成部133は、第1制御情報に含まれている制御内容を、第1制御情報と異なる形式の第2制御情報に変換する。第2制御情報には、第1制御情報に含まれていたユーザID及びデバイス特定情報等が含まれている。
【0082】
デバイス制御システムSを用いてサービスを提供する企業と、サーバ5a又はサーバ5bを用いてサービスを提供する企業との間では、予めユーザIDが共通化されている。サーバ5a又はサーバ5bは、第2制御情報に含まれているユーザID及びデバイス特定情報等に基づいて、通信端末2における操作に応じたデバイス3を制御することができる。
【0083】
なお、
図13に示すように、デバイス3を制御するサービスを提供するサーバ5が複数ある場合、デバイス制御装置1のユーザ記憶部121は、ユーザが、サーバ5aを用いたサービス又はサーバ5bを用いたサービスのうち、どのサービスを利用しているかを示す利用サービス情報を記憶している。情報生成部133は、利用サービス情報を参照し、ユーザが利用しているサービスに対応するAPIに対応する第2制御情報を生成する。
【0084】
デバイス制御システムSを用いてサービスを提供する企業と、サーバ5aを用いてサービスを提供する企業と、サーバ5bを用いてサービスを提供する企業との間でユーザIDが共通化されていない場合には、デバイス制御装置1がユーザIDを変換してもよい。この場合、デバイス制御システムSのユーザIDとサーバ5a及びサーバ5bを用いたサービスのユーザIDとを関連付けて記憶するユーザDB(不図示)を記憶部12に設ける。情報生成部133が利用サービス情報を用いてユーザDBを参照し、ユーザIDを変換すればよい。
【0085】
サーバ5a、サーバ5b(以下、サーバ5)は、ネットワークを介して接続されたデバイス制御装置1から第2制御情報を受信すると、その内容が制御対象のデバイス3への動作指示を含む場合には、デバイス3への動作指示を示す情報(信号)をデバイス3へ送信する。一方、受信した第2制御情報が、デバイス3が取得したデータの要求を含む場合には、サーバ5は、デバイス3から予め取得していたデバイス3の動作データや収集データ等をデバイス制御装置1に送信する。なお、サーバ5がデバイス3の動作データや収集データ等を予め取得しておらずデバイス3内に蓄積されている場合には、サーバ5は、受信した第2制御情報に基づいて、デバイス3から動作データや収集データ等の要求を行い、取得したデータをサーバ5からデバイス制御装置1に送信してもよい。
【0086】
このように、第2の実施形態においては、サーバ5a及びサーバ5bのように、他のサービス提供者のサーバを介してデバイス3を制御するという点で、第1の実施形態と異なる。しかしながら、ユーザ及び開発者Dの関連から見ると、ネットワークN上に存在するサーバの数は認識できず、ネットワークN上にあるサーバに仲介させて通信端末2からデバイス3を利用するという点では変わらない。この意味で、第2の実施の形態に係るデバイス制御システムSは、第1の実施の形態に係るデバイス制御装置1の機能を、物理的に異なるサーバに分離して実装した形態と見ることもできる。
【0087】
[第2の実施形態のデバイス制御システムSによる効果]
以上説明したように、第2の実施形態のデバイス制御装置1は、デバイス3を制御する他のサーバ5のAPIに対応する第2制御情報を生成する。このようにすることで、ユーザが、既にサーバ5を介してデバイス3を制御するサービスの提供を受けている場合であっても、通信端末2にインストールされた任意のアプリケーションソフトを用いてデバイス3を制御することができる。
【0088】
<第3の実施形態>
図14は、第2の実施形態のデバイス制御システムSについて説明するための図である。第2の実施形態においては、制御対象デバイスがユーザの自宅にある電気機器ではなく、企業等が情報を配信するサーバ7であるという点で、第1の実施形態と異なる。
【0089】
サーバ7aは、ユーザが投稿したレストランの情報を提供するサービスで用いられているサーバである。サーバ7bは、ユーザが投稿した各種商品の価格情報を提供するサービスで用いられているサーバである。ユーザは、通信端末2にインストールされたアプリケーションソフトを用いて、他の人に伝えたい情報をサーバ7にアップロードすることができる。
【0090】
サーバ7a,7bは、情報を受信するためのインタフェースとして、それぞれ異なる形式のインタフェースを有している。したがって、サーバ7a,7bに情報をアップロードするためには、それぞれのサーバに適した形式に情報を加工してから送信する必要がある。しかし、ユーザが、それぞれのサービスのサイトに情報を提供する際に、サーバ7a及びサーバ7bのそれぞれに専用のアプリケーションソフトを用いる必要があると不便である。
【0091】
そこで、本実施形態に係るデバイス制御装置1は、通信端末2においては、さまざまな情報提供サービスのサーバ7に情報をアップロードするためのアプリケーションソフトがインストールされている。アプリケーションソフトにおいては、情報を提供する対象となるサービスに対応するアイコンが表示されており、ユーザが、情報を提供したいサービスに対応するアイコンにタッチしてから情報を入力すると、通信端末2は、入力された情報とユーザが選択したサービスを特定する情報を含む第1制御情報をデバイス制御装置1に送信する。
【0092】
デバイス制御装置1においては、デバイス特定部132が、第1制御情報に基づいて、第1制御情報に含まれるコンテンツを送信する先のサーバ7を特定する。デバイス特定部132は、例えば、第1制御情報に含まれる、サービスを特定する情報に基づいて、サーバ7を特定する。デバイス特定部132は、ユーザが作成したコンテンツに含まれているキーワードに基づいて、コンテンツを送信する対象となるサーバ7を特定してもよい。そして、情報生成部133が、特定されたサーバ7に対応する形式の第2制御情報を生成し、送信部134が、生成された第2制御情報をサーバ7に送信する。
【0093】
なお、本実施形態における課金部135は、ユーザが通信端末2を用いてサーバ7にアクセスした回数又はサーバ7との間で送受信したデータ量に基づいて課金額を決定してもよい。この場合、課金部135は、決定した課金額の一部を、サーバ7を運用する企業等に支払う額として算出してもよい。
【0094】
なお、第3の実施形態に係るデバイス制御装置1も、第1の実施形態及びだ2の実施形態に係るデバイス制御装置1と同様に、開発者Dの開発者端末6からの要求に応じて、APIの書式で第1制御情報を提供することができる。
【0095】
[第3の実施形態のデバイス制御システムSによる効果]
本実施形態におけるデバイス制御システムSは、第1制御情報に基づいて、第1制御情報に含まれるコンテンツを送信する先のサーバ7を特定し、サーバ7に対応する形式の第2制御情報をサーバ7に送信する。このようにすることで、サーバ7を運用する企業等は、サーバ7にアクセスするためのインタフェースを広く一般に公開する必要がなく、デバイス制御装置1の運用者にのみ公開すればよい。その結果、サーバ7を運用する企業がインタフェースを公開する手間がかからない。
【0096】
また、デバイス制御システムSは、課金部135が、ユーザに対する課金額を算出し、その一部の額を、サーバ7を運用する企業等に還元することができる。このようにすることで、ユーザがサーバ7を利用したことに対する料金の請求を、サーバ7を運営する企業等の代わりにデバイス制御装置1を運営する通信キャリア等の運営者が一元的に行うことができるので、ユーザにとってもサーバ7を運営する企業等にとっても手間を省くことができる。
【0097】
以上、本発明をいくつかの実施の形態をもとに説明した。これらの任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【0098】
また、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。特に、装置の分散・統合の具体的な実施形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。