JP6339981B2 - 検索システム、検索サーバ、方法及びプログラム - Google Patents

検索システム、検索サーバ、方法及びプログラム Download PDF

Info

Publication number
JP6339981B2
JP6339981B2 JP2015157293A JP2015157293A JP6339981B2 JP 6339981 B2 JP6339981 B2 JP 6339981B2 JP 2015157293 A JP2015157293 A JP 2015157293A JP 2015157293 A JP2015157293 A JP 2015157293A JP 6339981 B2 JP6339981 B2 JP 6339981B2
Authority
JP
Japan
Prior art keywords
token
web server
terminal
user
request
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.)
Active
Application number
JP2015157293A
Other languages
English (en)
Other versions
JP2017037407A (ja
Inventor
奨悟 斎藤
奨悟 斎藤
哲弥 岩田
哲弥 岩田
山下 高生
高生 山下
芳彦 大森
芳彦 大森
祐介 緒方
祐介 緒方
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015157293A priority Critical patent/JP6339981B2/ja
Publication of JP2017037407A publication Critical patent/JP2017037407A/ja
Application granted granted Critical
Publication of JP6339981B2 publication Critical patent/JP6339981B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、ユーザ端末機により目的のデバイスを検索する検索システム、検索サーバ、方法及びプログラムに関する。
従来、レンタサイクル等の位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスを、ユーザに提供するサービスがある。このサービスは、サービス事業者が専用の検索システムを構築し、事前に登録されたユーザに提供可能なデバイスを検索し、デバイスの位置情報等を提示している(非特許文献1参照)。この場合、デバイス提供者は、単一若しくは事前に互いに信頼関係が築かれた複数の事業者で構成され、検索システムには信頼性の高いデバイスのみが登録される。
また、飲食店等のサービス等に係る位置が固定したデバイスを検索してユーザに位置を提示して、利用したユーザの評価等の投稿を受け付ける検索システムが知られている。このような検索システムは、デバイスを提供するサービス事業者とは異なる第三者により構築され、デバイスに対する評価等を集計して算定されたランキング情報等を提示できる。また、評判に基づいて情報の信頼性を評価する手法が知られている(非特許文献2参照)。
なお、検索システムにより提示されたデバイスをユーザが利用する場合、Bluetooth(登録商標)等の無線形式の近距離通信(以下、ローカル通信とも称する。)を利用して、デバイスとユーザ端末機との間の通信路を確立するペアリングが行われている。
また、非特許文献3に記載のOAuth Device flow(オーオース デバイス フロー)では、テレビのような入力機能の乏しいデバイスに対し、Webサービス(ウェブサービス)のAPI(Application Programming Interface)アクセスを認証する方法が提案されている。APIとは、プログラムであるスクラッチで開発していたような地図描画や認証等を行う共通機能を提供する情報インターフェイスである。また、OAuthとは、Webサービスにあるユーザのリソースへのアクセス権限を、ユーザの代理で行うことを許可するための認証用のプロトコルである。なお、Webサービスは、情報通信を行うWebサーバにより行なわれる。また、OAuth Device flowは、以降、OAuthフローという。
一般的に、通信システムでは、「認証」の他に「認可」という用語が用いられる。認証(Authentication)はユーザを識別する処理であり、認可(Authorization)はユーザによって目的の装置にアクセス権が設定されているかを確認する処理である。しかし、両者は単に認証(auth)と呼ばれることがあるため、本明細書では「認証」を使用する。
OAuthフローの具体例を図20を参照して説明する。
例えば、図20に示すように、ユーザがデバイス300Aのボタン等を押してリクエストすると、ステップS1において、デバイス300AがWebサーバ500Aにリクエストを行う。Webサーバ500Aは、ステップS2において、一時コード・URL(Uniform Resource Locator)をデバイス300Aへ返信する。デバイス300Aは、その返信されて来た一時コード・URLをディスプレイに表示する。
ステップS3において、ユーザは、デバイス300Aに表示された一時コード・URLを目視で読み取りながらログインに必要な情報をユーザ端末機200Aに入力する。これにより、ステップS4において、ユーザ端末機200Aが利用するWebサーバ500Aに対してログイン(認証)する。更に、ステップS5において、ユーザu1は、デバイス300Aに表示されている一時コードをユーザ端末機200Aに入力する。この入力により、ステップS6において、ユーザ端末機200AからWebサーバ500Aへ一時コードが送信される。
上記のステップS1〜S6の処理動作は、ステップS7のポーリングで示すように、他のデバイス300Aにおいても順次実行される。
上記ステップS6での一時コードを受け取ったWebサーバ500Aは、上記認証の結果と一時コードをもとに、デバイス300Aとユーザのアカウントとの対応付けを行い、ステップS8において、デバイス300Aに対してトークンを発行する。ステップS9において、デバイス300Aは、トークンを用いてWebサーバ500AへAPI呼び出しを行う。これにより、デバイス300AからユーザのWebサービスアカウントへのAPIアクセスが認証される。
福田真悟、「コミュニティサイクル事業とICT:横浜市のbaybikeを事例に」、2012年4月、東京都市大学横浜キャンパス情報メディアジャーナル第13号 加藤義清、黒橋禎夫、江本浩、「情報コンテンツの信頼性とその評価技術」、2006年11月14日、人工知能学会第14回セマンティックウェブとオントロジー研究会 "Using OAuth 2.0 for Devices"[online]、[平成27年7月28日検索]、インターネット〈URL:https://developers.google.com/identity/protocols/OAuth2ForDevices〉
ところで、上述した位置が変動するデバイスを提供するサービスにおいて、非特許文献1〜3の技術を任意に組み合わせて、Webサービスによりユーザ端末機でデバイスを検索する検索システムを、図20のシーケンス動作を行うように構築した場合、次のような問題が生じる。
Webサーバ500A上のユーザデータへのアクセス時のセキュリティを踏まえると、Webサーバ500Aによるデバイス300Aへのアクセス時のユーザ認証は、デバイス300Aがユーザ本人の実際の利用を確認した上で行う必要がある。この仕組みを実現させるには、複数存在するWebサーバ500Aを運営する複数のWebサービス事業者が個別にユーザの利用状況を把握することが必要となる。しかし、ユーザのデバイス利用状況を把握する仕組みを、各Webサービス事業者が個別に持つことはコストが掛かり過ぎて実現が困難となる。
また、ユーザのWebアクセス時の認証を行う場合、ユーザはデバイス300Aの信頼性を確認した上で認証の可否を判断する必要がある。OAuthフローでは、それらの信頼性はユーザの主観に頼ることになる。ユーザの主観では、デバイス300Aの信頼性を適正に確認するための情報として、情報不足で且つ不適切である側面を否めない。
例えば、図20にステップS3aに示すように、ユーザu2が、ユーザ端末機200Aとデバイス300Aとの対応関係を確認せずに、ステップS5aにおいて、いい加減に一時コードをユーザ端末機200Aに入力したとする。この入力でも、ステップS6において、ユーザ端末機200AからWebサーバ500Aへ一時コードが送信される。そして、Webサーバ500Aにおいて、デバイス300Aとユーザのアカウントとの対応付けが行なわれると、ステップS8において、該当デバイス300Aに対してトークンが発行されてしまう。このように、ユーザのWebアクセス時の認証を適正に行うことができないケースが生じる。
本発明は、このような事情に鑑みてなされたものであり、位置が変動するデバイスのうちユーザが利用可能なデバイスを検索するシステムを低コストで実現することができ、また、ユーザのWebアクセス時の認証を適正に行うことができる検索システム、検索サーバ、方法及びプログラムを提供することを課題とする。
前記した課題を解決するため、請求項1に記載の発明は、ユーザが使用する端末機と、情報通信を行うWebサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Webサーバから前記デバイスに対して、Webサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる検索システムであって、前記デバイスが前記アクセス権を取得する処理を代理する検索サーバを更に備え、前記検索サーバは、記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Webサーバに対してトークン代理要求として行う代理要求手段と、前記トークン代理要求に応じて前記Webサーバから発行される前記デバイスへの一時コード及び認証用の前記WebサーバのURLを、前記端末機へ送信する一時コードリダイレクト手段と、前記一時コードリダイレクト手段が前記一時コード及びURLを前記端末機へ送信後に、前記Webサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスに送信するトークンリダイレクト手段とを備え、前記端末機は、前記一時コード及びURLの受信後に、当該URLのWebサーバにユーザのID及びパスワードを通知し、前記Webサーバは、前記通知されたID及びパスワードを用いてユーザ認証を行い、当該ユーザ認証が成立した際に前記トークンを前記デバイスに発行することを特徴とする検索システムである。
この構成によれば、デバイスにトークンを払い出す迄に必要な処理を、検索サーバがデバイスの代理で行う。その処理は、通常、デバイスがWebサーバにリクエストして一時コードを取得し、この一時コードを端末機に表示させ、これをユーザが見ながら端末機に入力し、この入力に応じた端末機によるアクセスにより、Webサーバからデバイスにトークンが払い出されるようになっている。
本発明では、そのデバイスにトークンを払い出す迄に必要な処理を、検索サーバに代理して行なわせるので、複数のWebサービス事業者が個別にユーザの利用状況を把握するといったシステム構築が不要となる。このため、事業者毎にユーザ利用を確認するための構築コストを削減することができる。従って、位置が変動するデバイスのうちユーザが利用可能なデバイスを検索する検索システムを低コストで実現することができる。
また、Webサーバから、デバイスの代理の検索サーバを介して端末機へ一時コードを受け渡し、これに応じて端末機がユーザのID及びパスワードをWebサーバへ通知することで、WebサーバがID及びパスワードによりユーザ認証を行うので、ユーザのWebアクセス時の認証を適正に行うことができる。
請求項2に係る発明は、前記一時コードリダイレクト手段は、前記デバイスへの前記一時コード及びURLを前記端末機へ送信する際に、認証基準となるデバイスの固有情報である信頼情報も併せて送信することを特徴とする請求項1に記載の検索システムである。
この構成によれば、端末機が、一時コード及びURLの他に、デバイスの固有情報である信頼情報も併せて受信する。このため、端末機は、信頼情報により、Webサーバから送られてきたデバイスへの一時コード及びURLが、目的のデバイスに係るか否かを的確に判断することができる。このため、既存のWebサービスの仕組みを変えることなく、一時コードを受信したURLのWebサーバへ、ユーザのID及びパスワードを安全に送信することができる。
請求項3に係る発明は、前記端末機は、前記デバイスへのトークン流通要求を前記検索サーバに送信する要求手段と、前記一時コードリダイレクト手段から送信された前記デバイスへの前記一時コード及びURLを受信時に、この受信したURLのWebサーバにユーザのID及びパスワードを送信してユーザ認証要求を行う認証応答手段と、前記ユーザ認証要求を行ったWebサーバでユーザ認証が確認された際に、前記一時コードを前記Webサーバへ送信する一時コード送付手段と、を備えることを特徴とする請求項1又は2に記載の検索システムである。
この構成によれば、端末機は、デバイスの代理としての検索サーバに、デバイスへのトークン流通要求を行うことができ、Webサーバへユーザ認証のために必要な情報を通知することができる。
請求項4に係る発明は、ユーザが使用する端末機と、情報通信を行うWebサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Webサーバから前記デバイスに対して、Webサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバであって、記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Webサーバに対してトークン代理要求として行う代理要求手段と、前記トークン代理要求に応じて前記Webサーバから発行される前記デバイスへの一時コード及び認証用の前記WebサーバのURLを、前記端末機へ送信する一時コードリダイレクト手段と、前記一時コードリダイレクト手段が前記一時コード及びURLを前記端末機へ送信後に、当該端末機から当該URLの前記Webサーバへ通知されるユーザのID及びパスワードによりユーザ認証を行った当該Webサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信するトークンリダイレクト手段と、を備えることを特徴とする検索サーバである。
請求項5に係る発明は、ユーザが使用する端末機と、情報通信を行うWebサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Webサーバから前記デバイスに対して、Webサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバで実行される方法であって、前記検索サーバは、記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Webサーバに対してトークン代理要求として行うステップと、前記トークン代理要求に応じて前記Webサーバから発行される前記デバイスへの一時コード及び認証用の前記WebサーバのURLを、前記端末機へ送信するステップと、前記一時コード及びURLを前記端末機へ送信後に、当該端末機から当該URLの前記Webサーバへ通知されるユーザのID及びパスワードによりユーザ認証を行った当該Webサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信するステップと、を実行することを特徴とする方法である。
請求項6に係る発明は、ユーザが使用する端末機と、情報通信を行うWebサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Webサーバから前記デバイスに対して、Webサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバとしてのコンピュータを、記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Webサーバに対してトークン代理要求として行う手段、前記トークン代理要求に応じて前記Webサーバから発行される前記デバイスへの一時コード及び認証用の前記WebサーバのURLを、前記端末機へ送信する手段、前記一時コード及びURLを前記端末機へ送信後に、当該端末機から当該URLの前記Webサーバへ通知されるユーザのID及びパスワードによりユーザ認証を行った当該Webサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信する手段、として機能させるためのプログラムである。
この請求項4,5,6の構成によれば、一時コード発行及びユーザ認証処理を行ってデバイスにトークンを払い出す迄に必要な処理を、検索サーバがデバイスに代理して行なう。このため、複数のWebサービス事業者が個別にユーザの利用状況を把握するといったシステム構築が不要となり、ユーザが利用可能なデバイスを検索する検索システムを低コストで実現することができる。
本発明によれば、位置が変動するデバイスのうちユーザが利用可能なデバイスを検索するシステムを低コストで実現することができ、また、ユーザのWebアクセス時の認証を適正に行うことができる検索システム、検索サーバ、方法及びプログラムを提供することができる。
本発明の実施形態に係る通信装置の構成を示すブロック図である。 本実施形態の通信装置の検索サーバの構成を示すブロック図である。 本実施形態の通信装置のユーザ端末機及びWebサーバの構成を示すブロック図である。 本実施形態の通信装置のデバイス及び課金代行サーバの構成を示すブロック図である。 ユーザ情報のデータ構成例を示す図である。 デバイス情報のデータ構成例を示す図である。 デバイス利用履歴情報のデータ構成例を示す図である。 本実施形態の検索処理手順を例示するシーケンス図である。 本実施形態のユーザ登録処理手順を例示するシーケンス図である。 本実施形態のデバイス登録処理手順を例示するシーケンス図である。 本実施形態のデバイス検索処理手順を例示するシーケンス図である。 本実施形態のデバイスランキング生成処理手順を説明するためのフローチャートである。 本実施形態のローカル相互認証処理手順を例示するシーケンス図である。 本実施形態の物理インタラクション処理手順を例示するシーケンス図である。 本実施形態の利用開始処理手順を例示するシーケンス図である。 本実施形態の課金リクエスト処理手順を例示するシーケンス図である。 本実施形態のAPIアクセストークン流通処理手順を例示するシーケンス図である。 本実施形態の利用終了処理手順を例示するシーケンス図である。 本実施形態のプログラムを実行するコンピュータを示す図である。 OAuthフローによるWebサーバを介したユーザ端末機とデバイス間の認証等の動作を説明するためのシーケンス図である。
以下、本発明の実施形態を、図面を参照して説明する。
<実施形態の構成>
図1は、本発明の実施形態に係る検索システムの構成を示すブロック図である。
図1に示す検索システム1は、検索装置としての検索サーバ100と、ユーザが所有するスマートフォン等のユーザ端末機200と、検索対象のデバイス300と、課金代行サーバ400と、Webサーバ500とがインターネット等の通信ネットワークを介して通信可能に接続された通信システムである。また、ユーザ端末機200とデバイス300間は、無線形式のローカル通信が可能となっている。
デバイス300は、位置が変動する移動体に通信及び演算処理機能を一体に搭載した装置である。
検索サーバ100は、デバイス300の位置や利用履歴の情報を管理して、ユーザがユーザ端末機200から指定したデバイス300の種別に応じて、ユーザ端末機200の近傍にあるデバイス300をユーザ端末機200に提示する。検索サーバ100は、デバイス300を提示する際、各デバイス300の利用履歴により集計されたランキング情報を併せてユーザ端末機200へ提示する。提示されたデバイス300の中から1つをユーザが選択すると、選択されたデバイス300とユーザ端末機200との間で、検索サーバ100を介して無線形式のローカル通信の認証が行われ、ローカル通信により通信可能となる。また、検索サーバ100は、後述のようにデバイス300の代理となって、APIアクセストークン(トークン)を要求する処理を行う。
課金代行サーバ400は、課金装置であり、デバイス300を選択したユーザに対するサービス利用料の課金を仲介する。
検索サーバ100の構成を図2に示し、ユーザ端末機200及びWebサーバ500の構成を図3に示し、デバイス300及び課金代行サーバ400の構成を図4に示す。
[検索サーバの構成]
図2に示すように、検索サーバ100は、記憶部10及び制御部50を備えて構成されている。制御部50は、ワークステーションやパソコン等の汎用コンピュータで実現され、装置内部のCPU(Central Processing Unit)等の演算処理装置がメモリに記憶された制御プログラムを実行することによって、所定の処理を実行する。
記憶部10は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、ユーザ情報T100、デバイス情報T200、及びデバイス利用履歴情報T300を記憶する。
ユーザ情報T100は、図5に例示するように、ユーザID(Identification)、パスワード、及びデバイスの利用を指定した利用指定中デバイスのデバイスIDを含んで構成される。なお、利用指定中デバイスは、利用中デバイスともいう。ここで、ユーザIDとは、ユーザの識別情報を意味する。このユーザID及びパスワードは、後述するユーザ登録処理において発行され、その後、検索サーバ100によるユーザ認証に使用される。デバイスIDとはデバイス300の識別情報を意味する。利用中デバイスのデバイスIDとは、後述するデバイス検索処理においてユーザが利用するために選択したデバイス300の識別情報を意味する。
デバイス情報T200は、図6に例示するように、デバイスID、パスワード、位置、種別、及びIP(Internet Protocol)アドレスを含んで構成される。デバイスIDはデバイス300の識別情報を意味する。このデバイスID及びパスワードは、後述するデバイス登録処理において発行され、その後、検索サーバ100によるデバイス認証に使用される。位置とは、例えば「N**.**.**E**.**.**.**」のように表されるデバイスの位置を意味する。種別とは、例えば「自転車」等のデバイスの種別を意味する。IPアドレスとは、デバイス300とインターネットを介して通信する場合のIPアドレスを意味する。
デバイス利用履歴情報T300は、図7に例示するように、デバイスID、ユーザID、利用結果、利用開始時刻及び利用終了時刻を含んで構成される。利用結果とは、ユーザが過去にデバイス300を利用した場合の結果を意味する。また、利用開始時刻、又は利用終了時刻とは、ユーザがデバイス300の利用を開始した時刻、又は終了した時刻を意味する。本実施形態では、後述する処理により、利用開始時刻及び利用終了時刻が記録された場合に、利用結果には「正常」が記録される。一方、利用開始時刻が記録されたものの、利用終了時刻が記録されなかった場合に、利用結果には「利用失敗」が記録される。
図2に戻って、検索サーバ100は、制御部50の制御により、ユーザ端末機200から位置とデバイス300の種別を特定可能なキーワードとが通知された場合に、この通知情報から、ユーザ端末機200の近傍の当該特定可能な種別のデバイス300を1以上特定する。更に、検索サーバ100は、その特定したデバイス300の位置と利用履歴とに基づいて算出したランキング情報をユーザ端末機200に提示する。
検索サーバ100は、その提示したデバイス300の内の1つをユーザ端末機200が選択した場合に、この選択されたデバイス300とユーザ端末機200との間にローカル通信の通信路を確立させる。また、検索サーバ100は、ユーザ端末機200が選択したデバイス300についての利用開始時刻や利用終了時刻等の利用履歴を受け取った場合に、デバイス利用履歴情報T300に保存する。
制御部50は、具体的に、課金リクエスト誘導手段104、デバイス位置更新受付手段105、利用履歴記録部20、デバイス検索部30、登録・認証部40、ローカル相互認証補助手段111、APIアクセストークン代理要求手段(代理要求手段)112、一時コードリダイレクト手段113、及びアクセストークンリダイレクト手段(トークンリダイレクト手段)114を備えて構成されている。
課金リクエスト誘導手段104は、デバイス300から課金リクエストを受信した場合に、ユーザを外部の課金代行サービスサイトに誘導し、決済結果をデバイス300に通知する。また、デバイス位置更新受付手段105は、デバイス300の位置に応じて、デバイス情報T200を更新する。
利用履歴記録部20は、履歴管理手段として、利用開始終了要求仲介手段106を含む。利用開始終了要求仲介手段106は、ユーザ端末機200から受信した利用開始要求及び利用終了要求を、デジタル署名を含めてデバイス300に転送し、利用履歴をデバイス利用履歴情報T300に記録する。
デバイス検索部30は、検索手段として、デバイスランキング生成手段107及びユーザ利用デバイス受付手段110を含む。
デバイスランキング生成手段107は、ユーザ端末機200の位置に応じて、デバイス情報T200及びデバイス利用履歴情報T300を参照して、ユーザ端末機200の近傍のデバイス300のランキング情報を生成し、ユーザ端末機200に提示する。
ユーザ利用デバイス受付手段110は、ユーザ端末機200から利用中デバイスのデバイスIDを受信して、ユーザ情報T100に記録する。
登録・認証部40は、ユーザ端末機登録・削除・認証手段108及びデバイス登録・削除・認証手段109を含む。
ユーザ端末機登録・削除・認証手段108は、ユーザ端末機200のユーザ登録要求に応答してユーザID及びパスワードを発行してユーザ情報T100に記録し、ユーザ認証時に、ユーザ情報T100を参照してユーザ端末機200を認証する。
デバイス登録・削除・認証手段109は、デバイス300のデバイス登録要求に応答してデバイスID及びパスワードを発行してデバイス情報T200に記録し、デバイス認証時に、デバイス情報T200を参照してデバイス300を認証する。
ローカル相互認証補助手段111は、認証手段として、ユーザ端末機200とデバイス300との両者間のローカル通信によるペアリングの際、ローカル通信用認証コードとして乱数を生成して両者に通知し、自動的に通信路を確立させる。
APIアクセストークン代理要求手段112は、ユーザ端末機200から、WebAPIを発行するWebサーバ500のURLを受け取り、Webサーバ500に対してデバイス300として振る舞い、言い換えればデバイス300の代理となって、APIアクセストークンを要求する処理を行う。
一時コードリダイレクト手段113は、Webサーバ500より受け取ったOAuthフロー(前述の「背景技術」参照)による一時コードを、ユーザ端末機200へリダイレクトする処理を行う。
アクセストークンリダイレクト手段114は、Webサーバ500より受け取ったOAuthフローによるトークンを、ユーザ端末機200の利用中デバイス300に送信する処理を行う。なお、検索システム1全体における検索処理手順については後述する。
[ユーザ端末機の構成]
図3に示すように、ユーザ端末機200は、パソコンやスマートフォンやタブレット等の汎用コンピュータで実現され、装置内部のCPU等の演算処理装置がメモリに記憶された制御プログラムを実行することによって後述の各手段201〜212による制御を行う。
ユーザ端末機200は、ユーザ端末機200の位置と、ユーザ端末機200を使用するユーザが所望するデバイスの種別を特定可能な情報とを検索サーバ100に通知し、検索サーバ100から1以上の近傍のデバイス300が提示された場合に、いずれかのデバイス300を特定して選択し、選択した該デバイス300とローカル通信を行う。
ユーザ端末機200は、サーバ接続手段201、課金サービスアクセス手段202、利用開始終了要求送出手段203、デバイス検索要求・結果受信手段204、利用デバイス選択手段205、ユーザ端末機登録手段206、ユーザ端末機認証応答手段207、ローカル相互認証手段208、物理インタラクション要求手段209、APIアクセストークン要求手段(要求手段)210、Webサービス認証応答手段(認証応答手段)211、及び一時コード送付手段212を備えて構成されている。
サーバ接続手段201は、ユーザ端末機200に予め記録されている検索サーバ100のIPアドレスにアクセスする。
課金サービスアクセス手段202は、検索サーバ100が指定した課金代行サービスサイトのURLにアクセスし、課金代行サーバ400による決済処理に応答する。
利用開始終了要求送出手段203は、検索サーバ100にデバイス300の利用開始及び利用終了を要求する。
デバイス検索要求・結果受信手段204は、ユーザ端末機200の位置とキーワードを通知して、デバイス検索処理の結果を受信する。
利用デバイス選択手段205は、デバイス検索の結果から利用するデバイス300を選択し、検索サーバ100に通知する。
ユーザ端末機登録手段206は、検索サーバ100にユーザ端末機200の登録を要求し、発行されたユーザID及びパスワードを記録する。
ユーザ端末機認証応答手段207は、検索サーバ100のユーザ認証の要求に応答し、ユーザID及びパスワードを検索サーバ100に送信する。
ローカル相互認証手段208は、検索サーバ100からローカル通信用認証コードを受信して、選択したデバイス300との間で相互に認証を行って、ローカル通信の通信路を確立する。
物理インタラクション要求手段209は、選択したデバイス300にローカル通信を介して物理インタラクション処理を要求する。
APIアクセストークン要求手段210は、ユーザ端末機200から検索サーバ100を介してWebサーバ500へ、利用中デバイス300で利用したいWebサーバ500によるWebサービスのURLを送信する処理を行う。
Webサービス認証応答手段211は、Webサーバ500の認証要求に応じ、ID及びパスワードを送信する処理を行う。
一時コード送付手段212は、Webサーバ500に対し、OAuthフローの一時コードを送信する処理を行う。なお、検索システム1全体における検索処理手順については後述する。
[デバイスの構成]
図4に示すように、デバイス300は、前述した通信機能及び演算処理機能を有する端末機を移動体に一体に搭載した装置である。本実施形態では、デバイス300は、レンタサイクル(自転車)に、通信装置及びマイコン等で実現される演算処理装置を備え、演算処理装置がメモリに記憶された制御プログラムを実行することによって後述の各手段301〜309による制御を行う。このデバイス300は、当該デバイス300の位置を検索サーバ100に通知し、ユーザ端末機200とローカル通信を行う。
デバイス300は、サーバ接続手段301、デバイス位置情報更新手段302、利用開始終了要求受付・検証手段303、デバイス登録要求手段304、デバイス認証応答手段305、ローカル相互認証手段306、課金リクエスト手段307、所在通知インタラクション手段308、及びアクセストークン受付手段309を備えて構成されている。
サーバ接続手段301は、デバイス300に予め記録されている検索サーバ100のIPアドレスにアクセスする。
デバイス位置情報更新手段302は、デバイス300の位置を検索サーバ100に通知する。
利用開始終了要求受付・検証手段303は、利用開始要求又は利用終了要求を検索サーバ100から受信した際、検索サーバ100のデジタル署名を検証し、認証された場合に利用開始応答又は利用終了応答を返送する。
デバイス登録要求手段304は、検索サーバ100にデバイス300の登録を要求し、発行されたデバイスID及びパスワードを記録する。
デバイス認証応答手段305は、検索サーバ100のデバイス認証の要求に応答し、デバイスID及びパスワードを返送する。
ローカル相互認証手段306は、検索サーバ100からローカル通信用認証コードを受信して、ユーザ端末機200との間で相互に認証を行って、ローカル通信の通信路を確立する。
課金リクエスト手段307は、ユーザにサービス利用料を課金する場合に、検索サーバ100に課金の金額を通知し、決済処理が完了した場合に結果を受信する。
所在通知インタラクション手段308は、ユーザ端末機200からローカル通信を介して物理インタラクション要求を受信した場合に、自身の所在を物理的に通知する。例えば、ライトを光らせたり、音を鳴らしたり、振動を起こしたりする。
アクセストークン受付手段309は、トークンを受信する処理を行う。なお、検索システム1全体における検索処理手順については後述する。
[課金代行サーバの構成]
図4に示すように、課金代行サーバ400は、検索サーバ100の外部の課金サービスを代行する課金代行サービス業者が運用するサーバ装置である。課金代行サーバ400は、ワークステーションやパソコン等の汎用コンピュータで実現され、装置内部のCPU等の演算処理装置がメモリに記憶された制御プログラムを実行することによって後述の各手段401〜403による制御を行う。
課金代行サーバ400は、課金代行要求受付手段401、課金結果通知手段402、及び課金代行ユーザ決済手段403を備えて構成されている。
課金代行要求受付手段401は、ユーザに対するサービス利用料の課金の金額を受信して、課金代行サービスサイトの課金用URLを生成して通知する。
課金代行ユーザ決済手段403は、課金用URLにアクセスしたユーザ端末機200に金額を提示し、例えばクレジットカード番号を取得する等により決済を行う。
課金結果通知手段402は、決済が完了した場合に検索サーバ100に通知する。
[Webサーバの構成]
図3に示すように、Webサーバ500は、パソコンやスマートフォンやタブレット等の汎用コンピュータで実現され、装置内部のCPU等の演算処理装置がメモリに記憶された制御プログラムを実行することによって後述の各手段501〜503による制御を行う。
Webサーバ500は、OAuthフローのプロトコルにより、ユーザアカウント(ユーザ名)に紐づくAPIへのトークンを、デバイス300の代理としての検索サーバ100へ発行する処理を行う。この発行されたトークンは、最終的には、検索サーバ100からユーザ端末機200に紐づくデバイス300へ送信されるようになっている。
Webサーバ500は、APIアクセストークン発行手段501、ユーザ認証手段502、及び一時コード発行手段503を備えて構成されている。
APIアクセストークン発行手段501は、OAuthフローのプロトコルにより、ユーザアカウントに紐づくAPIへのトークンを発行する処理を行う。
ユーザ認証手段502は、ユーザ(ユーザ端末機200)をID及びパスワードにより認証する処理を行う。
一時コード発行手段503は、OAuthフローのプロトコルにより、認証のための一時コードを発行する処理を行う。この発行された一時コードは、検索サーバ100を介してユーザ端末機200へ送信されるようになっている。
[検索処理手順]
次に、図8〜図18を参照して、検索システム1における検索処理手順について説明する。図8に示すように、本実施形態の検索処理は、(1)に示すデバイス・ユーザ登録処理、(2)に示すデバイス検索処理、(3)に示すローカル相互認証処理、(4)に示す物理インタラクション処理、(5)に示す利用開始処理、(6)に示す課金リクエスト処理、(7)に示すAPIアクセストークン流通処理、及び(8)に示す利用終了処理に分けられる。
(1)デバイス・ユーザ登録処理は、ユーザ端末機200から検索サーバ100に対するユーザ及びデバイス300の登録を行う処理であり、(2)以降の処理の開始前に予め実行される。なお、デバイス・ユーザ登録処理は、ユーザ登録処理(S100)とデバイス登録処理(S200)とを含む。ユーザ登録処理は、ユーザ端末機200を操作して検索サーバ100のユーザ情報T100にユーザの情報を記録する処理である。デバイス登録処理(S200)は、デバイス300が、検索サーバ100のデバイス情報T200に自デバイス300の情報を記録する処理である。
(2)デバイス検索処理(S300)は、ユーザ端末機200の位置情報とユーザ端末機200から入力されたキーワードとを伴ったサービス開始の要求に応じて、ユーザ端末機200の近傍のデバイス300を提示する処理である。
(3)ローカル相互認証処理(S400)は、ユーザが所持するユーザ端末機200がデバイス300に近づいた際に、検索サーバ100がユーザ端末機200とデバイス300との間のローカル通信の通信路を確立させる処理である。
(4)物理インタラクション処理(S500)は、ユーザ端末機200とのローカル通信の通信路が確立したデバイス300が、自身の所在を光、音又は振動等、視覚、聴覚又は触覚を通じて通知する処理である。
(5)利用開始処理(S600)は、ローカル通信の通信路が確立された後にユーザ端末機200を所持するユーザが、デバイス300の利用を開始するための処理である。
(6)課金リクエスト処理(S700)は、デバイス300の利用にかかるサービス利用料のユーザへの課金の処理である。
(7)APIアクセストークン流通処理(S800)は、ユーザの持つWebサービスアカウントへのアクセス権であるトークンをデバイス300へ流通する処理である。
(8)利用終了処理(S900)は、ユーザ端末機200を所持するユーザがデバイス300の利用を終了するための処理である。これら(1)〜(8)の各処理について、下記の図9〜図11,図13〜図18に示すシーケンス図、及び図12に示すフローチャートを参照して説明する。但し、各シーケンス図に示す検索サーバ100、ユーザ端末機200、デバイス300及びWebサーバ500の構成要素は、図2〜図4を参照する。
[ユーザ登録処理]
図9に示すシーケンス図を参照して、ユーザ登録処理手順(図8のS100)を説明する。
図9に示すように、ユーザ端末機200のサーバ接続手段201が、検索サーバ100に接続する処理を行う(S101)。続いて、ユーザ端末機200のユーザ端末機登録手段206が、ユーザ端末機登録要求を検索サーバ100に送信する(S102)。
ユーザ端末機登録要求を受信した検索サーバ100のユーザ端末機登録・削除・認証手段108が、このユーザ端末機200に対するユーザID及びパスワードを生成し(S103)、ユーザ情報T100に保存する(S104)とともに、ユーザ端末機200に通知する(S105)。
[デバイス登録処理]
図10に示すシーケンス図を参照して、デバイス登録処理手順(図8のS200)を説明する。
図10に示すように、デバイス300のサーバ接続手段301が、検索サーバ100に接続する処理を行う(S201)。続いて、デバイス300のデバイス登録要求手段304が、デバイス登録要求を検索サーバ100に送信する(S202)。
デバイス登録要求を受信した検索サーバ100のデバイス登録・削除・認証手段109は、このデバイス300に対するデバイスID及びパスワードを生成し(S203)、デバイス情報T200に保存する(S204)とともに、デバイス300に通知する(S205)。
[デバイス検索処理]
図11に示すシーケンス図を参照して、デバイス検索処理手順(図8のS300)を説明する。
図11に示すように、ユーザ端末機200のユーザ端末機認証応答手段207は、検索サーバ100との間で、ユーザID及びパスワードを用いてユーザ認証を行う(S301)。続いて、ユーザ端末機200のデバイス検索要求・結果受信手段204が、自身の位置とユーザが入力したデバイスの種別を特定可能なキーワードを伴ったデバイス検索要求を検索サーバ100に送信する(S302)。
デバイス検索要求を受信すると、検索サーバ100のデバイスランキング生成手段107は、ユーザ端末機200の位置とキーワードとを基にランキング情報を生成するデバイスランキング生成処理を実行する(S303)。デバイスランキング生成処理については後述する。続いて、検索サーバ100のデバイスランキング生成手段107は、生成したランキング情報をユーザ端末機200に送信する(S304)。
ランキング情報を受信すると、ユーザ端末機200の利用デバイス選択手段205は、ユーザのデバイス300を選択する入力を受け付ける利用デバイス選択処理を行う(S305)。そして、ユーザ端末機200の利用デバイス選択手段205は、選択されたデバイス300のデバイスIDを検索サーバ100に送信する処理を行う(S306)。
選択されたデバイス300のデバイスIDを受信すると、検索サーバ100のユーザ利用デバイス受付手段110は、このデバイスIDをユーザ情報T100の利用中デバイスのデバイスIDとして登録する利用デバイス登録処理を行う(S307)。
ここで、ステップS303のデバイスランキング生成処理について説明する。図12は、デバイスランキング生成処理手順を説明するためのフローチャートである。図12に示すように、デバイスランキング生成処理は、(1)に示すデバイス抽出処理と、(2)に示すデバイススコアリング処理とを含む。
まず、デバイスランキング生成手段107は、ユーザ情報T100及びデバイス情報T200を参照し、ユーザ端末機200の例えば5km以内の近傍にあるデバイス300を抽出する(S31)。更に、デバイスランキング生成手段107は、ユーザがユーザ端末機200に入力したキーワードから所望のデバイスの種別を特定し、特定した種別に該当するデバイス300を抽出する(S32)。なお、キーワード入力の際、デバイスの種別の一覧表示からユーザに選択させる等して、キーワードがデバイスの種別と一致するようにしてもよい。
上記のデバイス抽出処理S31〜S32の後、デバイスランキング生成手段107は、次のデバイススコアリング処理S33〜S35を実行する。即ち、デバイスランキング生成手段107は、ユーザ端末機200の位置と上記ステップS32の処理で抽出された1以上のデバイス300の位置との間の距離を算出し、各デバイス300に近傍度を表すスコアを付与する(S33)。近傍度を表すスコアは、例えば、両者の距離が300m以内の場合には「3」とし、300mより大きく1km以内の場合に「2」とし、1kmより大きく2.5km以内の場合に「1」とする。
デバイスランキング生成手段107は、デバイス利用履歴情報T300を参照して、上記ステップS32の処理で抽出したデバイス300のそれぞれに、信頼度を表すスコアを付与する(S34)。具体的には、デバイスランキング生成手段107は、デバイス利用履歴情報T300を参照して各デバイス300の利用結果を抽出し、利用結果の総数で表わされる利用回数のうち、正常であるものの割合に応じて、信頼度を表すスコアを付与する。信頼度を表すスコアは、例えば、正常であるものが80%以上の場合に「3」とし、50%以上80%未満の場合に「2」とし、50%未満の場合に「1」とする。
デバイスランキング生成手段107は、上記ステップS33の処理で付与した近傍度を表すスコアと、上記ステップS34の処理で付与した信頼度を表すスコアとを合算した合算スコアを降順に並べて、デバイス300のランキング情報を生成する(S35)。
[ローカル相互認証処理]
図13に示すシーケンス図を参照して、ローカル相互認証処理手順(図8のS400)を説明する。
図13に示すように、ユーザ端末機200のローカル相互認証手段208は、上記ステップS306の処理で選択されたデバイス300との間にローカル通信の通信路を確立するための仲介であるペアリング補助を要求する(S401)。
要求を受信すると、検索サーバ100のローカル相互認証補助手段111は、ユーザ情報T100を参照し、上記ステップS306の処理で受信したデバイスIDに対応付けされているIPアドレスを抽出し(S402)、この抽出されたIPアドレスを使用してデバイス300に接続する。その後、検索サーバ100のデバイス登録・削除・認証手段109が、デバイス300のデバイス認証応答手段305との間でデバイス認証を行う(S403)。
デバイス認証が完了したら、検索サーバ100のローカル相互認証補助手段111は、ローカル通信用認証コードとして乱数を生成し(S404)、この乱数を、ユーザ端末機200及びデバイス300にそれぞれ送信する(S405,S406)。
ローカル通信用認証コードを受信すると、ユーザ端末機200のローカル相互認証手段208及びデバイス300のローカル相互認証手段306は、ローカル通信用認証コードを用いて相互にローカル通信の通信路を確立する、ローカル通信によるペアリング処理を実行する(S407)。
[物理インタラクション処理]
図14に示すシーケンス図を参照して、物理インタラクション処理手順(図8のS500)を説明する。
図14に示すように、ユーザ端末機200の物理インタラクション要求手段209は、上記ステップS407の処理でローカル通信によるペアリングが行われたデバイス300に、ローカル通信により物理インタラクション要求を行う(S501)。デバイス300の所在通知インタラクション手段308は、その要求を受信すると、デバイス300に備わるランプを光らせる等、視覚、聴覚、又は触覚を通じてユーザに自デバイス300の所在を通知する(S502)。物理インタラクション処理により、デバイス300に備わるスピーカから音を出したり、振動を発生させたりしてもよい。
[利用開始処理]
図15に示すシーケンス図を参照して、利用開始処理手順(図8のS600)を説明する。
図15に示すように、ユーザ端末機200の利用開始終了要求送出手段203は、上記ステップS407の処理でローカル通信の通信路を確立したデバイス300の利用開始を要求する利用開始要求を、検索サーバ100に送信する(S601)。
検索サーバ100の利用開始終了要求仲介手段106は、上記の利用開始要求を受信すると、ユーザ情報T100及びデバイス情報T200を参照し、要求送信元のユーザ端末機200のユーザIDに対応付けされている利用中デバイスのデバイスIDと、このデバイスIDに対応付けされているIPアドレスとを抽出する(S602)。また、検索サーバ100の利用開始終了要求仲介手段106は、利用開始要求を受信した時刻を利用開始時刻としてデバイス利用履歴情報T300に記録する(S603)。更に、利用開始終了要求仲介手段106は、抽出したデバイスIDのIPアドレスを使用して、このデバイス300にデジタル署名を行った利用開始要求を送信する(S604)。
デバイス300の利用開始終了要求受付・検証手段303は、上記ステップS604の利用開始要求を受信すると、デジタル署名を検証し、利用開始要求が検索サーバ100からのものであるかを検証する(S605)。その結果、その利用開始要求が検索サーバ100からの正当な要求であることが確認された場合は、デバイス300の利用開始終了要求受付・検証手段303は、検索サーバ100に利用開始応答を送信する(S606)。これによって、ユーザのデバイス300のサービス利用が開始される。一方、上記ステップS604の利用開始要求が検索サーバ100からの正当な要求であることが確認されなかった場合は、デバイス300の利用開始終了要求受付・検証手段303は、利用開始要求を破棄する。
[課金リクエスト処理]
図16に示すシーケンス図を参照して、課金リクエスト処理手順(図8のS700)を説明する。
図16に示すように、デバイス300は、ユーザのサービス利用の開始から後述する利用終了処理までの間の任意のタイミングで、ユーザに対するサービス利用料の課金を外部の課金代行サーバ400に要求し、課金決済の決済結果の通知を受信する課金リクエスト処理を実行する。
図16に示すように、まず、デバイス300の課金リクエスト手段307は、検索サーバ100に課金する金額を伴った課金リクエストを送信する(S701)。検索サーバ100の課金リクエスト誘導手段104は、その課金リクエストを受信すると、ユーザ情報T100を参照し、課金リクエストの送信元のデバイス300のデバイスIDに対応付けされている、当該デバイス300を利用中のユーザのユーザIDを抽出する(S702)。
次いで、検索サーバ100の課金リクエスト誘導手段104は、課金代行サーバ400に金額を伴う課金サービス登録を送信し、課金の金額を通知する(S703)。課金代行サーバ400の課金代行要求受付手段401は、上記の課金サービス登録を受信すると、課金用URLを生成し、この課金URLを含む課金サービス応答を検索サーバ100に返送する(S704)。
検索サーバ100の課金リクエスト誘導手段104は、上記の課金サービス応答を受信すると、外部課金代行サイトの課金用URLとして、課金サービス応答に含まれる課金用URLを含む課金要求をユーザ端末機200に送信する(S705)。
ユーザ端末機200の課金サービスアクセス手段202は、上記の課金要求を受信すると、外部課金代行サイトの課金URLを指定して課金代行サーバ400にアクセスする。課金代行サーバ400では、課金代行ユーザ決済手段403の制御によりこのユーザに対する課金の決済処理が実行される(S706)。
その後、課金代行サーバ400の課金結果通知手段402は、検索サーバ100に決済結果を通知する(S707)。検索サーバ100の課金リクエスト誘導手段104は、その決済結果の通知を受信すると、デバイス300に決済結果を通知する(S708)。
[APIアクセストークン流通処理]
図17に示すシーケンス図を参照して、APIアクセストークン流通処理手順(図8のS800)を説明する。
但し、デバイス300は、自デバイス300をユーザに提供するサービス提供開始から終了までの間に、ユーザの認証のもと、ユーザのWebアカウントの情報に対してWebサーバ500に係るAPIを介して、ユーザ端末機200へアクセスする機能を有する。
通常は、前述で図20を参照して説明したように、デバイス300がWebサーバ500にリクエストして一時コードを取得し、この一時コードをユーザ端末機200に表示させ、この表示をユーザが見ながらユーザ端末機200に入力する。この入力に応じたユーザ端末機200によるアクセスにより、Webサーバ500からデバイス300にトークンが払い出される。
トークンには、Webサービス中のユーザ端末機200の情報にアクセスできる権利が入っている。従って、デバイス300は、トークンを取得することで、ユーザ端末機200へのアクセス権を得ることになる。
本実施形態では、デバイス300にトークンを払い出す迄に必要な処理を、検索サーバ100が代理して行うようにした。つまり、検索サーバ100は、デバイス300がユーザ端末機200へのアクセス権を取りに行くことを代理する権利(代理権)を有する。この検索サーバ100の代理により、デバイス300から見れば、後述の図17のステップS809に示すように、検索サーバ100から払い出されるトークンを受け取るのみの動作となる。つまり、検索サーバ100が代理しているのは、トークンを払い出す迄のトークン払い出し動作処理である。
図17に示すように、ユーザ端末機200は、APIアクセストークン要求手段210(図3)により、ユーザ認証を行うWebサービスのURL(Webサーバ500のURL)を検索サーバ100に通知することにより、デバイス300へのAPIアクセストークン流通要求を行う(S801)。
その要求を受けた検索サーバ100は、APIアクセストークン代理要求手段112(図3)により、Webサーバ500に対して、OAuthフローのプロトコルに従って、ユーザの認証要求のためのAPIアクセストークン代理要求を行う(S802)。
この要求を受けたWebサーバ500は、一時コード発行手段503(図3)により、OAuthフローのプロトコルに従って、デバイス300への一時コード及び認証用のWebサーバのURLを検索サーバ100に発行する(S803)。この発行される一時コードは、言い換えれば、Webサーバ500がユーザ端末機200に対して一時的に仮に割り当てる許可証に該当する。
検索サーバ100は、一時コードリダイレクト手段113(図2)により、ユーザ端末機200に対して、Webサービス(Webサーバ500)の認証を行うページのURL及び一時コードを送信する。この時併せて、認証基準となるデバイス300の固有情報等を示す信頼情報も送信する(S804)。
ユーザ端末機200は、Webサービス認証応答手段211により、上記ステップS804で受け取ったURLで示されるWebサーバ500にアクセスし、このアクセスしたWebサーバ500にID及びパスワードを送信して認証の要求を行う(S805)。
Webサーバ500はユーザ認証手段502により、ID及びパスワードからユーザ認証を実施し、この認証結果をユーザ端末機200に通知する。この際、Webサーバ500は、ユーザ認証が成立していれば、認証の成立及び一時コードの入力画面の情報をユーザ端末機200へ送信する。但し、ユーザ認証手段502によるユーザ認証では、信頼情報も用いて認証を行うので、より的確な認証が行なわれる(S806)。
ユーザ端末機200は、上記ステップS806で送られて来た認証結果を受信すると、Webサービス認証応答手段211により、認証の可否の判断を行う。認証が成立していれば、一時コード送付手段212により、一時コードをWebサーバ500へ送信する(S807)。
Webサーバ500は、その送信された一時コードを受け取り、当該一時コードとユーザアカウント(ユーザ名)との対応関係を確認できるので、検索サーバ100にトークンを払出可能となる。即ち、APIアクセストークン発行手段501により、受け取った一時コードの値をもとに、上記対応関係が確認できれば、一時コードを発行した対象の検索サーバ100に対してトークンを発行する(S808)。
検索サーバ100は、その送信されたトークンを受け取り、アクセストークンリダイレクト手段114(図2)により、ユーザ情報T100(図5)を参照してユーザの利用中デバイスを特定し、この特定したデバイス300にトークンを送信する(S809)。この送信されたトークンは、デバイス300のアクセストークン受付手段309(図4)により取得される。
このようなステップS801〜S809のシーケンスにより、デバイス300への、Webサービス(Webサーバ500)のユーザアカウントに対するAPIアクセストークンの流通が実現されるので、デバイス300は、トークンを取得することで、ユーザ端末機200へのアクセス権を得る。この後、ユーザ端末機200は、Webサーバ500(自分のフェイスブック[登録商標]等)にアクセスして、目的のデバイス300に適正にアクセス可能となる。
[利用終了処理]
図18に示すシーケンス図を参照して、利用終了処理手順(図8のS900)を説明する。
図18に示すように、利用中デバイスの利用サービスを終了する場合、ユーザ端末機200の利用開始終了要求送出手段203は、デバイス300の利用終了を要求する利用終了要求を、検索サーバ100に送信する(S901)。
利用終了要求を受信すると、検索サーバ100の利用開始終了要求仲介手段106は、ユーザ情報T100及びデバイス情報T200を参照し、要求送信元のユーザ端末機200のユーザIDに対応付けされている利用中デバイスのデバイスIDと、このデバイスIDに対応付けされているIPアドレスとを抽出する(S902)。また、検索サーバ100の利用開始終了要求仲介手段106は、利用終了要求を受信した時刻を利用終了時刻としてデバイス利用履歴情報T300に記録する(S903)。更に、同手段106は、抽出したデバイスIDのIPアドレスを使用して、このデバイス300にデジタル署名を行った利用終了要求をデバイス300へ送信する(S904)。
デバイス300の利用開始終了要求受付・検証手段303は、上記ステップS904の利用終了要求を受信すると、デジタル署名を検証し、この利用終了要求が検索サーバ100からのものであるかを検証する(S905)。その結果、この利用終了要求が検索サーバ100からの正当な要求であることが確認された場合には、同手段303は、検索サーバ100に利用終了応答を検索サーバ100へ送信し(S906)、ユーザのデバイス300のサービス利用を終了する。一方、この利用終了要求が検索サーバ100からの正当な要求であることが確認されなかった場合には、同手段303は、利用終了要求を破棄する。
<実施形態の効果>
以上説明した実施形態の検索システム1は、ユーザが使用するユーザ端末機200と、情報通信を行うWebサーバ500と、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイス300とが、通信ネットワークを介して相互に通信可能に接続されており、ユーザ端末機200がアクセスしたWebサーバ500からデバイス300に対して、Webサービス中のユーザ端末機200の情報へのアクセス権を有するトークンを払い出す処理が行なわれるシステムである。
本実施形態の特徴は、まず、デバイス300がアクセス権を取得する処理を代理する検索サーバ100を備えたことにある。検索サーバ100は、APIアクセストークン代理要求手段112と、一時コードリダイレクト手段113と、アクセストークンリダイレクト手段114とを備えて構成されている。
APIアクセストークン代理要求手段112は、ユーザ端末機200からのデバイス300へのトークン流通要求時に、当該トークン流通要求を当該デバイス300の代理でWebサーバ500に対してトークン代理要求として行う。
一時コードリダイレクト手段113は、トークン代理要求に応じてWebサーバ500から発行されるデバイス300への一時コード及び認証用のWebサーバ500のURLを、ユーザ端末機200へ送信する。
アクセストークンリダイレクト手段114は、一時コードリダイレクト手段113から送信された一時コード及びURLをユーザ端末機200へ送信後にWebサーバ500から発行されるトークンを受信した際に、デバイス300にトークンを送信する。
更に、ユーザ端末機200は、一時コード及びURLの受信後に、当該URLのWebサーバ500にユーザのID及びパスワードを通知し、Webサーバ500は、通知されたID及びパスワードを用いてユーザ認証を行い、当該ユーザ認証が成立した際にトークンを発行するように構成した。
この構成の検索システム1によれば、デバイス300にトークンを払い出す迄に必要な処理を、検索サーバ100がデバイス300の代理で行う。その処理は、通常、デバイス300がWebサーバ500にリクエストして一時コードを取得し、この一時コードをユーザ端末機200に表示させ、これをユーザが見ながらユーザ端末機200に入力し、この入力に応じたユーザ端末機200によるアクセスにより、Webサーバ500からデバイス300にトークンが払い出されるようになっている。
本実施形態では、そのデバイス300にトークンを払い出す迄に必要な処理を、検索サーバ100に代理して行なわせるので、複数のWebサービス事業者が個別にユーザの利用状況を把握するといったシステム構築が不要となる。このため、事業者毎にユーザ利用を確認するための構築コストを削減することができる。従って、位置が変動するデバイス300のうちユーザが利用可能なデバイス300を検索する検索システム1を低コストで実現することができる。
また、Webサーバ500から、デバイス300の代理の検索サーバ100を介してユーザ端末機200へ一時コードを受け渡し、これに応じてユーザ端末機200がユーザのID及びパスワードをWebサーバ500へ通知することで、Webサーバ500がID及びパスワードによりユーザ認証を行うので、ユーザのWebアクセス時の認証を適正に行うことができる。
また、一時コードリダイレクト手段113は、デバイス300への一時コード及びURLをユーザ端末機200へ送信する際に、認証基準となるデバイス300の固有情報である信頼情報も併せて送信するようにした。
これによって、ユーザ端末機200が、一時コード及びURLの他に、デバイス300の固有情報である信頼情報も併せて受信する。このため、ユーザ端末機200は、信頼情報により、Webサーバ500から送られてきたデバイス300への一時コード及びURLが、目的のデバイス300に係るか否かを的確に判断することができる。このため、既存のWebサービスの仕組みを変えることなく、一時コードを受信したURLのWebサーバ500へ、ユーザのID及びパスワードを安全に送信することができる。
また、ユーザ端末機200は、デバイス300へのトークン流通要求を検索サーバ100に行なう要求手段と、一時コードリダイレクト手段113から送信されたデバイス300への一時コード及びURLを受信時に、この受信したURLのWebサーバ500にユーザのID及びパスワードを送信してユーザ認証要求を行う認証応答手段と、認証要求を行ったWebサーバ500でユーザ認証が確認された際に、一時コードをWebサーバ500へ送信する一時コード送付手段212とを備える構成とした。
この構成によれば、ユーザ端末機200は、デバイス300の代理としての検索サーバ100に、デバイス300へのトークン流通要求を行うことができ、Webサーバ500へユーザ認証のために必要な情報を通知することができる。
[方法]
次に、検索サーバで実行する方法について説明する。この方法では、ユーザが使用するユーザ端末機200と、情報通信を行うWebサーバ500と、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイス300と、検索サーバ100とが、通信ネットワークを介して相互に通信可能に接続されており、ユーザ端末機200がアクセスしたWebサーバ500からデバイス300に対して、Webサービス中のユーザ端末機200の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる検索サーバ100を有する。
検索サーバ100は、ユーザ端末機200からのデバイス300へのトークン流通要求時に、当該トークン流通要求を当該デバイス300の代理でWebサーバ500に対してトークン代理要求として行うステップを実行する。次に、トークン代理要求に応じてWebサーバ500から発行されるデバイス300への一時コード及び認証用のWebサーバ500のURLを、ユーザ端末機200へ送信するステップを実行する。次に、上記の一時コード及びURLをユーザ端末機200へ送信後に、当該ユーザ端末機200から当該URLのWebサーバ500へ通知されるユーザのID及びパスワードによりユーザ認証を行った当該Webサーバ500から発行されるトークンを受信した際に、デバイス300にトークンを送信するステップを実行することができる。
この方法によれば、一時コード発行及びユーザ認証処理を行ってデバイス300にトークンを払い出す迄に必要な処理を、検索サーバ100がデバイス300に代理して行なう。このため、複数のWebサービス事業者が個別にユーザの利用状況を把握するといったシステム構築が不要となり、ユーザが利用可能なデバイス300を検索する検索システム1を低コストで実現することができる。
[プログラム]
本実施形態のコンピュータを実行するプログラムについて説明する。上記検索サーバ100が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することができる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。更に、係るプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、検索サーバ100と同様の機能を実現するプログラムを実行するコンピュータの一例を説明する。
図19に示すように、プログラムを実行するコンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの構成要素は、バス1080によって接続されている。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051及びキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
ここで、図19に示すように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093及びプログラムデータ1094を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ1031やメモリ1010に記憶される。
また、プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した検索サーバ100が実行する代理の処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
また、プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
上記のコンピュータ1000は、図1に示したユーザが使用するユーザ端末機200と、情報通信を行うWebサーバ500と、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイス300と、検索サーバ100とが、通信ネットワークを介して相互に通信可能に接続されており、ユーザ端末機200がアクセスしたWebサーバ500からデバイス300に対して、Webサービス中のユーザ端末機200の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる検索サーバ100であるとする。
本実施形態のプログラムは、コンピュータ1000を、ユーザ端末機200からのデバイス300へのトークン流通要求時に、当該トークン流通要求を当該デバイス300の代理でWebサーバ500に対してトークン代理要求として行う手段、トークン代理要求に応じてWebサーバ500から発行されるデバイス300への一時コード及び認証用のWebサーバ500のURLを、ユーザ端末機200へ送信する手段として機能させる。更に、上記の一時コード及びURLをユーザ端末機200へ送信後に、当該ユーザ端末機200から当該URLのWebサーバ500へ通知されるユーザのID及びパスワードによりユーザ認証を行った当該Webサーバ500から発行されるトークンを受信した際に、デバイス300にトークンを送信する手段として機能させる。
このプログラムによれば、上述した方法の効果と同様に、ユーザが利用可能なデバイス300を検索する検索サーバ100を低コストで実現することができる。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。即ち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
1 検索システム
10 記憶部
20 利用履歴記録部
30 デバイス検索部
40 登録・認証部
100 検索サーバ
111 ローカル相互認証補助手段
112 APIアクセストークン代理要求手段(代理要求手段)
113 一時コードリダイレクト手段
114 アクセストークンリダイレクト手段(トークンリダイレクト手段)
200 ユーザ端末機
204 デバイス検索要求・結果受信手段
205 利用デバイス選択手段
208 ローカル相互認証手段
210 APIアクセストークン要求手段(要求手段)
211 Webサービス認証応答手段(認証応答手段)
212 一時コード送付手段
300 デバイス
302 デバイス位置情報更新手段
306 ローカル相互認証手段
309 アクセストークン受付手段
400 課金代行サーバ
500 Webサーバ
501 APIアクセストークン発行手段
502 ユーザ認証手段
503 一時コード発行手段

Claims (6)

  1. ユーザが使用する端末機と、情報通信を行うWebサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Webサーバから前記デバイスに対して、Webサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる検索システムであって、
    前記デバイスが前記アクセス権を取得する処理を代理する検索サーバを更に備え、
    前記検索サーバは、
    記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Webサーバに対してトークン代理要求として行う代理要求手段と、
    前記トークン代理要求に応じて前記Webサーバから発行される前記デバイスへの一時コード及び認証用の前記WebサーバのURLを、前記端末機へ送信する一時コードリダイレクト手段と、
    前記一時コードリダイレクト手段が前記一時コード及びURLを前記端末機へ送信後に、前記Webサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスに送信するトークンリダイレクト手段とを備え、
    前記端末機は、前記一時コード及びURLの受信後に、当該URLのWebサーバにユーザのID及びパスワードを通知し、前記Webサーバは、前記通知されたID及びパスワードを用いてユーザ認証を行い、当該ユーザ認証が成立した際に前記トークンを前記デバイスに発行する
    ことを特徴とする検索システム。
  2. 前記一時コードリダイレクト手段は、前記デバイスへの前記一時コード及びURLを前記端末機へ送信する際に、認証基準となるデバイスの固有情報である信頼情報も併せて送信する
    ことを特徴とする請求項1に記載の検索システム。
  3. 前記端末機は、
    前記デバイスへのトークン流通要求を前記検索サーバに送信する要求手段と、
    前記一時コードリダイレクト手段から送信された前記デバイスへの前記一時コード及びURLを受信時に、この受信したURLのWebサーバにユーザのID及びパスワードを送信してユーザ認証要求を行う認証応答手段と、
    前記ユーザ認証要求を行ったWebサーバでユーザ認証が確認された際に、前記一時コードを前記Webサーバへ送信する一時コード送付手段と、
    を備えることを特徴とする請求項1又は2に記載の検索システム。
  4. ユーザが使用する端末機と、情報通信を行うWebサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Webサーバから前記デバイスに対して、Webサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバであって、
    記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Webサーバに対してトークン代理要求として行う代理要求手段と、
    前記トークン代理要求に応じて前記Webサーバから発行される前記デバイスへの一時コード及び認証用の前記WebサーバのURLを、前記端末機へ送信する一時コードリダイレクト手段と、
    前記一時コードリダイレクト手段が前記一時コード及びURLを前記端末機へ送信後に、当該端末機から当該URLの前記Webサーバへ通知されるユーザのID及びパスワードによりユーザ認証を行った当該Webサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信するトークンリダイレクト手段と、
    を備えることを特徴とする検索サーバ。
  5. ユーザが使用する端末機と、情報通信を行うWebサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Webサーバから前記デバイスに対して、Webサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバで実行される方法であって、
    前記検索サーバは、
    記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Webサーバに対してトークン代理要求として行うステップと、
    前記トークン代理要求に応じて前記Webサーバから発行される前記デバイスへの一時コード及び認証用の前記WebサーバのURLを、前記端末機へ送信するステップと、
    前記一時コード及びURLを前記端末機へ送信後に、当該端末機から当該URLの前記Webサーバへ通知されるユーザのID及びパスワードによりユーザ認証を行った当該Webサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信するステップと、
    を実行することを特徴とする方法
  6. ユーザが使用する端末機と、情報通信を行うWebサーバと、位置が変動する移動体に通信及び演算処理機能を一体に搭載して成るデバイスと、検索サーバとが、通信ネットワークを介して相互に通信可能に接続されており、前記端末機がアクセスした前記Webサーバから前記デバイスに対して、Webサービス中の端末機の情報へのアクセス権を有するトークンを払い出す処理が行なわれる通信システムに用いられる前記検索サーバとしてのコンピュータを、
    記デバイスへの前記トークンの払い出し要求であるトークン流通要求を前記端末機から受けて、当該トークン流通要求を当該デバイスの代理で前記Webサーバに対してトークン代理要求として行う手段、
    前記トークン代理要求に応じて前記Webサーバから発行される前記デバイスへの一時コード及び認証用の前記WebサーバのURLを、前記端末機へ送信する手段、
    前記一時コード及びURLを前記端末機へ送信後に、当該端末機から当該URLの前記Webサーバへ通知されるユーザのID及びパスワードによりユーザ認証を行った当該Webサーバから発行されるトークンを受信した際に、当該トークンを前記デバイスへ送信する手段、
    として機能させるためのプログラム。
JP2015157293A 2015-08-07 2015-08-07 検索システム、検索サーバ、方法及びプログラム Active JP6339981B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015157293A JP6339981B2 (ja) 2015-08-07 2015-08-07 検索システム、検索サーバ、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015157293A JP6339981B2 (ja) 2015-08-07 2015-08-07 検索システム、検索サーバ、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017037407A JP2017037407A (ja) 2017-02-16
JP6339981B2 true JP6339981B2 (ja) 2018-06-06

Family

ID=58047749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015157293A Active JP6339981B2 (ja) 2015-08-07 2015-08-07 検索システム、検索サーバ、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6339981B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082004A (ja) * 2019-11-19 2021-05-27 キヤノン株式会社 認可サーバー、システム、システムの方法、および認可サーバーのプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009015703A (ja) * 2007-07-06 2009-01-22 Kkd Corp 自転車有料レンタル方法、自転車有料レンタル装置、有料貸出し用自転車
JP5614340B2 (ja) * 2011-03-16 2014-10-29 富士通株式会社 システム、認証情報管理方法、およびプログラム

Also Published As

Publication number Publication date
JP2017037407A (ja) 2017-02-16

Similar Documents

Publication Publication Date Title
US10944574B2 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
JP6914021B2 (ja) ユーザの履歴を利用してユーザを認証するシステムおよび方法
JP5197843B1 (ja) 認証連携システムおよびidプロバイダ装置
RU2440681C2 (ru) Аспекты управления цифровыми правами однорангового распространения цифрового контента
US9125059B2 (en) Password-free, token-based wireless access
JP4895190B2 (ja) 電子機器の認証に関する識別管理のためのシステム
US9548975B2 (en) Authentication method, authentication system, and service delivery server
JP2008015936A (ja) サービスシステムおよびサービスシステム制御方法
KR101712774B1 (ko) 서로 다른 사용자 식별 체계를 이용하여 등록된 사용자를 식별하는 서버들간의 서비스 연동 방법 및 시스템
CN104574101B (zh) 一种用于验证电子券的方法、设备与系统
JP2020531983A (ja) ブロックチェーンをベースにしたOne IDサービスシステム及び方法
US11943372B2 (en) Use right information processing device, use right information processing system, and use right information processing method, based on smart contract
CN104901937A (zh) 一种数据处理方法及其系统、终端、服务器
JP2006195791A (ja) 情報処理システム、情報処理装置および方法、情報提供装置および方法、並びにプログラム
JP2008186338A (ja) アカウントリンキングシステム、アカウントリンキング方法、連携サーバ装置、クライアント装置
KR101800127B1 (ko) 웹―앱 연동 간편 로그인을 위한 방법 및 시스템
JP2019101668A (ja) システムおよびその制御方法
JP2016128988A (ja) 情報処理システム、情報処理装置の制御方法、及びプログラム
JP6339981B2 (ja) 検索システム、検索サーバ、方法及びプログラム
JP2017204182A (ja) 広告アクセス数測定方法、広告配信サーバ、プログラム
US9781600B2 (en) Remote control method between mobile communication terminals using programs mounted on mobile communication terminals
JP2008015934A (ja) サービスシステムおよびサービスシステム制御方法
JP6401072B2 (ja) 検索システム、検索装置、検索方法および検索プログラム
KR20140003270A (ko) Sns 어플리케이션과 연동하는 은행업무 서비스 제공방법 및 장치
KR101570314B1 (ko) 원 타임 패스워드를 이용한 서비스 검증 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170630

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180411

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180511

R150 Certificate of patent or registration of utility model

Ref document number: 6339981

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150