(57)【要約】【課題】複数のプロトコルで提供される複数のサービスが同一か否かを正しく判断できる。【解決手段】本発明に係るサービス提供装置とサービス利用装置とを備えたサービス送受信システムの全体構成を示すブロック図である。図示のように、サービス送受信システムは、各種サービスを提供するサービス提供装置１と、サービス提供装置１から各種サービスの提供を受ける複数のサービス利用装置２Ａ，２Ｂ，２Ｃとを備えている。サービス提供装置１からサービス利用装置２にサービス情報を送信する際、提供可能なサービスを識別するためのサービス識別子を複数プロトコル間で共通に提供して送信するため、個々のプロトコルで提供される複数のサービスが同一か否かをサービス利用装置２は正しく判断できる。したがって、同一のサービスの提供を重複して受ける等の不具合が起きなくなる。【選択図】  図１
2004248072.tif 000002
【特許請求の範囲】
【請求項１】
サービス利用装置にサービスを提供する、該サービス利用装置と複数のプロトコルを用いて通信可能なサービス提供装置において、
前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスの識別情報と、該識別情報に対応した属性値と、を含むサービス属性情報を生成するサービス情報生成手段と、
前記サービス利用装置に、前記各々のプロトコルに規定されたサービス情報提供手順で提供するサービス情報に前記サービス属性情報を含めて送信するサービス情報送信手段と、を備えることを特徴とするサービス提供装置。
【請求項２】
複数のプロトコルを用いて通信可能なサービス提供装置からサービスの提供を受けるサービス利用装置において、
前記サービス提供装置が、前記複数のプロトコル少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスの識別情報と、該識別情報に対応した属性値と、を含むサービス属性情報を取得するサービス属性情報取得手段と、
前記サービス属性情報取得手段で取得したサービス属性情報が示すサービスの中に、同一のサービスが存在するかどうかを判断する同一性判断手段と、
前記同一性判断手段が同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択するサービス選択手段と、を備えることを特徴とするサービス利用装置。
【請求項３】
サービス利用装置にサービスを提供する、該サービス利用装置と複数のプロトコルを用いて通信可能なサービス提供装置において、
前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスを識別するための第１の識別情報と、該第１の識別情報に対応した属性値と、を含むサービス属性情報を生成するサービス情報生成手段と、
前記サービス利用装置からの要求に応えてサービスを提供するときに必要となる、第２の識別情報を送信する識別情報送信手段と、
前記サービス利用装置に、前記各々のプロトコルに規定されたサービス情報提供手順で提供するサービス情報に前記サービス属性情報を含めて送信するサービス情報送信手段と、を備えることを特徴とするサービス提供装置。
【請求項４】
複数のプロトコルを用いて通信可能なサービス提供装置からサービスの提供を受けるサービス利用装置において、
前記サービス提供装置が、前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスを識別するための第１の識別情報と、該第１の識別情報に対応した属性値と、を含むサービス属性情報を取得するサービス属性情報取得手段と、
前記サービス提供装置からサービスの提供を受けるときに必要となる第２の識別情報を送信するよう前記サービス提供装置に要求する識別情報送信要求手段と、
前記サービス提供装置から送信された前記第２の識別情報によって識別される提供可能なサービスの中に、同一のサービスが存在するかどうかを判断する同一性判断手段と、
前記同一性判断手段が同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択するサービス選択手段と、を備えることを特徴とするサービス利用装置。
【請求項５】
複数のプロトコルを用いて通信し、通信相手にサービスを提供するサービス提供装置と、
前記サービス提供装置からサービスを受けるサービス利用装置と、を備えたサービス提供システムにおいて、
前記サービス提供装置は、
前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスの識別情報と、該識別情報に対応した属性値と、を含むサービス属性情報を生成するサービス情報生成手段と、
前記サービス利用装置に、前記各々のプロトコルに規定されたサービス情報提供手順で提供するサービス情報に前記サービス属性情報を含めて送信するサービス情報送信手段と、を有し、
前記サービス利用装置は、
前記サービス属性情報を取得するサービス属性情報取得手段と、
前記サービス属性情報取得手段で取得したサービス属性情報が示すサービスの中に、同一のサービスが存在するかどうかを判断する同一性判断手段と、
前記同一性判断手段が同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択するサービス選択手段と、を有することを特徴とするサービス提供システム。
【請求項６】
複数のプロトコルを用いて通信し、通信相手にサービスを提供するサービス提供装置と、
前記サービス提供装置からサービスを受けるサービス利用装置と、を備えたサービス提供システムにおいて、
前記サービス提供装置は、
前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスを識別するための第１の識別情報と、該第１の識別情報に対応した属性値と、を含むサービス属性情報を生成するサービス情報生成手段と、
前記サービス利用装置からの要求に応えてサービスを提供するときに必要となる、第２の識別情報を送信する識別情報送信手段と、
前記サービス利用装置に、前記各々のプロトコルに規定されたサービス情報提供手順で提供するサービス情報に前記サービス属性情報を含めて送信するサービス情報送信手段と、を有し、
前記サービス利用装置は、
前記サービス属性情報を取得するサービス属性情報取得手段と、
前記サービス提供装置からサービスの提供を受けるときに必要となる第２の識別情報を送信するよう前記サービス提供装置に要求する識別情報送信要求手段と、
前記サービス提供装置から送信された前記第２の識別情報によって識別される提供可能なサービスの中に、同一のサービスが存在するかどうかを判断する同一性判断手段と、
前記同一性判断手段が同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択するサービス選択手段と、を有することを特徴とするサービス提供システム。
【請求項７】
前記複数のプロトコルの少なくとも１つのプロトコルは、ＳＤＰ（Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）またはＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）であることを特徴とする請求項５または６に記載のサービス提供システム。
【請求項８】
サービス利用装置にサービスを提供するサービス提供方法において、
サービスを提供するために複数のプロトコルを利用し、その少なくとも１つのプロトコルを用いた通信で提供する１以上のサービスのうち、それらが共通して提供するサービスについての識別情報と、該識別情報に対応した属性値と、を含むサービス属性情報を生成し、
前記サービス利用装置に、前記各々のプロトコルに規定されたサービス情報提供手順で利用するサービス情報に前記サービス属性情報を含めて送信することを特徴とするサービス提供方法。
【請求項９】
サービス提供装置からサービスの提供を受けるサービス利用方法において、
前記サービス提供装置が、サービスの提供のために複数のプロトコルを利用し、その少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスの識別情報と、該識別情報に対応した属性値と、を含むサービス属性情報を取得し、
前記サービス属性情報取得手段で取得したサービス属性情報が示すサービスの中に、同一のサービスが存在するかどうかを判断し、
同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択することを特徴とするサービス利用方法。
【請求項１０】
サービス利用装置にサービスを提供するサービス提供方法において、
サービスを提供するために複数のプロトコルを利用し、その少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスを識別するための第１の識別情報と、該第１の識別情報に対応した属性値と、を含むサービス属性情報を生成し、
前記サービス利用装置からの要求に応えてサービスを提供するときに必要となる、第２の識別情報を送信し、
前記各々のプロトコルに規定されたサービス情報提供方法で利用するサービス情報の中に前記サービス属性情報を含めたサービス情報を、前記プロトコルに規定されたサービス情報提供方法に従って前記サービス利用装置に送信することを特徴とするサービス提供方法。
【請求項１１】
サービス提供装置からサービスの提供を受けるサービス利用方法において、
前記サービス提供装置が、サービス提供のために複数のプロトコルを利用し、その少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスを識別するための第１の識別情報と、該第１の識別情報に対応した属性値と、を含むサービス属性情報を取得し、
前記サービス提供装置からサービスの提供を受けるときに必要となる第２の識別情報を送信するよう前記サービス提供装置に要求し、
前記サービス提供装置から送信された前記第２の識別情報によって識別される提供可能なサービスの中に、同一のサービスが存在するかどうかを判断し、
同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択することを特徴とするサービス利用方法。
【請求項１２】
複数のプロトコルを用いて通信し、通信相手にサービスを提供するサービス提供装置と、
前記サービス提供装置からサービスを受けるサービス利用装置と、の間で、サービスするコンピュータで読取可能なサービス提供プログラムにおいて、
前記サービス提供装置にて、前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスの識別情報と、該識別情報に対応した属性値と、を含むサービス属性情報を生成するステップと、
前記サービス提供装置にて、前記各々のプロトコルに規定されたサービス提供方法で利用するサービス情報の中に前記サービス属性情報を含めたサービス情報を、前記プロトコルに規定されたサービス情報提供方法に従って前記サービス利用装置に送信するステップと、
前記サービス利用装置にて、前記サービス属性情報を取得するステップと、
前記サービス利用装置にて、取得した前記サービス属性情報が示すサービスの中に、同一のサービスが存在するかどうかを判断するステップと、
前記サービス利用装置にて、同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択するステップと、を有することを特徴とするサービス提供プログラム。
【請求項１３】
複数のプロトコルを用いて通信し、通信相手にサービスを提供するサービス提供装置と、
前記サービス提供装置からサービスを受けるサービス利用装置と、の間で、サービスするコンピュータで読取可能なサービス提供プログラムにおいて、
前記サービス提供装置にて、前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスを識別するための第１の識別情報と、該第１の識別情報に対応した属性値と、を含むサービス属性情報を生成するステップと、
前記サービス提供装置にて、前記サービス利用装置からの要求に応えてサービスを提供するときに必要となる、第２の識別情報を送信するステップと、
前記各々のプロトコルに規定されたサービス情報提供手順で提供するサービス情報に前記サービス属性情報を含めて前記サービス利用装置に送信するステップと、
前記サービス利用装置にて、前記サービス属性情報を取得するステップと、
前記サービス利用装置にて、前記サービス提供装置が提供するサービスを受けるときに必要となる第２の識別情報を送信するよう前記サービス提供装置に要求するステップと、
前記サービス利用装置にて、前記サービス提供装置から送信された前記第２の識別情報によって識別される提供可能なサービスの中に、同一のサービスが存在するかどうかを判断するステップと、
前記サービス利用装置にて、同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択するステップと、を有することを特徴とするサービス提供プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のプロトコルを用いて各種サービスの提供を行うサービス提供装置及びサービス利用装置に関する。
【０００２】
【従来の技術】
ネットワーク上に存在するサービスにはさまざまなものがあり、それらのサービスを利用するためには、サービスの種類やアクセス方法などを知る必要がある。ネットワーク上のサービスとしてよく知られている例としては、クロックサービス及びインターネットゲートウェイサービスなどがある。
【０００３】
これらサービスへのアクセス方法や所在を知るためのプロトコル（サービス発見プロトコル）はすでにいくつか存在している。よく知られているプロトコルとしては、Ｊｉｎｉ（ＴＭ）、ＵＰｎＰ  （Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）、  近距離無線デバイスであるＢｌｕｅｔｏｏｔｈ（ＴＭ）のＳＤＰ  （Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）などがあり、他にも多くのプロトコルが存在している。ＪｉｎｉはＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ（ＴＭ）によって定義されたプロトコルであり、ＵＰｎＰはＵＰｎＰ  Ｆｏｒｕｍ（ｈｔｔｐ：／／ｗｗｗ．ｕｐｎｐ．ｏｒｇ／）、ＳＤＰはＢｌｕｅｔｏｏｔｈ  ＳＩＧ（Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ）（ｈｔｔｐ：／／ｗｗｗ．ｂｌｕｅｔｏｏｔｈ．ｃｏｍ／）によって規格化されたプロトコルである。
【０００４】
これらのプロトコルは、サービスを提供するエンティティ（ｅｎｔｉｔｙ）がサービス情報を通知するしくみを持っており、サービスを利用したいエンティティがそのサービス情報を取得することにより、所望のサービスを利用できるようになっている。
【０００５】
これら異なるネットワーク上で提供されるサービスのサービス情報を変換し、別のネットワークに中継する機能を備えた装置も提案されている（特許文献１を参照）。
【０００６】
【特許文献１】
特許第３２５２８４１号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、これら複数のサービス発見プロトコルが並存しているのが現状であり、標準的なプロトコルはまだ確立されていない。また、これらいくつかの有力なプロトコルすべてと互換性のあるプロトコルは、現状存在していない。そこで、特定のプロトコルに制限されたくない通信装置は、予め複数のプロトコルを備えておく必要がある。
【０００８】
また、ある特定の通信デバイスを使用してネットワーク上のサービスを利用しようとした場合、そのデバイス上で用いられるサービス発見プロトコルはすでに定義されていることが多い。例えば、近距離無線通信デバイスであるＢｌｕｅｔｏｏｔｈ上では独自のサービス発見プロトコルであるＳＤＰが定義されており、Ｂｌｕｅｔｏｏｔｈで通信する装置は必ずこのプロトコルを備えていなければならない。
【０００９】
ここで、問題が発生する。あるサービスを提供する装置が複数のサービス発見プロトコルを使用する場合、それらのプロトコルすべてにサービス情報を広告することになる。この装置と同じように複数のプロトコルを備える装置は、それぞれのプロトコルにおいてサービス情報を取得した結果、それぞれのプロトコルで個別にサービスの存在を認識してしまう。つまり、サービスは一つであるにも関わらず、あたかも複数存在しているかのように誤認識してしまう。
【００１０】
これがどのような場合に問題となるかを説明する。プレゼンテーション、講習会、及びセミナーなどの場でよく用いられる機器の一つにプロジェクタがある。プロジェクタは通常、パソコンとケーブルで接続し、パソコンの画面を拡大表示するために用いられるが、ケーブルで接続する代わりに、無線で接続する無線プロジェクタという装置もある。この場合の通信インタフェースとして、無線ＬＡＮとＢｌｕｅｔｏｏｔｈの両方を備えた無線プロジェクタを想定する。パソコンから無線プロジェクタに画面を映し出すためには、プロジェクタの提供するサービスを発見して接続する必要がある。
【００１１】
ところが、無線ＬＡＮとＢｌｕｅｔｏｏｔｈの両方の機能を持つパソコンは、各機能でサービス発見プロトコルが動作し、各機能ごとにプロジェクタのサービスを発見してしまう。したがって、同一のプロジェクタであるにも関わらず、２つの異なるサービス（＝プロジェクタ）として認識されてしまう、という問題が発生する。広い会場でプレゼンテーションを行う場合、同時に複数の無線プロジェクタを表示させる必要が生じるが、上記のような状況が発生すると、複数台に表示させようとしても、実際には１台にしか表示されないという不具合が生じる。
【００１２】
同様に、ネットワークプリンターについても同じような状況が発生しうる。２つのプロトコルを備えたプリンターは、同じく２つのプロトコルを備えたパソコンから見ると、２台のプリンターとして認識されてしまい、印刷ジョブをパソコンから２台のプリンターにそれぞれ送信したつもりでも、実は１台のプリンターのみに集中してしまう、という事態を引き起こす。
【００１３】
本発明は、このような点に鑑みてなされたものであり、その目的は、複数のプロトコルで提供される複数のサービスが同一か否かを正しく判断できるサービス提供装置、サービス利用装置、サービス提供システム、サービス提供方法、サービス利用方法、サービス提供プログラム及びサービス利用プログラムを提供することにある。
【００１４】
【課題を解決するための手段】
上述した課題を解決するために、本発明は、サービス利用装置にサービスを提供する、該サービス利用装置と複数のプロトコルを用いて通信可能なサービス提供装置において、前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスの識別情報と、該識別情報に対応した属性値と、を含むサービス属性情報を生成するサービス情報生成手段と、前記サービス利用装置に、前記各々のプロトコルに規定されたサービス情報提供手順で提供するサービス情報に前記サービス属性情報を含めて送信するサービス情報送信手段と、を備える。
【００１５】
また、複数のプロトコルを用いて通信可能なサービス提供装置からサービスの提供を受けるサービス利用装置において、前記サービス提供装置が、前記複数のプロトコル少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスの識別情報と、該識別情報に対応した属性値と、を含むサービス属性情報を取得するサービス属性情報取得手段と、前記サービス属性情報取得手段で取得したサービス属性情報が示すサービスの中に、同一のサービスが存在するかどうかを判断する同一性判断手段と、前記同一性判断手段が同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択するサービス選択手段と、を備える。
【００１６】
また、サービス利用装置にサービスを提供する、該サービス利用装置と複数のプロトコルを用いて通信可能なサービス提供装置において、前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスを識別するための第１の識別情報と、該第１の識別情報に対応した属性値と、を含むサービス属性情報を生成するサービス情報生成手段と、前記サービス利用装置からの要求に応えてサービスを提供するときに必要となる、第２の識別情報を送信する識別情報送信手段と、前記サービス利用装置に、前記各々のプロトコルに規定されたサービス情報提供手順で提供するサービス情報に前記サービス属性情報を含めて送信するサービス情報送信手段と、を備える。
【００１７】
また、複数のプロトコルを用いて通信可能なサービス提供装置からサービスの提供を受けるサービス利用装置において、前記サービス提供装置が、前記複数のプロトコルの少なくとも１つのプロトコルを用いた通信により提供する１以上のサービスのうち、それらのプロトコルが共通して提供するサービスを識別するための第１の識別情報と、該第１の識別情報に対応した属性値と、を含むサービス属性情報を取得するサービス属性情報取得手段と、前記サービス提供装置からサービスの提供を受けるときに必要となる第２の識別情報を送信するよう前記サービス提供装置に要求する識別情報送信要求手段と、前記サービス提供装置から送信された前記第２の識別情報によって識別される提供可能なサービスの中に、同一のサービスが存在するかどうかを判断する同一性判断手段と、前記同一性判断手段が同一のサービスが存在すると判断した場合には、前記同一と判断したサービスの中から、いずれか一つのサービスを選択するサービス選択手段と、を備える。
【００１８】
【発明の実施の形態】
以下、本発明に係るサービス提供装置、サービス利用装置、サービス提供システム、サービス提供方法、サービス利用方法、サービス提供プログラム及びサービス利用プログラムについて、図面を参照しながら具体的に説明する。
【００１９】
（第１の実施形態）
図１は本発明に係るサービス提供装置とサービス利用装置とを備えたサービス提供システムの全体構成を示すブロック図である。図示のように、サービス提供システムは、各種サービスを提供するサービス提供装置１と、サービス提供装置１から各種サービスの提供を受ける複数のサービス利用装置２Ａ，２Ｂ，２Ｃとを備えている。以下では、サービス利用装置２Ａ，２Ｂ，２Ｃを総称してサービス利用装置２と呼ぶこともある。
【００２０】
ここで、サービスとは、サービス利用装置２が利用可能なサービス提供装置１の各種の機能であり、例えば、サービス提供装置１がプリンタの場合には、用紙に文字や画像を印刷する機能がサービスであり、サービス提供装置１がプロジェクタの場合には、スクリーンに動画像や静止画像を投影する機能がサービスである。１台のサービス提供装置１が複数種類のサービスを提供してもよいが、本実施形態では、１台のサービス提供装置１が１つのサービスを提供する場合について説明する。
【００２１】
図１のサービス提供装置１とサービス利用装置２ＡはＢｌｕｅｔｏｏｔｈで通信を行う。サービス提供装置１とサービス利用装置２ＢはＢｌｕｅｔｏｏｔｈと、無線ＬＡＮ等を介してインターネットの双方で通信を行うことが可能である。また、サービス提供装置１とサービス利用装置２Ｃとは無線ＬＡＮ等を介してインターネットと通信を行うものとする。
【００２２】
図２はサービス提供装置１の内部構成の一例を示すブロック図である。図２のサービス提供装置１は、複数のプロトコルのそれぞれを用いてサービス利用装置２との間で通信を行う複数の通信部３と、サービス情報生成部４と、各種サービスを格納するサービス部５とを備えている。サービス情報生成部４は、複数のプロトコルのそれぞれで提供される個々のサービスの識別子と、該識別子に対応した属性値と、を含むサービス属性情報を生成する。
【００２３】
本実施形態では、プロトコルとして、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）とＳＤＰ（Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌ）の２つを用いる。通信部３は、ＳＤＰに対応したＳＤＰ通信部６及びＢｌｕｅｔｏｏｔｈ通信部７と、ＵＰｎＰに対応したＵＰｎＰ通信部８及びＴＣＰ／ＩＰ通信部９とを有する。
【００２４】
ＳＤＰ通信部６は、ＳＤＰで提供されるサービス情報の中に、サービス情報生成部４で生成されたＳＤＰのサービス属性情報を含めて広告する。Ｂｌｕｅｔｏｏｔｈ通信部７は、サービス利用装置２との間で、Ｂｌｕｅｔｏｏｔｈの規格に従って無線通信を行う。
【００２５】
ＵＰｎＰ通信部８は、ＵＰｎＰで提供されるサービス情報の中に、サービス情報生成部４で生成されたＵＰｎＰのサービス属性情報を含めて広告する。ＴＣＰ／ＩＰ通信部９は、サービス利用装置２との間で、無線ＬＡＮ及びインターネットを介して通信を行う。
【００２６】
サービス情報生成部４は、サービス提供装置１が提供する各種サービスに対して、一意のサービス識別子を割当て、割当てたサービス識別子を含むサービス属性情報をＳＤＰ通信部６とＵＰｎＰ通信部８に通知する。サービス識別子として、本実施形態ではＵＵＩＤ（Ｕｎｉｖｅｒｓａｌ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）を用いるものとする。ＵＵＩＤは、時間と場所を問わずに一意であることが保証される汎用的な固有識別子である。ＵＵＩＤの書式は、国際標準化機構により、ＩＳＯ／ＩＥＣ  １１５７８：１９９６，  ”Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ  −  Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ  −  Ｒｅｍｏｔｅ  Ｐｒｏｃｅｄｕｒｅ  Ｃａｌｌ  （ＲＰＣ）”で定義されている。
【００２７】
ＳＤＰ通信部６は、ＳＤＰで提供可能なサービス属性情報をサービス情報生成部４から取得し、ＳＤＰで定義されているサービスレコードのフォーマットに従ってサービス情報を生成する。サービス利用装置２からのサービス検索要求を受信すると、ＳＤＰ通信部６は、その要求に応じたサービスレコードを検索し、一致するサービスレコードのハンドラを返す。サービスレコードは、サービス属性情報の集合であり、サービス属性情報は個々のサービスの性質を表すためのパラメータである。また、サービス利用装置２からのサービス属性要求を受信すると、ＳＤＰ通信部６は、その要求に応じたサービス属性情報の値を返す。
【００２８】
ここで、ＳＤＰで提供可能なサービス属性情報には、サービスの特定のインスタンスを個々に識別するためのＳｅｒｖｉｃｅＩＤ、サービスを利用するために使用できるプロトコル・スタックを示すＰｒｏｔｏｃｏｌＤｅｓｃｒｉｐｔｏｒＬｉｓｔ、サービスを提供する個人または組織の名前が入ったテキスト文字列を示すＰｒｏｖｉｄｅｒＮａｍｅ、サービスの名前が入ったテキスト文字列を示すＳｅｒｖｉｃｅＮａｍｅ、及びサービスについて説明するテキスト文字列を示すＳｅｒｖｉｃｅＤｅｓｃｒｉｐｔｉｏｎなどがある。
【００２９】
図３はＳＤＰで定義されているサービスレコードのフォーマットを示す図である。図示のように、サービスレコードは、複数のサービス属性情報からなる。
【００３０】
図４はサービス情報生成部４が生成するサービス属性情報のフォーマットを示す図である。図示のように、サービス属性情報は、サービスの属性ＩＤと、その属性ＩＤに対応する属性値と、からなる。
【００３１】
サービス利用装置２内のＵＰｎＰ通信部は、サービス提供装置１内のＵＰｎＰ通信部８からマルチキャストされたサービス情報を受信する。これにより、サービス利用装置２は、サービス提供装置１が提供するサービスの種類を把握することができる。
【００３２】
また、サービス利用装置２は、サービス情報を検索して、サービスの存在を把握することができる。この場合、サービス利用装置２内のＵＰｎＰ通信部が検索要求をマルチキャストし、該当するサービスを保持しているサービス提供装置１内のＵＰｎＰ通信部８はサービス情報をユニキャストでサービス利用装置２に送信する。
【００３３】
図５はサービス利用装置２Ａの内部構成を示すブロック図である。図５のサービス利用装置２は、サービス提供装置１からＢｌｕｅｔｏｏｔｈでサービスの提供を受けるものであり、サービスを利用したアプリケーションを実行するアプリケーション部１１と、ＳＤＰ通信部１２と、Ｂｌｕｅｔｏｏｔｈ通信部１３とを有する。アプリケーション部１１は、例えば、ネットワーク上に存在するプリンタを利用して電子文書を印刷する、いわゆる文書編集を行う。
【００３４】
図５のＳＤＰ通信部１２とＢｌｕｅｔｏｏｔｈ通信部１３はそれぞれ図２のＳＤＰ通信部６とＢｌｕｅｔｏｏｔｈ通信部７と同様の動作を行う。
【００３５】
図６はサービス利用装置２Ｂの内部構成を示すブロック図である。図６のサービス利用装置２は、Ｂｌｕｅｔｏｏｔｈとインターネットの両方の通信機能を持ち、図５の構成に加えて、ＵＰｎＰ通信部２４と、ＴＣＰ／ＩＰ通信部２５と、サービス選択部２６とを有する。これらＵＰｎＰ通信部２４とＴＣＰ／ＩＰ通信部２５は、図２のＵＰｎＰ通信部８とＴＣＰ／ＩＰ通信部９と同様の機能を持っている。
【００３６】
サービス選択部２６は、ＳＤＰ通信部２２とＵＰｎＰ通信部２４のそれぞれで検出されたサービスの中に同一のサービスが含まれるか否かをチェックする。ここでは、ＳＤＰ通信部２２からはサービスＩＤを取得し、ＵＰｎＰ通信部２４からはサービスのＵＵＩＤを取得して、上記のチェックを行う。
【００３７】
また、ＳＤＰ通信部２２とＵＰｎＰ通信部２４の双方で同一のサービスが検出された場合は、ＳＤＰ通信部２２とＵＰｎＰ通信部２４のどちらを介してサービスを利用するかを決定する。決定する際には、各通信部３が持つ各種の性質（例えば、通信帯域、遅延、遅延揺らぎ、データ配信の信頼性、セキュリティ強度など）や、通信インタフェースにかかる負荷のバランスなどを考慮に入れて、使用すべき通信部を決定する。
【００３８】
図７はサービス利用装置２Ｃの内部構成を示すブロック図である。図７のサービス利用装置２Ｃ内のアプリケーション部３１、ＵＰｎＰ通信部３２及びＴＣＰ／ＩＰ通信部３３は、図６のサービス利用装置２Ｂ内のアプリケーション部２１、ＵＰｎＰ通信部２４及びＴＣＰ／ＩＰ通信部２５と同様の機能を持っている。
【００３９】
次に、図１のサービス提供装置１とサービス利用装置２との間の通信手順について説明する。まず、Ｂｌｕｅｔｏｏｔｈを用いてサービス発見を行う手順を説明する。サービス利用装置２は、インクワイアリ（Ｉｎｑｕｉｒｙ）により、周囲のＢｌｕｅｔｏｏｔｈ装置を検出し、検出したＢｌｕｅｔｏｏｔｈ装置に対して、図８の手順でＳＤＰによるサービス発見を行う。
【００４０】
サービス利用装置２Ａ，２Ｂは、サービス提供装置１がどのようなサービスを持っているのかを検索するためのサービス検索パターンを含んだＳＤＰ＿ＳｅｒｖｉｃｅＳｅａｒｃｈＲｅｑｕｅｓｔを、サービス提供装置１に対して送信する（ステップＳ１）。
【００４１】
ＳＤＰ＿ＳｅｒｖｉｃｅＳｅａｒｃｈＲｅｑｕｅｓｔを受信したサービス提供装置１は、自装置の持つサービスの中からそのサービス検索パターンに一致するサービスレコードのハンドルを含むＳＤＰ＿ＳｅｒｖｉｃｅＳｅａｒｃｈＲｅｓｐｏｎｓｅを生成し、ＳＤＰ＿  ＳｅｒｖｉｃｅＳｅａｒｃｈＲｅｓｐｏｎｓｅを送り返す（ステップＳ２）。
【００４２】
サービス検索パターンとは、一致するサービスレコードを見つけるために使用されるＵＵＩＤのリストで、サービス検索パターン内の個々のＵＵＩＤがサービスレコードの属性値のどれかに含まれる場合、サービス検索パターンはサービスレコードに一致すると解釈される。
【００４３】
上記のステップＳ１，Ｓ２により、サービス利用装置２Ａ，２Ｂは所望のサービスのサービスレコードハンドルを得ることができる。
【００４４】
次に、所望のサービスが持つサービス属性の値を得るため、サービス利用装置２Ａ，２Ｂは、ＳＤＰ＿ＳｅｒｖｉｃｅＡｔｔｒｉｂｕｔｅＲｅｑｕｅｓｔをサービス提供装置１に対して送信する（ステップＳ３）。ＳＤＰ＿ＳｅｒｖｉｃｅＡｔｔｒｉｂｕｔｅＲｅｑｕｅｓｔには、所望のサービスのサービスレコードハンドルと、サービスレコードから検索する属性ＩＤのリストが含まれている。
【００４５】
ＳＤＰ＿ＳｅｒｖｉｃｅＡｔｔｒｉｂｕｔｅＲｅｑｕｅｓｔを受信したサービス提供装置１は、要求されたサービスレコードに含まれるサービス属性（属性ＩＤと属性値の両方）のリストが含まれたＳＤＰ＿ＳｅｒｖｉｃｅＡｔｔｒｉｂｕｔｅＲｅｓｐｏｎｓｅを送り返す（ステップＳ４）。ＳＤＰ＿ＳｅｒｖｉｃｅＡｔｔｒｉｂｕｔｅＲｅｓｐｏｎｓｅを受信したサービス利用装置２Ａとサービス利用装置２Ｂは、所望のサービスの各属性値を得ることができる。
【００４６】
サービス属性の一つとして、サービスレコードが表現するサービスのインスタンスを、個別かつ汎用的に識別するＳｅｒｖｉｃｅＩＤが定義されている。本実施形態におけるサービス提供装置１は、自装置内のサービス情報生成部４から得たサービス識別子（ＵＵＩＤ）をＳｅｒｖｉｃｅＩＤとして設定しておく。これにより、サービス提供装置１の持つサービスを他のサービス利用装置２が一意に識別することができる。
【００４７】
次に、ＵＰｎＰを用いてサービス発見を行う場合の処理手順を図９のシーケンス図に基づいて説明する。サービス提供装置１は、図９に示すように、ＴＣＰ／ＩＰ通信部９を通じてネットワーク（インターネット）に接続されたとき、自装置の持つサービス情報のマルチキャスト送信（広告）を行う（ステップＳ１１）。
【００４８】
本実施形態におけるサービス提供装置１は、送信すべきサービスのＵＵＩＤ（サービス情報に含まれる）として、サービス情報生成部４から得たサービス識別子（ＵＵＩＤ）を設定する。これにより、サービス情報を受信したサービス利用装置２Ｂ，２Ｃはサービス提供装置１の持つサービスを一意に識別することができる。
【００４９】
一方、ＵＰｎＰには、広告以外にもサービスを検出する手段が定義されている。サービス利用装置２Ｂ，２Ｃが現在利用可能なサービスを知りたければ、図１０に示すように、サービス検索要求のマルチキャスト送信を行う（ステップＳ１２）。サービス検索要求には、検索したいデバイスやサービスの種類などを指定することができる。
【００５０】
サービス検索要求を受信したサービス提供装置１は、検索対象に一致した場合はサービス情報を送り返す（ステップＳ１３）。サービス情報にはサービス提供装置１内のサービス情報生成部４から得たサービス識別子（ＵＵＩＤ）が含まれている。従って、サービス利用装置２Ｂ，２Ｃはサービス提供装置１の持つサービスを一意に識別することができる。
【００５１】
このように、サービス提供装置１は、ＳＤＰ通信部６がＳｅｒｖｉｃｅＩＤの値としてサービス情報生成部４から得たサービス識別子を用い、また、ＵＰｎＰ通信部８もサービスのＵＵＩＤの値としてサービス情報生成部４から得た上記と同一のサービス識別子を用いる。サービス利用装置２Ｂのサービス選択部２６は、ＳＤＰ通信部６とＵＰｎＰ通信部３のそれぞれで発見したサービスが同一のものであることを認識できる。
【００５２】
また、サービス利用装置２Ｂのサービス選択部２６は、同一のサービスであることが判明した場合、どちらの通信インタフェースを使用するかを決定する。サービス利用装置２Ｂのサービス選択部２６は図１１に示す処理を行う。まず、サービス利用アプリケーションが必要としているサービスの特徴（フィーチャ）を備えているかどうかを、ＳＤＰ通信部６とＵＰｎＰ通信部３のそれぞれが持つサービス情報と照らし合わせて判断する（ステップＳ２１）。どちらか一方にしか備わっていないことが判明すれば、その通信インタフェースを選択する。
【００５３】
両方とも備わっていることが判明すれば、通信インタフェースの持つ通信路の帯域を比較し（ステップＳ２２）、インターネットの方が大きい場合はＵＰｎＰ通信部８のサービス処理キューに処理待ち要求があるかどうかを判断し（ステップＳ２３）、処理待ち要求がなければインターネットを選択する（ステップＳ２４）。
【００５４】
一方、ステップＳ２２で帯域がＢｌｕｅｔｏｏｔｈの方が大きいと判断された場合、または、ステップＳ２３で処理待ち要求があると判断された場合は、Ｂｌｕｅｔｏｏｔｈデバイスが通信中かどうか（Ｐｉｃｏｎｅｔが存在するかどうか）を検査し（ステップＳ２５）、通信中ならインターネット、通信中でないならＢｌｕｅｔｏｏｔｈを選択する（ステップＳ２６）。
【００５５】
このように、第１の実施形態では、サービス提供装置１からサービス利用装置２にサービス情報を送信する際、提供可能なサービスを識別するためのサービス属性情報も併せて送信するため、個々のプロトコルで提供される複数のサービスが同一か否かをサービス利用装置２は正しく判断できる。したがって、同一のサービスの提供を重複して受ける等の不具合が起きなくなる。
【００５６】
具体例として、サービス提供装置１が無線ＬＡＮとＢｌｕｅｔｏｏｔｈの双方で通信を行える無線プロジェクタであり、サービス利用装置２が映写すべきデータを複数のプロジェクタに送信してプレゼンテーションを行う場合に、本実施形態によれば、１台のプロジェクタを複数のプロジェクタとして誤認識するおそれがなくなる。
【００５７】
（第２の実施形態）
第２の実施形態のサービス提供装置１は、ＳＤＰにおけるサービスＩＤと、ＵＰｎＰにおけるサービスＵＵＩＤが同じ値を取れないものとする。この場合、サービス利用装置２は、ＳＤＰにおけるサービスＩＤとＵＰｎＰにおけるサービスＵＵＩＤとを得ただけでは、サービスの同一性を判断できないことになる。
【００５８】
そこで、第２の実施形態では、サービスの同一性を判断するために、サービス提供装置１からサービス利用装置２にサービス識別子を送信することを特徴とする。
【００５９】
図１２は本発明に係るサービス提供装置１の第２の実施形態の内部構成を示すブロック図である。図１２のサービス提供装置１は、図２の構成に加えて、サービス利用装置２にサービス識別子を送信するサービス識別子送信部１０ａ，１０ｂを有する。サービス識別子送信部１０ａ，１０ｂは、ＳＤＰ通信部６またはＵＰｎＰ通信部８によりサービス提供装置１の持つサービスのサービス情報が取得されたとき、そのサービス提供装置１のサービス情報生成部４が生成したサービス識別子を得るため、そのサービス提供装置１に対してサービス識別子要求パケットを送信し、サービス識別子を取得する。サービス識別子取得部は、サービス提供装置１内のサービス識別子送信部１０ａ，１０ｂと通信を行う。
【００６０】
図１３は本発明に係るサービス利用装置２Ｂの第２の実施形態の内部構成を示すブロック図である。図１３のサービス利用装置２Ｂは、図６の構成に加えて、サービス提供装置１から送信されたサービス識別子を取得するサービス識別子取得部２７ａ，２７ｂを有する。
【００６１】
図１４はサービス提供装置１内のサービス識別子送信部１０ａ，１０ｂとサービス利用装置２内のサービス識別子取得部２７ａ，２７ｂとの処理手順を示すシーケンス図、図１５はサービス識別子要求パケットのフォーマットを示す図、図１６はサービス識別子応答パケットのフォーマットを示す図である。
【００６２】
サービス利用装置２Ｂのサービス識別子取得部２７ａ，２７ｂは、ＳＤＰ通信部６またはＵＰｎＰ通信部３がサービス情報を取得すると、そのサービスに対応するサービス識別子を得るために、該当するサービス提供装置１に対して、サービス識別子要求パケットを送信する（ステップＳ３１）。
【００６３】
図１５に示すように、サービス識別子要求パケットは、サービス識別子要求かサービス識別子応答かを区別するパケットタイプと、サービス発見プロトコルの種別を示すサービス発見プロトコル種別と、該当するサービスの持つＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤの長さと、該当するサービスのＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤとからなる。
【００６４】
パケットタイプは、サービス識別子要求とサービス識別子応答を区別する１バイトの情報である。サービス発見プロトコル種別は、ＳＤＰ、ＵＰｎＰ、Ｊｉｎｉ、Ｓａｌｕｔａｔｉｏｎ、ＪｅｔＳｅｎｄ及びＲｅｎｄｅｚｖｏｕｓを区別する１バイトの情報である。ＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤの長さは、ＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤのバイト数を表す１バイトの情報である。ＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤは、サービス識別子を取得したいサービスのＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤを表す任意バイトの情報である。
【００６５】
サービス識別子要求パケットを受信したサービス提供装置１のサービス識別子送信部１０ａ，１０ｂは、そのパケットに格納されているＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤに対応するサービス識別子をサービス情報生成部４より取得し、図１６に示すサービス識別子応答パケットに格納して、要求元のサービス利用装置２Ｂに送り返す（ステップＳ３２）。
【００６６】
図１６に示すように、サービス識別子応答パケットは、サービス識別子要求か応答かを示すパケットタイプと、サービス発見プロトコルの種別を示すサービス発見プロトコル種別と、該当するサービスの持つＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤの長さと、該当するサービスのＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤと、該当するサービスのサービス識別子とからなる。
【００６７】
パケットタイプは、サービス識別子要求とサービス識別子応答を区別する１バイトの情報である。サービス発見プロトコル種別は、ＳＤＰ、ＵＰｎＰ、Ｊｉｎｉ、Ｓａｌｕｔａｔｉｏｎ、ＪｅｔＳｅｎｄ及びＲｅｎｄｅｚｖｏｕｓを区別する１バイトの情報である。ＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤの長さは、ＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤのバイト数を表す１バイトの情報である。ＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤは、サービス識別子を取得したいサービスのＳｅｒｖｉｃｅＩＤまたはサービスＵＵＩＤを表す任意バイトの情報である。サービス識別子は、該当するサービスのサービス識別子を表す１６バイトの情報である。
【００６８】
図１４の処理手順は、ＳＤＰにて取得したサービスとＵＰｎＰにて取得したサービスとのそれぞれに対して、独立に実行される。図１４の処理手順により、ＳＤＰ通信部６とＵＰｎＰ通信部８のそれぞれで取得したサービスに対応するサービス識別子を得ることができ、サービスの同一性を判定することができる。
【００６９】
このように、第２の実施形態では、ＳＤＰとＵＰｎＰのそれぞれで得た複数のサービスが同一か否かをＳＤＰのサービスＩＤとＵＰｎＰのサービスＵＵＩＤで判断できない場合に、サービス提供装置１からサービス利用装置２にサービス識別子を送信するようにしたため、サービス利用装置２はこのサービス識別子によりサービスが同一か否かを正しく判断することができる。
【００７０】
【発明の効果】
以上詳細に説明したように、本発明によれば、サービス提供装置からサービス利用装置にサービス情報を送信する際、サービスの識別情報と属性値を含むサービス属性情報を併せて送信するようにしたため、このサービス属性情報により、サービス利用装置は、各プロトコルで提供されるサービスが同一か否かを正しく判断できる。したがって、同一のサービスの提供を重複して受けたり、１つのサービスを複数のサービスとして誤認識するおそれがなくなる。
【図面の簡単な説明】
【図１】本発明に係るサービス提供装置とサービス利用装置とを備えたサービス提供システムの全体構成を示すブロック図。
【図２】サービス提供装置１の内部構成の一例を示すブロック図。
【図３】ＳＤＰで定義されているサービスレコードのフォーマットを示す図。
【図４】サービス情報生成部４が生成するサービス属性情報のフォーマットを示す図。
【図５】サービス利用装置２Ａの内部構成を示すブロック図。
【図６】サービス利用装置２Ｂの内部構成を示すブロック図。
【図７】サービス利用装置２Ｃの内部構成を示すブロック図。
【図８】ＳＤＰにおけるサービス発見シーケンス図。
【図９】ＵＰｎＰにおけるサービス広告シーケンス図。
【図１０】ＵＰｎＰにおけるサービス検索シーケンス図。
【図１１】サービス利用装置２Ｂの処理手順を示すフローチャート。
【図１２】サービス提供装置の第２の実施形態の内部構成を示すブロック図。
【図１３】サービス利用装置２Ｂの第２の実施形態の内部構成を示すブロック図。
【図１４】サービス識別子の取得シーケンス図。
【図１５】サービス識別子要求パケットのデータ構造を示す図。
【図１６】サービス識別子応答パケットのデータ構造を示す図。
【符号の説明】
１  サービス提供装置
２，２Ａ，２Ｂ，２Ｃ  サービス利用装置
３  通信部
４  サービス情報生成部
５  サービス部
６  ＳＤＰ通信部
８，２４，３２  ＵＰｎＰ通信部
９，２５，３３  ＴＣＰ／ＩＰ通信部
１０ａ，１０ｂ  サービス識別子送信部
１１  アプリケーション部
１２，２２  ＳＤＰ通信部
１３，２３  Ｂｌｕｅｔｏｏｔｈ通信部
２１，３１  アプリケーション部
２２  ＳＤＰ通信部
２７ａ，２７ｂ  サービス識別子取得部
【図１】
2004248072.tif 000003
【図２】
2004248072.tif 000004
【図３】
2004248072.tif 000005
【図４】
2004248072.tif 000006
【図５】
2004248072.tif 000007
【図６】
2004248072.tif 000008
【図７】
2004248072.tif 000009
【図８】
2004248072.tif 000010
【図９】
2004248072.tif 000011
【図１０】
2004248072.tif 000012
【図１１】
2004248072.tif 000013
【図１２】
2004248072.tif 000014
【図１３】
2004248072.tif 000015
【図１４】
2004248072.tif 000016
【図１５】
2004248072.tif 000017
【図１６】
2004248072.tif 000018