(57)【要約】【課題】リモコンシステムの端末が実行する端末プログラムを提供する。【解決手段】リモコンシステム101において、端末121は、ブラウザの第1ウィンドウ等にて、仲介装置111から伝達されるべき指示を待機する。リモコン131は、制御すべき端末121および当該端末121にて受けるべきサービスを特定する特定情報を、仲介装置111へ送付する。仲介装置111は、送付された特定情報により特定された端末121へ、特定情報により特定されるサービスを指定する指示を伝達する。待機する端末121は、伝達された指示に指定されたサービスに係る要求を、伝達された指示に指定されたサービスに係るサーバ171へ、第1ウィンドウ等から生成された第2ウィンドウ等を介して送信する。端末121は、サービスの提供を開始した後も、第1ウィンドウ等にて、仲介装置111から伝達されるべき新たな指示を待機する。【選択図】図1
2020107332.tif 000002
【特許請求の範囲】
【請求項１】
端末にて動作するブラウザのウィンドウもしくはタブへ仲介装置から待機ページがロードされることにより前記端末にて実行される端末プログラムであって、前記端末プログラムは、前記端末に、
前記待機ページがロードされた前記ウィンドウもしくはタブ(以下「第1ウィンドウもしくはタブ」という。)にて前記仲介装置から伝達されるべき指示を待機する処理を実行させ、
前記仲介装置から伝達された指示に指定されたサービスに係る提供ページへ遷移するための要求を、前記第1ウィンドウもしくはタブから生成された前記ブラウザの第2ウィンドウもしくはタブから、前記伝達された指示に指定されたサービスに係るサーバへ送信して、前記サーバから前記提供ページを前記第2ウィンドウもしくはタブへロードする処理を実行させ、
前記提供ページにて前記サービスの提供が開始された後も、前記待機ページにて、前記仲介装置から伝達されるべき新たな指示を待機する処理を実行させる
ことを特徴とする端末プログラム。
【請求項２】
前記ブラウザは、前記新たな指示が伝達されると、前記第2ウィンドウもしくはタブにてザッピング条件が満たされて
いれば、前記第2ウィンドウもしくはタブから、前記新たな指示に係る新たな要求を送信し、
いなければ、前記第1ウィンドウもしくはタブから第3ウィンドウもしくはタブを生成し、当該生成された第3ウィンドウもしくはタブから、前記新たな要求を送信する
ことを特徴とする請求項1に記載の端末プログラム。
【請求項３】
前記第2ウィンドウもしくはタブへロードされた前記提供ページにて前記サービスの提供が開始されてから所定の猶予期間が経過するまでは、前記ザッピング条件は満たされる
ことを特徴とする請求項2に記載の端末プログラム。
【請求項４】
前記第2ウィンドウもしくはタブにて前記サービスの提供が開始された後、前記第2ウィンドウもしくはタブにて他のサービスが提供されていれば、前記ザッピング条件は満たされない
ことを特徴とする請求項2に記載の端末プログラム。
【請求項５】
前記第2ウィンドウもしくはタブにて前記サービスの提供が開始された後、前記第2ウィンドウもしくはタブに対する操作が前記端末にてなされれば、前記ザッピング条件は満たされない
ことを特徴とする請求項2に記載の端末プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末をリモコンから制御してサービスの提供を受けるのに好適なリモコンシステム、リモコン方法、プログラム、ならびに、情報記録媒体に関する。
【背景技術】
【０００２】
従来から、サービスの提供を受けるためのサインインあるいはログインに必要なパスワードを携帯端末にて管理する技術が開示されている。
【０００３】
たとえば、特許文献1には、サービスの提供を受けるために必要なパスワードを分割して、分割された断片を、あらかじめ定めた選択順序に基づくパスワード表内の位置および順序の要素に格納し、それ以外の要素にはランダムな値を格納して記録する通信装置に係る技術が開示されている。当該技術によれば、ユーザは選択順序さえ記憶していれば、パスワードそのものを記憶する必要はなく、選択順序に応じたユーザからの入力により、通信装置がパスワードを復元して、サービスを提供するサーバへ出力することができる。
【０００４】
一方で、ブラウザ、仮想デスクトップ用クライアント、ターミナルソフトウェア等が動作する端末にて、ユーザに、ウェブサービス、仮想デスクトップサービス、リモートログインサービス等が提供される際には、当該サービス用のパスワード等を当該端末で入力するのが一般的であった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許第9705874号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ユーザが所有するスマートフォン等を利用することにより、デスクトップコンピュータやタブレットコンピュータ等の端末にてサービスへのサインインやログインをする際に、当該端末でパスワード等を入力せずにすませたい、という要望があった。
【０００７】
また、サービスを初めて利用しようとするときに必要となるユーザ登録において、ユーザに多数の個人情報を入力させることを抑制し、ユーザの利便性を向上させたい、との要望も強い。
【０００８】
本発明は、上記のような課題を解決するためのもので、端末をリモコンから制御してサービスの提供を受けるのに好適なリモコンシステム、リモコン方法、プログラム、ならびに、情報記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るリモコンシステムは、仲介装置と、端末と、リモコンと、を備える。
ここで、前記端末は、前記仲介装置から伝達されるべき指示を待機する。
一方、前記リモコンは、制御すべき端末および当該端末にて受けるべきサービスを特定する特定情報を、前記仲介装置へ送付する。
さらに、前記仲介装置は、前記送付された特定情報により特定された端末が待機していれば、前記送付された特定情報により特定されるサービスを指定する指示を、前記待機する端末へ伝達する。
そして、前記待機する端末は、前記伝達された指示に指定されたサービスに係る要求を、前記伝達された指示に指定されたサービスに係るサーバへ送信する。
【００１０】
なお、本発明においては、前記サーバは、前記要求を送信した端末が前記制御すべき端末であることの確認をしてから、前記サービスを提供するように構成することができる。
【００１１】
本発明の他の観点に係るリモコンシステムは、仲介装置と、ブラウザが動作する端末と、リモコンと、を備える。
ここで、前記端末にて動作するブラウザは、前記仲介装置から待機ページをロードすることにより、前記仲介装置から伝達されるべき指示を待機する。
一方、前記リモコンは、制御すべきブラウザおよび当該ブラウザにて受けるべきサービスを特定する特定情報を、前記仲介装置へ送付する。
さらに、前記仲介装置は、前記送付された特定情報により特定されたブラウザが待機していれば、前記送付された特定情報により特定されるサービスを指定する指示を、前記待機するブラウザへ伝達する。
そして、前記待機するブラウザは、前記伝達された指示に指定されたサービスに係る提供ページへ遷移するための遷移要求を、前記伝達された指示に指定されたサービスに係るサーバへ送信する。
【発明の効果】
【００１２】
本発明によれば、端末をリモコンから制御してサービスの提供を受けるのに好適なリモコンシステム、リモコン方法、プログラム、ならびに、情報記録媒体を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例の構成を示す説明図である。
【図２】本発明の実施例にて、各種の情報がやりとりされる様子を示す説明図である。
【図３】本発明の実施例の各部において実行される処理とその関係を示す説明図である。
【図４】本発明の実施例にて、権限情報がリモコンから外部サーバへ直接回付される態様を示す説明図である。
【図５】本発明の実施例にて、権限情報がリモコンから仲介装置および端末を介して外部サーバへ回付される態様を示す説明図である。
【図６】本発明の実施例にて、リモコンから外部サーバへ回付された権限情報が確認装置へ送られる態様を示す説明図である。
【図７】本発明の実施例にて、権限情報がリモコンから仲介装置へ送られ、外部サーバからは問い合わせがなされる態様を示す説明図である。
【図８】本発明の実施例にて、権限情報がリモコンにてスクランブル化され、二つの経路を通じて外部サーバへ回付される態様を示す説明図である。
【図９】本発明の実施例にて、要求を送信した端末がリモコンで制御されるべき端末であることの確認を外部サーバがする態様を示す説明図である。
【図１０】本発明の実施例にて、要求を送信した端末がリモコンで制御されるべき端末であることの確認を仲介装置がする態様を示す説明図である。
【図１１】本発明の実施例にて、要求を送信した端末がリモコンで制御されるべき端末であることの確認を確認装置がする態様を示す説明図である。
【図１２】端末における処理の制御の流れの例を示すフローチャートである。
【図１３】リモコンにおける処理の制御の流れの例を示すフローチャートである。
【図１４】ザッピング条件を採用した端末における処理の制御の流れの例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に本発明の実施形態を説明する。なお、本実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００１５】
(基本構成)
図1は、本発明の実施例の構成を示す説明図である。以下、本図を参照して説明する。
【００１６】
本実施形態に係るリモコンシステム101では、端末121にて動作するブラウザ、仮想デスクトップクライアント、ターミナルソフトウェア等によって外部サーバ171からウェブサービス、仮想デスクトップサービス、リモートログインサービス等のサービスの提供を受け始めることを、リモコン131によって制御するものである。なお、本実施形態によれば、当該サービスに対してサインインやログインをする際に、パスワード等の認証情報を端末121で入力しなくともすむようにすることも可能である。
【００１７】
なお、サービスの提供をするか否かを決めるために、リモコンシステム101は、省略可能な要素として、確認装置172を備えることとしても良い。
【００１８】
仲介装置111は、リモコン131が端末121を遠隔制御するための仲立ちをする。これらの機器は、インターネット191を介して通信可能に接続される。
【００１９】
仲介装置111、端末121、リモコン131、外部サーバ171、ならびに、確認装置172は、それぞれの機能に応じたプログラムを各種のコンピュータのハードウェア上で実行することにより、実現することができる。
【００２０】
典型的には、仲介装置111や確認装置172としては、リモコン131等と協働するための種々の処理を実行するためのサーバコンピュータを、端末121としては、デスクトップコンピュータ、ノートブックコンピュータ、ブラウザ機能を有するテレビジョン装置やゲーム装置等を、リモコン131としては、スマートフォンを、外部サーバ171は、各種のウェブサービスを提供するためのサーバコンピュータ等を、それぞれ利用することができる。
【００２１】
一般には、コンピュータは、非一時的(non-transitory)情報記録媒体に記録されたプログラムを、一時的(temporary)記憶装置であるRAM(Random Access Memory)に読み出してから、CPU(Central Processing Unit)あるいはプロセッサが読み出されたプログラムに含まれる指令を実行する。ただし、ROMとRAMを一つのメモリ空間にマッピングして実行することが可能なアーキテクチャでは、ROMに格納されたプログラムに含まれる指令を、直接CPUが読み出して実行する。CPUあるいはプロセッサ等は、RAM等と協働して、当該ハードウェアが備えるNIC(Network Interface Card)やディスプレイ、マイク、スピーカなどの機器を制御する。
【００２２】
ここで、各プログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)、フラッシュメモリ、半導体メモリ等のコンピュータ読み取り可能な非一時的(non-transitory)情報記録媒体に記録することができる。この情報記録媒体は、各ハードウェアとは独立して配布・販売することができる。
【００２３】
また、これらのプログラムを、適宜複数の情報記録媒体に別個に記録し、当該複数の情報記録媒体を媒体セットにまとめて、当該媒体セットを、各ハードウェアとは独立して配布・販売することもできる。
【００２４】
さらに、上記のプログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網等の一時的(transitory)伝送媒体を介して、配布装置等から、各ハードウェアへ配布することもできる。たとえば、コンピュータとしてスマートフォンを採用する場合には、スマートフォン用のアプリケーションストアにてプログラムを配布、販売することが可能である。
【００２５】
このほか、仲介装置111をウェブサーバとし、各種のページをブラウザにてウェブサーバからロードする際に、当該ブラウザが動作するコンピュータが、当該ページにより指定されたスクリプト形式のプログラムをダウンロードして実行することもできる。
【００２６】
なお、上記のプログラムを、電子回路の動作レベル記述用のプログラミング言語によって記述することも可能である。この場合には、上記のプログラムから、電子回路の配線図やタイミングチャート等、各種の設計図が生成され、当該設計図に基づいて、上記の画像処理装置を構成する電子回路を作成することができる。たとえば、上記のプログラムから、FPGA(Field Programmable Gate Array)技術によって再プログラム可能なハードウェア上に、上記画像処理装置を、構成することができるほか、ASIC(Application Specific Integrated Circuit)技術によって、特定用途専用の電子回路を構成することも可能である。
【００２７】
この場合、仲介装置111、端末121、リモコン131、外部サーバ171、ならびに、確認装置172の各部は、これに割り当てられた処理を実行するように構成される。
【００２８】
(基本構成)
以下では、本実施形態の基本的な構成を有するリモコンシステム101において、リモコン131が仲介装置111を利用して端末121を制御し、外部サーバ171へサービスの提供を要求する概略について説明する。図2は、本発明の実施例にて、各種の情報がやりとりされる様子を示す説明図である。図3は、本発明の実施例の各部において実行される処理とその関係を示す説明図である。
【００２９】
まず、端末121は、仲介装置111へ待機情報201を送ることにより、自身を特定する端末IDを仲介装置111に知らせ(ステップS251)、仲介装置111から指示が伝達されることを待機する(ステップS252)。
【００３０】
仲介装置111は、他の機器から送られた情報があると(ステップS261)、当該情報の種類を調べる(ステップS262)。当該情報が、端末121からの待機情報201であれば(ステップS262;待機情報)、当該待機情報201を送ってきた端末121の端末IDを、当該仲介装置111からの指示を待機しているものとして、所定有効期間の間だけ記憶する(ステップS263)。この後、仲介装置111は、ステップS261に制御を戻す。
【００３１】
ここで、ユーザが端末121のブラウザにてサービスを受けようとする場合には、端末121のブラウザにて指示が伝達されることを待機することになる。この場合、典型的には、仲介装置111がウェブサーバとして公開する待機ページを当該ブラウザにロードし、当該待機ページに指定された端末プログラムであるブラウザスクリプトを当該ブラウザが実行することによって、端末121が待機していることを仲介装置111に知得させる。
【００３２】
ユーザが端末121の仮想デスクトップクライアントやターミナルクライアントにてサービスを受けようとする場合には、これらのクライアントにて指示が伝達されることを待機することになる。この場合、当該クライアントのプログラムが仲介装置111と通信をすることによって、端末121が待機していることを仲介装置111に知得させる。
【００３３】
さて、リモコン131にも、当該リモコン131によって制御されるべき端末121を特定するための端末IDが設定されている。1つのリモコン131に設定される端末IDは1つでも良いし、複数でも良い。複数の端末IDが設定されている場合には、リモコン131のユーザが操作すべきいずれかの端末121の端末IDを選択する。端末IDの種々の態様については、後述する。
【００３４】
また、リモコン131では、制御すべき端末121にて提供を受けるサービスを特定するためのサービスIDも設定されている。1つのリモコン131に設定されるサービスIDは1つでも良いし、複数でも良い。複数のサービスIDが設定されている場合には、リモコン131のユーザが提供を受けようとするサービスのサービスIDを選択する。サービスIDは、サービスを特定するための任意の識別情報を採用することができる。
【００３５】
そして、リモコン131は、ユーザの指示を受け付けて(ステップS271)、当該指示に応じて、制御すべき端末121、および、当該端末121にて受けるべきサービスを特定する特定情報202を仲介装置111へ送付する(ステップS272)。本実施形態では、特定情報に当該端末121の端末ID、および、当該サービスのサービスIDが指定される。
【００３６】
送付の後、リモコン131は、制御をステップS271に戻す。
【００３７】
仲介装置111は、他の機器からの情報がリモコン131からの特定情報202であれば(ステップS262;特定情報)、リモコン131から送付された特定情報202に指定された端末IDが、現在指示の伝達を待機している旨が記憶された端末IDのいずれかと一致するか調べる(ステップS264)。
【００３８】
一致するものがあれば(ステップS264;Yes)、当該送付された特定情報202に指定されたサービスIDに対応付けられるサービスを指定する指示203を、当該一致する端末IDを有する端末121へ伝達し(S265)、制御をステップS261へ戻す。なければ(ステップS264;No)、制御をステップS261へ戻す。
【００３９】
ここで、当該指示203には、当該サービスを提供する外部サーバ171のURL(Universal Resource Locator)やドメイン名、サーバ名、ホスト名、ポート番号等が指定され、これらのサービス情報によって、サービスを提供する外部サーバ171が特定される。このほか、当該サービス情報には、後述するように、当該サービスを受けるための各種の権限情報等をさらに含めることもできる。
【００４０】
端末121は、仲介装置111から指示203が伝達されると(ステップS252)、伝達された指示203に指定されたサービス情報に係る要求204を、当該サービスを提供する外部サーバ171へ送信することにより(ステップS253)、端末121を介して、外部サーバ171からのサービスの提供が開始される(ステップS254)。当該要求204の送信によって、外部サーバ171は、端末121の端末IDを知得することとなる。当該要求204に応じて、外部サーバ171は、当該サービスに係る応答205を、端末121に送信する。
【００４１】
端末121は、サービスの提供が開始されたら(ステップS254)、直ちに、ステップS251へ制御を戻しても良い。この場合は、サービスの提供と新たな指示203の待機が並行して実行されることになり、後述するブラウザでのザッピングや仮想デスクトップクライアントやターミナルクライアントにて、重複サインインやログインを可能としている場合に好適である。
【００４２】
また、端末121は、サービスの提供が完了してから、ステップS251へ制御を戻すこととしても良い。これは、仮想デスクトップクライアントやターミナルクライアントにて、重複サインインやログインを禁止している場合に好適である。
【００４３】
さて、仲介装置111は、外部からの情報がその他の種類であれば(ステップS262;その他)、対応する処理を実行して(ステップS266)、制御をステップS261へ戻す。
【００４４】
以下では、以上のような基本構成に対して追加可能な種々の技術について説明する。なお、上記の説明では、フローチャートとセッション図を組み合わせた説明図を利用したが、以下では、理解を容易にするため、各部における処理の図示は省略し、通信の様子を示すセッション図にて説明をする。
【００４５】
(権限情報)
【００４６】
外部サーバ171は、端末121から送信された要求に対して、実際にサービスを提供する提供応答を送信することもあるし、サービスの提供を拒否する拒否応答を送信することもある。
【００４７】
たとえば、端末121のブラウザをウェブサービスのトップページへ遷移させる制御をリモコン131から行う場合には、端末121のユーザは不特定多数の誰でも良い。この場合、外部サーバ171は、要求に応じて提供応答を返すことになる。
【００４８】
一方、端末121のユーザが外部サーバ171からサービスを受けるためには、所定の権限を必要とする場合もある。すなわち、ユーザの権限情報に基づいて、サービスを提供するか否かを決定する態様、言いかえれば、権限情報が所定条件を満たすことを、サービス提供の必要条件とする態様である。本実施形態では、ユーザが端末121において権限情報を入力する必要がないようにすることができる。
【００４９】
サービスの提供を受けるために必要な権限情報としては、たとえば、ユーザ名、パスワード、アクセスキー、利用証明書、アクセストークン、ワンタイムパスワード生成用のシード等、当該サービスとの間で定められるもののほか、氏名、住所、電話番号、メールアドレス、生年月日、マイナンバー、社会保障番号、パスポート番号等の個人情報がある。
【００５０】
これらの権限情報は、ユーザがリモコン131へ入力することによって記録させることができるほか、後述するように、外部サーバ171へのアカウントの自動登録およびリモコン131への権限情報の自動取得がなされるようにすることもできる。権限情報は、各サービスIDに対応付けて記録しても良いし、全サービスIDに共通のものとして記録しても良い。
【００５１】
外部サーバ171は、リモコン131から回付された権限情報に基づいて、サービスを提供するか否かを決定する。
【００５２】
図4は、本発明の実施例にて、権限情報がリモコンから外部サーバへ直接回付される態様を示す説明図である。本図に示すように、リモコン131は、外部サーバ171へ、直接権限情報206を回付することができる。この場合、リモコン131は、権限情報206を外部サーバ171へ送るとともに、特定情報202を仲介装置111へ送る。
【００５３】
図5は、本発明の実施例にて、権限情報がリモコンから仲介装置および端末を介して外部サーバへ回付される態様を示す説明図である。本図に示すように、リモコン131は、外部サーバ171へ、仲介装置111および端末121を介して権限情報206を回付することもできる。すなわち、リモコン131は、権限情報206を特定情報202に含めて仲介装置111へ送付する。仲介装置111は、当該権限情報206を、指示203に含めて端末121へ伝達する。端末121は、仲介装置111から伝達された指示に指定された権限情報206を指定した要求204を外部サーバ171へ送信する。このようにして、権限情報206が、リモコン131から外部サーバ171へ回付されることになる。
【００５４】
なお、権限情報206をリモコン131から外部サーバ171へ回付する態様では、回付の途中での漏洩を防止するため、権限情報206を、外部サーバ171の公開鍵で暗号化してから送ることが望ましい。この態様では、外部サーバ171は、送られた権限情報206の暗号文を、自身の秘密鍵で復号してから、サービスを提供するか否かを決定する。
【００５５】
図6は、本発明の実施例にて、リモコンから外部サーバへ回付された権限情報が確認装置へ送られる態様を示す説明図である。本図に示す例では、外部サーバ171からの依頼に基づいて、確認装置172が、権限情報の発行および認証を実行することを想定している。このため、外部サーバ171は、外部サーバ171へ回付された権限情報206を指定する問合せ213を、外部サーバ171と連携するディレクトリサービスあるいはネットワークパスワードサービスを提供する確認装置172へ送って、サインインあるいはログインの可否を判定させ、その回答214を得ることになる。
【００５６】
また、本図では、図5と同様の経路により権限情報206がリモコン131から外部サーバ171へ回付されることを想定しているが、確認装置172は、上記の他の経路によって権限情報206が回付される場合であっても、同様に適用することができる。
【００５７】
また、確認装置172として、仲介装置111を利用することもできる。
【００５８】
図7は、本発明の実施例にて、権限情報がリモコンから仲介装置へ送られ、外部サーバからは問い合わせがなされる態様を示す説明図である。本図に示す例は、仲介装置111が、上記の確認装置172の役割を果たす際に、リモコン131から送られた権限情報206を、外部サーバ171を経ずに仲介装置111にて処理するものである。すなわち、権限情報206はリモコン131から仲介装置111へ送られる。仲介装置111は、権限情報206もしくは当該権限情報206に基くサインインあるいはログインの可否を判断した結果を、端末IDおよびサービスIDに対応付けて、一定時間蓄積する。そして、外部サーバ171から、端末IDおよびサービスIDに係る問合せ213があると、仲介装置111がサインインあるいはログインの可否を判定して、回答214を送る、というものである。
【００５９】
この態様では、サービスXがサービスYに提携している場合には、サービスYの権限情報を、サービスXについても利用することができる。
【００６０】
もっとも、仲介装置111にてサインインあるいはログインの可否を判断しない場合であっても、以下のような処理を行うことによって、サービスYの権限情報を、サービスXについても利用することが可能である。
【００６１】
すなわち、リモコン131でサービスXに係るサービスIDが選択されると、サービスYに係る権限情報がサービスXに係る外部サーバ171や確認装置172へ回付される。サービスYに係る権限情報が回付された外部サーバ171や確認装置172は、サービスYに係る外部サーバへ、当該権限情報が有効であるか否かを問い合わせる。そして、その結果に基づいて、サービスXの提供をするか否かを決めることができる。
【００６２】
図8は、本発明の実施例にて、権限情報がリモコンにてスクランブル化され、二つの経路を通じて外部サーバへ回付される態様を示す説明図である。本図に示す例では、権限情報206をスクランブルすることにより、第1スクランブル情報221と第2スクランブル情報222を生成する。ここで実行するスクランブルとは第1スクランブル情報221と第2スクランブル情報222の両方がそろえば、権限情報206が復元できるが、一方のみでは、権限情報206の復元が困難なようにするものである。
【００６３】
たとえば、第1スクランブル情報221と第2スクランブル情報222と、の一方は、権限情報206の暗号文とし、他方は、暗号文を復号するための復号鍵とすることができる。
【００６４】
このほか、権限情報206の情報列(たとえば、ビット列やバイト列。)を、偶数番目の要素からなる列と、奇数番目の要素からなる列と、に分割し、一方を第1スクランブル情報221に、他方を第2スクランブル情報222にすることも可能である。
【００６５】
リモコン131は、第1スクランブル情報221を特定情報202に含めて仲介装置111へ送るとともに、第2スクランブル情報222を外部サーバ171へ直接回付することにより、第2スクランブル情報を仲介装置111から外部サーバ171へ伝達する。
【００６６】
外部サーバ171は、第1スクランブル情報221と第2スクランブル情報222から権限情報206を復元し、復元した権限情報206に基づいて、端末121から送信された要求204に応じてサービスを提供するか否かを自ら、もしくは、確認装置172等に依頼することにより、判定する。
【００６７】
(端末IDによる確認)
外部サーバ171は、要求204を送信してきた端末121が、リモコン131で制御しようとしていた端末121であることの確認をしてから、サービスを提供することもできる。すなわち、当該確認を、サービス提供のための必要条件とすることができる。
【００６８】
図9は、本発明の実施例にて、要求を送信した端末がリモコンで制御されるべき端末であることの確認を外部サーバがする態様を示す説明図である。本図に示す例では、リモコン131から仲介装置111へ特定情報202が送付されるとともに、リモコン131から外部サーバ171へ、端末IDが指定された端末情報209が出力される。この場合、外部サーバ171は、要求204を送ってきた端末121の端末IDが、リモコン131から出力された端末情報209に指定された端末IDと一致するか否かの確認をした結果に基づいて、サービスを提供するか否かを決めることになる。
【００６９】
図10は、本発明の実施例にて、要求を送信した端末がリモコンで制御されるべき端末であることの確認を仲介装置がする態様を示す説明図である。本図に示す例では、特定情報202に指定された端末IDを、リモコン131から出力された端末情報209として取り扱う。すなわち、リモコン131から仲介装置111へ特定情報202が送付されると、仲介装置111は、特定情報202に指定された端末IDを端末情報209として取扱い、一定期間(たとえば、数秒ないし数分)記憶する。
【００７０】
一方、外部サーバ171へ端末121から要求204が送信されると、外部サーバ171は、当該要求の送信元の端末121の端末IDを取得して、当該端末IDに係る問合せ213を仲介装置111へ送る。
【００７１】
仲介装置111は、外部サーバ171からの問合せ213に係る端末IDを記憶しているか否かを表す回答214を返す。
【００７２】
外部サーバ171は、上記回答214に基づいて、端末121へ応答205を送信する。
【００７３】
記憶している旨の回答214がされた場合には、外部サーバ171は、当該要求を送信してきた端末121がリモコン131によって制御すべき端末121であることの確認ができたこととする。したがって、その他の提供条件が満たされた場合、たとえば、サービスを受けるためのサインインやログインが権限情報に基いて成功した場合には、外部サーバ171が端末121へ送信する応答205は、サービスを提供する提供応答となり、いずれかの提供条件が満たされない場合には、外部サーバ171が端末121へ送信する応答205は、サービスの提供を拒否する拒否応答となる。
【００７４】
また、記憶していない旨の回答がされた場合には、上記確認ができていないことになり、外部サーバ171が端末121へ送信する応答205は、サービスの提供を拒否する拒否応答となる。
【００７５】
図11は、本発明の実施例にて、要求を送信した端末がリモコンで制御されるべき端末であることの確認を確認装置がする態様を示す説明図である。本図に示す例では、リモコン131から確認装置172へ、端末IDを指定した端末情報209が出力される。
【００７６】
確認装置172は、端末IDを指定した問合せ213が外部サーバ171から送られると、当該問合せ213に係る端末IDがリモコン131から出力されているか否かに基づいて、サインインやログインの可否を決定し、外部サーバ171へ回答214を送る。
【００７７】
以上、サービス提供の可否を決めるために、権限情報206を参照するか否か、ならびに、端末121の確認をするか否か、の種々の態様を説明したが、これらは、任意に組み合わせが可能であり、いずれの態様も、本発明の範囲に含まれる。
【００７８】
また、上記の各形態およびその組合せの形態においては、ある端末IDに係る外部サーバ171に要求が到着した日時と、同じ端末IDに係る権限情報や端末情報が外部サーバ171等に到着した日時と、の差が、上記の仲介装置111の例にもあるように、所定閾期間(たとえば、数秒乃至数十秒。)以内に納まる場合に限って、サインインやログインを認めることとすることが望ましい。
【００７９】
(端末IDの提供)
上記のように、本実施形態では、リモコン131で操作する端末121を、リモコン131で特定するために、端末IDを参照する。この端末IDは、ユーザに割り当てられたユーザ名や、端末121に割り当てられたホスト名、IPアドレス、FQDN(Full Qualified Domain Name)等や、これらを組み合わせたもの、たとえば、ssh(Secure SHell)にてログインをする際に必要となる情報をまとめたもの等を利用することができる。
【００８０】
このほか、端末IDとして、端末121のブラウザやクライアントごとに重複なく割り当てられるものを採用することもできる。この態様では、1台の端末121で複数のブラウザやクライアントが動作する場合、これらを区別して特定するため、各ブラウザや各クライアントごとに、異なる端末IDが割り当てられることになる。以下、本態様について説明する。
【００８１】
端末IDは、ブラウザやクライアントが動作する端末121そのものが生成することによって取得しても良いし、仲介装置111に生成させて仲介装置111から取得するようにしても良い。生成された端末IDは、端末121が取得するとともに、リモコン131に提供して、リモコン131に記憶させる必要がある。
【００８２】
最も単純な提供のやり方は、端末121で動作するブラウザやクライアントが、取得された端末IDを画面に表示し、ユーザにリモコン131へ手で入力させる手法である。
【００８３】
手入力の煩雑を避けるため、端末IDを、QRコード(登録商標)等の二次元コードやバーコードによりコード化して画面に表示しても良い。この態様では、ユーザがリモコン131のカメラで画面に表示されたコードを撮影すると、リモコン131がこれをコード認識して端末IDを取得し、リモコン131へ登録することになる。
【００８４】
端末IDとして極めて長い文字列を採用する場合には、手入力やコード化が難しいこともある。この場合には、文字数の少ない一時コード(たとえば、4桁乃至8桁程度の数字)を一時的に端末IDに紐付けて、紐付けられた一時コードを端末121の画面に表示する手法もありうる。
【００８５】
端末IDと一時コードの関係は、URLと短縮URLの関係に類似している。典型的には、端末121は、リモコン131へ提供したい端末IDを、仲介装置111などへ知らせる。すると、仲介装置111は、一時的に、他と重複しない一時コードを生成し、当該一時コードと端末IDとを対応付けて記録する。
【００８６】
あるいは、端末IDと、当該端末IDに対応付けられる一時コードを仲介装置111が生成して、両者を端末121へ知らせることとしても良い。端末121は、仲介装置111から渡された端末IDを記憶して、以降の処理にて使用する。
【００８７】
端末121の画面に一時コードが表示されたことに応じて、リモコン131にてユーザから紐付けコードが入力されると、リモコン131は、入力された紐付けコードを仲介装置111へ通達する。ユーザから入力された紐付けコードは、ユーザの入力ミスや画像認識の誤りがない限り、画面に表示された一時コードと一致するはずである。
【００８８】
仲介装置111は、通達された紐付けコードに対応付けられて記録された端末IDがあれば、当該端末IDをリモコン131ヘ提供する。なければ、その旨をリモコン131ヘ知らせ、再入力等を促すメッセージをリモコン131に表示させる。
【００８９】
端末IDは、従来から利用されているブラウザ通信におけるセッションIDと同様に、仲介装置111にて生成して、端末121に取得させることができる。
【００９０】
このほか、端末121が自身の身元証明をするため、端末121にて公開鍵と秘密鍵の鍵対を生成し、端末121にて記録する態様では、公開鍵によって端末121を特定することができる。そこで、端末IDとして、公開鍵を特定するための鍵情報を利用する。
【００９１】
鍵情報としては、生成された公開鍵をそのまま利用することもできる。また、端末121が生成された公開鍵を公開鍵サーバに登録し、当該公開鍵に対応付けて登録した識別名を鍵情報として採用することとしても良い。
【００９２】
さて、リモコン131によって端末121で動作するブラウザを制御する場合には、当該ブラウザは、仲介装置111が公開している待機ページをロードする。待機ページがブラウザにロードされると、ブラウザは、待機ページに指定されたスクリプトプログラム(端末プログラム)を実行する。この実行によって、端末IDは、当該待機ページに紐付けられたブラウザクッキーやブラウザローカルストレージ等の端末121の記憶域に格納することができる。
【００９３】
また、リモコン131によって、端末121で動作するクライアントを制御する場合には、クライアント設定ファイル等の端末121の記憶域に端末IDが格納される。
【００９４】
端末121のブラウザが仲介装置111から待機ページをロードし、あるいは、端末121のクライアントが起動すると、以下の処理が実行される。以下では、理解を容易にするため、端末121にて端末IDが生成される手順を説明するが、上記のように、端末IDを仲介装置111にて生成することも可能であり、そのような態様も本実施形態に含まれる。図12は、端末における処理の制御の流れの例を示すフローチャートである。
【００９５】
すなわち、端末121は、記憶域に端末IDが格納されているか否かを調べる(ステップS301)。
【００９６】
格納されていなければ(ステップS301;No)、端末121は、自ら端末IDを生成し、もしくは、仲介装置111に生成させて(ステップS302)、記憶域に格納する(ステップS303)。
【００９７】
そして、端末121は、記憶域に格納された端末IDもしくはこれに紐付けられる一時コードを画面に表示することにより、リモコン131ヘ提供する(ステップS304)。端末121の画面に表示された一時コードをリモコン131にユーザが入力し、もしくはリモコン131のコードリーダがスキャンすると、リモコン131は、得られた一時コードを解読し、もしくは、他の機器に一時コードに対応付けられる端末IDを照会等をすることによって、端末IDを得る。なお、画面表示された一時コードをユーザが入力等するのではなく、Bluetooth(登録商標)や無線LANなどを介して端末121からリモコン131へ直接提供することも可能である。
【００９８】
この後、端末121は、図3に示すステップS251へ制御を進めることにより、記憶域に格納された端末IDを待機情報201に指定して仲介装置111に知らせることによって、仲介装置111からの指示を待機する。
【００９９】
一方、格納されていれば(ステップS301;Yes)、ステップS251へ制御を進める。
【０１００】
さて、仲介装置111からの指示を待機するためには、ウェブソケットやポーリングを採用することができる。
【０１０１】
ウェブソケットでは、仲介装置111との間の通信路を確立され、当該通信路を介して指示が伝達される。したがって、ウェブソケットが維持されていれば、端末121が仲介装置111からの指示を待機していることになる。
【０１０２】
ポーリングでは、端末IDを指定したリクエストが間欠的に端末121から仲介装置111へ送られ、当該リクエストに対するレスポンスによって、仲介装置111からの指示が伝達される。したがって、リクエストが間欠的に端末121から仲介装置111へ送られている間は、端末121が仲介装置111からの指示を待機していることになる。
【０１０３】
なお、IPv6等では、インターネットで利用されるすべての通信機器に重複なくIPアドレスが割り当てられる。したがって、あらかじめ端末121で特定のポートが仲介装置111に対して開放しておくと、一旦端末121から仲介装置111へ指示を待機している旨の情報を送った後は、仲介装置111から当該IPアドレスの当該ポートへ通信をすれば、仲介装置111から端末121へ指示を伝達することもできる。この場合は、ウェブソケットやポーリングによる接続は不要となる。
【０１０４】
このほか、仲介装置111に一時的に端末IDを記録し、一時コードを介して端末IDを提供する態様では、仲介装置111からリモコン131に端末IDが提供されたことを仲介装置111から端末121へ伝えることとし、これを契機として、ステップS304からステップS251へ進むこととしても良い。
【０１０５】
さて、記憶域に端末IDが既に格納されている場合(ステップS301;Yes)、端末121は、処理をステップS251に進める。このフローでは、初めて待機ページにアクセスしたりクライアントを起動したり、端末121の記憶域をクリアしたときだけ、端末IDの提供が行われることになる。
【０１０６】
このほか、端末IDとして利用される鍵情報が端末121の記憶域に記憶されている場合(ステップS301;Yes)、ステップS251ではなく、ステップS304へ進むこととしても良い(図示せず)。この態様では、リモコン131へ提供すべき端末IDもしくはこれに対する一時コードが、常に端末121の待機ページに表示されるので、リモコン131との紐付けをいつでも行うことができる。一方、ステップS301からステップS251へ進む態様は、仲介装置111に一時的に端末IDを記録し一時コードを介して端末IDを提供する場合に好適である。
【０１０７】
上記の説明では、記憶域に格納された端末IDをステップS251にて仲介装置111に知らせているが、既にブラウザクッキーに端末IDが格納されている場合には、待機ページを仲介装置111からロードするためのリクエストに当該端末IDも指定されることになる。したがって、記憶域に端末IDが格納されている場合で、仲介装置111からの指示を待機するための通信路をウェブソケットにより確立する場合には、ステップS251において端末IDを知らせる処理を省略し、ステップS252に進むことも可能である。
【０１０８】
(外部サーバへの登録と権限情報の取得)
権限情報をリモコン131から外部サーバ171へ回付して、端末121からのログインやサインインを可能とする態様では、各種サービスに対する権限情報がリモコン131内に蓄積されることになる。そこで、リモコン131内に蓄積された権限情報を用いることで、新たなサービスへの自動登録を行うことが可能となる。
【０１０９】
本態様では、リモコン131に、多数のサービスのサービスIDのリストを記憶させておく。このリストは、たとえば仲介装置111から取得される。リストに含まれるサービスIDは、たとえば仲介装置111の運営者により公認された信頼度の高いサービス、すなわち、自動でアカウント登録をした場合の危険が少ないサービスにかかるものである。
【０１１０】
図13は、リモコンにおける処理の制御の流れの例を示すフローチャートである。以下、本図を参照して説明する。
【０１１１】
本態様では、まず、リモコン131は、ユーザに、これから利用しようとするサービスのサービスIDを選択させる(ステップS401)。
【０１１２】
選択されたサービスIDに対する権限情報が、既にリモコン131に登録されていれば(S402;Yes)、当該権限情報を、当該サービスIDに係る外部サーバ171に回付するとともに、選択されたサーバIDに係る特定情報を仲介装置111へ送付して(ステップS403)、制御をステップS401へ戻す。
【０１１３】
一方、選択されたサービスIDに対する権限情報がまだリモコン131に登録されていなければ(ステップS402;No)、リモコン131は、既にリモコン131に登録済みの権限情報から個人情報を収集する(ステップS404)。
【０１１４】
上記のように、リモコン131に記憶されたリスト内に含まれるサービスIDを有するサービスは公認のものであり、アカウント登録にどのような必要な個人情報の種類についても、当該リスト内に用意しておけば、登録情報を生成することができる。
【０１１５】
アカウント登録に必要な個人情報が十分に収集できなかった場合(ステップS405;No)、たとえば、リモコン131を使い始めて間もない場合には、リモコン131は、ユーザに対して、選択したサービスIDにおけるアカウント登録において、収集したものでは不足している個人情報の入力を求める(ステップS406)。
【０１１６】
たとえば、リモコン131を初めて使う際には、リモコン131には個人情報が登録されていない。ここで、メールアドレスがアカウント登録に必要なサービスAをユーザが選択すると、リモコン131は、メールアドレスの入力をユーザに求めることになる。
【０１１７】
次に、メールアドレスと氏名と生年月日がアカウント登録に必要なサービスBをユーザが選択すると、リモコン131は、メールアドレスについては、既に入力済のものを利用し、氏名と生年月日については、ユーザに入力を求めることになる。
【０１１８】
このように、リモコン131内に登録されていない個人情報がアカウント登録に必要であることが発見されるごとに、リモコン131は、当該個人情報の入力をユーザに求めるが、一旦リモコン131に登録がされると、ユーザは、その個人情報を再度入力する必要はなくなる。
【０１１９】
なお、アカウント登録に際して固定パスワードが必要な場合には、リモコン131がランダムにパスワードを生成して、当該サービス専用の個人情報とすれば良い。
【０１２０】
アカウント登録に必要な個人情報が十分に収集できた場合(ステップS405;Yes)、および、不足していた個人情報が入力された場合(ステップS406)、収集もしくは入力された個人情報に基いて、選択されたサービスIDにおけるアカウント登録に必要な登録情報を生成する(ステップS407)。
【０１２１】
そして、リモコン131は、当該登録情報を指定する登録要求を、選択されたサービスIDに係る外部サーバ171へ送信する(ステップS408)。
【０１２２】
すると、外部サーバ171では、新規アカウントが登録されると、外部サーバ171から、当該サービスIDに係る登録応答がリモコン131へ送信される。
【０１２３】
ここで登録応答に指定される権限情報の最も単純な態様は、アカウント登録に成功した旨を表すものである。この場合は、送信した個人情報、あるいは、その一部(たとえば、ユーザ名とパスワード)を、そのまま権限情報として採用することになる。いずれの個人情報を権限情報に採用するか、は、リモコン131に記憶されるリスト内にてサービスごとにあらかじめ指定しておくことができるほか、登録情報において外部サーバ171が選択することも可能である。
【０１２４】
また、登録要求に指定された個人情報のうち、今後のサインインやログインにて権限情報として利用する個人情報を、登録応答に直接あるいは暗号化して指定しても良い。
【０１２５】
このほか、登録応答に外部サーバ171が発行したアクセスキー、利用証明書、アクセストークン、ワンタイムパスワード生成用シード等を指定しても良い。アクセスキー、利用証明書、アクセストークン等は、以降の当該サービスに対するサインインやログインの際に、そのまま権限情報として利用することができる。
【０１２６】
ワンタイムパスワード生成用シードが登録応答に指定された場合には、権限情報が必要になるごとに、リモコン131で、当該シードからワンタイムパスワードを生成して、生成されたワンタイムパスワードを権限情報とする。ワンタイムパスワードは、1回限り使用して使い捨てられるものとしても良いし、外部サーバ171と時刻同期するものを採用することもできる。
【０１２７】
リモコン131は、登録応答を受信すると(ステップS409)、受信された登録応答に基づいて、サービスIDに対する権限情報を記録し(ステップS410)、制御をステップS403に進める。これ以降の処理で、リモコン131は、選択されたサーバIDに係る当該権限情報を選択されたサーバIDに係る外部サーバ171へ回付するとともに、選択されたサーバIDに係る特定情報を仲介装置111へ送付することになる。
【０１２８】
なお、アカウントの登録に失敗した場合は、外部サーバ171から失敗応答がリモコン131へ送られるように構成することができる。リモコン131が失敗応答を受信すると、その旨がリモコン131が画面に表示されて、アカウント登録に失敗した旨が報告される(図示せず)。
【０１２９】
(端末IDの確認)
図3に示すように、リモコン131から仲介装置111へ特定情報が送付される(ステップS272)と、仲介装置111は、当該特定情報に基いた指示を端末121へ伝達する(ステップS265)。指示を待機(ステップS252)していた端末121は、指示が伝達されると、伝達された指示に指定されたサービスに係る要求を、当該サービスに係る外部サーバ171へ送信する(ステップS253)。
【０１３０】
当該要求が外部サーバ171によって受信されると、外部サーバ171は、上記のように、要求に指定された情報を参照し、仲介装置111や確認装置172に問い合わせを行い、リモコン131から回付された情報があればこれを参照して、サービス提供の可否を決め、決めた結果に応じた応答を端末121へ送信する。
【０１３１】
端末121は、応答を受信し(ステップS254)、当該応答が提供応答であれば、当該端末121を介したサービスの提供を開始し、そうでなければエラーの報告等を行う。
【０１３２】
なお、端末IDとして、公開鍵に関する鍵情報を利用している場合には、端末121は、外部サーバ171へ要求を送信する際に、自身の秘密鍵に基づく電子署名をすることができる。
【０１３３】
外部サーバ171や確認装置172等において、要求を送信した端末121がリモコン131により制御すべき端末121であるか否かの確認をするには、リモコン131により制御すべきものとされた端末121の端末IDを構成する鍵情報により特定された公開鍵によって、端末121から送られた電子署名を検証すれば良い。
【０１３４】
(アカウント登録に用いる個人情報の選択)
登録情報を生成するにあたって、ユーザに対し、いずれの個人情報をリモコン131から外部サーバ171に伝えるか、を選択させても良い。
【０１３５】
アカウント登録に必要ないずれかの個人情報を登録情報に含めない場合には、ユーザは、外部サーバ171にて不足している個人情報を入力する必要がある。
【０１３６】
そこで、この場合は、リモコン131から仲介装置111へ、以下のような情報を含む特定情報を送付すれば良い。
【０１３７】
まず、制御すべき端末の端末IDである。これは、上記の説明と同様である。
【０１３８】
次に、「ユーザが選択した所望のサービスにおけるアカウント登録」という登録サービスを、当該端末にて受けるべきサービスとする。
【０１３９】
そして、リモコン131から外部サーバ171に伝える旨が選択された個人情報を、特定情報に含めるようにする。
【０１４０】
このような特定情報が仲介装置111へ送付されると、仲介装置111は、当該端末IDに係る端末へ、所望のサービスに対する登録サービスを指定する指示を、特定情報に含められた個人情報とともに、伝達する。
【０１４１】
所望のサービスがブラウザを介して提供される場合には、当該指示にて、当該サービスにおけるアカウント登録用のフォームに係るURLと、当該フォームの各フィールドに充当すべき個人情報であってユーザが外部サーバ171へ伝えることを選択したものと、が当該指示に指定される。
【０１４２】
この指示に応じて、端末121は、外部サーバ171へ、アカウント登録に係る要求を送信する。所望のサービスがウェブサービスである場合、当該アカウント登録に係る要求に応じて、外部サーバ171は、ユーザにより選択された個人情報は充当されているが、ユーザが選択しなかった個人情報のフィールドが空欄になっている登録フォームを、応答として返すので、ユーザは、端末121のブラウザにて、不足している個人情報を直接入力して、アカウント登録を進めれば良い。
【０１４３】
このようにしてアカウント登録が完了すると、外部サーバ171からリモコン131へ、登録応答が送られる。リモコン131は、登録応答に指定された権限情報を記録することによって、これ以降に、当該サービスが選択された場合に、自動でサインインやログインができるようにする。
【０１４４】
上記の説明では、登録要求および登録応答は、リモコン131と外部サーバ171との間でなされているが、外部サーバ171が各種の認証を確認装置172や仲介装置111へ委任している場合には、リモコン131と確認装置172あるいは仲介装置111との間で、登録要求および登録応答が送受されることとしても良い。また、確認装置172や仲介装置111が、リモコン131と外部サーバ171との間の登録要求および登録応答の送受を中継もしくは仲介することとしても良い。
【０１４５】
このほか、外部サーバ171にてサービスを利用する毎に、リモコン131に記録された個人情報のうち必要なものを収集し、権限情報として外部サーバ171へ回付することとしても良い。この態様では、サービスを提供する際には、常に、サービスを提供するための条件としてリモコン131から回付された個人情報を利用することができる。したがって、外部サーバ171で登録アカウントに対する個人情報を維持管理する必要がない。したがって、外部サーバ171からの個人情報の漏洩等を防止することができる。
【０１４６】
(ブラウザにおける構成)
端末121にて動作するウェブサービスを外部サーバ171から受ける際に、リモコン131による制御をする態様では、上記のように、ユーザは、ブラウザを操作して仲介装置111から待機ページをロードする。待機ページは、ブラウザで動作するスクリプトプログラムが指定されており、当該プログラムは、仲介装置111に対して、指示を待機している旨を伝える。
【０１４７】
一般に、ブラウザにウェブページがロードされると、その内容が、当該ブラウザのウィンドウもしくはタブに描画され、当該ウェブページに指定されたスクリプトプログラムは、当該ウィンドウもしくはタブにて実行される。端末121の画面には、当該ウィンドウもしくはタブが表示される。以下、待機ページがロードされたウィンドウもしくはタブを、「第1ウィンドウ」と呼ぶことにする。
【０１４８】
待機ページがロードされた第1ウィンドウにてスクリプトプログラムが実行され、仲介装置111からブラウザへ指示が伝達されると、第1ウィンドウで動作するスクリプトプログラムは、当該指示に基づく要求を、外部サーバ171へ送信する。この要求の送信については、種々の態様が採用できる。
【０１４９】
最も単純には、要求を、第1ウィンドウから送信することができる。この場合、第1ウィンドウは、待機ページから、外部サーバ171からの応答を表示する応答ページに遷移して、外部サーバ171に係るサービスは第1ウィンドウを介して提供される。そして、待機ページが表示されるウィンドウもしくはタブがなくるので、待機ページに指定されたスクリプトプログラムも終了され、ブラウザは、仲介装置111からの指示の待機をやめることになる。
【０１５０】
次に、第1ウィンドウから新たなウィンドウもしくはタブを生成し、生成されたウィンドウもしくはタブ(以下「第2ウィンドウ」と呼ぶ。)から要求を送信することもできる。
【０１５１】
ブラウザでは、セキュリティ上の制約から、独立に生成された2つのウィンドウ同士が互いを制御することは不可能となっていることが多いが、第1ウィンドウにてスクリプトプログラムを実行することにより生成された第2ウィンドウを、当該スクリプトプログラムにて第1ウィンドウから制御することは可能となっている。本態様は、このようなブラウザの機能を利用するものである。
【０１５２】
この態様では、待機ページは第1ウィンドウに表示され、外部サーバ171からの応答は第2ウィンドウに表示される。したがって、外部サーバ171からのサービスが第2ウィンドウを介して提供されている間も、端末121は、第1ウィンドウを介して仲介装置111からの指示を待機し続けることになる。
【０１５３】
ここで、テレビ放送の視聴では、チャンネルを短時間で切り換えて、好みの番組を探す行為は「ザッピング」と呼ばれることがある。待機ページは第1ウィンドウに、外部サーバ171からのサービスが第2ウィンドウに、それぞれ表示されている状況下で、ユーザがリモコン131を操作し、別のサービスを選択したとする。
【０１５４】
第1ウィンドウの待機ページを介して新たな指示が伝達され、既に第1ウィンドウの子ウィンドウである第2ウィンドウがある場合に、第2ウィンドウから、新たなサービスに係る要求を当該新たなサービスに係る新たな外部サーバ171へ送信すれば、第2ウィンドウにて提供されるサービスが、新たなサービスに切り換わることになる。したがって、テレビ放送の視聴におけるザッピングと同じようなブラウザ閲覧体験をユーザに提供することができる。
【０１５５】
このほか、第1ウィンドウの待機ページを介して新たな指示が伝達され、既に第1ウィンドウの子ウィンドウである第2ウィンドウがある場合であっても、新たなウィンドウもしくはタブ(以下「第3ウィンドウ」と呼ぶ)を生成し、生成された第3ウィンドウから新たなサービスに係る要求を当該新たなサービスに係る新たな外部サーバ171へ送信することもできる。この場合は、ブラウザの第1ウィンドウでは待機ページが、第2ウィンドウでは前のサービスのコンテンツが、第3ウィンドウでは新たなサービスのコンテンツが、それぞれ表示されることになる。
【０１５６】
待機ページを表示する第1ウィンドウと、リモコン131により制御されたサービスを提供する第2ウィンドウと、がブラウザで表示されているときに、新たなサービスがリモコン131で選択された場合、第2ウィンドウで新たなサービスを提供する(ザッピング)か、新たに生成された第3ウィンドウで新たなサービスを提供する(新規ウィンドウ)か、は、リモコン131でユーザが適宜選択したりあらかじめ設定できるようにしても良い。
【０１５７】
このほか、第2ウィンドウの状況によって、ザッピングか新規ウィンドウか、を切り換えることも可能である。すなわち、第2ウィンドウでサービスXを提供しているときに、サービスYに係る指示が第1ウィンドウを介して伝達されると、ザッピング条件が満たされれば、サービスYに係る要求を第2ウィンドウから送信し、第2ウィンドウをサービスXからサービスYへ遷移させる。ザッピング条件が満たされなければ、第1ウィンドウから新たな第3ウィンドウを生成し、第3ウィンドウからサービスYに係る要求を送信する。ザッピング条件の成否については、以下のような態様が考えられる。
【０１５８】
たとえば、ユーザがザッピングをしている状況は、短時間でサービスを切り換える選択をリモコン131でしている場合と考えられる。そこで、第2ウィンドウでサービスXの提供が開始されてから所定の猶予時間(たとえば数秒程度)が経過するまでは、サービスYに係る指示が伝達されても、ザッピング条件が満たされるものとする。これは、リモコン131で短時間でサービスを切り換えている場合には、ユーザはサービスXを消してサービスYへ移行するザッピングを意図しているものと推定していることになる。
【０１５９】
また、第2ウィンドウでサービスXが提供されている間に、ユーザが端末121の第2ウィンドウをフォーカスしたり、第2ウィンドウへマウスカーソルを移動させたり、第2ウィンドウのコンテンツをスクロールしたり、第2ウィンドウのコンテンツをクリックしたり等の後は、ザッピング条件は満たされない、とすることができる。本態様では、サービスXについては、ユーザが興味を持ったと考え、サービスXを消すことなく、リモコン131の操作でサービスYを新規ウィンドウで提供することになる。
【０１６０】
たとえば、第2ウィンドウのコンテンツがスクロールされたか否かは、第1ウィンドウのスクリプトプログラムで調べるには、第2ウィンドウのpageXOffset, pageYOffset, scrollX, scrollYなどのプロパティが変化したか否かにより、判定することができる。
【０１６１】
このほか、第2ウィンドウに係るブラウザのアドレス欄に直接他のURLを入力したり、第2ウィンドウのコンテンツに含まれるリンクを操作して他のサービスに遷移したり等の後は、ザッピング条件は満たされない、とすることができる。これは、ユーザが興味を持っていることを、リモコン131を介さずに、直接ブラウザに指示したと、想定する態様である。
【０１６２】
なお、上記のザッピング条件の種々の態様は、適宜組み合わせることも可能である。
【０１６３】
本実施形態では、待機ページに係る第1ウィンドウから、サービスを提供する第2ウィンドウ等を制御することが可能である。そこで、ユーザがリモコン131にてサービスを終了する旨の選択をすると、その旨が仲介装置111に送付され、仲介装置111が端末121のブラウザへその旨の指示を伝達すると、待機ページに係る第1ウィンドウからサービスに係る第2ウィンドウ等を閉じて、サービスの提供を終了する態様を採用することもできる。
【０１６４】
図14は、ザッピング条件を採用した端末における処理の制御の流れの例を示すフローチャートである。本図に示す処理は待機ページを第1ウィンドウへロードすることによって開始され、図3のステップS251-S254に、さらに処理を追加したものに相当する。
【０１６５】
まず、端末121は、端末IDを指定した待機情報201を仲介装置111へ送り(ステップS251)、仲介装置111から指示が伝達されるのを待機する(ステップS252)。
【０１６６】
仲介装置111から指示が伝達されると、端末121は、第1ウィンドウから最後に生成された新規ウィンドウがまだ閉じられていないか調べる(ステップS281)。閉じられていなければ(ステップS281;No)、当該新規ウィンドウについてザッピング条件が満たされるか否かを調べる(ステップS282)。
【０１６７】
ザッピング条件が満たされない場合(ステップS282;No)、ならびに、最後に生成された新規ウィンドウが既に閉じられている場合(ステップS281;Yes)、端末121は、第1ウィンドウから新規ウィンドウを生成し(ステップS283)、最後に生成された新規ウィンドウから要求を送信して(ステップS253)、サービスを提供するが(ステップS254)、これと並行して、第1ウィンドウにおける制御をステップS251に戻す。
【０１６８】
ザッピング条件が満たされる場合(ステップS282;Yes)、ステップS253に処理を進めることにより、すでに生成済みの新規ウィンドウを、新たなサービスに切り換える。
【０１６９】
(端末認証とアプリケーション認証)
リモコン131の使用を開始する際、あるいは、リモコン131にてサービスIDを選択する際には、適宜、リモコン131そのものに対する認証や、リモコン131にて動作するリモコンプログラムに対する認証を実行することもできる。
【０１７０】
たとえば、今日販売されているスマートフォンには、端末ロック機能を有するものがあり、ロックを解除するために、暗証番号を入力したり、指紋認証、声紋認証、顔認証等の生体認証を行うものがある。本実施形態のリモコン131は、これらの端末認証と組み合わせることができる。
【０１７１】
また、リモコンプログラムにおいても、リモコンプログラムを起動した際、あるいは、サービスIDを選択する際に、上記の認証をすることとしても良い(アプリケーション認証)。アプリケーション認証において、一旦認証に成功した後は、一定時間(たとえば、数分乃至数十分)は、再度の認証を省略することもできる。
【０１７２】
また、アプリケーション認証が一旦成功し、端末121にて外部サーバ171からサービスの提供を受けることができた後も端末121が指示を待機し続けている間は、アプリケーション認証を省略することとしても良い。
【０１７３】
また、上記の認証に加えて、もしくは、上記の認証にかえて、特許文献1に開示される選択順序による認証を利用することもできる。
【０１７４】
すなわち、リモコン131は、複数の桝目からなる表(各桝目はランダムに埋められていても良いし空欄でも良い。)を画面に表示し、ユーザに桝目を選択させる。ユーザが桝目を選択した位置と順序が、ユーザに割り当てられた選択順序にしたがっていれば、認証は成功し、そうでなければ失敗する、というものである。
【０１７５】
リモコン131に保管される個人情報や権限情報を暗号化しておき、リモコンプログラムにおいて認証を実行した際に入力されるべき暗証番号、生体情報、選択順序等によって個人情報や権限情報を解読できるようにしても良い。この態様では、リモコン131を盗難等された場合であっても、アプリケーション認証が成功しない限り、ユーザの個人情報や権限情報が漏洩することを抑制することができる。
【０１７６】
(まとめ)
以上説明した通り、本実施形態に係るリモコンシステムは、仲介装置と、端末と、リモコンと、を備え、
(a)前記端末は、前記仲介装置から伝達されるべき指示を待機し、
(b)前記リモコンは、制御すべき端末および当該端末にて受けるべきサービスを特定する特定情報を、前記仲介装置へ送付し、
(c)前記仲介装置は、前記送付された特定情報により特定された端末が待機していれば、前記送付された特定情報により特定されるサービスを指定する指示を、前記待機する端末へ伝達し、
(d)前記待機する端末は、前記伝達された指示に指定されたサービスに係る要求を、前記伝達された指示に指定されたサービスに係るサーバへ送信する
リモコンシステムであって、
前記サーバは、前記要求を送信した端末が前記制御すべき端末であることの確認をしてから、前記サービスを提供する。
【０１７７】
また、本実施形態に係るリモコンシステムにおいて、
前記サーバは、前記要求を送信した端末が、前記仲介装置へ送付された特定情報により特定されているか否かを、前記仲介装置に問い合わせることにより、前記確認をする
ように構成することができる。
【０１７８】
また、本実施形態に係るリモコンシステムにおいて、
前記リモコンは、前記制御すべき端末を特定する端末情報を確認装置へ出力し、
前記サーバは、前記要求を送信した端末が、前記確認装置へ出力された端末情報により特定されているか否かを、前記確認装置に問い合わせることにより、前記確認をする
ように構成することができる。
【０１７９】
また、本実施形態に係るリモコンシステムにおいて、
前記リモコンは、前記制御すべき端末を特定する端末情報を前記サーバへ出力し、
前記サーバは、前記要求を送信した端末が、前記出力された端末情報により特定されているか否かにより、前記確認をする
ように構成することができる。
【０１８０】
また、本実施形態に係るリモコンシステムにおいて、
前記端末には、公開鍵および秘密鍵の鍵対が割り当てられ、
前記端末情報は、前記端末に割り当てられた公開鍵を特定する鍵情報により、前記制御すべき端末を特定し、
前記端末は、前記秘密鍵による電子署名とともに、前記要求を送信し、
前記要求とともに送信された電子署名を、前記端末情報に係る公開鍵によって検証することにより、前記要求を送信した端末が、前記確認装置へ出力された端末情報により特定されているか否かが判定される
ように構成することができる。
【０１８１】
また、本実施形態に係るリモコンシステムにおいて、
前記端末に前記鍵対が記録されて
(p)いれば、
前記端末は、前記指示を待機するため、前記鍵情報を前記仲介装置へ連絡し、
前記仲介装置は、前記連絡された鍵情報により、前記待機する端末を特定し、
(q)いなければ、前記端末は、
前記鍵対を取得して記録し、
前記取得された鍵対に係る公開鍵を特定する鍵情報を前記リモコンへ提供する
ように構成することができる。
【０１８２】
また、本実施形態に係るリモコンシステムにおいて、
前記端末は、前記鍵対に係る公開鍵を前記端末を特定する識別名に対応付けて公開鍵サーバを介して公開し、
前記公開鍵に対応付けられる前記識別名を前記鍵情報とする
ように構成することができる。
【０１８３】
また、本実施形態に係るリモコンシステムにおいて、
前記端末は、前記鍵情報をコード化したコード画像を画面に表示し、
前記リモコンは、前記画面に表示されたコード画像をコード認識する
ことにより、前記鍵情報が前記端末から前記リモコンへ提供される
ように構成することができる。
【０１８４】
また、本実施形態に係るリモコンシステムにおいて、
前記端末にて、前記鍵対が取得されると、前記仲介装置は、一時コードに前記鍵情報を対応付けて一時的に記録し、
前記端末は、前記一時コードを画面に表示し、
前記リモコンは、前記画面に表示された一時コードからユーザが知得した紐付けコードの入力を受け付けると、当該紐付けコードを前記仲介装置に通達し、
前記仲介装置は、前記通達された紐付けコードに合致する一時コードに対応付けて一時的に記録された鍵情報を、前記リモコンに提供する
ように構成することができる。
【０１８５】
また、本実施形態に係るリモコンシステムにおいて、
前記リモコンは、前記サービスに対応付けて前記リモコンに記録された権限情報を、前記サーバへ回付し、
前記サーバは、前記回付された権限情報に基づいて、前記端末に前記サービスを提供する
ように構成することができる。
【０１８６】
また、本実施形態に係るリモコンシステムにおいて、
前記リモコンは、前記権限情報を前記特定情報に含め、
前記仲介装置は、前記特定情報に含められた前記権限情報を前記指示に指定する
ことにより、前記権限情報が、前記リモコンから前記サーバへ前記仲介装置を介して回付される
ように構成することができる。
【０１８７】
また、本実施形態に係るリモコンシステムにおいて、
前記リモコンは、
前記権限情報に基いて、第1スクランブル情報および第2スクランブル情報を生成し、
前記端末情報を出力するとともに、前記サーバへ、前記第1スクランブル情報を回付し、
前記第2スクランブル情報を前記特定情報に含めることにより前記仲介装置を介して、前記サーバへ回付し、
前記サーバは、前記回付された第1スクランブル情報と、前記回付された第2スクランブル情報と、から、前記権限情報を復元する
ように構成することができる。
【０１８８】
また、本実施形態に係るリモコンシステムにおいて、
前記リモコンに、前記サービスに係る権限情報が記録されていなければ、
前記リモコンに記録された他のサービスに係る他の権限情報から、前記サービスに対する登録情報を生成し、
前記生成された登録情報を指定する登録要求を前記サービスに係るサーバへ送信することにより、前記サーバに新規アカウントを登録し、
前記登録したサーバから、前記登録された新規アカウントに係る権限情報が指定された登録応答を受信し、
前記受信された登録応答に基づいて、前記サービスに係る権限情報を、前記選択されたサービスに対応付けて記録してから、
前記サービスに対応付けて前記記録された権限情報を、当該サービスに係るサーバへ回付する
ように構成することができる。
【０１８９】
また、本実施形態に係るリモコンシステムにおいて、
前記サービスは、VDI(Virtual Desktop Infrastructur)、RDS(Remode Desktop Service)を含む仮想デスクトップサービスであり、
前記端末は、前記仮想デスクトップサービス用のクライアントが動作するコンピュータであり、
前記サーバは、前記仮想デスクトップサービス用のサーバである
ように構成することができる。
【０１９０】
また、本実施形態に係るリモコンシステムにおいて、
前記端末は、ブラウザが動作するコンピュータであり、
前記ブラウザが前記仲介装置から待機ページをロードすることにより、前記端末は前記指示を待機し、
前記特定情報により、前記端末にて動作する前記ブラウザが特定され、
前記要求は、前記ブラウザが前記サービスに係る提供ページへ遷移するための遷移要求である
ように構成することができる。
【０１９１】
本実施形態に係るリモコンシステムは、仲介装置と、ブラウザが動作する端末と、リモコンと、を備え、
(a)前記端末にて動作するブラウザは、前記仲介装置から待機ページをロードすることにより、前記仲介装置から伝達されるべき指示を待機し、
(b)前記リモコンは、制御すべきブラウザおよび当該ブラウザにて受けるべきサービスを特定する特定情報を、前記仲介装置へ送付し、
(c)前記仲介装置は、前記送付された特定情報により特定されたブラウザが待機していれば、前記送付された特定情報により特定されるサービスを指定する指示を、前記待機するブラウザへ伝達し、
(d)前記待機するブラウザは、前記伝達された指示に指定されたサービスに係る提供ページへ遷移するための遷移要求を、前記伝達された指示に指定されたサービスに係るサーバへ送信する。
【０１９２】
また、本実施形態に係るリモコンシステムにおいて、
前記ブラウザは、
前記待機ページを、前記ブラウザの第1ウィンドウもしくはタブへロードし、
前記第1ウィンドウもしくはタブから第2ウィンドウもしくはタブを生成し、
前記遷移要求を、前記生成された第2ウィンドウもしくはタブから送信し、
前記第2ウィンドウもしくはタブへロードされた前記サービスページにて前記サービスの提供が開始された後も、前記第1ウィンドウもしくはタブへロードされた前記待機ページにより、前記仲介装置から伝達されるべき新たな指示を待機する
ように構成することができる。
【０１９３】
また、本実施形態に係るリモコンシステムにおいて、
前記ブラウザは、前記新たな指示が伝達されると、前記第2ウィンドウもしくはタブにてザッピング条件が満たされて
いれば、前記第2ウィンドウもしくはタブから、前記新たな指示に係る新たな遷移要求を送信し、
いなければ、前記第1ウィンドウもしくはタブから第3ウィンドウもしくはタブを生成し、当該生成された第3ウィンドウもしくはタブから、前記新たな遷移要求を送信する
ように構成することができる。
【０１９４】
また、本実施形態に係るリモコンシステムにおいて、
前記第2ウィンドウもしくはタブへロードされた前記サービスページにて前記サービスの提供が開始されてから所定の猶予期間が経過するまでは、前記ザッピング条件は満たされる
ように構成することができる。
【０１９５】
また、本実施形態に係るリモコンシステムにおいて、
前記第2ウィンドウもしくはタブにて前記サービスの提供が開始された後、他のサービスが提供されていれば、前記ザッピング条件は満たされない
ように構成することができる。
【０１９６】
また、本実施形態に係るリモコンシステムにおいて、
前記第2ウィンドウもしくはタブにて前記サービスの提供が開始された後、前記第2ウィンドウもしくはタブに対する操作が前記端末にてなされれば、前記ザッピング条件は満たされない
ように構成することができる。
【０１９７】
本実施形態に係るリモコン方法は、仲介装置と、端末と、リモコンと、を備えるリモコンシステムにおいて、
(a)前記端末が、前記仲介装置から伝達されるべき指示を待機し、
(b)前記リモコンが、制御すべき端末および当該端末にて受けるべきサービスを特定する特定情報を、前記仲介装置へ送付し、
(c)前記送付された特定情報により特定された端末が待機していれば、前記仲介装置が、前記送付された特定情報により特定されるサービスを指定する指示を、前記待機する端末へ伝達し、
(d)前記待機する端末が、前記伝達された指示に指定されたサービスに係る要求を、前記伝達された指示に指定されたサービスに係るサーバへ送信する
リモコン方法であって、
前記サーバは、前記要求を送信した端末が前記制御すべき端末であることの確認をしてから、前記サービスを提供する。
【０１９８】
本実施形態に係るリモコン方法は、仲介装置と、ブラウザが動作する端末と、リモコンと、を備えるリモコンシステムにおいて、
(a)前記端末にて動作するブラウザが、前記仲介装置から待機ページをロードすることにより、前記仲介装置から伝達されるべき指示を待機し、
(b)前記リモコンが、制御すべきブラウザおよび当該ブラウザにて受けるべきサービスを特定する特定情報を、前記仲介装置へ送付し、
(c)前記送付された特定情報により特定されたブラウザが待機していれば、前記仲介装置が、前記送付された特定情報により特定されるサービスを指定する指示を、前記待機するブラウザへ伝達し、
(d)前記待機するブラウザが、前記伝達された指示に指定されたサービスに係る提供ページへ遷移するための遷移要求を、前記伝達された指示に指定されたサービスに係るサーバへ送信する。
【０１９９】
本実施形態に係るプログラムは、仲介装置により実行される仲介プログラムと、端末により実行される端末プログラムと、リモコンにより実行されるリモコンプログラムと、を備え、
(a)前記端末プログラムは、前記端末に、前記仲介装置から伝達されるべき指示を待機する処理を実行させ、
(b)前記リモコンプログラムは、前記リモコンに、制御すべき端末および当該端末にて受けるべきサービスを特定する特定情報を、前記仲介装置へ送付する処理を実行させ、
(c)前記仲介プログラムは、前記仲介装置に、前記送付された特定情報により特定された端末が待機していれば、前記送付された特定情報により特定されるサービスを指定する指示を、前記待機する端末へ伝達する処理を実行させ、
(d)前記端末プログラムは、前記待機する端末に、前記伝達された指示に指定されたサービスに係る要求を、前記伝達された指示に指定されたサービスに係るサーバへ送信する処理を実行させ、
前記サーバは、前記要求を送信した端末が前記制御すべき端末であることの確認をしてから、前記サービスを提供する。
【０２００】
本実施形態に係るプログラムは、仲介装置により実行される仲介プログラムと、端末にて動作するブラウザが前記仲介装置から待機ページをロードすることにより前記ブラウザへ配流されて前記ブラウザにより実行される端末プログラムと、リモコンにより実行されるリモコンプログラムと、を備え、
(a)前記端末プログラムは、前記端末にて動作するブラウザに、前記仲介装置から伝達されるべき指示を待機する処理を実行させ、
(b)前記リモコンプログラムは、前記リモコンに、制御すべきブラウザおよび当該ブラウザにて受けるべきサービスを特定する特定情報を、前記仲介装置へ送付する処理を実行させ、
(c)前記仲介プログラムは、前記仲介装置に、前記送付された特定情報により特定されたブラウザが待機していれば、前記送付された特定情報により特定されるサービスを指定する指示を、前記待機するブラウザへ伝達する処理を実行させ、
(d)前記端末プログラムは、前記待機するブラウザに、前記伝達された指示に指定されたサービスに係る提供ページへ遷移するための遷移要求を、前記伝達された指示に指定されたサービスに係るサーバへ送信する処理を実行させる。
【０２０１】
本実施形態に係る非一時的なコンピュータ読取可能な情報記録媒体は、上記の仲介プログラムを記録する。
【０２０２】
本実施形態に係る非一時的なコンピュータ読取可能な情報記録媒体は、上記の端末プログラムを記録する。
【０２０３】
本実施形態に係る非一時的なコンピュータ読取可能な情報記録媒体は、上記のリモコンプログラムを記録する。
【０２０４】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【０２０５】
本発明によれば、端末をリモコンから制御してサービスの提供を受けるのに好適なリモコンシステム、リモコン方法、プログラム、ならびに、情報記録媒体を提供することができる。
【符号の説明】
【０２０６】
101 リモコンシステム
111 仲介装置
121 端末
131 リモコン
171 外部サーバ
172 確認装置
191 インターネット
201 待機情報
202 特定情報
203 指示
204 要求
205 応答
206 権限情報
209 端末情報
213 問合せ
214 回答
221 第1スクランブル情報
222 第2スクランブル情報
【図１】
2020107332.tif 000003
【図２】
2020107332.tif 000004
【図３】
2020107332.tif 000005
【図４】
2020107332.tif 000006
【図５】
2020107332.tif 000007
【図６】
2020107332.tif 000008
【図７】
2020107332.tif 000009
【図８】
2020107332.tif 000010
【図９】
2020107332.tif 000011
【図１０】
2020107332.tif 000012
【図１１】
2020107332.tif 000013
【図１２】
2020107332.tif 000014
【図１３】
2020107332.tif 000015
【図１４】
2020107332.tif 000016