(57)【要約】【課題】アプリケーションが拡張サービスを利用可能とすることを課題とする。【解決手段】通信装置は、検索部と、生成部と、出力部とを有する。検索部は、サービスを利用するアプリケーションから、サービスを分類する分類情報を受け付けて、受け付けた分類情報に対応するサービスのサービス名を用いてサービスを検索する。生成部は、検索によって発見されたサービスを提供可能な提供装置の一覧情報を生成する。出力部は、生成された一覧情報をアプリケーションに出力する。【選択図】図３
2019020856.tif 000002
【特許請求の範囲】
【請求項１】
サービスを利用するアプリケーションから、サービスを分類する分類情報を受け付けて、受け付けた前記分類情報に対応するサービスのサービス名を用いてサービスを検索する検索部と、
検索によって発見されたサービスを提供可能な提供装置の一覧情報を生成する生成部と、
生成された前記一覧情報を前記アプリケーションに出力する出力部と
を有することを特徴とする通信装置。
【請求項２】
前記一覧情報から選択された前記提供装置のサービスが複数存在する場合に、各サービスの品質を計算し、計算された前記各サービスの品質が最も高いサービスの使用を決定する品質計算部をさらに有することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記品質計算部は、サービスの開発者情報をもとに、各サービスの品質を計算することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記品質計算部は、計算された前記各サービスの品質が最も高いものが複数存在する場合に、サービスのバージョン情報がより新しいサービスの使用を決定することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記生成部は、未登録のサービスを提供可能な提供装置を含む前記一覧情報を生成し、
前記未登録のサービスが利用される場合に、該未登録のサービスを実行するための情報を外部装置から取得する取得部をさらに有することを特徴とする請求項１〜４の何れか一つに記載の通信装置。
【請求項６】
前記生成部は、サービスの検索対象となった提供装置との電波強度の情報を含む前記一覧情報を生成することを特徴とする請求項１〜５の何れか一つに記載の通信装置。
【請求項７】
利用されたサービスであることを示す利用実績情報を記憶部に登録する登録部をさらに有し、
前記生成部は、前記利用実績情報を含む前記一覧情報を生成することを特徴とする請求項１〜６の何れか一つに記載の通信装置。
【請求項８】
前記一覧情報から選択された前記提供装置のサービスを利用するための通信の接続を制御する通信制御部をさらに有することを特徴とする請求項１〜７の何れか一つに記載の通信装置。
【請求項９】
通信装置で実行されるサービス管理方法であって、
サービスを利用するアプリケーションから、サービスを分類する分類情報を受け付けて、受け付けた前記分類情報に対応するサービスのサービス名を用いてサービスを検索する工程と、
検索によって発見されたサービスを提供可能な提供装置の一覧情報を生成する工程と、
生成された前記一覧情報を前記アプリケーションに出力する工程と
を含むことを特徴とするサービス管理方法。
【請求項１０】
サービスを利用するアプリケーションから、サービスを分類する分類情報を受け付けて、受け付けた前記分類情報に対応するサービスのサービス名を用いてサービスを検索するステップと、
検索によって発見されたサービスを提供可能な提供装置の一覧情報を生成するステップと、
生成された前記一覧情報を前記アプリケーションに出力するステップと
をコンピュータに実行させるためのサービス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、サービス管理方法及びサービス管理プログラムに関する。
【背景技術】
【０００２】
従来、無線ＬＡＮ（Local  Area  Network）の普及、及び、スマートフォンやタブレット端末等のモバイル端末の普及を背景に、Ｍｉｒａｃａｓｔ（登録商標）やＡｉｒＰｒｉｎｔといったモバイル端末からデバイスに無線で直接接続して、画面投影やプリントができるサービスが登場している。このような動きを受け、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ（登録商標）では、機器同士を無線でＰ２Ｐ（Peer‐to‐Peer）接続した後に提供するサービスと、サービスを統合するための基盤（ASP：Application  Service  Platform）とについて仕様化されている（例えば、Wi‐Fi  Direct  service  Version1.1＠2014‐08‐21）。
【０００３】
Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ  ｓｅｒｖｉｃｅ（以下、「ＷＦＤＳ」と呼ぶ場合がある）では、サービスが標準化されているので、サービスに係るデバイスはメーカ非依存となり、マルチベンダ対応で実現される。また、サービスは、共通のプラットフォーム上で動作し、共通の接続手順を有するため、発見や接続、実行が容易となる。ＷＦＤＳ規格では、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔが機能拡張され、サービス探索機能が追加されている。具体的には、ＷＦＤＳ規格では、ＵＰｎＰ（Universal  Plug  and  Play）等を使用した従来のサービス探索機能とは異なり、接続前の段階で、サービスを提供するデバイスを無線により探索することが可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＷＦＤＳ規格では、標準化されたサービス（以下、「標準サービス」と呼ぶ場合がある）とは別に、ベンダ独自に拡張したサービス（以下、「拡張サービス」と呼ぶ場合がある）を追加することができる。但し、ＷＦＤＳ規格では、モバイル端末のアプリケーションが拡張サービスを利用するためには、拡張サービスのサービス名を認識していることを要する。しかしながら、モバイル端末のアプリケーションは、このような独自に拡張されたサービスのサービス名を認識せず、拡張サービスを使用することができない。すなわち、現状のＷＦＤＳ規格では、あるベンダが拡張サービスを追加したとしても活用されていないという問題がある。なお、サービス名を認識している拡張サービスの使用に関し、特許文献１（特開２０１４−２０３２０１号公報）では、標準サービスと拡張サービスとが提供可能な場合に、拡張サービスを優先して選択させる技術が開示されている。
【０００５】
本発明は、上記に鑑みてなされたものであって、モバイル端末のアプリケーションが、ベンダが独自に提供する拡張サービスを利用できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本発明に係る通信装置は、サービスを利用するアプリケーションから、サービスを分類する分類情報を受け付けて、受け付けた前記分類情報に対応するサービスのサービス名を用いてサービスを検索する検索部と、検索によって発見されたサービスを提供可能な提供装置の一覧情報を生成する生成部と、生成された前記一覧情報を前記アプリケーションに出力する出力部とを有する。
【発明の効果】
【０００７】
本発明によれば、モバイル端末のアプリケーションが拡張サービスを利用することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態１に係るサービス管理システムのシステム構成例を示す図である。
【図２】図２は、実施の形態１に係る通信装置のハードウェア構成例を示す図である。
【図３】図３は、実施の形態１に係る通信装置の機能構成例を示すブロック図である。
【図４】図４は、実施の形態１に係るサービス実装情報の例を示す図である。
【図５】図５は、実施の形態１に係る標準サービスと拡張サービスとが提供する機能の例を説明する図である。
【図６】図６は、実施の形態１に係るサービスの検索要求に対する応答の例を説明する図である。
【図７】図７は、実施の形態１に係るデバイスリストの例を示す図である。
【図８】図８は、実施の形態１に係るサービス管理システムにおける全体処理の流れの例を示すシーケンス図である。
【図９】図９は、実施の形態１に係るサービス決定処理の流れの例を示すフローチャートである。
【図１０】図１０は、実施の形態１に係る品質計算処理の流れの例を示すフローチャートである。
【図１１】図１１は、実施の形態２に係る通信装置の機能構成例を示すブロック図である。
【図１２】図１２は、実施の形態１に係るサービス管理システムにおける全体処理の流れの例を示すシーケンス図である。
【図１３】図１３は、実施の形態２に係る未登録の拡張サービスのセットアップ可否を選択する画面例を示す図である。
【図１４】図１４は、実施の形態３に係る通信装置の機能構成例を示すブロック図である。
【図１５】図１５は、実施の形態３に係るサービス管理システムにおける全体処理の流れの例を示すシーケンス図である。
【図１６】図１６は、実施の形態３に係る利用実績情報の例を示す図である。
【図１７】図１７は、実施の形態３に係るデバイスリストの例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、本発明に係る通信装置、サービス管理方法及びサービス管理プログラムの実施の形態を説明する。なお、以下の実施の形態により本発明が限定されるものではない。また、各実施の形態は、内容を矛盾させない範囲で適宜組み合わせることができる。
【００１０】
（実施の形態１）
図１を用いて、実施の形態１に係るサービス管理システム１のシステム構成を説明する。図１は、実施の形態１に係るサービス管理システム１のシステム構成例を示す図である。
【００１１】
図１に示すように、サービス管理システム１には、通信装置１０と、提供装置２０とが含まれる。なお、サービス管理システム１には、複数の提供装置２０が含まれていても良い。例えば、通信装置１０は、スマートフォンやタブレット端末等のモバイル端末であり、サービスの提供を受ける側である。また、提供装置２０は、プリンタやプロジェクタ等の機器であり、サービスを提供する側である。通信装置１０と提供装置２０との間の無線通信は、Ｗｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）  ＬＥ（Low  Energy）、ＮＦＣ（Near  Field  Communication）、ＮＡＮ（Neighbor  Awareness  Networking）等の規格を使用することができる。
【００１２】
上述した構成において、通信装置１０は、アプリケーションの実行に応じて、サービスを分類する分類情報（カテゴリ）のユーザによる選択を受け付ける。かかるアプリケーションは、サービスを利用する。そして、通信装置１０は、サービスを利用するアプリケーションから、選択されたカテゴリを受け付けて、受け付けたカテゴリに対応するサービスのサービス名を用いて、サービスを検索する。通信装置１０は、サービスの検索において、提供装置２０に対してサービスの検索を要求し、提供装置２０からサービスの検索に対する応答（検索結果）を受け付ける。続いて、通信装置１０は、受け付けた検索結果をもとに、検索によって発見されたサービスを提供可能な提供装置２０の一覧情報を生成する。その後、通信装置１０は、生成した一覧情報をアプリケーションに対して出力する。
【００１３】
上述したように、アプリケーションはサービスを利用する。このために、一覧情報を受け付けたアプリケーションは、提供装置２０の何れかをユーザに選択させるために、一覧情報をタッチパネル等の表示部に出力させる。ここで、ユーザは、一覧情報から提供装置２０の何れかを選択する操作を行なう。これにより、通信装置１０選択された提供装置２０との接続を確立して、サービス固有の通信を開始する。
【００１４】
つまり、通信装置１０は、サービス名を用いてサービスを検索し、検索結果をもとに、発見されたサービスを提供可能な提供装置２０の一覧情報を生成し、サービスを利用するアプリケーションに対して、生成した一覧情報を出力する。この結果、通信装置１０は、拡張サービスを利用することが可能となる。
【００１５】
次に、図２を用いて、実施の形態１に係る通信装置１０のハードウェア構成を説明する。図２は、実施の形態１に係る通信装置１０のハードウェア構成例を示す図である。
【００１６】
図２に示すように、通信装置１０は、ＣＰＵ（Central  Processing  Unit）１２と、ＲＯＭ（Read  Only  Memory）１３と、ＲＡＭ（Random  Access  Memory）１４と、ＨＤＤ（Hard  Disk  Drive）１５とを有する。また、通信装置１０は、入出力Ｉ／Ｆ１６と、通信Ｉ／Ｆ１７と、電源１８とを有する。上記各部は、バス１１により相互に接続される。
【００１７】
ＣＰＵ１２は、通信装置１０の動作を統括的に制御する。例えば、ＣＰＵ１２は、ＲＡＭ１４等を作業領域として、ＲＯＭ１３等に格納されたプログラムを実行することで、通信装置１０全体の動作を制御する。これにより、通信装置１０は、後述する各種機能を実現する。
【００１８】
ＨＤＤ１５は、ＯＳ（Operating  System）や各種アプリケーションが格納された不揮発性の記憶装置である。なお、通信装置１０は、ＨＤＤ１５に替えて、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えば、SSD：Solid  State  Drive）を利用するものであっても良い。
【００１９】
入出力Ｉ／Ｆ１６は、各種情報を入出力するタッチパネルに対する入出力処理を制御するインタフェースである。通信Ｉ／Ｆ１７は、基地局装置やアクセスポイントとの間の通信、提供装置２０との間の近距離無線による通信を制御するインタフェースである。電源１８は、上記各部に対する駆動電力を供給する。
【００２０】
次に、図３を用いて、実施の形態１に係る通信装置１０の機能構成を説明する。図３は、実施の形態１に係る通信装置１０の機能構成例を示すブロック図である。なお、図３では、サービスを提供する側である提供装置２０の機能構成についても説明する。
【００２１】
図３に示すように、通信装置１０は、通信制御部１１０と、ＡＳＰ（Application  Service  Platform）１２０と、サービス１３０と、サービス管理部１４０と、アプリケーション１５０と、記憶部１６０とを有する。なお、アプリケーション１５０は、複数のアプリケーションを含んでいても良い（例えば、アプリケーション１５１やアプリケーション１５２等）。また、サービス管理部１４０は、登録部１４１と、検索部１４２と、生成部１４３と、出力部１４４と、品質計算部１４５とを有する。
【００２２】
通信制御部１１０は、通信Ｉ／Ｆ１７を介して、提供装置２０等との間における各種情報の送受信を制御する。例えば、通信制御部１１０は、ＡＳＰ１２０から提供装置２０に対するサービス検索要求や、提供装置２０からＡＳＰ１２０に対するサービス検索応答に関する通信を制御する。また、通信制御部１１０は、ＡＳＰ１２０によるセッションの構築やＰ２Ｐ（Peer  to  Peer）グループの形成、サービス通信用のポート開放等に関する通信を制御する。
【００２３】
ＡＳＰ１２０は、サービスの検索、セッションの構築、Ｐ２Ｐグループの形成、サービス通信用のポート開放等を行なう。
【００２４】
サービス１３０は、ＡＳＰ１２０が開放したポートで、サービス固有の通信を行なう。例えば、ＷＦＤＳ規格においては、Ｓｅｎｄ、Ｐｌａｙ、Ｐｒｉｎｔ、Ｄｉｓｐｌａｙ等のサービスが規定されている。
【００２５】
サービス管理部１４０は、サービス１３０の利用に関する各種管理を行なう。登録部１４１は、サービスを登録する。より具体的には、登録部１４１は、サービス１３０に規定されているサービス名を含むサービス実装情報を、カテゴリと対応させて記憶部１６０に登録する。
【００２６】
図４は、実施の形態１に係るサービス実装情報の例を示す図である。図４に示すように、サービス実装情報には、サービス名と、カテゴリと、種類と、サービスＩＤと、パスと、開発者と、バージョンとの情報が含まれる。サービス名は、サービスの名称を示す情報であり、サービスを検索する際に使用される。カテゴリは、サービスの分類を示す情報である。本実施の形態では、Ｓｅｎｄ、Ｐｌａｙ、Ｐｒｉｎｔ、Ｄｉｓｐｌａｙの４つのカテゴリが存在する場合を例に挙げる。また、カテゴリについては、追加、削除及び修正することが可能である。なお、カテゴリには、後述する標準サービスと拡張サービスとが包含される。種類は、サービスの種類を示す情報であり、標準サービス（standard）又は拡張サービス（extension）に該当する。サービスＩＤは、サービスを一意に識別するための識別情報である。本実施の形態では、ＵＵＩＤ（Universally  Unique  Identifier）をサービスＩＤの一例とする。パスは、通信の接続で利用されるサービスの実装の保存先を示す情報である。開発者は、サービスの開発者を示す情報である。バージョンは、サービスのバージョンを示す情報である。
【００２７】
図５は、実施の形態１に係る標準サービスと拡張サービスとが提供する機能の例を説明する図である。なお、図５では、標準サービスと拡張サービスとが提供する機能について、Ｐｒｉｎｔサービスを例に挙げて説明する。図５に示すように、Ｐｒｉｎｔサービスの標準サービスでは、Ｃｏｌｏｒ、Ｃｏｌｌａｔｅ、Ｐｕｎｃｈ等の標準機能を提供することができる。これに対して、Ｐｒｉｎｔサービスの拡張サービスでは、Ｃｏｌｏｒの標準機能と、Ｓｔａｍｐの拡張機能とを提供することができる。
【００２８】
検索部１４２は、カテゴリに対応するサービスのサービス名を用いて、サービスを検索する。より具体的には、検索部１４２は、サービス１３０を利用するアプリケーション１５０から、カテゴリ一覧の取得要求を受け付ける。そして、検索部１４２は、記憶部１６０に記憶されたサービス実装情報（図４参照）から、カテゴリの情報を取得し、アプリケーション１５０からのカテゴリ一覧の取得要求に対して、取得したカテゴリの情報を応答する。ここで、アプリケーション１５０は、カテゴリ一覧をタッチパネル等に表示出力させ、ユーザ操作によるカテゴリの選択を受け付け、選択されたカテゴリを検索部１４２に対して出力する。これにより、検索部１４２は、アプリケーション１５０からカテゴリを受け付けると、記憶部１６０を参照し、カテゴリに対応するサービスのサービス名を取得する。続いて、検索部１４２は、取得したサービス名を用いてサービスを検索する。サービスの検索は、サービス１３０を介して、提供装置２０に対して要求される。
【００２９】
図６は、実施の形態１に係るサービスの検索要求に対する応答の例を説明する図である。なお、図６では、Ｐｒｉｎｔサービスに関するサービス情報を例に挙げて説明する。例えば、提供装置２０は、通信装置１０からのサービス検索要求を受信した場合に、提供装置２０が提供するサービスのサービス情報を、サービス検索要求に対する応答として通信装置１０に送信する。図６に示すように、提供装置２０によって応答されるサービス情報には、サービス情報のフォートマットを示す情報と、サービス情報の具体例を示す情報とが含まれる。サービス情報の具体例では、機器情報として、ＰＴＲ：１．＿ｉｐｐ．＿ｔｃｐ＿ＷＦＤＳ−Ｐｒｉｎｔ：ＳＲＶ  ｈｏｓｔ  ｎａｍｅ：ｍｙｐｒｉｎｔｅｒ．ｌｏｃａｌ：ｐｄｌ：ｉｍａｇｅ／ｐｗｇ−ｒａｓｔｅｒ，ａｐｐｌｉｃａｔｉｏｎ／ｐｃｌｍ、機器が備える機能情報として、Ｃｏｌｏｒ、Ｃｏｐｉｅｓ、Ｉｎｋが含まれる。
【００３０】
生成部１４３は、デバイスリストを生成する。より具体的には、生成部１４３は、検索部１４２によるサービスの検索によって発見された、サービスを提供可能な提供装置２０の一覧情報（デバイスリスト）を生成する。ここで、生成部１４３は、複数の検索結果が存在する場合に、発見されたサービスごとに生成したリストを包含させたデバイスリストを生成する。
【００３１】
出力部１４４は、デバイスリストをアプリケーション１５０に出力する。より具体的には、出力部１４４は、生成部１４３によって生成されたデバイスリストを、カテゴリを出力したアプリケーション１５０に対して出力する。デバイスリストを受け付けたアプリケーション１５０は、デバイスリストをタッチパネル等に表示出力させる。
【００３２】
図７は、実施の形態１に係るデバイスリストの例を示す図である。なお、図７では、ユーザによってＰｒｉｎｔサービスのカテゴリが選択された場合を例に挙げて説明する。図７に示すように、通信装置１０のアプリケーション１５０は、ユーザに選択されたカテゴリに対応するサービスを提供するデバイス名と、電波強度と、印刷機能との情報を含むデバイスリストを、タッチパネル等に表示出力させる。図７の（１）に示すデバイス名は、検索によって発見されたサービスを提供する提供装置２０の名称を示す情報である。図７の（２）に示す電波強度は、サービス検索に対する応答の受信信号（RSSI：Received  Signal  Strength  Indicator）を測定した値を示す情報である。ＲＳＳＩ値は、その値が大きいほど電波強度が高く、提供装置２０との距離が近いことを示す。図７の（３）に示す印刷機能は、検索によって発見されたサービスの種類や機能を示す情報である。なお、図７では、電波強度がより強い順に、デバイスをソートして表示する場合を例に挙げている。ユーザは、接続する機器（利用するサービス）を選択する操作を行なう。これにより、アプリケーション１５０は、選択されたデバイスの情報をサービス管理部１４０に出力する。
【００３３】
品質計算部１４５は、デバイスリストから選択されたサービスが複数存在する場合に、各サービスの品質を計算する。より具体的には、品質計算部１４５は、デバイスリストの表示に応じて選択されたデバイスの情報をアプリケーション１５０から受け付ける。そして、品質計算部１４５は、アプリケーション１５０から受け付けたデバイスのサービス実装情報をもとに、重複して登録されている場合に、サービスの品質計算を行なう。例えば、図４に示したサービス実装情報の例では、Ｎｏ．１、Ｎｏ．２、Ｎｏ．３の標準サービスのＰｒｉｎｔサービス「ｏｒｇ．ｗｉ−ｆｉ．ｗｆｄｓ．ｐｒｉｎｔ．ｔｘ」が重複して登録されていることが分かる。このように、品質計算部１４５は、サービス実装情報に重複して登録されている場合に、何れのサービスを利用させるかを決定するために、各サービスについて品質を計算し、品質が最も高いサービスの使用を決定する。以下、品質計算の具体例を説明する。
【００３４】
品質計算部１４５は、開発者情報をもとに、各サービスの品質を計算する。例えば、品質計算部１４５は、提供装置２０のデバイス開発者名と、サービス実装情報に含まれるサービスの開発者名とを比較することにより、品質計算を行なう。提供装置２０のデバイス開発者名については、サービス検索要求に対する提供装置２０からの応答を受信する際に、提供装置２０のＭＡＣアドレス情報を取得しておき、デバイスリストからデバイスが選択された際に、取得したＭＡＣアドレス情報を使用して、選択されたデバイスのデバイス開発者名を取得すれば良い。詳細には、品質計算部１４５は、デバイス開発者名と、サービス実装情報のサービスの開発者名とを比較し、一致している場合に、該サービスに対する品質値「１」を加える。これらから、品質計算部１４５は、品質値が最大となるサービスを使用することを決定する。
【００３５】
ここで、開発者情報の比較をもとに品質計算した場合に、品質値が最大となるサービスが複数存在する可能性がある。そこで、品質計算部１４５は、サービスのバージョン情報をもとに、使用するサービスを決定する。詳細には、品質計算部１４５は、開発者情報の比較により、品質値が最大となるサービスが複数存在する場合に、サービス実装情報に含まれるサービスのバージョン情報を取得し、バージョンがより新しいサービスを、品質のより高いサービスとして、サービスの使用を決定する。
【００３６】
使用するサービスが決定すると、サービス１３０は、ＡＳＰ１２０にセッションの構築を要求する。これにより、ＡＳＰ１２０は、セッションの構築、Ｐ２Ｐグループの形成、サービス通信用のポート開放等を行なう。そして、サービス１３０は、ＡＳＰ１２０が開放したポートで、サービス固有の通信を行なう。これらにより、ユーザが所望するサービスが実行される。
【００３７】
アプリケーション１５０は、サービス１３０を利用する。例えば、アプリケーション１５０は、カテゴリ一覧の取得をサービス管理部１４０に対して要求し、要求に対して、サービス管理部１４０からカテゴリ一覧を取得する。そして、アプリケーション１５０は、取得したカテゴリ一覧をタッチパネル等に表示出力させ、ユーザ操作によるカテゴリの選択を受け付け、選択されたカテゴリをサービス管理部１４０に対して出力する。また、アプリケーション１５０は、サービス管理部１４０によって生成されたデバイリストを取得し、取得したデバイスリストをタッチパネル等に表示出力させ、ユーザ操作によるデバイスの選択を受け付け、選択されたデバイスの情報をサービス管理部１４０に対して出力する。
【００３８】
また、図３に示すように、提供装置２０は、通信制御部２１０と、ＡＳＰ２２０と、サービス２３０と、アプリケーション２４０とを有する。
【００３９】
通信制御部２１０は、通信装置１０等との間における各種情報の送受信を制御する。例えば、通信制御部２１０は、通信装置１０からＡＳＰ２２０に対するサービス検索要求や、ＡＳＰ２２０から通信装置１０に対するサービス検索応答に関する通信を制御する。また、通信制御部２１０は、ＡＳＰ２２０によるセッションの構築やＰ２Ｐグループの形成、サービス通信用のポート開放等に関する通信を制御する。
【００４０】
ＡＳＰ２２０は、サービスの検索、セッションの構築、Ｐ２Ｐグループの形成、サービス通信用のポート開放等を行なう。サービス２３０は、ＡＳＰ２２０が開放したポートで、サービス固有の通信を行なう。図３では、Ｐｒｉｎｔのサービスが規定されている例を挙げている。アプリケーション２４０は、サービス２３０を利用する。
【００４１】
次に、図８を用いて、実施の形態１に係るサービス管理システム１における全体処理の流れを説明する。図８は、実施の形態１に係るサービス管理システム１における全体処理の流れの例を示すシーケンス図である。
【００４２】
図８に示すように、サービス１３０は、サービス名やサービスＩＤ、カテゴリ等を含むサービス実装情報をサービス管理部１４０に対して出力する（ステップＳ１０１）。サービス管理部１４０の登録部１４１は、サービス１３０に規定されたサービスのサービス名やサービスＩＤ、カテゴリ等を含むサービス実装情報をサービス１３０から受け付けた場合に、サービス実装情報を記憶部１６０に登録する（ステップＳ１０２）。
【００４３】
アプリケーション１５０は、サービス管理部１４０に対してカテゴリ一覧の取得を要求する。これに対し、サービス管理部１４０の検索部１４２は、記憶部１６０に記憶されたサービス実装情報からカテゴリの情報を取得し、取得したカテゴリの情報をアプリケーション１５０に応答する。これらにより、アプリケーション１５０は、サービス管理部１４０からカテゴリ一覧を取得する（ステップＳ１０３）。そして、アプリケーション１５０は、取得したカテゴリ一覧をタッチパネル等に表示出力させ、ユーザ操作によるカテゴリの選択を受け付ける（ステップＳ１０４）。その後、アプリケーション１５０は、選択されたカテゴリの情報をサービス管理部１４０に対して出力する（ステップＳ１０５）。
【００４４】
サービス管理部１４０の検索部１４２は、アプリケーション１５０から受け付けたカテゴリの情報をもとに、記憶部１６０に記憶されたサービス実装情報を参照し、カテゴリに対応するサービスのサービス名を取得する（ステップＳ１０６）。そして、サービス管理部１４０の検索部１４２は、取得したサービス名を利用して、サービスの検索を要求する（ステップＳ１０７）。これにより、サービス１３０は、サービス名をもとにしたサービスの検索をＡＳＰ１２０に要求する（ステップＳ１０８）。ＡＳＰ１２０は、サービスの検索を要求されると、通信制御部１１０による制御に従って、通信Ｉ／Ｆ１７を介して、提供装置２０に対してサービスの検索要求を送信する（ステップＳ１０９）。
【００４５】
提供装置２０のＡＳＰ２２０は、通信制御部２１０を介してサービスの検索要求を受信すると、サービスの検索要求を受け付けた旨を表すサービス検索応答を、通信装置１０に対して送信する（ステップＳ１１０）。通信装置１０のＡＳＰ１２０は、通信制御部１１０を介してサービス検索応答を受信すると、提供装置２０に対してサービス情報の要求を送信する（ステップＳ１１１）。提供装置２０のＡＳＰ２２０は、通信制御部２１０を介してサービス情報の要求を受信すると、サービス２３０のサービス情報を通信装置１０に対して送信する（ステップＳ１１２）。これらにより、通信装置１０のＡＳＰ１２０は、サービス情報をサービス１３０に応答し（ステップＳ１１３）、サービス１３０は、サービス管理部１４０の検索部１４２にサービス情報を応答する（ステップＳ１１４）。ここで、複数のサービスについて検索される場合には、ステップＳ１０７〜ステップＳ１１４の処理と同様に、ステップＳ１１５〜ステップＳ１２２の処理が実行される。
【００４６】
サービス管理部１４０の生成部１４３は、検索によって発見されたサービスごとにデバイスリストを生成し、複数の検索結果が存在する場合はこれらのリストを包含させたデバイスリストを生成する（ステップＳ１２３）。サービス管理部１４０の出力部１４４は、生成されたデバイスリストをアプリケーション１５０に対して出力する（ステップＳ１２４）。アプリケーション１５０は、生成されたデバイスリストをタッチパネル等に表示出力させる（ステップＳ１２５）。そして、アプリケーション１５０は、タッチパネルに対するユーザ操作により、デバイスリストからデバイスの選択を受け付ける（ステップＳ１２６）。その後、アプリケーション１５０は、選択されたデバイスの情報をサービス管理部１４０に対して出力する（ステップＳ１２７）。
【００４７】
サービス管理部１４０の品質計算部１４５は、デバイスリストから選択されたデバイスの情報をもとに、サービス実装情報に重複して登録されている場合に、サービスの品質計算を行ない、品質のより高いサービスを使用することを決定する（ステップＳ１２８）。そして、サービス管理部１４０は、使用されることが決定されたサービスの情報をサービス１３０に対して出力する（ステップＳ１２９）。
【００４８】
通信装置１０のサービス１３０は、ＡＳＰ１２０にセッションの構築を要求する（ステップＳ１３０）。これにより、通信装置１０のＡＳＰ１２０は、通信制御部１１０による制御に従い、通信Ｉ／Ｆ１７を介して、提供装置２０に対してセッションの接続要求を行なう（ステップＳ１３１）。提供装置２０のＡＳＰ２２０は、サービス２３０に対してセッションの要求を行ない（ステップＳ１３２）、提供装置２０のサービス２３０は、ＡＳＰ２２０に対してセッションの応答を行なう（ステップＳ１３３）。提供装置２０のＡＳＰ２２０は、通信制御部２１０を介して、通信装置１０に対してセッションの接続応答を行なう（ステップＳ１３４）。これらにより、セッションの構築が行なわれると、通信装置１０のＡＳＰ１２０と、提供装置２０のＡＳＰ２２０との間で、Ｐ２Ｐグループの形成が行なわれ（ステップＳ１３５）、サービス通信用のポート開放が行なわれる（ステップＳ１３６）。そして、通信装置１０のサービス１３０と、提供装置２０のサービス２３０との間で、サービス固有の通信が行なわれ、サービスが実行される（ステップＳ１３７）。
【００４９】
次に、図９を用いて、実施の形態１に係るサービス決定処理の流れを説明する。図９は、実施の形態１に係るサービス決定処理の流れの例を示すフローチャートである。
【００５０】
図９に示すように、通信装置１０は、タッチパネル等に表示出力されたデバイスリストから、ユーザ操作によって選択されたデバイスの情報をもとに、サービス実装情報を取得する（ステップＳ２０１）。そして、通信装置１０は、デバイスに対するサービス実装情報の登録数が複数存在するか否かを判定する（ステップＳ２０２）。このとき、通信装置１０は、該当するデバイスのサービス実装情報の登録数が複数存在する場合に（ステップＳ２０２：Ｙｅｓ）、各サービスの品質計算を実行する（ステップＳ２０３）。一方、通信装置１０は、該当するデバイスのサービス実装情報の登録数が複数存在しない場合に（ステップＳ２０２：Ｎｏ）、該デバイスのサービスをユーザに提供するサービスとして決定する（ステップＳ２０４）。また、通信装置１０は、各サービスの品質計算を実行した後、品質のより高いサービスをユーザに提供するサービスとして決定する（ステップＳ２０４）。
【００５１】
次に、図１０を用いて、実施の形態１に係る品質計算処理の流れを説明する。図１０は、実施の形態１に係る品質計算処理の流れの例を示すフローチャートである。
【００５２】
図１０に示すように、通信装置１０は、提供装置２０のデバイス開発者名を取得する（ステップＳ３０１）。例えば、通信装置１０は、サービスの検索要求に対する提供装置２０からの応答の受信時に、提供装置２０のＭＡＣアドレス情報を取得しておき、デバイスリストからデバイスが選択された際に、取得したＭＡＣアドレス情報を使用して、デバイス開発者名を取得する。そして、通信装置１０は、サービス実装情報に含まれるサービスの開発者名と、そのサービスのバージョン情報とを取得する（ステップＳ３０２）。
【００５３】
続いて、通信装置１０は、１のサービスについて品質値を「０」とし（ステップＳ３０３）、デバイス開発者名とサービスの開発者名とを比較して、同一であるか否かを判定する（ステップＳ３０４）。このとき、通信装置１０は、デバイス開発者名とサービスの開発者名とが同一である場合に（ステップＳ３０４：Ｙｅｓ）、品質値を「１」インクリメントする（ステップＳ３０５）。一方、通信装置１０は、デバイス開発者名とサービスの開発者名とが同一でない場合に（ステップＳ３０４：Ｎｏ）、ステップＳ３０６の処理を実行する。
【００５４】
通信装置１０は、全てのサービス（重複するサービス）に対して品質値を計算したか否かを判定する（ステップＳ３０６）。このとき、通信装置１０は、全てのサービスに対して品質値を計算した場合に（ステップＳ３０６：Ｙｅｓ）、計算した品質値でソートする（ステップＳ３０７）。一方、通信装置１０は、全てのサービスに対して品質値を計算していない場合に（ステップＳ３０６：Ｎｏ）、他の重複するサービスに対して、ステップＳ３０３の処理を実行する。
【００５５】
そして、通信装置１０は、品質値が最大となるサービスが複数存在するか否かを判定する（ステップＳ３０８）。このとき、通信装置１０は、品質値が最大となるサービスが複数存在しない場合に（ステップＳ３０８：Ｎｏ）、品質値が最大となったサービスを、ユーザに提供するサービスとして決定する（ステップＳ３０９）。一方、通信装置１０は、品質値が最大となるサービスが複数存在する場合に（ステップＳ３０８：Ｙｅｓ）、各サービスのバージョン情報でソートする（ステップＳ３１０）。そして、通信装置１０は、最新のバージョンであるサービスを、ユーザに提供するサービスとして決定する（ステップＳ３１１）。
【００５６】
上述したように、通信装置１０は、サービス名を用いてサービスを検索し、検索によって発見されたサービスを提供可能な提供装置２０のデバイスリストを生成し、サービスを利用するアプリケーションに対して、生成したデバイスリストを出力する。この結果、通信装置１０は、拡張サービスを利用することが可能となる。
【００５７】
また、通信装置１０は、デバイスリストから選択されたデバイスのサービスが複数存在する場合に、各サービスの品質を計算するので、品質のより高いサービスをユーザに提供することができる。また、通信装置１０は、サービスの検索対象となった提供装置２０との電波強度の情報を含むデバイスリストを生成するので、通信品質のより高いサービスをユーザに提供することができる。また、通信装置１０は、開発者情報をもとに品質計算を行なうので、信頼性のより高いサービスをユーザに提供することができる。また、通信装置１０は、サービスのバージョン情報をもとに品質計算を行なうので、信頼性のより高いサービスをユーザに提供することができる。
【００５８】
（実施の形態２）
図１１を用いて、実施の形態２に係る通信装置１０ａの機能構成を説明する。図１１は、実施の形態２に係る通信装置１０ａの機能構成例を示すブロック図である。なお、実施の形態２では、実施の形態１に係る通信装置１０と同様の機能については同一の符号を付し、その詳細な説明を省略する場合がある。
【００５９】
図１１に示すように、通信装置１０ａは、通信制御部１１０と、ＡＳＰ１２０と、サービス１３０と、サービス管理部１４０ａと、アプリケーション１５０と、記憶部１６０とを有する。また、サービス管理部１４０ａは、登録部１４１と、検索部１４２と、生成部１４３ａと、出力部１４４と、品質計算部１４５と、取得部１４６ａとを有する。
【００６０】
生成部１４３ａは、未登録のサービスを提供可能な提供装置２０を含むデバイスリストを生成する。より具体的には、生成部１４３ａは、検索部１４２によるサービス検索要求よって発見された、サービスを提供可能な提供装置２０のデバイスリストの生成において、記憶部１６０のサービス実装情報に未登録のサービスを提供可能な提供装置２０を含むデバイスリストを生成する。詳細には、検索部１４２によるサービス検索要求に対して、提供装置２０は、サービス広告情報を含むサービス検索応答を通信装置１０ａに対して送信する。これにより、生成部１４３ａは、記憶部１６０に記憶されたサービス実装情報に未登録のサービスを提供可能な提供装置２０を含むデバイスリストを生成する。ここで、ユーザは、サービス実装情報に未登録のサービスを提供するデバイスを選択する場合がある。
【００６１】
取得部１４６ａは、未登録のサービスが利用される場合に、未登録のサービスを実行するための情報を外部装置から取得する。より具体的には、取得部１４６ａは、デバイスリストからのユーザによる選択において、サービス実装情報に未登録のデバイスが選択された場合に、サービス実装情報に未登録のサービスを実行するための情報の外部装置からの取得可否を選択する要求をアプリケーション１５０に対して行なう。これにより、アプリケーション１５０は、未登録のサービスを実行するための情報を外部装置から取得しても良いか否かを選択する画面をタッチパネル等に表示出力させる。ここでは、ユーザが、外部装置からの取得を許可する選択をしたものとする。取得部１４６ａは、サービス実装情報に未登録のサービスを実行するための情報を外部装置に要求し、取得する。そして、取得部１４６ａは、取得した情報を記憶部１６０のサービス実装情報に登録し、サービス１３０に対して取得した情報に対するサービスに関するファイルを保存させる。
【００６２】
次に、図１２を用いて、実施の形態２に係るサービス管理システム１における全体処理の流れを説明する。図１２は、実施の形態１に係るサービス管理システム１における全体処理の流れの例を示すシーケンス図である。なお、図１２に示すステップＳ４０３〜ステップＳ４１６は、図８に示すステップＳ１０１〜ステップＳ１１４で説明した処理と同様である。また、図１２に示すステップＳ４２９〜ステップＳ４３８は、ステップＳ１２８〜ステップＳ１３７で説明した処理と同様である。
【００６３】
図１２に示すように、提供装置２０のサービス２３０は、サービス広告情報をＡＳＰ２２０に出力する（ステップＳ４０１、ステップＳ４０２）。これにより、提供装置２０のＡＳＰ２２０は、サービス広告情報を含むサービス情報を、通信装置１０ａに対して応答する（ステップＳ４１４）。サービス管理部１４０ａの生成部１４３ａは、検索によって発見されたサービスのデバイスリストについて、提供装置２０から受信されたサービス広告情報のサービスを含む検索結果をもとに、デバイスリストを生成する（ステップＳ４１７）。
【００６４】
そして、サービス管理部１４０ａの出力部１４４は、生成されたデバイスリストをアプリケーション１５０に対して出力する（ステップＳ４１８）。アプリケーション１５０は、生成されたデバイスリストをタッチパネル等に表示出力させる（ステップＳ４１９）。そして、アプリケーション１５０は、タッチパネルに対するユーザ操作により、デバイスリストからデバイスの選択を受け付ける（ステップＳ４２０）。ここでは、サービス実装情報に未登録のサービスを提供するデバイスが選択されたものとする。その後、アプリケーション１５０は、選択されたデバイスの情報をサービス管理部１４０ａに対して出力する（ステップＳ４２１）。
【００６５】
サービス管理部１４０ａの取得部１４６ａは、デバイスリストから選択されたデバイスの情報がサービス実装情報に未登録である場合に、拡張サービスとして、外部サーバからの取得可否（拡張サービスのセットアップ可否）の選択をアプリケーション１５０に対して要求する（ステップＳ４２２）。アプリケーション１５０は、拡張サービスのセットアップ可否を選択する画面をタッチパネル等に表示出力させ、ユーザ操作により、セットアップ可否を受け付ける（ステップＳ４２３）。そして、アプリケーション１５０は、受け付けたセットアップ可否の情報をサービス管理部１４０ａに出力する（ステップＳ４２４）。ここでは、ユーザが、セットアップ可を選択したものとする。
【００６６】
サービス管理部１４０ａの取得部１４６ａは、拡張サービスのファイル取得を外部サーバに対して要求する（ステップＳ４２５）。外部サーバは、通信装置１０ａからの要求に対して、拡張サービスのファイルを該通信装置１０ａに対して送信する（ステップＳ４２６）。サービス管理部１４０ａの取得部１４６ａは、外部サーバから取得したファイルの保存をサービス１３０に対して実行させ（ステップＳ４２７）、拡張サービスの実装情報を記憶部１６０に登録する（ステップＳ４２８）。
【００６７】
図１３は、実施の形態２に係る未登録の拡張サービスのセットアップ可否を選択する画面例を示す図である。なお、図１３では、サービス実装情報に未登録のＰｒｉｎｔサービスの拡張サービスを提供するデバイスが選択された際に表示される画面例を示している。図１３に示すように、アプリケーション１５０は、サービス実装情報に未登録のサービスが利用される場合に、拡張サービスとして、セットアップの可否をユーザに選択させる画面をタッチパネルに表示出力させる。ユーザは、許可ボタン又は拒否ボタンを押下することで、セットアップの可否を選択する。
【００６８】
上述したように、通信装置１０ａは、サービスの検索において、提供装置２０からサービス広告情報を受け付けて、サービス広告情報に対応するサービスを外部装置から取得するので、ユーザにサービス登録をさせる手間を省略させることができるうえに、未登録のサービスであっても利用可能とすることができる。
【００６９】
（実施の形態３）
図１４を用いて、実施の形態３に係る通信装置１０ｂの機能構成を説明する。図１４は、実施の形態３に係る通信装置１０ｂの機能構成例を示すブロック図である。なお、実施の形態３では、実施の形態１に係る通信装置１０と同様の機能については同一の符号を付し、その詳細な説明を省略する場合がある。
【００７０】
図１４に示すように、通信装置１０ｂは、通信制御部１１０と、ＡＳＰ１２０と、サービス１３０と、サービス管理部１４０ｂと、アプリケーション１５０と、記憶部１６０とを有する。また、サービス管理部１４０ｂは、登録部１４１ｂと、検索部１４２と、生成部１４３ｂと、出力部１４４と、品質計算部１４５とを有する。
【００７１】
登録部１４１ｂは、利用されたサービスであることを示す利用実績情報を記憶部１６０に登録する。より具体的には、登録部１４１ｂは、サービス１３０から利用されたサービスの情報を受け付けて、利用されたサービスであることを示す利用実績情報を記憶部１６０に登録する。例えば、利用実績情報には、サービスを提供した提供装置２０のデバイス名やＩＰアドレス、サービスのカテゴリ、種類、利用された日時の情報等が含まれる。
【００７２】
生成部１４３ｂは、利用実績情報を含むデバイスリストを生成する。より具体的には、生成部１４３ｂは、デバイスリストの作成時に、登録部１４１ｂによって登録された利用実績情報を参照し、利用実績情報に該当するデバイスが存在する場合に、利用実績情報を含むデバイスリストを生成する。
【００７３】
次に、図１５を用いて、実施の形態３に係るサービス管理システム１における全体処理の流れを説明する。図１５は、実施の形態３に係るサービス管理システム１における全体処理の流れの例を示すシーケンス図である。なお、図１５に示すステップＳ５０１〜ステップＳ５２２は、図８に示すステップＳ１０１〜ステップＳ１２２で説明した処理と同様である。また、図１５に示すステップＳ５２４〜ステップＳ５３７は、図８に示すステップＳ１２４〜ステップＳ１３７で説明した処理と同様である。
【００７４】
図１５に示すように、サービス１３０は、サービスが利用された後に、利用されたサービスの利用実績情報をサービス管理部１４０ｂに出力する（ステップＳ５３８）。サービス管理部１４０ｂの登録部１４１ｂは、サービス１３０から利用実績情報を受け付けると、利用実績情報を記憶部１６０に登録する（ステップＳ５３９）。これらにより、サービス管理部１４０ｂの生成部１４３ｂは、利用実績情報を含むデバイスリストを生成する（ステップＳ５２３）。
【００７５】
図１６は、実施の形態３に係る利用実績情報の例を示す図である。図１６に示すように、利用実績情報には、デバイス名と、ＩＰアドレスと、カテゴリと、種類と、日時との情報が含まれる。デバイス名は、利用されたサービスを提供した提供装置２０のデバイス名を示す情報である。ＩＰアドレスは、利用されたサービスを提供した提供装置２０のＩＰアドレスを示す情報である。カテゴリは、利用されたサービスのカテゴリを示す情報である。種類は、利用されたサービスの種類（標準サービス又は拡張サービス）を示す情報である。日時は、サービスが利用されたときの日時を示す情報である。
【００７６】
図１７は、実施の形態３に係るデバイスリストの例を示す図である。なお、図１７では、ユーザによってＰｒｉｎｔサービスのカテゴリが選択された場合を例に挙げて説明する。図１７に示すように、通信装置１０ｂのアプリケーション１５０は、ユーザに選択されたカテゴリに対応するサービスを提供するデバイス名と、電波強度と、印刷機能との情報を含むデバイスリストを、タッチパネル等に表示出力させる。ここで、デバイス名の箇所には、そのサービスが利用されたことがある場合、「利用実績あり」等の利用実績があったことを示す情報が表示出力される。
【００７７】
上述したように、通信装置１０ｂは、利用されたサービスの利用実績情報を登録するので、利用実績のあるデバイスの履歴から、簡易にデバイスを選択させることができる。
【００７８】
上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメータ等を含む情報は、特記する場合を除いて任意に変更することができる。また、図示した装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散又は統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況等に応じて、任意の単位で機能的又は物理的に、分散又は統合することができる。
【００７９】
また、通信装置１０で実行されるサービス管理プログラムは、一つの様態として、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、通信装置１０で実行されるサービス管理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、通信装置１０で実行されるサービス管理プログラムをインターネット等のネットワーク経由で提供又は配布するように構成しても良い。また、サービス管理プログラムを、ＲＯＭ等に予め組み込んで提供するように構成しても良い。
【００８０】
通信装置１０で実行されるサービス管理プログラムは、上述した各部（検索部１４２、生成部１４３、出力部１４４）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が記憶媒体からサービス管理プログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされ、検索部１４２、生成部１４３、出力部１４４が主記憶装置上に生成されるようになっている。
【符号の説明】
【００８１】
１  サービス管理システム
１０  通信装置
１１０  通信制御部
１２０  ＡＳＰ
１３０  サービス
１４０  サービス管理部
１４１  登録部
１４２  検索部
１４３  生成部
１４４  出力部
１４５  品質計算部
１５０  アプリケーション
１６０  記憶部
【先行技術文献】
【特許文献】
【００８２】
【特許文献１】特開２０１４−２０３２０１号公報
【非特許文献】
【００８３】
【非特許文献１】Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ  ｓｅｒｖｉｃｅ  Ｖｅｒｓｉｏｎ１．１＠２０１４−０８−２１
【図１】
2019020856.tif 000003
【図２】
2019020856.tif 000004
【図３】
2019020856.tif 000005
【図４】
2019020856.tif 000006
【図５】
2019020856.tif 000007
【図６】
2019020856.tif 000008
【図７】
2019020856.tif 000009
【図８】
2019020856.tif 000010
【図９】
2019020856.tif 000011
【図１０】
2019020856.tif 000012
【図１１】
2019020856.tif 000013
【図１２】
2019020856.tif 000014
【図１３】
2019020856.tif 000015
【図１４】
2019020856.tif 000016
【図１５】
2019020856.tif 000017
【図１６】
2019020856.tif 000018
【図１７】
2019020856.tif 000019