(57)【特許請求の範囲】
【請求項１】
ユーザが使用する端末機と、情報通信を行うＷｅｂサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Ｗｅｂサーバから前記デバイスに対して、Ｗｅｂサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる検索システムであって、
前記デバイスが前記アクセス権を取得する処理を代理する検索サーバを更に備え、
前記検索サーバは、
前記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Ｗｅｂサーバに対してトークン代理要求として行う代理要求手段と、
前記トークン代理要求に応じて前記Ｗｅｂサーバから発行される前記デバイスへの一時コード及び認証用の前記ＷｅｂサーバのＵＲＬを、前記端末機へ送信する一時コードリダイレクト手段と、
前記一時コードリダイレクト手段が前記一時コード及びＵＲＬを前記端末機へ送信後に、前記Ｗｅｂサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスに送信するトークンリダイレクト手段とを備え、
前記端末機は、前記一時コード及びＵＲＬの受信後に、当該ＵＲＬのＷｅｂサーバにユーザのＩＤ及びパスワードを通知し、前記Ｗｅｂサーバは、前記通知されたＩＤ及びパスワードを用いてユーザ認証を行い、当該ユーザ認証が成立した際に前記トークンを前記デバイスに発行する
ことを特徴とする検索システム。
【請求項２】
前記一時コードリダイレクト手段は、前記デバイスへの前記一時コード及びＵＲＬを前記端末機へ送信する際に、認証基準となるデバイスの固有情報である信頼情報も併せて送信する
ことを特徴とする請求項１に記載の検索システム。
【請求項３】
前記端末機は、
前記デバイスへのトークン流通要求を前記検索サーバに送信する要求手段と、
前記一時コードリダイレクト手段から送信された前記デバイスへの前記一時コード及びＵＲＬを受信時に、この受信したＵＲＬのＷｅｂサーバにユーザのＩＤ及びパスワードを送信してユーザ認証要求を行う認証応答手段と、
前記ユーザ認証要求を行ったＷｅｂサーバでユーザ認証が確認された際に、前記一時コードを前記Ｗｅｂサーバへ送信する一時コード送付手段と、
を備えることを特徴とする請求項１又は２に記載の検索システム。
【請求項４】
ユーザが使用する端末機と、情報通信を行うＷｅｂサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Ｗｅｂサーバから前記デバイスに対して、Ｗｅｂサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバであって、
前記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Ｗｅｂサーバに対してトークン代理要求として行う代理要求手段と、
前記トークン代理要求に応じて前記Ｗｅｂサーバから発行される前記デバイスへの一時コード及び認証用の前記ＷｅｂサーバのＵＲＬを、前記端末機へ送信する一時コードリダイレクト手段と、
前記一時コードリダイレクト手段が前記一時コード及びＵＲＬを前記端末機へ送信後に、当該端末機から当該ＵＲＬの前記Ｗｅｂサーバへ通知されるユーザのＩＤ及びパスワードによりユーザ認証を行った当該Ｗｅｂサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信するトークンリダイレクト手段と、
を備えることを特徴とする検索サーバ。
【請求項５】
ユーザが使用する端末機と、情報通信を行うＷｅｂサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Ｗｅｂサーバから前記デバイスに対して、Ｗｅｂサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバで実行される方法であって、
前記検索サーバは、
前記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Ｗｅｂサーバに対してトークン代理要求として行うステップと、
前記トークン代理要求に応じて前記Ｗｅｂサーバから発行される前記デバイスへの一時コード及び認証用の前記ＷｅｂサーバのＵＲＬを、前記端末機へ送信するステップと、
前記一時コード及びＵＲＬを前記端末機へ送信後に、当該端末機から当該ＵＲＬの前記Ｗｅｂサーバへ通知されるユーザのＩＤ及びパスワードによりユーザ認証を行った当該Ｗｅｂサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信するステップと、
を実行することを特徴とする方法。
【請求項６】
ユーザが使用する端末機と、情報通信を行うＷｅｂサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Ｗｅｂサーバから前記デバイスに対して、Ｗｅｂサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバとしてのコンピュータを、
前記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Ｗｅｂサーバに対してトークン代理要求として行う手段、
前記トークン代理要求に応じて前記Ｗｅｂサーバから発行される前記デバイスへの一時コード及び認証用の前記ＷｅｂサーバのＵＲＬを、前記端末機へ送信する手段、
前記一時コード及びＵＲＬを前記端末機へ送信後に、当該端末機から当該ＵＲＬの前記Ｗｅｂサーバへ通知されるユーザのＩＤ及びパスワードによりユーザ認証を行った当該Ｗｅｂサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信する手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ端末機により目的のデバイスを検索する検索システム、検索サーバ、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、レンタサイクル等の位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスを、ユーザに提供するサービスがある。このサービスは、サービス事業者が専用の検索システムを構築し、事前に登録されたユーザに提供可能なデバイスを検索し、デバイスの位置情報等を提示している（非特許文献１参照）。この場合、デバイス提供者は、単一若しくは事前に互いに信頼関係が築かれた複数の事業者で構成され、検索システムには信頼性の高いデバイスのみが登録される。
【０００３】
また、飲食店等のサービス等に係る位置が固定したデバイスを検索してユーザに位置を提示して、利用したユーザの評価等の投稿を受け付ける検索システムが知られている。このような検索システムは、デバイスを提供するサービス事業者とは異なる第三者により構築され、デバイスに対する評価等を集計して算定されたランキング情報等を提示できる。また、評判に基づいて情報の信頼性を評価する手法が知られている（非特許文献２参照）。
【０００４】
なお、検索システムにより提示されたデバイスをユーザが利用する場合、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の無線形式の近距離通信（以下、ローカル通信とも称する。）を利用して、デバイスとユーザ端末機との間の通信路を確立するペアリングが行われている。
【０００５】
また、非特許文献３に記載のＯＡｕｔｈ  Ｄｅｖｉｃｅ  ｆｌｏｗ（オーオース  デバイス  フロー）では、テレビのような入力機能の乏しいデバイスに対し、Ｗｅｂサービス（ウェブサービス）のＡＰＩ(Application Programming Interface)アクセスを認証する方法が提案されている。ＡＰＩとは、プログラムであるスクラッチで開発していたような地図描画や認証等を行う共通機能を提供する情報インターフェイスである。また、ＯＡｕｔｈとは、Ｗｅｂサービスにあるユーザのリソースへのアクセス権限を、ユーザの代理で行うことを許可するための認証用のプロトコルである。なお、Ｗｅｂサービスは、情報通信を行うＷｅｂサーバにより行なわれる。また、ＯＡｕｔｈ  Ｄｅｖｉｃｅ  ｆｌｏｗは、以降、ＯＡｕｔｈフローという。
【０００６】
一般的に、通信システムでは、「認証」の他に「認可」という用語が用いられる。認証（Authentication）はユーザを識別する処理であり、認可（Authorization）はユーザによって目的の装置にアクセス権が設定されているかを確認する処理である。しかし、両者は単に認証（auth）と呼ばれることがあるため、本明細書では「認証」を使用する。
【０００７】
ＯＡｕｔｈフローの具体例を図２０を参照して説明する。
例えば、図２０に示すように、ユーザがデバイス３００Ａのボタン等を押してリクエストすると、ステップＳ１において、デバイス３００ＡがＷｅｂサーバ５００Ａにリクエストを行う。Ｗｅｂサーバ５００Ａは、ステップＳ２において、一時コード・ＵＲＬ(Uniform Resource Locator)をデバイス３００Ａへ返信する。デバイス３００Ａは、その返信されて来た一時コード・ＵＲＬをディスプレイに表示する。
【０００８】
ステップＳ３において、ユーザは、デバイス３００Ａに表示された一時コード・ＵＲＬを目視で読み取りながらログインに必要な情報をユーザ端末機２００Ａに入力する。これにより、ステップＳ４において、ユーザ端末機２００Ａが利用するＷｅｂサーバ５００Ａに対してログイン（認証）する。更に、ステップＳ５において、ユーザｕ１は、デバイス３００Ａに表示されている一時コードをユーザ端末機２００Ａに入力する。この入力により、ステップＳ６において、ユーザ端末機２００ＡからＷｅｂサーバ５００Ａへ一時コードが送信される。
【０００９】
上記のステップＳ１〜Ｓ６の処理動作は、ステップＳ７のポーリングで示すように、他のデバイス３００Ａにおいても順次実行される。
【００１０】
上記ステップＳ６での一時コードを受け取ったＷｅｂサーバ５００Ａは、上記認証の結果と一時コードをもとに、デバイス３００Ａとユーザのアカウントとの対応付けを行い、ステップＳ８において、デバイス３００Ａに対してトークンを発行する。ステップＳ９において、デバイス３００Ａは、トークンを用いてＷｅｂサーバ５００ＡへＡＰＩ呼び出しを行う。これにより、デバイス３００ＡからユーザのＷｅｂサービスアカウントへのＡＰＩアクセスが認証される。
【先行技術文献】
【非特許文献】
【００１１】
【非特許文献１】福田真悟、「コミュニティサイクル事業とＩＣＴ：横浜市のｂａｙｂｉｋｅを事例に」、２０１２年４月、東京都市大学横浜キャンパス情報メディアジャーナル第１３号
【非特許文献２】加藤義清、黒橋禎夫、江本浩、「情報コンテンツの信頼性とその評価技術」、２００６年１１月１４日、人工知能学会第１４回セマンティックウェブとオントロジー研究会
【非特許文献３】“Using OAuth 2.0 for Devices”［online］、［平成２７年７月２８日検索］、インターネット〈URL:https://developers.google.com/identity/protocols/OAuth2ForDevices〉
【発明の概要】
【発明が解決しようとする課題】
【００１２】
ところで、上述した位置が変動するデバイスを提供するサービスにおいて、非特許文献１〜３の技術を任意に組み合わせて、Ｗｅｂサービスによりユーザ端末機でデバイスを検索する検索システムを、図２０のシーケンス動作を行うように構築した場合、次のような問題が生じる。
【００１３】
Ｗｅｂサーバ５００Ａ上のユーザデータへのアクセス時のセキュリティを踏まえると、Ｗｅｂサーバ５００Ａによるデバイス３００Ａへのアクセス時のユーザ認証は、デバイス３００Ａがユーザ本人の実際の利用を確認した上で行う必要がある。この仕組みを実現させるには、複数存在するＷｅｂサーバ５００Ａを運営する複数のＷｅｂサービス事業者が個別にユーザの利用状況を把握することが必要となる。しかし、ユーザのデバイス利用状況を把握する仕組みを、各Ｗｅｂサービス事業者が個別に持つことはコストが掛かり過ぎて実現が困難となる。
【００１４】
また、ユーザのＷｅｂアクセス時の認証を行う場合、ユーザはデバイス３００Ａの信頼性を確認した上で認証の可否を判断する必要がある。ＯＡｕｔｈフローでは、それらの信頼性はユーザの主観に頼ることになる。ユーザの主観では、デバイス３００Ａの信頼性を適正に確認するための情報として、情報不足で且つ不適切である側面を否めない。
【００１５】
例えば、図２０にステップＳ３ａに示すように、ユーザｕ２が、ユーザ端末機２００Ａとデバイス３００Ａとの対応関係を確認せずに、ステップＳ５ａにおいて、いい加減に一時コードをユーザ端末機２００Ａに入力したとする。この入力でも、ステップＳ６において、ユーザ端末機２００ＡからＷｅｂサーバ５００Ａへ一時コードが送信される。そして、Ｗｅｂサーバ５００Ａにおいて、デバイス３００Ａとユーザのアカウントとの対応付けが行なわれると、ステップＳ８において、該当デバイス３００Ａに対してトークンが発行されてしまう。このように、ユーザのＷｅｂアクセス時の認証を適正に行うことができないケースが生じる。
【００１６】
本発明は、このような事情に鑑みてなされたものであり、位置が変動するデバイスのうちユーザが利用可能なデバイスを検索するシステムを低コストで実現することができ、また、ユーザのＷｅｂアクセス時の認証を適正に行うことができる検索システム、検索サーバ、方法及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１７】
前記した課題を解決するため、請求項１に記載の発明は、ユーザが使用する端末機と、情報通信を行うＷｅｂサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Ｗｅｂサーバから前記デバイスに対して、Ｗｅｂサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる検索システムであって、前記デバイスが前記アクセス権を取得する処理を代理する検索サーバを更に備え、前記検索サーバは、前記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Ｗｅｂサーバに対してトークン代理要求として行う代理要求手段と、前記トークン代理要求に応じて前記Ｗｅｂサーバから発行される前記デバイスへの一時コード及び認証用の前記ＷｅｂサーバのＵＲＬを、前記端末機へ送信する一時コードリダイレクト手段と、前記一時コードリダイレクト手段が前記一時コード及びＵＲＬを前記端末機へ送信後に、前記Ｗｅｂサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスに送信するトークンリダイレクト手段とを備え、前記端末機は、前記一時コード及びＵＲＬの受信後に、当該ＵＲＬのＷｅｂサーバにユーザのＩＤ及びパスワードを通知し、前記Ｗｅｂサーバは、前記通知されたＩＤ及びパスワードを用いてユーザ認証を行い、当該ユーザ認証が成立した際に前記トークンを前記デバイスに発行することを特徴とする検索システムである。
【００１８】
この構成によれば、デバイスにトークンを払い出す迄に必要な処理を、検索サーバがデバイスの代理で行う。その処理は、通常、デバイスがＷｅｂサーバにリクエストして一時コードを取得し、この一時コードを端末機に表示させ、これをユーザが見ながら端末機に入力し、この入力に応じた端末機によるアクセスにより、Ｗｅｂサーバからデバイスにトークンが払い出されるようになっている。
【００１９】
本発明では、そのデバイスにトークンを払い出す迄に必要な処理を、検索サーバに代理して行なわせるので、複数のＷｅｂサービス事業者が個別にユーザの利用状況を把握するといったシステム構築が不要となる。このため、事業者毎にユーザ利用を確認するための構築コストを削減することができる。従って、位置が変動するデバイスのうちユーザが利用可能なデバイスを検索する検索システムを低コストで実現することができる。
【００２０】
また、Ｗｅｂサーバから、デバイスの代理の検索サーバを介して端末機へ一時コードを受け渡し、これに応じて端末機がユーザのＩＤ及びパスワードをＷｅｂサーバへ通知することで、ＷｅｂサーバがＩＤ及びパスワードによりユーザ認証を行うので、ユーザのＷｅｂアクセス時の認証を適正に行うことができる。
【００２１】
請求項２に係る発明は、前記一時コードリダイレクト手段は、前記デバイスへの前記一時コード及びＵＲＬを前記端末機へ送信する際に、認証基準となるデバイスの固有情報である信頼情報も併せて送信することを特徴とする請求項１に記載の検索システムである。
【００２２】
この構成によれば、端末機が、一時コード及びＵＲＬの他に、デバイスの固有情報である信頼情報も併せて受信する。このため、端末機は、信頼情報により、Ｗｅｂサーバから送られてきたデバイスへの一時コード及びＵＲＬが、目的のデバイスに係るか否かを的確に判断することができる。このため、既存のＷｅｂサービスの仕組みを変えることなく、一時コードを受信したＵＲＬのＷｅｂサーバへ、ユーザのＩＤ及びパスワードを安全に送信することができる。
【００２３】
請求項３に係る発明は、前記端末機は、前記デバイスへのトークン流通要求を前記検索サーバに送信する要求手段と、前記一時コードリダイレクト手段から送信された前記デバイスへの前記一時コード及びＵＲＬを受信時に、この受信したＵＲＬのＷｅｂサーバにユーザのＩＤ及びパスワードを送信してユーザ認証要求を行う認証応答手段と、前記ユーザ認証要求を行ったＷｅｂサーバでユーザ認証が確認された際に、前記一時コードを前記Ｗｅｂサーバへ送信する一時コード送付手段と、を備えることを特徴とする請求項１又は２に記載の検索システムである。
【００２４】
この構成によれば、端末機は、デバイスの代理としての検索サーバに、デバイスへのトークン流通要求を行うことができ、Ｗｅｂサーバへユーザ認証のために必要な情報を通知することができる。
【００２５】
請求項４に係る発明は、ユーザが使用する端末機と、情報通信を行うＷｅｂサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Ｗｅｂサーバから前記デバイスに対して、Ｗｅｂサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバであって、前記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Ｗｅｂサーバに対してトークン代理要求として行う代理要求手段と、前記トークン代理要求に応じて前記Ｗｅｂサーバから発行される前記デバイスへの一時コード及び認証用の前記ＷｅｂサーバのＵＲＬを、前記端末機へ送信する一時コードリダイレクト手段と、前記一時コードリダイレクト手段が前記一時コード及びＵＲＬを前記端末機へ送信後に、当該端末機から当該ＵＲＬの前記Ｗｅｂサーバへ通知されるユーザのＩＤ及びパスワードによりユーザ認証を行った当該Ｗｅｂサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信するトークンリダイレクト手段と、を備えることを特徴とする検索サーバである。
【００２６】
請求項５に係る発明は、ユーザが使用する端末機と、情報通信を行うＷｅｂサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Ｗｅｂサーバから前記デバイスに対して、Ｗｅｂサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバで実行される方法であって、前記検索サーバは、前記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Ｗｅｂサーバに対してトークン代理要求として行うステップと、前記トークン代理要求に応じて前記Ｗｅｂサーバから発行される前記デバイスへの一時コード及び認証用の前記ＷｅｂサーバのＵＲＬを、前記端末機へ送信するステップと、前記一時コード及びＵＲＬを前記端末機へ送信後に、当該端末機から当該ＵＲＬの前記Ｗｅｂサーバへ通知されるユーザのＩＤ及びパスワードによりユーザ認証を行った当該Ｗｅｂサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信するステップと、を実行することを特徴とする方法である。
【００２７】
請求項６に係る発明は、ユーザが使用する端末機と、情報通信を行うＷｅｂサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Ｗｅｂサーバから前記デバイスに対して、Ｗｅｂサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバとしてのコンピュータを、前記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Ｗｅｂサーバに対してトークン代理要求として行う手段、前記トークン代理要求に応じて前記Ｗｅｂサーバから発行される前記デバイスへの一時コード及び認証用の前記ＷｅｂサーバのＵＲＬを、前記端末機へ送信する手段、前記一時コード及びＵＲＬを前記端末機へ送信後に、当該端末機から当該ＵＲＬの前記Ｗｅｂサーバへ通知されるユーザのＩＤ及びパスワードによりユーザ認証を行った当該Ｗｅｂサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信する手段、として機能させるためのプログラムである。
【００２８】
この請求項４，５，６の構成によれば、一時コード発行及びユーザ認証処理を行ってデバイスにトークンを払い出す迄に必要な処理を、検索サーバがデバイスに代理して行なう。このため、複数のＷｅｂサービス事業者が個別にユーザの利用状況を把握するといったシステム構築が不要となり、ユーザが利用可能なデバイスを検索する検索システムを低コストで実現することができる。
【発明の効果】
【００２９】
本発明によれば、位置が変動するデバイスのうちユーザが利用可能なデバイスを検索するシステムを低コストで実現することができ、また、ユーザのＷｅｂアクセス時の認証を適正に行うことができる検索システム、検索サーバ、方法及びプログラムを提供することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態に係る通信装置の構成を示すブロック図である。
【図２】本実施形態の通信装置の検索サーバの構成を示すブロック図である。
【図３】本実施形態の通信装置のユーザ端末機及びＷｅｂサーバの構成を示すブロック図である。
【図４】本実施形態の通信装置のデバイス及び課金代行サーバの構成を示すブロック図である。
【図５】ユーザ情報のデータ構成例を示す図である。
【図６】デバイス情報のデータ構成例を示す図である。
【図７】デバイス利用履歴情報のデータ構成例を示す図である。
【図８】本実施形態の検索処理手順を例示するシーケンス図である。
【図９】本実施形態のユーザ登録処理手順を例示するシーケンス図である。
【図１０】本実施形態のデバイス登録処理手順を例示するシーケンス図である。
【図１１】本実施形態のデバイス検索処理手順を例示するシーケンス図である。
【図１２】本実施形態のデバイスランキング生成処理手順を説明するためのフローチャートである。
【図１３】本実施形態のローカル相互認証処理手順を例示するシーケンス図である。
【図１４】本実施形態の物理インタラクション処理手順を例示するシーケンス図である。
【図１５】本実施形態の利用開始処理手順を例示するシーケンス図である。
【図１６】本実施形態の課金リクエスト処理手順を例示するシーケンス図である。
【図１７】本実施形態のＡＰＩアクセストークン流通処理手順を例示するシーケンス図である。
【図１８】本実施形態の利用終了処理手順を例示するシーケンス図である。
【図１９】本実施形態のプログラムを実行するコンピュータを示す図である。
【図２０】ＯＡｕｔｈフローによるＷｅｂサーバを介したユーザ端末機とデバイス間の認証等の動作を説明するためのシーケンス図である。
【発明を実施するための形態】
【００３１】
以下、本発明の実施形態を、図面を参照して説明する。
＜実施形態の構成＞
図１は、本発明の実施形態に係る検索システムの構成を示すブロック図である。
図１に示す検索システム１は、検索装置としての検索サーバ１００と、ユーザが所有するスマートフォン等のユーザ端末機２００と、検索対象のデバイス３００と、課金代行サーバ４００と、Ｗｅｂサーバ５００とがインターネット等の通信ネットワークを介して通信可能に接続された通信システムである。また、ユーザ端末機２００とデバイス３００間は、無線形式のローカル通信が可能となっている。
【００３２】
デバイス３００は、位置が変動する移動体に通信及び演算処理機能を一体に搭載した装置である。
検索サーバ１００は、デバイス３００の位置や利用履歴の情報を管理して、ユーザがユーザ端末機２００から指定したデバイス３００の種別に応じて、ユーザ端末機２００の近傍にあるデバイス３００をユーザ端末機２００に提示する。検索サーバ１００は、デバイス３００を提示する際、各デバイス３００の利用履歴により集計されたランキング情報を併せてユーザ端末機２００へ提示する。提示されたデバイス３００の中から１つをユーザが選択すると、選択されたデバイス３００とユーザ端末機２００との間で、検索サーバ１００を介して無線形式のローカル通信の認証が行われ、ローカル通信により通信可能となる。また、検索サーバ１００は、後述のようにデバイス３００の代理となって、ＡＰＩアクセストークン（トークン）を要求する処理を行う。
【００３３】
課金代行サーバ４００は、課金装置であり、デバイス３００を選択したユーザに対するサービス利用料の課金を仲介する。
検索サーバ１００の構成を図２に示し、ユーザ端末機２００及びＷｅｂサーバ５００の構成を図３に示し、デバイス３００及び課金代行サーバ４００の構成を図４に示す。
【００３４】
［検索サーバの構成］
図２に示すように、検索サーバ１００は、記憶部１０及び制御部５０を備えて構成されている。制御部５０は、ワークステーションやパソコン等の汎用コンピュータで実現され、装置内部のＣＰＵ(Central Processing Unit)等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、所定の処理を実行する。
【００３５】
記憶部１０は、ＲＡＭ(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、ユーザ情報Ｔ１００、デバイス情報Ｔ２００、及びデバイス利用履歴情報Ｔ３００を記憶する。
【００３６】
ユーザ情報Ｔ１００は、図５に例示するように、ユーザＩＤ(Identification)、パスワード、及びデバイスの利用を指定した利用指定中デバイスのデバイスＩＤを含んで構成される。なお、利用指定中デバイスは、利用中デバイスともいう。ここで、ユーザＩＤとは、ユーザの識別情報を意味する。このユーザＩＤ及びパスワードは、後述するユーザ登録処理において発行され、その後、検索サーバ１００によるユーザ認証に使用される。デバイスＩＤとはデバイス３００の識別情報を意味する。利用中デバイスのデバイスＩＤとは、後述するデバイス検索処理においてユーザが利用するために選択したデバイス３００の識別情報を意味する。
【００３７】
デバイス情報Ｔ２００は、図６に例示するように、デバイスＩＤ、パスワード、位置、種別、及びＩＰ(Internet Protocol)アドレスを含んで構成される。デバイスＩＤはデバイス３００の識別情報を意味する。このデバイスＩＤ及びパスワードは、後述するデバイス登録処理において発行され、その後、検索サーバ１００によるデバイス認証に使用される。位置とは、例えば「Ｎ＊＊．＊＊．＊＊Ｅ＊＊．＊＊．＊＊．＊＊」のように表されるデバイスの位置を意味する。種別とは、例えば「自転車」等のデバイスの種別を意味する。ＩＰアドレスとは、デバイス３００とインターネットを介して通信する場合のＩＰアドレスを意味する。
【００３８】
デバイス利用履歴情報Ｔ３００は、図７に例示するように、デバイスＩＤ、ユーザＩＤ、利用結果、利用開始時刻及び利用終了時刻を含んで構成される。利用結果とは、ユーザが過去にデバイス３００を利用した場合の結果を意味する。また、利用開始時刻、又は利用終了時刻とは、ユーザがデバイス３００の利用を開始した時刻、又は終了した時刻を意味する。本実施形態では、後述する処理により、利用開始時刻及び利用終了時刻が記録された場合に、利用結果には「正常」が記録される。一方、利用開始時刻が記録されたものの、利用終了時刻が記録されなかった場合に、利用結果には「利用失敗」が記録される。
【００３９】
図２に戻って、検索サーバ１００は、制御部５０の制御により、ユーザ端末機２００から位置とデバイス３００の種別を特定可能なキーワードとが通知された場合に、この通知情報から、ユーザ端末機２００の近傍の当該特定可能な種別のデバイス３００を１以上特定する。更に、検索サーバ１００は、その特定したデバイス３００の位置と利用履歴とに基づいて算出したランキング情報をユーザ端末機２００に提示する。
【００４０】
検索サーバ１００は、その提示したデバイス３００の内の１つをユーザ端末機２００が選択した場合に、この選択されたデバイス３００とユーザ端末機２００との間にローカル通信の通信路を確立させる。また、検索サーバ１００は、ユーザ端末機２００が選択したデバイス３００についての利用開始時刻や利用終了時刻等の利用履歴を受け取った場合に、デバイス利用履歴情報Ｔ３００に保存する。
【００４１】
制御部５０は、具体的に、課金リクエスト誘導手段１０４、デバイス位置更新受付手段１０５、利用履歴記録部２０、デバイス検索部３０、登録・認証部４０、ローカル相互認証補助手段１１１、ＡＰＩアクセストークン代理要求手段（代理要求手段）１１２、一時コードリダイレクト手段１１３、及びアクセストークンリダイレクト手段（トークンリダイレクト手段）１１４を備えて構成されている。
【００４２】
課金リクエスト誘導手段１０４は、デバイス３００から課金リクエストを受信した場合に、ユーザを外部の課金代行サービスサイトに誘導し、決済結果をデバイス３００に通知する。また、デバイス位置更新受付手段１０５は、デバイス３００の位置に応じて、デバイス情報Ｔ２００を更新する。
【００４３】
利用履歴記録部２０は、履歴管理手段として、利用開始終了要求仲介手段１０６を含む。利用開始終了要求仲介手段１０６は、ユーザ端末機２００から受信した利用開始要求及び利用終了要求を、デジタル署名を含めてデバイス３００に転送し、利用履歴をデバイス利用履歴情報Ｔ３００に記録する。
【００４４】
デバイス検索部３０は、検索手段として、デバイスランキング生成手段１０７及びユーザ利用デバイス受付手段１１０を含む。
デバイスランキング生成手段１０７は、ユーザ端末機２００の位置に応じて、デバイス情報Ｔ２００及びデバイス利用履歴情報Ｔ３００を参照して、ユーザ端末機２００の近傍のデバイス３００のランキング情報を生成し、ユーザ端末機２００に提示する。
ユーザ利用デバイス受付手段１１０は、ユーザ端末機２００から利用中デバイスのデバイスＩＤを受信して、ユーザ情報Ｔ１００に記録する。
【００４５】
登録・認証部４０は、ユーザ端末機登録・削除・認証手段１０８及びデバイス登録・削除・認証手段１０９を含む。
ユーザ端末機登録・削除・認証手段１０８は、ユーザ端末機２００のユーザ登録要求に応答してユーザＩＤ及びパスワードを発行してユーザ情報Ｔ１００に記録し、ユーザ認証時に、ユーザ情報Ｔ１００を参照してユーザ端末機２００を認証する。
デバイス登録・削除・認証手段１０９は、デバイス３００のデバイス登録要求に応答してデバイスＩＤ及びパスワードを発行してデバイス情報Ｔ２００に記録し、デバイス認証時に、デバイス情報Ｔ２００を参照してデバイス３００を認証する。
【００４６】
ローカル相互認証補助手段１１１は、認証手段として、ユーザ端末機２００とデバイス３００との両者間のローカル通信によるペアリングの際、ローカル通信用認証コードとして乱数を生成して両者に通知し、自動的に通信路を確立させる。
【００４７】
ＡＰＩアクセストークン代理要求手段１１２は、ユーザ端末機２００から、ＷｅｂＡＰＩを発行するＷｅｂサーバ５００のＵＲＬを受け取り、Ｗｅｂサーバ５００に対してデバイス３００として振る舞い、言い換えればデバイス３００の代理となって、ＡＰＩアクセストークンを要求する処理を行う。
【００４８】
一時コードリダイレクト手段１１３は、Ｗｅｂサーバ５００より受け取ったＯＡｕｔｈフロー（前述の「背景技術」参照）による一時コードを、ユーザ端末機２００へリダイレクトする処理を行う。
【００４９】
アクセストークンリダイレクト手段１１４は、Ｗｅｂサーバ５００より受け取ったＯＡｕｔｈフローによるトークンを、ユーザ端末機２００の利用中デバイス３００に送信する処理を行う。なお、検索システム１全体における検索処理手順については後述する。
【００５０】
［ユーザ端末機の構成］
図３に示すように、ユーザ端末機２００は、パソコンやスマートフォンやタブレット等の汎用コンピュータで実現され、装置内部のＣＰＵ等の演算処理装置がメモリに記憶された制御プログラムを実行することによって後述の各手段２０１〜２１２による制御を行う。
【００５１】
ユーザ端末機２００は、ユーザ端末機２００の位置と、ユーザ端末機２００を使用するユーザが所望するデバイスの種別を特定可能な情報とを検索サーバ１００に通知し、検索サーバ１００から１以上の近傍のデバイス３００が提示された場合に、いずれかのデバイス３００を特定して選択し、選択した該デバイス３００とローカル通信を行う。
【００５２】
ユーザ端末機２００は、サーバ接続手段２０１、課金サービスアクセス手段２０２、利用開始終了要求送出手段２０３、デバイス検索要求・結果受信手段２０４、利用デバイス選択手段２０５、ユーザ端末機登録手段２０６、ユーザ端末機認証応答手段２０７、ローカル相互認証手段２０８、物理インタラクション要求手段２０９、ＡＰＩアクセストークン要求手段（要求手段）２１０、Ｗｅｂサービス認証応答手段（認証応答手段）２１１、及び一時コード送付手段２１２を備えて構成されている。
【００５３】
サーバ接続手段２０１は、ユーザ端末機２００に予め記録されている検索サーバ１００のＩＰアドレスにアクセスする。
課金サービスアクセス手段２０２は、検索サーバ１００が指定した課金代行サービスサイトのＵＲＬにアクセスし、課金代行サーバ４００による決済処理に応答する。
【００５４】
利用開始終了要求送出手段２０３は、検索サーバ１００にデバイス３００の利用開始及び利用終了を要求する。
デバイス検索要求・結果受信手段２０４は、ユーザ端末機２００の位置とキーワードを通知して、デバイス検索処理の結果を受信する。
利用デバイス選択手段２０５は、デバイス検索の結果から利用するデバイス３００を選択し、検索サーバ１００に通知する。
【００５５】
ユーザ端末機登録手段２０６は、検索サーバ１００にユーザ端末機２００の登録を要求し、発行されたユーザＩＤ及びパスワードを記録する。
ユーザ端末機認証応答手段２０７は、検索サーバ１００のユーザ認証の要求に応答し、ユーザＩＤ及びパスワードを検索サーバ１００に送信する。
【００５６】
ローカル相互認証手段２０８は、検索サーバ１００からローカル通信用認証コードを受信して、選択したデバイス３００との間で相互に認証を行って、ローカル通信の通信路を確立する。
物理インタラクション要求手段２０９は、選択したデバイス３００にローカル通信を介して物理インタラクション処理を要求する。
【００５７】
ＡＰＩアクセストークン要求手段２１０は、ユーザ端末機２００から検索サーバ１００を介してＷｅｂサーバ５００へ、利用中デバイス３００で利用したいＷｅｂサーバ５００によるＷｅｂサービスのＵＲＬを送信する処理を行う。
Ｗｅｂサービス認証応答手段２１１は、Ｗｅｂサーバ５００の認証要求に応じ、ＩＤ及びパスワードを送信する処理を行う。
一時コード送付手段２１２は、Ｗｅｂサーバ５００に対し、ＯＡｕｔｈフローの一時コードを送信する処理を行う。なお、検索システム１全体における検索処理手順については後述する。
【００５８】
［デバイスの構成］
図４に示すように、デバイス３００は、前述した通信機能及び演算処理機能を有する端末機を移動体に一体に搭載した装置である。本実施形態では、デバイス３００は、レンタサイクル（自転車）に、通信装置及びマイコン等で実現される演算処理装置を備え、演算処理装置がメモリに記憶された制御プログラムを実行することによって後述の各手段３０１〜３０９による制御を行う。このデバイス３００は、当該デバイス３００の位置を検索サーバ１００に通知し、ユーザ端末機２００とローカル通信を行う。
【００５９】
デバイス３００は、サーバ接続手段３０１、デバイス位置情報更新手段３０２、利用開始終了要求受付・検証手段３０３、デバイス登録要求手段３０４、デバイス認証応答手段３０５、ローカル相互認証手段３０６、課金リクエスト手段３０７、所在通知インタラクション手段３０８、及びアクセストークン受付手段３０９を備えて構成されている。
【００６０】
サーバ接続手段３０１は、デバイス３００に予め記録されている検索サーバ１００のＩＰアドレスにアクセスする。
デバイス位置情報更新手段３０２は、デバイス３００の位置を検索サーバ１００に通知する。
【００６１】
利用開始終了要求受付・検証手段３０３は、利用開始要求又は利用終了要求を検索サーバ１００から受信した際、検索サーバ１００のデジタル署名を検証し、認証された場合に利用開始応答又は利用終了応答を返送する。
【００６２】
デバイス登録要求手段３０４は、検索サーバ１００にデバイス３００の登録を要求し、発行されたデバイスＩＤ及びパスワードを記録する。
デバイス認証応答手段３０５は、検索サーバ１００のデバイス認証の要求に応答し、デバイスＩＤ及びパスワードを返送する。
【００６３】
ローカル相互認証手段３０６は、検索サーバ１００からローカル通信用認証コードを受信して、ユーザ端末機２００との間で相互に認証を行って、ローカル通信の通信路を確立する。
課金リクエスト手段３０７は、ユーザにサービス利用料を課金する場合に、検索サーバ１００に課金の金額を通知し、決済処理が完了した場合に結果を受信する。
【００６４】
所在通知インタラクション手段３０８は、ユーザ端末機２００からローカル通信を介して物理インタラクション要求を受信した場合に、自身の所在を物理的に通知する。例えば、ライトを光らせたり、音を鳴らしたり、振動を起こしたりする。
アクセストークン受付手段３０９は、トークンを受信する処理を行う。なお、検索システム１全体における検索処理手順については後述する。
【００６５】
［課金代行サーバの構成］
図４に示すように、課金代行サーバ４００は、検索サーバ１００の外部の課金サービスを代行する課金代行サービス業者が運用するサーバ装置である。課金代行サーバ４００は、ワークステーションやパソコン等の汎用コンピュータで実現され、装置内部のＣＰＵ等の演算処理装置がメモリに記憶された制御プログラムを実行することによって後述の各手段４０１〜４０３による制御を行う。
【００６６】
課金代行サーバ４００は、課金代行要求受付手段４０１、課金結果通知手段４０２、及び課金代行ユーザ決済手段４０３を備えて構成されている。
課金代行要求受付手段４０１は、ユーザに対するサービス利用料の課金の金額を受信して、課金代行サービスサイトの課金用ＵＲＬを生成して通知する。
課金代行ユーザ決済手段４０３は、課金用ＵＲＬにアクセスしたユーザ端末機２００に金額を提示し、例えばクレジットカード番号を取得する等により決済を行う。
課金結果通知手段４０２は、決済が完了した場合に検索サーバ１００に通知する。
【００６７】
［Ｗｅｂサーバの構成］
図３に示すように、Ｗｅｂサーバ５００は、パソコンやスマートフォンやタブレット等の汎用コンピュータで実現され、装置内部のＣＰＵ等の演算処理装置がメモリに記憶された制御プログラムを実行することによって後述の各手段５０１〜５０３による制御を行う。
【００６８】
Ｗｅｂサーバ５００は、ＯＡｕｔｈフローのプロトコルにより、ユーザアカウント（ユーザ名）に紐づくＡＰＩへのトークンを、デバイス３００の代理としての検索サーバ１００へ発行する処理を行う。この発行されたトークンは、最終的には、検索サーバ１００からユーザ端末機２００に紐づくデバイス３００へ送信されるようになっている。
【００６９】
Ｗｅｂサーバ５００は、ＡＰＩアクセストークン発行手段５０１、ユーザ認証手段５０２、及び一時コード発行手段５０３を備えて構成されている。
ＡＰＩアクセストークン発行手段５０１は、ＯＡｕｔｈフローのプロトコルにより、ユーザアカウントに紐づくＡＰＩへのトークンを発行する処理を行う。
ユーザ認証手段５０２は、ユーザ（ユーザ端末機２００）をＩＤ及びパスワードにより認証する処理を行う。
一時コード発行手段５０３は、ＯＡｕｔｈフローのプロトコルにより、認証のための一時コードを発行する処理を行う。この発行された一時コードは、検索サーバ１００を介してユーザ端末機２００へ送信されるようになっている。
【００７０】
［検索処理手順］
次に、図８〜図１８を参照して、検索システム１における検索処理手順について説明する。図８に示すように、本実施形態の検索処理は、（１）に示すデバイス・ユーザ登録処理、（２）に示すデバイス検索処理、（３）に示すローカル相互認証処理、（４）に示す物理インタラクション処理、（５）に示す利用開始処理、（６）に示す課金リクエスト処理、（７）に示すＡＰＩアクセストークン流通処理、及び（８）に示す利用終了処理に分けられる。
【００７１】
（１）デバイス・ユーザ登録処理は、ユーザ端末機２００から検索サーバ１００に対するユーザ及びデバイス３００の登録を行う処理であり、（２）以降の処理の開始前に予め実行される。なお、デバイス・ユーザ登録処理は、ユーザ登録処理（Ｓ１００）とデバイス登録処理（Ｓ２００）とを含む。ユーザ登録処理は、ユーザ端末機２００を操作して検索サーバ１００のユーザ情報Ｔ１００にユーザの情報を記録する処理である。デバイス登録処理（Ｓ２００）は、デバイス３００が、検索サーバ１００のデバイス情報Ｔ２００に自デバイス３００の情報を記録する処理である。
【００７２】
（２）デバイス検索処理（Ｓ３００）は、ユーザ端末機２００の位置情報とユーザ端末機２００から入力されたキーワードとを伴ったサービス開始の要求に応じて、ユーザ端末機２００の近傍のデバイス３００を提示する処理である。
【００７３】
（３）ローカル相互認証処理（Ｓ４００）は、ユーザが所持するユーザ端末機２００がデバイス３００に近づいた際に、検索サーバ１００がユーザ端末機２００とデバイス３００との間のローカル通信の通信路を確立させる処理である。
【００７４】
（４）物理インタラクション処理（Ｓ５００）は、ユーザ端末機２００とのローカル通信の通信路が確立したデバイス３００が、自身の所在を光、音又は振動等、視覚、聴覚又は触覚を通じて通知する処理である。
【００７５】
（５）利用開始処理（Ｓ６００）は、ローカル通信の通信路が確立された後にユーザ端末機２００を所持するユーザが、デバイス３００の利用を開始するための処理である。
（６）課金リクエスト処理（Ｓ７００）は、デバイス３００の利用にかかるサービス利用料のユーザへの課金の処理である。
（７）ＡＰＩアクセストークン流通処理（Ｓ８００）は、ユーザの持つＷｅｂサービスアカウントへのアクセス権であるトークンをデバイス３００へ流通する処理である。
（８）利用終了処理（Ｓ９００）は、ユーザ端末機２００を所持するユーザがデバイス３００の利用を終了するための処理である。これら（１）〜（８）の各処理について、下記の図９〜図１１，図１３〜図１８に示すシーケンス図、及び図１２に示すフローチャートを参照して説明する。但し、各シーケンス図に示す検索サーバ１００、ユーザ端末機２００、デバイス３００及びＷｅｂサーバ５００の構成要素は、図２〜図４を参照する。
【００７６】
［ユーザ登録処理］
図９に示すシーケンス図を参照して、ユーザ登録処理手順（図８のＳ１００）を説明する。
図９に示すように、ユーザ端末機２００のサーバ接続手段２０１が、検索サーバ１００に接続する処理を行う（Ｓ１０１）。続いて、ユーザ端末機２００のユーザ端末機登録手段２０６が、ユーザ端末機登録要求を検索サーバ１００に送信する（Ｓ１０２）。
【００７７】
ユーザ端末機登録要求を受信した検索サーバ１００のユーザ端末機登録・削除・認証手段１０８が、このユーザ端末機２００に対するユーザＩＤ及びパスワードを生成し（Ｓ１０３）、ユーザ情報Ｔ１００に保存する（Ｓ１０４）とともに、ユーザ端末機２００に通知する（Ｓ１０５）。
【００７８】
［デバイス登録処理］
図１０に示すシーケンス図を参照して、デバイス登録処理手順（図８のＳ２００）を説明する。
図１０に示すように、デバイス３００のサーバ接続手段３０１が、検索サーバ１００に接続する処理を行う（Ｓ２０１）。続いて、デバイス３００のデバイス登録要求手段３０４が、デバイス登録要求を検索サーバ１００に送信する（Ｓ２０２）。
【００７９】
デバイス登録要求を受信した検索サーバ１００のデバイス登録・削除・認証手段１０９は、このデバイス３００に対するデバイスＩＤ及びパスワードを生成し（Ｓ２０３）、デバイス情報Ｔ２００に保存する（Ｓ２０４）とともに、デバイス３００に通知する（Ｓ２０５）。
【００８０】
［デバイス検索処理］
図１１に示すシーケンス図を参照して、デバイス検索処理手順（図８のＳ３００）を説明する。
図１１に示すように、ユーザ端末機２００のユーザ端末機認証応答手段２０７は、検索サーバ１００との間で、ユーザＩＤ及びパスワードを用いてユーザ認証を行う（Ｓ３０１）。続いて、ユーザ端末機２００のデバイス検索要求・結果受信手段２０４が、自身の位置とユーザが入力したデバイスの種別を特定可能なキーワードを伴ったデバイス検索要求を検索サーバ１００に送信する（Ｓ３０２）。
【００８１】
デバイス検索要求を受信すると、検索サーバ１００のデバイスランキング生成手段１０７は、ユーザ端末機２００の位置とキーワードとを基にランキング情報を生成するデバイスランキング生成処理を実行する（Ｓ３０３）。デバイスランキング生成処理については後述する。続いて、検索サーバ１００のデバイスランキング生成手段１０７は、生成したランキング情報をユーザ端末機２００に送信する（Ｓ３０４）。
【００８２】
ランキング情報を受信すると、ユーザ端末機２００の利用デバイス選択手段２０５は、ユーザのデバイス３００を選択する入力を受け付ける利用デバイス選択処理を行う（Ｓ３０５）。そして、ユーザ端末機２００の利用デバイス選択手段２０５は、選択されたデバイス３００のデバイスＩＤを検索サーバ１００に送信する処理を行う（Ｓ３０６）。
【００８３】
選択されたデバイス３００のデバイスＩＤを受信すると、検索サーバ１００のユーザ利用デバイス受付手段１１０は、このデバイスＩＤをユーザ情報Ｔ１００の利用中デバイスのデバイスＩＤとして登録する利用デバイス登録処理を行う（Ｓ３０７）。
【００８４】
ここで、ステップＳ３０３のデバイスランキング生成処理について説明する。図１２は、デバイスランキング生成処理手順を説明するためのフローチャートである。図１２に示すように、デバイスランキング生成処理は、（１）に示すデバイス抽出処理と、（２）に示すデバイススコアリング処理とを含む。
【００８５】
まず、デバイスランキング生成手段１０７は、ユーザ情報Ｔ１００及びデバイス情報Ｔ２００を参照し、ユーザ端末機２００の例えば５ｋｍ以内の近傍にあるデバイス３００を抽出する（Ｓ３１）。更に、デバイスランキング生成手段１０７は、ユーザがユーザ端末機２００に入力したキーワードから所望のデバイスの種別を特定し、特定した種別に該当するデバイス３００を抽出する（Ｓ３２）。なお、キーワード入力の際、デバイスの種別の一覧表示からユーザに選択させる等して、キーワードがデバイスの種別と一致するようにしてもよい。
【００８６】
上記のデバイス抽出処理Ｓ３１〜Ｓ３２の後、デバイスランキング生成手段１０７は、次のデバイススコアリング処理Ｓ３３〜Ｓ３５を実行する。即ち、デバイスランキング生成手段１０７は、ユーザ端末機２００の位置と上記ステップＳ３２の処理で抽出された１以上のデバイス３００の位置との間の距離を算出し、各デバイス３００に近傍度を表すスコアを付与する（Ｓ３３）。近傍度を表すスコアは、例えば、両者の距離が３００ｍ以内の場合には「３」とし、３００ｍより大きく１ｋｍ以内の場合に「２」とし、１ｋｍより大きく２．５ｋｍ以内の場合に「１」とする。
【００８７】
デバイスランキング生成手段１０７は、デバイス利用履歴情報Ｔ３００を参照して、上記ステップＳ３２の処理で抽出したデバイス３００のそれぞれに、信頼度を表すスコアを付与する（Ｓ３４）。具体的には、デバイスランキング生成手段１０７は、デバイス利用履歴情報Ｔ３００を参照して各デバイス３００の利用結果を抽出し、利用結果の総数で表わされる利用回数のうち、正常であるものの割合に応じて、信頼度を表すスコアを付与する。信頼度を表すスコアは、例えば、正常であるものが８０％以上の場合に「３」とし、５０％以上８０％未満の場合に「２」とし、５０％未満の場合に「１」とする。
【００８８】
デバイスランキング生成手段１０７は、上記ステップＳ３３の処理で付与した近傍度を表すスコアと、上記ステップＳ３４の処理で付与した信頼度を表すスコアとを合算した合算スコアを降順に並べて、デバイス３００のランキング情報を生成する（Ｓ３５）。
【００８９】
［ローカル相互認証処理］
図１３に示すシーケンス図を参照して、ローカル相互認証処理手順（図８のＳ４００）を説明する。
図１３に示すように、ユーザ端末機２００のローカル相互認証手段２０８は、上記ステップＳ３０６の処理で選択されたデバイス３００との間にローカル通信の通信路を確立するための仲介であるペアリング補助を要求する（Ｓ４０１）。
【００９０】
要求を受信すると、検索サーバ１００のローカル相互認証補助手段１１１は、ユーザ情報Ｔ１００を参照し、上記ステップＳ３０６の処理で受信したデバイスＩＤに対応付けされているＩＰアドレスを抽出し（Ｓ４０２）、この抽出されたＩＰアドレスを使用してデバイス３００に接続する。その後、検索サーバ１００のデバイス登録・削除・認証手段１０９が、デバイス３００のデバイス認証応答手段３０５との間でデバイス認証を行う（Ｓ４０３）。
【００９１】
デバイス認証が完了したら、検索サーバ１００のローカル相互認証補助手段１１１は、ローカル通信用認証コードとして乱数を生成し（Ｓ４０４）、この乱数を、ユーザ端末機２００及びデバイス３００にそれぞれ送信する（Ｓ４０５，Ｓ４０６）。
【００９２】
ローカル通信用認証コードを受信すると、ユーザ端末機２００のローカル相互認証手段２０８及びデバイス３００のローカル相互認証手段３０６は、ローカル通信用認証コードを用いて相互にローカル通信の通信路を確立する、ローカル通信によるペアリング処理を実行する（Ｓ４０７）。
【００９３】
［物理インタラクション処理］
図１４に示すシーケンス図を参照して、物理インタラクション処理手順（図８のＳ５００）を説明する。
図１４に示すように、ユーザ端末機２００の物理インタラクション要求手段２０９は、上記ステップＳ４０７の処理でローカル通信によるペアリングが行われたデバイス３００に、ローカル通信により物理インタラクション要求を行う（Ｓ５０１）。デバイス３００の所在通知インタラクション手段３０８は、その要求を受信すると、デバイス３００に備わるランプを光らせる等、視覚、聴覚、又は触覚を通じてユーザに自デバイス３００の所在を通知する（Ｓ５０２）。物理インタラクション処理により、デバイス３００に備わるスピーカから音を出したり、振動を発生させたりしてもよい。
【００９４】
［利用開始処理］
図１５に示すシーケンス図を参照して、利用開始処理手順（図８のＳ６００）を説明する。
図１５に示すように、ユーザ端末機２００の利用開始終了要求送出手段２０３は、上記ステップＳ４０７の処理でローカル通信の通信路を確立したデバイス３００の利用開始を要求する利用開始要求を、検索サーバ１００に送信する（Ｓ６０１）。
【００９５】
検索サーバ１００の利用開始終了要求仲介手段１０６は、上記の利用開始要求を受信すると、ユーザ情報Ｔ１００及びデバイス情報Ｔ２００を参照し、要求送信元のユーザ端末機２００のユーザＩＤに対応付けされている利用中デバイスのデバイスＩＤと、このデバイスＩＤに対応付けされているＩＰアドレスとを抽出する（Ｓ６０２）。また、検索サーバ１００の利用開始終了要求仲介手段１０６は、利用開始要求を受信した時刻を利用開始時刻としてデバイス利用履歴情報Ｔ３００に記録する（Ｓ６０３）。更に、利用開始終了要求仲介手段１０６は、抽出したデバイスＩＤのＩＰアドレスを使用して、このデバイス３００にデジタル署名を行った利用開始要求を送信する（Ｓ６０４）。
【００９６】
デバイス３００の利用開始終了要求受付・検証手段３０３は、上記ステップＳ６０４の利用開始要求を受信すると、デジタル署名を検証し、利用開始要求が検索サーバ１００からのものであるかを検証する（Ｓ６０５）。その結果、その利用開始要求が検索サーバ１００からの正当な要求であることが確認された場合は、デバイス３００の利用開始終了要求受付・検証手段３０３は、検索サーバ１００に利用開始応答を送信する（Ｓ６０６）。これによって、ユーザのデバイス３００のサービス利用が開始される。一方、上記ステップＳ６０４の利用開始要求が検索サーバ１００からの正当な要求であることが確認されなかった場合は、デバイス３００の利用開始終了要求受付・検証手段３０３は、利用開始要求を破棄する。
【００９７】
［課金リクエスト処理］
図１６に示すシーケンス図を参照して、課金リクエスト処理手順（図８のＳ７００）を説明する。
図１６に示すように、デバイス３００は、ユーザのサービス利用の開始から後述する利用終了処理までの間の任意のタイミングで、ユーザに対するサービス利用料の課金を外部の課金代行サーバ４００に要求し、課金決済の決済結果の通知を受信する課金リクエスト処理を実行する。
【００９８】
図１６に示すように、まず、デバイス３００の課金リクエスト手段３０７は、検索サーバ１００に課金する金額を伴った課金リクエストを送信する（Ｓ７０１）。検索サーバ１００の課金リクエスト誘導手段１０４は、その課金リクエストを受信すると、ユーザ情報Ｔ１００を参照し、課金リクエストの送信元のデバイス３００のデバイスＩＤに対応付けされている、当該デバイス３００を利用中のユーザのユーザＩＤを抽出する（Ｓ７０２）。
【００９９】
次いで、検索サーバ１００の課金リクエスト誘導手段１０４は、課金代行サーバ４００に金額を伴う課金サービス登録を送信し、課金の金額を通知する（Ｓ７０３）。課金代行サーバ４００の課金代行要求受付手段４０１は、上記の課金サービス登録を受信すると、課金用ＵＲＬを生成し、この課金ＵＲＬを含む課金サービス応答を検索サーバ１００に返送する（Ｓ７０４）。
【０１００】
検索サーバ１００の課金リクエスト誘導手段１０４は、上記の課金サービス応答を受信すると、外部課金代行サイトの課金用ＵＲＬとして、課金サービス応答に含まれる課金用ＵＲＬを含む課金要求をユーザ端末機２００に送信する（Ｓ７０５）。
【０１０１】
ユーザ端末機２００の課金サービスアクセス手段２０２は、上記の課金要求を受信すると、外部課金代行サイトの課金ＵＲＬを指定して課金代行サーバ４００にアクセスする。課金代行サーバ４００では、課金代行ユーザ決済手段４０３の制御によりこのユーザに対する課金の決済処理が実行される（Ｓ７０６）。
【０１０２】
その後、課金代行サーバ４００の課金結果通知手段４０２は、検索サーバ１００に決済結果を通知する（Ｓ７０７）。検索サーバ１００の課金リクエスト誘導手段１０４は、その決済結果の通知を受信すると、デバイス３００に決済結果を通知する（Ｓ７０８）。
【０１０３】
［ＡＰＩアクセストークン流通処理］
図１７に示すシーケンス図を参照して、ＡＰＩアクセストークン流通処理手順（図８のＳ８００）を説明する。
【０１０４】
但し、デバイス３００は、自デバイス３００をユーザに提供するサービス提供開始から終了までの間に、ユーザの認証のもと、ユーザのＷｅｂアカウントの情報に対してＷｅｂサーバ５００に係るＡＰＩを介して、ユーザ端末機２００へアクセスする機能を有する。
【０１０５】
通常は、前述で図２０を参照して説明したように、デバイス３００がＷｅｂサーバ５００にリクエストして一時コードを取得し、この一時コードをユーザ端末機２００に表示させ、この表示をユーザが見ながらユーザ端末機２００に入力する。この入力に応じたユーザ端末機２００によるアクセスにより、Ｗｅｂサーバ５００からデバイス３００にトークンが払い出される。
【０１０６】
トークンには、Ｗｅｂサービス中のユーザ端末機２００の情報にアクセスできる権利が入っている。従って、デバイス３００は、トークンを取得することで、ユーザ端末機２００へのアクセス権を得ることになる。
【０１０７】
本実施形態では、デバイス３００にトークンを払い出す迄に必要な処理を、検索サーバ１００が代理して行うようにした。つまり、検索サーバ１００は、デバイス３００がユーザ端末機２００へのアクセス権を取りに行くことを代理する権利（代理権）を有する。この検索サーバ１００の代理により、デバイス３００から見れば、後述の図１７のステップＳ８０９に示すように、検索サーバ１００から払い出されるトークンを受け取るのみの動作となる。つまり、検索サーバ１００が代理しているのは、トークンを払い出す迄のトークン払い出し動作処理である。
【０１０８】
図１７に示すように、ユーザ端末機２００は、ＡＰＩアクセストークン要求手段２１０（図３）により、ユーザ認証を行うＷｅｂサービスのＵＲＬ（Ｗｅｂサーバ５００のＵＲＬ）を検索サーバ１００に通知することにより、デバイス３００へのＡＰＩアクセストークン流通要求を行う（Ｓ８０１）。
【０１０９】
その要求を受けた検索サーバ１００は、ＡＰＩアクセストークン代理要求手段１１２（図３）により、Ｗｅｂサーバ５００に対して、ＯＡｕｔｈフローのプロトコルに従って、ユーザの認証要求のためのＡＰＩアクセストークン代理要求を行う（Ｓ８０２）。
この要求を受けたＷｅｂサーバ５００は、一時コード発行手段５０３（図３）により、ＯＡｕｔｈフローのプロトコルに従って、デバイス３００への一時コード及び認証用のＷｅｂサーバのＵＲＬを検索サーバ１００に発行する（Ｓ８０３）。この発行される一時コードは、言い換えれば、Ｗｅｂサーバ５００がユーザ端末機２００に対して一時的に仮に割り当てる許可証に該当する。
【０１１０】
検索サーバ１００は、一時コードリダイレクト手段１１３（図２）により、ユーザ端末機２００に対して、Ｗｅｂサービス（Ｗｅｂサーバ５００）の認証を行うページのＵＲＬ及び一時コードを送信する。この時併せて、認証基準となるデバイス３００の固有情報等を示す信頼情報も送信する（Ｓ８０４）。
ユーザ端末機２００は、Ｗｅｂサービス認証応答手段２１１により、上記ステップＳ８０４で受け取ったＵＲＬで示されるＷｅｂサーバ５００にアクセスし、このアクセスしたＷｅｂサーバ５００にＩＤ及びパスワードを送信して認証の要求を行う（Ｓ８０５）。
【０１１１】
Ｗｅｂサーバ５００はユーザ認証手段５０２により、ＩＤ及びパスワードからユーザ認証を実施し、この認証結果をユーザ端末機２００に通知する。この際、Ｗｅｂサーバ５００は、ユーザ認証が成立していれば、認証の成立及び一時コードの入力画面の情報をユーザ端末機２００へ送信する。但し、ユーザ認証手段５０２によるユーザ認証では、信頼情報も用いて認証を行うので、より的確な認証が行なわれる（Ｓ８０６）。
【０１１２】
ユーザ端末機２００は、上記ステップＳ８０６で送られて来た認証結果を受信すると、Ｗｅｂサービス認証応答手段２１１により、認証の可否の判断を行う。認証が成立していれば、一時コード送付手段２１２により、一時コードをＷｅｂサーバ５００へ送信する（Ｓ８０７）。
【０１１３】
Ｗｅｂサーバ５００は、その送信された一時コードを受け取り、当該一時コードとユーザアカウント（ユーザ名）との対応関係を確認できるので、検索サーバ１００にトークンを払出可能となる。即ち、ＡＰＩアクセストークン発行手段５０１により、受け取った一時コードの値をもとに、上記対応関係が確認できれば、一時コードを発行した対象の検索サーバ１００に対してトークンを発行する（Ｓ８０８）。
【０１１４】
検索サーバ１００は、その送信されたトークンを受け取り、アクセストークンリダイレクト手段１１４（図２）により、ユーザ情報Ｔ１００（図５）を参照してユーザの利用中デバイスを特定し、この特定したデバイス３００にトークンを送信する（Ｓ８０９）。この送信されたトークンは、デバイス３００のアクセストークン受付手段３０９（図４）により取得される。
【０１１５】
このようなステップＳ８０１〜Ｓ８０９のシーケンスにより、デバイス３００への、Ｗｅｂサービス（Ｗｅｂサーバ５００）のユーザアカウントに対するＡＰＩアクセストークンの流通が実現されるので、デバイス３００は、トークンを取得することで、ユーザ端末機２００へのアクセス権を得る。この後、ユーザ端末機２００は、Ｗｅｂサーバ５００（自分のフェイスブック［登録商標］等）にアクセスして、目的のデバイス３００に適正にアクセス可能となる。
【０１１６】
［利用終了処理］
図１８に示すシーケンス図を参照して、利用終了処理手順（図８のＳ９００）を説明する。
図１８に示すように、利用中デバイスの利用サービスを終了する場合、ユーザ端末機２００の利用開始終了要求送出手段２０３は、デバイス３００の利用終了を要求する利用終了要求を、検索サーバ１００に送信する（Ｓ９０１）。
【０１１７】
利用終了要求を受信すると、検索サーバ１００の利用開始終了要求仲介手段１０６は、ユーザ情報Ｔ１００及びデバイス情報Ｔ２００を参照し、要求送信元のユーザ端末機２００のユーザＩＤに対応付けされている利用中デバイスのデバイスＩＤと、このデバイスＩＤに対応付けされているＩＰアドレスとを抽出する（Ｓ９０２）。また、検索サーバ１００の利用開始終了要求仲介手段１０６は、利用終了要求を受信した時刻を利用終了時刻としてデバイス利用履歴情報Ｔ３００に記録する（Ｓ９０３）。更に、同手段１０６は、抽出したデバイスＩＤのＩＰアドレスを使用して、このデバイス３００にデジタル署名を行った利用終了要求をデバイス３００へ送信する（Ｓ９０４）。
【０１１８】
デバイス３００の利用開始終了要求受付・検証手段３０３は、上記ステップＳ９０４の利用終了要求を受信すると、デジタル署名を検証し、この利用終了要求が検索サーバ１００からのものであるかを検証する（Ｓ９０５）。その結果、この利用終了要求が検索サーバ１００からの正当な要求であることが確認された場合には、同手段３０３は、検索サーバ１００に利用終了応答を検索サーバ１００へ送信し（Ｓ９０６）、ユーザのデバイス３００のサービス利用を終了する。一方、この利用終了要求が検索サーバ１００からの正当な要求であることが確認されなかった場合には、同手段３０３は、利用終了要求を破棄する。
【０１１９】
＜実施形態の効果＞
以上説明した実施形態の検索システム１は、ユーザが使用するユーザ端末機２００と、情報通信を行うＷｅｂサーバ５００と、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイス３００とが、通信ネットワークを介して相互に通信可能に接続されており、ユーザ端末機２００がアクセスしたＷｅｂサーバ５００からデバイス３００に対して、Ｗｅｂサービス中のユーザ端末機２００の情報へのアクセス権を有するトークンを払い出す処理が行なわれるシステムである。
【０１２０】
本実施形態の特徴は、まず、デバイス３００がアクセス権を取得する処理を代理する検索サーバ１００を備えたことにある。検索サーバ１００は、ＡＰＩアクセストークン代理要求手段１１２と、一時コードリダイレクト手段１１３と、アクセストークンリダイレクト手段１１４とを備えて構成されている。
ＡＰＩアクセストークン代理要求手段１１２は、ユーザ端末機２００からのデバイス３００へのトークン流通要求時に、当該トークン流通要求を当該デバイス３００の代理でＷｅｂサーバ５００に対してトークン代理要求として行う。
【０１２１】
一時コードリダイレクト手段１１３は、トークン代理要求に応じてＷｅｂサーバ５００から発行されるデバイス３００への一時コード及び認証用のＷｅｂサーバ５００のＵＲＬを、ユーザ端末機２００へ送信する。
【０１２２】
アクセストークンリダイレクト手段１１４は、一時コードリダイレクト手段１１３から送信された一時コード及びＵＲＬをユーザ端末機２００へ送信後にＷｅｂサーバ５００から発行されるトークンを受信した際に、デバイス３００にトークンを送信する。
【０１２３】
更に、ユーザ端末機２００は、一時コード及びＵＲＬの受信後に、当該ＵＲＬのＷｅｂサーバ５００にユーザのＩＤ及びパスワードを通知し、Ｗｅｂサーバ５００は、通知されたＩＤ及びパスワードを用いてユーザ認証を行い、当該ユーザ認証が成立した際にトークンを発行するように構成した。
【０１２４】
この構成の検索システム１によれば、デバイス３００にトークンを払い出す迄に必要な処理を、検索サーバ１００がデバイス３００の代理で行う。その処理は、通常、デバイス３００がＷｅｂサーバ５００にリクエストして一時コードを取得し、この一時コードをユーザ端末機２００に表示させ、これをユーザが見ながらユーザ端末機２００に入力し、この入力に応じたユーザ端末機２００によるアクセスにより、Ｗｅｂサーバ５００からデバイス３００にトークンが払い出されるようになっている。
【０１２５】
本実施形態では、そのデバイス３００にトークンを払い出す迄に必要な処理を、検索サーバ１００に代理して行なわせるので、複数のＷｅｂサービス事業者が個別にユーザの利用状況を把握するといったシステム構築が不要となる。このため、事業者毎にユーザ利用を確認するための構築コストを削減することができる。従って、位置が変動するデバイス３００のうちユーザが利用可能なデバイス３００を検索する検索システム１を低コストで実現することができる。
【０１２６】
また、Ｗｅｂサーバ５００から、デバイス３００の代理の検索サーバ１００を介してユーザ端末機２００へ一時コードを受け渡し、これに応じてユーザ端末機２００がユーザのＩＤ及びパスワードをＷｅｂサーバ５００へ通知することで、Ｗｅｂサーバ５００がＩＤ及びパスワードによりユーザ認証を行うので、ユーザのＷｅｂアクセス時の認証を適正に行うことができる。
【０１２７】
また、一時コードリダイレクト手段１１３は、デバイス３００への一時コード及びＵＲＬをユーザ端末機２００へ送信する際に、認証基準となるデバイス３００の固有情報である信頼情報も併せて送信するようにした。
【０１２８】
これによって、ユーザ端末機２００が、一時コード及びＵＲＬの他に、デバイス３００の固有情報である信頼情報も併せて受信する。このため、ユーザ端末機２００は、信頼情報により、Ｗｅｂサーバ５００から送られてきたデバイス３００への一時コード及びＵＲＬが、目的のデバイス３００に係るか否かを的確に判断することができる。このため、既存のＷｅｂサービスの仕組みを変えることなく、一時コードを受信したＵＲＬのＷｅｂサーバ５００へ、ユーザのＩＤ及びパスワードを安全に送信することができる。
【０１２９】
また、ユーザ端末機２００は、デバイス３００へのトークン流通要求を検索サーバ１００に行なう要求手段と、一時コードリダイレクト手段１１３から送信されたデバイス３００への一時コード及びＵＲＬを受信時に、この受信したＵＲＬのＷｅｂサーバ５００にユーザのＩＤ及びパスワードを送信してユーザ認証要求を行う認証応答手段と、認証要求を行ったＷｅｂサーバ５００でユーザ認証が確認された際に、一時コードをＷｅｂサーバ５００へ送信する一時コード送付手段２１２とを備える構成とした。
【０１３０】
この構成によれば、ユーザ端末機２００は、デバイス３００の代理としての検索サーバ１００に、デバイス３００へのトークン流通要求を行うことができ、Ｗｅｂサーバ５００へユーザ認証のために必要な情報を通知することができる。
【０１３１】
［方法］
次に、検索サーバで実行する方法について説明する。この方法では、ユーザが使用するユーザ端末機２００と、情報通信を行うＷｅｂサーバ５００と、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイス３００と、検索サーバ１００とが、通信ネットワークを介して相互に通信可能に接続されており、ユーザ端末機２００がアクセスしたＷｅｂサーバ５００からデバイス３００に対して、Ｗｅｂサービス中のユーザ端末機２００の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる検索サーバ１００を有する。
【０１３２】
検索サーバ１００は、ユーザ端末機２００からのデバイス３００へのトークン流通要求時に、当該トークン流通要求を当該デバイス３００の代理でＷｅｂサーバ５００に対してトークン代理要求として行うステップを実行する。次に、トークン代理要求に応じてＷｅｂサーバ５００から発行されるデバイス３００への一時コード及び認証用のＷｅｂサーバ５００のＵＲＬを、ユーザ端末機２００へ送信するステップを実行する。次に、上記の一時コード及びＵＲＬをユーザ端末機２００へ送信後に、当該ユーザ端末機２００から当該ＵＲＬのＷｅｂサーバ５００へ通知されるユーザのＩＤ及びパスワードによりユーザ認証を行った当該Ｗｅｂサーバ５００から発行されるトークンを受信した際に、デバイス３００にトークンを送信するステップを実行することができる。
【０１３３】
この方法によれば、一時コード発行及びユーザ認証処理を行ってデバイス３００にトークンを払い出す迄に必要な処理を、検索サーバ１００がデバイス３００に代理して行なう。このため、複数のＷｅｂサービス事業者が個別にユーザの利用状況を把握するといったシステム構築が不要となり、ユーザが利用可能なデバイス３００を検索する検索システム１を低コストで実現することができる。
【０１３４】
［プログラム］
本実施形態のコンピュータを実行するプログラムについて説明する。上記検索サーバ１００が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することができる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。更に、係るプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、検索サーバ１００と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
【０１３５】
図１９に示すように、プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの構成要素は、バス１０８０によって接続されている。
【０１３６】
メモリ１０１０は、ＲＯＭ(Read Only Memory)１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１及びキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【０１３７】
ここで、図１９に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３及びプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【０１３８】
また、プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した検索サーバ１００が実行する代理の処理が記述されたプログラムモジュール１０９３が、ハードディスクドライブ１０３１に記憶される。
【０１３９】
また、プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【０１４０】
なお、プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ(Local Area Network)やＷＡＮ(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【０１４１】
上記のコンピュータ１０００は、図１に示したユーザが使用するユーザ端末機２００と、情報通信を行うＷｅｂサーバ５００と、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイス３００と、検索サーバ１００とが、通信ネットワークを介して相互に通信可能に接続されており、ユーザ端末機２００がアクセスしたＷｅｂサーバ５００からデバイス３００に対して、Ｗｅｂサービス中のユーザ端末機２００の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる検索サーバ１００であるとする。
【０１４２】
本実施形態のプログラムは、コンピュータ１０００を、ユーザ端末機２００からのデバイス３００へのトークン流通要求時に、当該トークン流通要求を当該デバイス３００の代理でＷｅｂサーバ５００に対してトークン代理要求として行う手段、トークン代理要求に応じてＷｅｂサーバ５００から発行されるデバイス３００への一時コード及び認証用のＷｅｂサーバ５００のＵＲＬを、ユーザ端末機２００へ送信する手段として機能させる。更に、上記の一時コード及びＵＲＬをユーザ端末機２００へ送信後に、当該ユーザ端末機２００から当該ＵＲＬのＷｅｂサーバ５００へ通知されるユーザのＩＤ及びパスワードによりユーザ認証を行った当該Ｗｅｂサーバ５００から発行されるトークンを受信した際に、デバイス３００にトークンを送信する手段として機能させる。
【０１４３】
このプログラムによれば、上述した方法の効果と同様に、ユーザが利用可能なデバイス３００を検索する検索サーバ１００を低コストで実現することができる。
【０１４４】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。即ち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【０１４５】
１  検索システム
１０  記憶部
２０  利用履歴記録部
３０  デバイス検索部
４０  登録・認証部
１００  検索サーバ
１１１  ローカル相互認証補助手段
１１２  ＡＰＩアクセストークン代理要求手段（代理要求手段）
１１３  一時コードリダイレクト手段
１１４  アクセストークンリダイレクト手段（トークンリダイレクト手段）
２００  ユーザ端末機
２０４  デバイス検索要求・結果受信手段
２０５  利用デバイス選択手段
２０８  ローカル相互認証手段
２１０  ＡＰＩアクセストークン要求手段（要求手段）
２１１  Ｗｅｂサービス認証応答手段（認証応答手段）
２１２  一時コード送付手段
３００  デバイス
３０２  デバイス位置情報更新手段
３０６  ローカル相互認証手段
３０９  アクセストークン受付手段
４００  課金代行サーバ
５００  Ｗｅｂサーバ
５０１  ＡＰＩアクセストークン発行手段
５０２  ユーザ認証手段
５０３  一時コード発行手段
【図１】
0006339981.tif 000002
【図２】
0006339981.tif 000003
【図３】
0006339981.tif 000004
【図４】
0006339981.tif 000005
【図５】
0006339981.tif 000006
【図６】
0006339981.tif 000007
【図７】
0006339981.tif 000008
【図８】
0006339981.tif 000009
【図９】
0006339981.tif 000010
【図１０】
0006339981.tif 000011
【図１１】
0006339981.tif 000012
【図１２】
0006339981.tif 000013
【図１３】
0006339981.tif 000014
【図１４】
0006339981.tif 000015
【図１５】
0006339981.tif 000016
【図１６】
0006339981.tif 000017
【図１７】
0006339981.tif 000018
【図１８】
0006339981.tif 000019
【図１９】
0006339981.tif 000020
【図２０】
0006339981.tif 000021