JP3946650B2 - サービス提供装置、サービス提供プログラム及びサービス提供方法 - Google Patents
サービス提供装置、サービス提供プログラム及びサービス提供方法 Download PDFInfo
- Publication number
- JP3946650B2 JP3946650B2 JP2003058905A JP2003058905A JP3946650B2 JP 3946650 B2 JP3946650 B2 JP 3946650B2 JP 2003058905 A JP2003058905 A JP 2003058905A JP 2003058905 A JP2003058905 A JP 2003058905A JP 3946650 B2 JP3946650 B2 JP 3946650B2
- Authority
- JP
- Japan
- Prior art keywords
- service
- service information
- communication
- bluetooth
- information
- 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.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、無線通信により各種サービスを提供可能なサービス提供装置、サービス提供プログラム及びサービス提供方法に関する。
【0002】
【従来の技術】
Bluetooth(TM) SIG(Special Interest Group)によって規格化されているBluetoothと呼ばれる無線通信方式の仕様(http://www.Bluetooth.org/より取得可能)では、無線デバイス、通信プロトコル、アプリケーションモデルまでを規定している。アプリケーションモデルの仕様はプロファイルと呼ばれている。プロファイルの例としては、ファイル転送方法を規定したFile Transfer Profile、電子名刺情報の交換方法を規定した Object Push Profile、写真電子画像の交換方法を規定した Basic Imaging Profile、プリントアウトする電子情報をプリンタに送信する方法を規定した Basic Printing Profileなどがある。
【0003】
Bluetooth機器がデータ交換を行う場合、まず、周囲に存在するBluetooth機器の発見処理を行う。発見処理により、周囲に存在する機器のデバイスアドレスを取得することができる。Bluetooth機器は、周辺機器を発見すると、周辺機器からサービス情報の取得を行う。サービス情報とは、その機器が提供可能なサービス、すなわち、その機器がサポートしているプロファイル情報であり、そのサービスに接続するためのパラメータが含まれている。
【0004】
Bluetooth機器は、周辺機器を発見し、サービス情報の取得を行った結果、自装置がサポートしているプロファイルと同一のプロファイルをサポートしていることが判明した機器に接続して情報交換を行うことができる。
【0005】
Bluetooth機器は、相手機器と接続するために先に述べたサービス情報の取得という処理が重要であるが、この処理は SDP (Service Discovery Protocol) としてBluetooth SIGにより規定されている。SDPによる処理は周辺機器と接続するための非常に重要な手順であり、SDPの処理や相手機器に提供するサービス情報を工夫することで、周辺機器との接続を制御することができる。サービス情報の取得や交換に関する発明のうち、とくにBluetoothに関連するものとしては、特許文献1及び2に記載されている。
【0006】
【特許文献1】
特開2002-196990公報
【特許文献2】
特開2002-99473公報
【0007】
【発明が解決しようとする課題】
Bluetoothは、相互接続性を重視する観点から、複数のプロファイルを規定しているが、その弊害として共通のプロファイルをサポートしていない機器同士で接続しても、データの交換を行えないという問題がある。
【0008】
また、Bluetooth 機器間であれば、同一のプロファイルを使用する限り、相互にデータの交換を行えるが、例えばイーサネット(登録商標)を介してLAN に接続された機器のように、Bluetooth 以外のインタフェースを有する機器は一般に Bluetooth のプロファイルをサポートしていないため、これらの機器と Bluetooth 機器との間でデータの交換を行うことは不可能である。
【0009】
この問題を解決するために、異なるプロファイルを持ち、相互に直接データを交換することが不可能な複数のBluetooth機器間、またはBluetooth機器と例えばイーサネットのようにBluetooth以外のインタフェースをもった機器との間に介在し、各機器が有するサービスを自由に相互利用可能とする装置
を提供することを目的とする。
【0010】
本発明は、このような点に鑑みてなされたものであり、その目的は、通信インタフェースの異なる他の通信装置が提供するサービスをあたかも自己のサービスのように見せかけるようにしたサービス提供装置、サービス提供プログラム及びサービス提供方法を提供することにある。
【0011】
本発明の一態様によれば、通信可能な他の通信装置が提供するBluetoothのプロファイルで定めるサービスに接続するためのサービス情報を記憶するサービス情報記憶手段と、
前記サービス情報記憶手段に記憶したサービス情報に従って、通信可能な他の通信装置が提供するサービスをBluetoothのプロファイルで定める他のサービスに変換するサービス変換手段と、
前記サービス変換手段で変換されるサービスに対して、サービスを行う必要があるか否かを判断し、サービスを行う必要がないと判断されるサービスを除いたサービスについて、自身が提供するサービスであると他の通信装置に認識させるためのサービス情報を生成するサービス情報生成手段と、を備えることを特徴とするサービス提供装置が提供される。
【0012】
【発明の実施の形態】
以下、本発明に係るサービス提供装置について、図面を参照しながら具体的に説明する。
【0013】
(第1の実施形態)
図1は本発明に係るサービス提供装置の第1の実施形態の概略構成を示すブロック図である。図1のサービス提供装置は、他の通信装置との間でBluetoothの通信プロトコルで近距離無線通信を行う。より具体的には、サービス提供装置は、File Transfer Profile(以後、FTPと表記)、Object Push Profile(以後、OPPと表記)、Basic Imaging Profile(以後、BIPと表記)、Basic Printing Profile(以後、BPPと表記)の4つのサービスをサポートしており、それぞれに対応したデータの送受信を行う。
【0014】
図1のサービス提供装置は、自装置と通信可能な周辺機器が提供するサービス情報を記憶する周辺機器管理部100と、周辺機器が提供するサービスを別種類のサービスに変換するサービス変換部300と、周辺機器が提供するサービスを自装置が提供するサービスとして見せかけるためのサービス情報を生成するサービス情報生成部200と、周辺機器との間でBluetoothの規格で近距離無線通信を行うための通信制御を行うBluetooth管理部900とを備えている。
【0015】
Bluetooth管理部900は、Bluetoothプロトコルスタックとして、SDP(Service Discovery Protocol)とOBEX(Object Exchange Protocol)をサポートする。Bluetooth管理部900の内部には、SDPの処理を行うSDP処理部901と、SDPデータベース902と、OBEXの処理を行うOBEX処理部903とが設けられている。
【0016】
なお、図1では、本発明の特徴的な部分以外の構成要素(例えばCPU等)は省略している。
【0017】
周辺機器管理部100は、Bluetooth管理部900を利用してBluetoothの機器発見処理とサービス発見処理を行い、周辺機器がFTP,OPP,BIP,BPPをサポートしていた場合は、それらの全サービス情報を取得して記憶する。サービス情報生成部200は、周辺機器管理部100の記憶したサービス情報に基づいて、自装置の提供するサービス情報を生成し、Bluetooth 管理部に登録する。
【0018】
Bluetoothで互いに通信を行う周辺機器(Bluetooth機器)は、各々が提供可能なサービスをサービスレコードとして各機器内のデータベースに登録しており、相手機器からサービス取得要求を受けた場合にサービスレコード情報を提供する。先に述べたサービス発見処理とは、周辺機器に対してサービス取得要求を送り、相手が有するサービスレコードに記載されている情報を取得することを示している。図1では、サービスレコードを登録するデータベースをSDPデータベース902と表記している。
【0019】
図2は、図1のサービス提供装置1と周辺機器11,12,13との通信の様子を示す図である。機器11,12,13はいずれもBluetooth機器であり、機器11はFTPとOPPをサポートしたPC、機器12はBIPをサポートしたデジタルカメラ、機器13はBPPをサポートしたプリンタであるとする。
【0020】
図1の周辺機器管理部100は、機器発見処理とサービス発見処理を行い、発見した機器情報を内部に記憶する。図2の場合、周辺機器管理部100は内部に図3に示すサービス情報テーブルを作成する。図3のサービス情報テーブルは、機器名とその機器が有するサービス名(プロファイル名)と、各サービスに接続するためのパラメータであるサーバチャンネルナンバー(SCN)と、サービスネーム(SN)との対応関係を記憶している。
【0021】
なお、図3のサービス情報テーブルは、機器名としては機器11、機器12、機器13としか表記していないが、これらは機器の識別情報であり、Bluetooth機器の場合はデバイスアドレス、フレンドリーネームも併せて記憶しているものとする。
【0022】
以下、FTPの場合を一例とし、サービス情報テーブルの作成に関する具体例を説明する。機器11はFTPをサポートしていることから、図4に示すサービス情報の内容を電子情報の形式でサービスレコードとして機器11の内部に登録している。
【0023】
図4に示すサービス情報は、Bluetoothの仕様書におけるサービス記述形式に従っている。図4にSCNの値が2として記述されているが、この値は機器11内で割り当てられた値である。サービス提供装置1は、サービス発見処理の結果、機器11からFTPに関する情報を取得することで、図4に記述された全情報を知ることが可能である。
【0024】
サービス提供装置1は、図4の内容を確認した上で、図3のサービス情報テーブルを作成する。なお、相手機器から取得したサービス情報の中で、SCN及びSN以外の情報についてもサービス情報テーブルに記憶してもよい。但し、図4に示したSCN及びSN以外の値は、機器に依存する値でないため、相手機器から取得しなくても知ることができ、例えば予めデフォルト値として所持することも可能である。
【0025】
以後、図4に示したサービス情報をFTP(”Obex File Transfer”,2)と表記することにする。また、便宜上、図4に対応するサービスレコードもFTP(”Obex File Transfer”,2)と表記する。また、サービス提供装置1が機器11のFTPサービスを検出した場合、「サービス提供装置11はFTP(”Obex File Transfer”,2)を所持している」というような表現を用いる。
【0026】
周辺機器管理部100は、自装置の周囲に存在する機器のアドレスや名前などの情報を周辺機器情報として取得し、それらの機器のうち自装置と通信可能なものからサービス情報を取得し、図3に示したサービス情報テーブルが完成すると、サービス情報生成部200に対してサービス情報取得完了通知を送る。
【0027】
サービス情報生成部200は、サービス情報取得完了通知を受け取ると、周辺機器管理部100のサービス情報テーブルの内容を確認し、その情報を利用して新たなサービスレコードを作成し、作成したサービスレコードを自装置のSDPデータベース902に登録する。
【0028】
以下、サービス情報生成部200がSDPデータベース902に登録するサービスレコードの作成方法を説明する。
【0029】
<サービスレコード作成例1>
サービス情報生成部200は、サービス情報テーブルに登録されているサービスを自装置のサービスレコードとして登録する。各サービスレコードに記述されるSCNを除くパラメータについては、周辺機器から取得してサービス情報テーブルに記述されている情報をそのまま記述するか、または、デフォルト値として用いられる値を記述する。サービス情報生成部200は、SCNについては、Bluetooth管理部900が設定した値を取得し、取得した値をサービスレコードに記述する。
【0030】
例えば、サービス情報テーブルが図3の場合、サービス情報生成部200は、FTP(”OBEX File Transfer”,1)、OPP(”OBEX Object Push”,2)、BIP(”OBEX Basic Imaging”3)、BPP(”OBEX Basic Printing”4)の4つをサービスレコードとしてBluetooth管理部900のSDPデータベース902に登録する。ここで、各サービスのSCNの値1,2,3,4はBluetooth管理部900から取得した値である。
【0031】
その結果、他機器からサービス提供装置1に対してサービス発見処理を行い、サービス情報を取得した場合、サービス提供装置1はサービスとしてFTP(”OBEX File Transfer”,1)、OPP(”OBEX Object Push”,2)、BIP(”OBEX Basic Imaging”3)、BPP(”OBEX Basic Printing”4)を所持しているように認識される。
【0032】
<サービスレコード作成例2>
サービスレコード作成例1において、登録する各サービスレコードのSNの値をサービス情報生成部200が独自に作成するとする。例えば、サービス情報生成部200は、FTP(”サービス提供装置1のFile Transfer”,1)、OPP(” サービス提供装置1の Object Push”,2)、BIP(” サービス提供装置1の Basic Imaging”3)、BPP(” サービス提供装置1のBasic Printing”4)の4つをサービスレコードとしてBluetooth管理部900のSDPデータベース902に登録する。
【0033】
その結果、他機器からサービス提供装置1に対しサービス発見処理を行い、サービス情報を取得した場合、サービス提供装置1はサービスとしてFTP(” サービス提供装置1の File Transfer”,1)、OPP(” サービス提供装置1のObject Push”,2)、BIP(” サービス提供装置1のBasic Imaging”,3)、BPP(” サービス提供装置1のBasic Printing”4)を所持しているように認識される。
【0034】
<サービスレコード作成例3>
サービス情報生成部200は、サービス情報テーブルに登録されている一つのサービスに対し、それを自装置がサポートしている全サービスへ複製および変換作成して登録する。各サービスレコードに登録するSCNは、Bluetooth管理部900が設定した値を取得し、その値を採用する。SNについてはサービス情報生成部200が独自に作成する。SCN,SN以外の値はサービス情報生成部200で設定されているデフォルト値を利用する。
【0035】
例えば、図3の機器11のFTPサービスに対して、FTP(“ftp1”,1)、OPP(“opp1”,1)、BIP(“bip1”,1)、BPP(“bpp1”,1)の4つのサービスレコードを複製および変換作成する。機器11のOPP,機器12のBIP,機器13のBPPについても同様にそれぞれ4つのサービスレコードを生成する。この場合、例えば、一例として示すが、サービス情報生成部200は、以下の16個のサービスレコードをBluetooth管理部900のSDPデータベース902に登録することになる。
FTP(“ftp1”,1)、OPP(“opp1”,1)、
BIP(“bip1”,1)、BPP(“bpp1”,1)、
FTP(“ftp2”,2)、OPP(“opp2”,2)、
BIP(“bip2”,2)、BPP(“bpp2”,2)、
FTP(“ftp3”,3)、OPP(“opp3”,3)、
BIP(“bip3”,3)、BPP(“bpp3”,3)、
FTP(“ftp4”,4)、OPP(“opp4”,4)、
BIP(“bip4”,4)、BPP(“bpp4”,4)
【0036】
その結果、他機器からサービス提供装置1に対しサービス発見処理を行い、サービス情報を取得した場合、サービス提供装置1は合計16個のサービスを所持しているように認識される。
【0037】
<サービスレコード作成例4>
サービスレコード作成例3において、サービス情報生成部200は、SNを生成する場合に、対応する機器名を付加する。この場合、例えば、サービス情報生成部200は、以下の16個のサービスレコードをBluetooth管理部900のSDPデータベース902に登録することになる。
FTP(“ftp_機器11”,1)、OPP(“opp_機器11”,1)、
BIP(“bip_機器11”,1)、BPP(“bpp_機器11”,1)、
FTP(“ftp_機器11”,2)、OPP(“opp_機器11”,2)、
BIP(“bip_機器11”,2)、BPP(“bpp_機器11”,2)、
FTP(“ftp_機器12”,3)、OPP(“opp_機器12”,3)、
BIP(“bip_機器12”,3)、BPP(“bpp_機器12”,3)、
FTP(“ftp_機器13”,4)、OPP(“opp_機器13”,4)、
BIP(“bip_機器13”,4)、BPP(“bpp_機器13”,4)
【0038】
その結果、他機器からサービス提供装置1に対しサービス発見処理を行い、サービス情報を取得した場合、サービス提供装置1は合計16個のサービスを所持しているように認識される。
【0039】
<サービスレコード作成例5>
上述したサービスレコード作成例3において、サービス情報生成部200は、SNを生成する場合にサービスの変換情報を付加する。この場合、例えば、サービス情報生成部200は、以下の16個のサービスレコードをBluetooth管理部900のSDPデータベース902に登録することになる。
FTP(“ftp→ftp”,1)、OPP(“opp→ftp”,1)、
BIP(“bip→ftp”,1)、BPP(“bpp→ftp”,1)、
FTP(“ftp→opp”,2)、OPP(“opp→opp”,2)、
BIP(“bip→opp”,2)、BPP(“bpp→opp”,2)、
FTP(“ftp→bip”,3)、OPP(“opp→bip”,3)、
BIP(“bip→bip”,3)、BPP(“bpp→bip”,3)、
FTP(“ftp→bpp”,4)、OPP(“opp→bpp”,4)、
BIP(“bip→bpp”,4)、BPP(“bpp→bpp”,4)
【0040】
その結果、他機器からサービス提供装置1に対しサービス発見処理を行い、サービス情報を取得した場合、サービス提供装置1は合計16個のサービスを所持しているように認識される。
【0041】
<サービスレコード作成例6>
上述したサービスレコード作成例3において、サービス情報生成部200は、SNを生成する場合に対応する機器名とサービスの変換情報を付加する。この場合、例えば、サービス情報生成部200は、以下の16個のサービスレコードをBluetooth管理部900のSDPデータベース902に登録することになる。
FTP(“機器11_ftp→ftp”,1)、OPP(“機器11_opp→ftp”,1)、
BIP(“機器11_bip→ftp”,1)、BPP(“機器11_bpp→ftp”,1)、
FTP(“機器11_ftp→opp”,2)、OPP(“機器11_opp→opp”,2)、
BIP(“機器11_bip→opp”,2)、BPP(“機器11_bpp→opp”,2)、
FTP(“機器12_ftp→bip”,3)、OPP(“機器12_opp→bip”,3)、
BIP(“機器12_bip→bip”,3)、BPP(“機器12_bpp→bip”,3)、
FTP(“機器13_ftp→bpp”,4)、OPP(“機器13_opp→bpp”,4)、
BIP(“機器13_bip→bpp”,4)、BPP(“機器13_bpp→bpp”,4)
【0042】
その結果、他機器からサービス提供装置1に対しサービス発見処理を行い、サービス情報を取得した場合、サービス提供装置1は合計16個のサービスを所持しているように認識される。
【0043】
<サービスレコード作成例7>
上述したサービスレコード作成例3に示したように、サービス情報テーブルに登録されている一つのサービスに対し、それを自装置がサポートしている全サービスに複製および変換作成して登録する場合、非常に多くのサービスレコードが登録されることになる。サービスレコード作成例7では、サービスレコード作成例3の方式を拡張し、不必要と判断した登録するサービスレコードは登録しないようにする。
【0044】
サービス情報生成部200は、周辺機器管理部100のサービス情報テーブルを確認し、そこに登録されている機器とサービスの対応関係を考慮し、各機器は対応しているサービスのみサポートし、その他のサービスでサービス提供装置1に対して接続を行うことはないと仮定する。図3の場合、機器11はFTPとOPP,機器12はBIP,機器13はBPPのみサポートと仮定し、機器11がサービス提供装置1に対してBIPやBPPのための接続を行うことはないと仮定する。
【0045】
例えば、図3の機器11のFTPサービスに対して、FTP(“ftp1”,1)、OPP(“opp1”,1)、BIP(“bip1”,1)、BPP(“bpp1”,1)の4つのサービスレコードを作成するが、それぞれのサービスレコードは図5に示す手順で登録される。
【0046】
まず、機器AがサービスとしてプロファイルAをサポートしていることを認識する(ステップS1)。ここで、プロファイルAは、FTP,OPP,BIP,BPPのいずれかを取りうるとする。
【0047】
次に、機器A以外にFTPをサポートしている機器が存在するか否かを判断し(ステップS2)、存在する場合には、サービスレコードとしてFTP("ftp n", n)が未登録であれば登録する(ステップS3)。
【0048】
ステップS2で存在しないと判断された場合、あるいはステップS3の処理が終了した場合には、機器A以外にOPPをサポートしている機器が存在するか否かを判断する(ステップS4)。存在する場合には、サービスレコードとしてOPP("opp n", n)が未登録であれば登録する(ステップS5)。
【0049】
ステップS4で存在しないと判断された場合、あるいはステップS5の処理が終了した場合には、機器A以外にBIPをサポートしている機器が存在するか否かを判断する(ステップS6)。存在する場合には、サービスレコードとしてBIP("bip n", n)が未登録であれば登録する(ステップS7)。
【0050】
ステップS6で存在しないと判断された場合、あるいはステップS7の処理が終了した場合には、機器A以外にBPPをサポートしている機器が存在するか否かを判断する(ステップS8)。存在する場合には、サービスレコードとしてBPP("bpp n", n)が未登録であれば登録する(ステップS9)。
【0051】
例えば、図5の手順によれば、機器Aを機器11、プロファイルAをFTP、nの値を1とすると、機器12はBIP,機器13はBPPのみをサポートしていることから、サービスレコード作成例3では、FTP(“ftp1”,1)、OPP(“opp1”,1)、BIP(“bip1”,1)、BPP(“bpp1”,1)の4つが登録されるのに対し、本例ではBIP(“bip1”,1)、BPP(“bpp1”,1)のみが登録される。同様に、図3にある機器11のOPPサービスに対して、機器Aを機器11、プロファイルAをOPP、nの値を2とすると、BIP(“bip2”,2)、BPP(“bpp2”,2)のみが登録される。
【0052】
同様に、図3の機器12のBIPサービスに対して、機器Aを機器12、プロファイルAをBIP、nの値を3とすると、FTP(“機器12_ftp→bip”,3)、OPP(“機器12_opp→bip”,3)、BPP(“機器12_bpp→bip”,3)のみが登録される。
【0053】
同様に、図3にある機器13のBPPサービスに対して、機器Aを機器13、プロファイルAをBPP、nの値を4とすると、FTP(“ftp4”,4)、OPP(“opp4”,4)、BIP(“bip4”,4)のみが登録される。
【0054】
不要なサービスレコードを登録しないことで、サービスレコード作成例3では16個のサービスレコードが登録されるのに対し、本例ではサービス情報生成部200は、以下の10個のサービスレコードをBluetooth管理部900のSDPデータベース902に登録することになる。
BIP(“bip1”,1)、BPP(“bpp1”,1)、
BIP(“bip2”,2)、BPP(“bpp2”,2)、
FTP(“ftp3”,3)、OPP(“opp3”,3)、BPP(“bpp3”,3)、
FTP(“ftp4”,4)、OPP(“opp4”,4)、BIP(“bip4”,4)
【0055】
その結果、他機器からサービス提供装置1に対しサービス発見処理を行い、サービス情報を取得した場合、サービス提供装置1は合計10個のサービスを所持しているように認識される。
【0056】
なお、サービスレコード作成例7においては、サービスレコード作成例3の拡張という形で説明したが、サービスレコード作成例4、サービスレコード作成例5についても同様の拡張により不必要なサービスレコードを登録しないようにすることが可能である。
【0057】
<サービスレコード作成例8>
上述したサービスレコード作成例3に示したように、サービス情報テーブルに登録されている一つのサービスに対し、それを自装置がサポートしている全サービスへ複製および変換作成して登録する場合、非常に多くのサービスレコードが登録されることになる。サービスレコード作成例8では、サービスレコード作成例3の方式を拡張し、不必要と判断したサービスレコードは登録しないようにする。
【0058】
サービスを提供する機器をサーバ機器、サーバ機器のサービスを利用する機器をクライアント機器と呼ぶとすると、クライアント機器とサーバ機器の両方の機能を備えたBluetooth機器だけでなく、どちらか一方の機能のみを備えたBluetooth機器も存在する。
【0059】
また、クライアントとサーバの両機能を備えた機器においても、サーバとして提供するサービスと、クライアントとして利用できるサービスが異なる場合もある。例えば、サーバとしてFTPサービスが提供可能であっても、クライアントとしてはFTPサービスの利用が不可能な機器、または、サーバとしてFTPサービスが提供不可能であってもクライアントとしてはFTPサービスの利用が可能な機器などが存在する可能性がある。
【0060】
サービス情報生成部200は、それぞれの周辺機器がクライアントとしてどのようなサービスをサポートしているのかを検出する機能を有する。サービス情報生成部200は、Bluetooth管理部900のSDP処理部901が受信した周辺機器からのサービス検索要求の内容を確認する。
【0061】
例えば、機器Aから「FTPとBIPのサービスに対応する情報を取得したい」という内容のサービス検索要求を受信したとすると、サービス情報生成部200は、機器AはクライアントとしてFTPとBIPをサポートしていると判断する。サービス情報生成部200は、クライアントとして周辺機器がとしてどのようなサービスをサポートしているのかを一定時間検出した結果、クライアントとしてサポートしていないと判断したサービスレコードを削除する。
【0062】
例えば、サービスレコード作成例3の場合において、プリンタである機器13からサービス検索要求を受けなかったとすると、機器13はクライアントとしてBPPをサポートしていないと判断する。サービス情報生成部200は、不要なサービスレコードを図6に示す手順で削除する。
【0063】
図6において、まず、各種のフラグFTPFlag,OPPFlag,BIPFlag,BPPFlagをゼロに初期化する(ステップS11)。次に、サービス検索要求を受信したか否かを判断し(ステップS12)、受信した場合には、サービス検索要求の内容を確認する(ステップS13)。ここでは、FTP,OPP,BIP,BPPのいずれかのサービス検索要求が含まれている場合には、対応するFlagを「1」にセットする。
【0064】
ステップS12で受信しなかった判断された場合、あるいはステップS13の処理が終了した場合には、タイムアウトしたか否かを判断する(ステップS14)。タイムアウトしていない場合はステップS12に戻り、タイムアウトした場合には、FTPFlagが「1」か否かを判断し(ステップS15)、「1」の場合には、登録されている全FTPサービスを削除する(ステップS16)。
【0065】
ステップS15で「1」でないと判断された場合、あるいはステップS16の処理が終了した場合には、OPPFlagが「1」か否かを判断し(ステップS17)、「1」の場合には、登録されている全OPPサービスを削除する(ステップS18)。
【0066】
ステップS17で「1」でないと判断された場合、あるいはステップS18の処理が終了した場合には、BIPFlagが「1」か否かを判断し(ステップS19)、「1」の場合には、登録されている全BIPサービスを削除する(ステップS20)。
【0067】
ステップS19で「1」でないと判断された場合、あるいはステップS20の処理が終了した場合には、BPPFlagが「1」か否かを判断し(ステップS21)、「1」の場合には、登録されている全BPPサービスを削除する(ステップS22)。
【0068】
このように、不要なサービスレコードを削除することで、サービスレコード作成例3では16個のサービスレコードが登録されるのに対し、本例では以下の12個のサービスレコードのみがBluetooth管理部900のSDPデータベース902に登録されていることになる。
FTP(“ftp1”,1)、OPP(“opp1”,1)、BIP(“bip1”,1)、
FTP(“ftp2”,2)、OPP(“opp2”,2)、BIP(“bip2”,2)、
FTP(“ftp3”,3)、OPP(“opp3”,3)、BIP(“bip3”,3)、
FTP(“ftp4”,4)、OPP(“opp4”,4)、BIP(“bip4”,4)
【0069】
その結果、他機器からサービス提供装置1に対しサービス発見処理を行い、サービス情報を取得した場合、サービス提供装置1は合計12個のサービスを所持しているように認識される。
【0070】
なお、サービスレコード作成例8においては、サービスレコード作成例3の拡張という形で説明したが、サービスレコード作成例4、サービスレコード作成例5についても同様の拡張により不必要なサービスレコードを登録しないようにすることが可能である。
【0071】
<サービスレコード作成例9>
サービスレコード作成例3に示したように、サービス情報テーブルに登録されている一つのサービスに対し、それを自装置がサポートしている全サービスへ変換して登録する場合、非常に多くのサービスレコードが登録されることになる。
【0072】
サービスレコード作成例9では、サービスレコード作成例3の方式を拡張し、不必要と判断したサービスレコードは登録しないようにする。
【0073】
サービスレコード作成例6とサービスレコード作成例7で示した方式を組み合わせることで、サービスレコード作成例3では16個のサービスレコードが登録されるのに対し、本例では以下の7個のサービスレコードのみがBluetooth管理部900のSDPデータベース902に登録されていることになる。
BIP(“bip1”,1)、
BIP(“bip2”,2)、
FTP(“ftp3”,3)、OPP(“opp3”,3)、
FTP(“ftp4”,4)、OPP(“opp4”,4)、BIP(“bip4”,4)
【0074】
その結果、他機器からサービス提供装置1に対しサービス発見処理を行い、サービス情報を取得した場合、サービス提供装置1は合計7個のサービスを所持しているように認識される。
【0075】
なお、サービスレコード作成例9においては、サービスレコード作成例3の拡張という形で説明したが、サービスレコード作成例4、サービスレコード作成例5についても同様の拡張により不必要なサービスレコードを登録しないようにすることが可能である。
【0076】
以上に説明したサービスレコード作成例1〜9が、サービス情報生成部200によるサービスレコードの作成および登録方法の一例である。
【0077】
サービス情報生成部200は、サービスレコードの登録または削除を行うたびに、周辺機器管理部100のサービス情報テーブルを変更する。例えば、サービス情報生成部200が、サービスレコード作成例3に示したサービスレコードを登録していたとすると、周辺機器管理部100のサービス情報テーブルは図7のように書き換えられる。また、サービスレコード作成例8の場合であれば、サービス情報テーブルは図8のように書き換えられる。
【0078】
次に、サービス変換部300の動作について説明する。サービス情報生成部200がサービスレコードを登録することで、周辺機器からはサービス提供装置1が種々のサービスを所持しているように見え、それらのサービスを利用するためにサービス提供装置1に対して接続要求を行うことができるようになる。Bluetooth管理部900は、これらの接続要求を受け入れ、他機器との間でOBEXのプロトコルに従ったコネクションを設定し、そのOBEXコネクションによってデータの送受信が可能であるとする。
【0079】
例えば、サービス提供装置1がサービスレコード作成例8で示したサービス情報を登録していたとすると、機器11はサービス提供装置1のFTP("ftp3",3)サービスを検出し、そのサービスを利用するために接続要求を送信すると、機器11とサービス提供装置1のOBEX処理部903の間にOBEXコネクションが設定される。OBEX処理部903は、設定されたコネクションにより受信したデータをサービス変換部300へ出力する。サービス変換部300は入力されたデータをファイルとして保存する。Bluetooth管理部900は機器11との通信が終了し接続が切断されると、サービス変換部300に切断されたことを通知する。
【0080】
サービス変換部300は切断が通知されると、周辺機器管理部100のサービス情報テーブルを参照し、FTP("ftp3",3)に対応する機器とサービス(プロファイル)とSCNを確認する。
【0081】
例えば、図8の場合、対応する機器は機器12、サービスはBIP、SCNは1となる。サービス変換部300は、これらの相手機器情報をパラメータとしてBluetooth管理部900に機器12のBIPサービスとの接続要求を行うように指示する。OBEX処理部903と機器12とのBIPサービスのコネクションが設定されると、サービス変換部300は保存していたファイルをBIPサービスで利用されるフォーマットに変換した後、機器12へ送信するようにBluetooth管理部900に指示する。
【0082】
以上に説明したサービス変換部300の動作例では、機器11からのデータの受信が完了し、機器11とのコネクションが切断された後に機器12や機器13への接続を開始し、データ転送を行うという動作例を示した。
【0083】
しかし、サービス提供装置3のBluetooth管理部900が機器11から接続されている状態において、別の機器である機器12や機器13への接続が可能であるなら、機器11からの切断を待つことなく別機器との接続を行っても良い。
【0084】
周辺機器ごとに、サポートするサービス(プロファイル)が異なる場合には、各周辺機器間で直接データ交換を行うことが不可能であるが、本実施形態で示したサービス提供装置1を用いることで、直接データ交換を行うことが不可能な機器間でのデータ交換を行うことができる。
【0085】
図1のサービス提供装置は、周辺機器管理部100が機器発見処理とサービス発見処理を予め行い、サービス情報テーブルの内容が適切に設定されていることを前提とした。実際には、機器発見処理とサービス発見処理は、さまざまな方法によって起動することができ、これによりサービス情報テーブルを適切な状態に設定することができる。
【0086】
例えば、図9は図1の構成にアプリケーション部1000を追加したものであり、サービス情報の収集をユーザの指示によって行えるようにしている。図9のアプリケーション部1000はユーザからの操作が可能なインタフェースを備えており、ユーザからの周辺機器の探索の指示を受け付け、指示があると周辺機器管理部100に対して周辺機器の探索及びサービス情報の取得を命令する。
【0087】
サービス情報の収集は、タイマーにより自動的に行うことが可能である。この場合のサービス提供装置の構成は図10のようになる。図10のサービス提供装置は、図1の構成にタイマー部400を追加したものである。タイマー部400は予め設定された時間が経過するごとに周辺機器管理部100に対して周辺機器の探索及びサービス情報の取得を命令する。
【0088】
サービス発見処理は、他の機器からの要求によっても起動可能である。周囲の Bluetooth機器からの要求によって収集する場合の構成は図1と同様である。この場合は、周囲の Bluetooth 機器が Bluetooth 管理部に接続し、サービス情報更新要求を送信する。
【0089】
Bluetooth 管理部900は、受信した更新要求を周辺機器管理部100に通知する。周辺機器管理部100は、更新要求を受け取ると、 Bluetooth 管理部900に周辺機器の探索およびサービス情報の取得を命令する。このとき、サービス情報テーブルに以前と同様の指示を受けた時刻を記憶しておき、その時刻から予め定めた期間が経過していないときは、周辺機器管理部100は、周辺機器の探索およびサービス情報の取得を行わずに、以前に取得しておいた情報を代わりに用いる。
【0090】
また、イーサネットなどの他のインタフェースを経由してサービス発見処理の起動要求を受け取ることもできる。この場合の本発明のサービス提供装置の構成は図11のようになる。
【0091】
図11では、図1に新たにネットワーク管理部500を追加している。ネットワーク管理部500は、インターネットを介して接続された外部の機器から起動要求を受け取ると、その要求を周辺機器管理部100に通知する。以後の処理は周囲の Bluetooth 機器から要求を受けた場合と同様である。
【0092】
収集要求の受け取り方は、例えばネットワーク管理部500において Web サーバを動作させておき、HTTP プロトコルに則ったリクエストとして行うことができる。この場合、収集された情報は、上記リクエストに対するレスポンスとして、たとえば html 形式のデータでネットワーク管理部を介してリクエストを行った機器へと返送される。
【0093】
サービス情報の収集は、周辺機器から何らかの要求があったことをきっかけとして行ってもよい。例えば、Bluetooth 管理部900が、他の機器が機器発見処理を行っていることを INQUIRY メッセージを受信して知った場合には、Bluetooth 管理部900から周辺機器管理部100にイベントを発行し、このイベントを受けた周辺機器管理部100が Bluetooth 管理部900に周辺機器の探索およびサービス情報の収集を指示する。
【0094】
INQUIRY メッセージを発行して機器発見処理を行っている機器はこれまで周囲にいなかった新しい機器である可能性が高いので 、INQUIRY メッセージを受けたときにサービス情報の収集処理を起動すると、新しく来た機器の発見やサービス情報の取得を速やかに行える可能性が高くなる。
【0095】
また、INQUIRY メッセージではなく、周囲の Bluetooth 機器から自装置に対してサービス発見手順SDP (Service Discovery Protocol)のコネクションが張られたときにその機器のみのサービス情報の取得、またはその機器を含めたすべての機器の発見とサービス情報の取得を行うようにしてもよい。
【0096】
この場合は、サービス発見手順においてどのような種別のサービスに関する情報が要求されたかの情報を Bluetooth 管理部900から周辺機器管理部100に伝えることにより、周辺機器管理部がより適切な指示を Bluetooth 管理部に出すことが可能となる。
【0097】
例えば、周辺機器が FTP のサービスに関する情報を要求してきた場合には、周辺機器管理部100は、FTP および自装置のサービス変換部300により FTPに変換することが可能なプロファイルに関するサービス情報のみを取得するよう Bluetooth 管理部900に指示を出すことができる。特に必要のない、他のプロファイルに関する情報を収集しないので、処理の効率が向上する。
【0098】
また、どのような種別のサービスに関する情報が要求されたかの情報は、<サービスレコード作成例7>において説明したようにBluetooth 管理部に登録するサービスレコードを限定するためにも用いることができる。
【0099】
以上に説明したサービス情報の収集手順は、複数を組み合わせて使うことも可能である。例えば、普段はタイマーによって定期的にサービス情報収集処理が起動され周辺機器管理部の保持するテーブルが自動的に更新されるが、アプリケーション部1000を介してユーザからの要求があったときにもサービス情報収集処理が起動され、これにより前記テーブルを強制的に更新させるといったことが可能である。
【0100】
このように、第1の実施形態では、他の機器が提供する各種サービスに関するサービスレコードを生成するため、これらサービスをあたかも自装置が提供するかのように見せかけることができ、本来自装置が提供するサービスよりも広範なサービスを他の機器に対して提供できる。
【0101】
また、Bluetooth機器間の通信では、各機器がサポートするサービス(プロファイル)が異なると、各機器間で直接データ交換を行うことが不可能であるが、第1の実施形態で示したサービス提供装置1を用いることで、直接データ交換を行うことが不可能な機器間でのデータ交換が可能になる。
【0102】
(第2の実施形態)
第2の実施形態のサービス提供装置は、周囲のBluetooth機器が提供するサービスだけでなく、ファイルサーバやWebサーバが管理するサービスも自己のサービスとして見せかけて提供するものである。
【0103】
第1の実施形態では、周囲のBluetooth 機器の持つサービスを、サービス変換部300で変換して得られるサービスを自装置の提供するサービスとしてBluetooth管理部900に登録したが、このように変換されてBluetooth管理部に登録されるサービスは必ずしも周囲の Bluetooth 機器が提供するものに限らない。
【0104】
第2の実施形態のサービス情報生成部200は、Bluetooth 以外の通信インタフェースを介して利用可能なサービスも自装置の提供するサービスとして Bluetooth 管理部900に登録することが可能である。
【0105】
第2の実施形態のサービス提供装置は図11と同様に構成されている。周辺機器管理部100は、ネットワーク管理部500を介して、Bluetooth 以外の通信インタフェースを介して利用可能なサービスを調べ、サービス情報テーブルに登録する。
【0106】
通信インタフェースとして、例えばイーサネットを用いてインターネットに接続する。このとき利用可能なサービスとしては、電子メールの送受信、ファイルサーバを介したファイルの共有、Web サーバとの間のデータのダウンロードおよびアップロードなどが挙げられる。周辺機器管理部100は、これらのサービスをサービス情報テーブルに格納する。
【0107】
図12はサービス提供装置とファイルサーバとがイーサネットに接続されている例を示すネットワーク配置図、図13は図12のように配置された場合のサービス情報テーブルの一例を示す図である。図12では、Bluetooth機器である機器11および機器12と、イーサネットに接続されたファイルサーバである機器21が本発明のサービス提供装置1と通信可能である。
【0108】
図13のサービス情報テーブルは、第1の実施形態において説明に用いた図3のテーブルとほぼ同様であるが、サービスの種別が Bluetooth のプロファイルに限らないこと、サービスを利用するためのパラメータがサーバチャネル番号に限らないことなどが異なるため、テーブルの構成を若干変更している。
【0109】
図12の例では、イーサネットを介して LAN 側から利用可能なサービスとして、ファイル共有サービスであるNFS(Network File System)が利用可能であり、そのパラメータとして共有されるフォルダへのパスが記述されている。これらのサービスは、サービス情報生成部において Bluetooth のプロファイルへと変換されて、Bluetooth 管理部900に登録される。
【0110】
例えば、ファイルの共有サービスであればBluetooth のプロファイルである FTP として登録される。変換された後のサービスレコードの作成方法は、第1の実施形態において説明したのと同様である。
【0111】
このとき、第1の実施形態においてサービスネームに付加したサービスの変換情報は、NFS から FTP に変換されたことを示すものであり、例えば、第1の実施形態における<サービスレコード作成例4>では“ftp→NFS” のようになり、<サービスレコード作成例5>では “機器21_ftp→NFS” のようになる。
【0112】
Bluetooth のサービスとして登録されるサービスの種別は、必ずしもネットワーク管理部500を介して利用可能なサービスの種別と直接関連するものでなくてもよい。
【0113】
例えば、メール送信サービスを本来はファイルやフォルダを扱うプロファイルである FTP として登録することも可能である。この場合は、FTP に従って周囲の Bluetooth機器から Bluetooth管理部900へ送信されたファイルがサービス変換部によりネットワーク管理部900を介してインターネット上の他の機器へメールとして送信される。
【0114】
複数のあて先が考えられる場合は、どのあて先に向けてメールが送信されるかは、複数の宛先のそれぞれに対応するFTP サービスをそれぞれ登録してもよいし、単一のFTP サービスにおいてどのフォルダの中にファイルが格納されたかによって区別してもよい。
【0115】
また、Web サーバへのアップロードサービスを Bluetooth の Imaging Profile サービスとして登録することもできる。このときは、周囲の Bluetooth 機器から Imaging Profile に従って送信された画像データがネットワーク管理部を介して Web サーバにアップロードされ、例えば他の機器からブラウザなどのソフトウェアを用いてその画像データを見ることができる。
【0116】
このように、第2の実施形態では、周囲のBluetooth機器だけでなく、ファイルサーバやWebサーバが提供する各種サービスも自己のサービスとして見せかけて提供できるため、第1の実施形態よりもさらに広範なサービス提供が行える。
【0117】
(第3の実施形態)
第3の実施形態は、周囲の複数の機器が提供する各サービスをまとめて単一のサービスとして周囲の他の機器に提供するものである。
【0118】
第3の実施形態のサービス提供装置のブロック構成は図1と同じであるが、周辺機器管理部100、サービス情報生成部200及びサービス変換部300の処理内容が図1の装置と異なっている。
【0119】
図14は、第3の実施形態のサービス提供装置5と周辺機器11,12,13との通信の様子を示す図である。機器11,12,13はそれぞれBluetooth機器であり、第1の実施形態と同様に、例えば、機器11はFTPとOPPをサポートしたPC、機器12はBIPをサポートしたデジタルカメラ、機器13はBPPをサポートしたプリンタである。
【0120】
周辺機器管理部100は、定期的に機器発見処理とサービス発見処理を行い、発見した機器情報を内部に記憶する。サービス提供装置5内の周辺機器管理部100は、第1の実施形態と同様に、図3に示すサービス情報テーブルを作成する。
【0121】
なお、本実施形態では、サービス情報やサービスレコードの表記方法を第1の実施形態と同様にする。
【0122】
周辺機器管理部100は、周辺機器情報を取得し、周囲に存在するすべての通信可能な機器からサービス情報を取得し、図3に示したサービス情報テーブルが完成すると、サービス情報生成部200に対してサービス情報取得完了通知を送る。サービス情報生成部200は、サービス情報取得完了通知を受け取ると、新たなサービスレコードを作成し、作成したサービスレコードを自装置のSDPデータベース902に登録する。
【0123】
サービス情報生成部200は、FTPサービスのサービスレコードを一つ作成してSDPデータベース902に登録する。サービスレコードに登録するSCNは、Bluetooth管理部900より設定可能かつその値を利用することで他機器と通信可能となるSCNの値を取得し、その値を採用する。SNについてはサービス情報生成部200が独自に作成する。SCN,SN以外の値はサービス情報生成部200で設定されているデフォルト値を利用する。例えば、サービス情報生成部200が作成して登録するサービスレコードは、FTP(“サービス提供装置5の複合サービス”,1)となる。
【0124】
図15は第3の実施形態のサービス提供装置5のサービス情報テーブルの一例を示す図である。図示のように、図15のテーブルは、図3のテーブルに変換サービスの項目を追加したものである。図15のテーブルでは、変換サービスの項目のそれぞれにFTP(“サービス提供装置5の複合サービス”,1)が記述されている。これらはすべて同一のものを参照するために複数の項目に記述したものであり、実際にSDPデータベース902に登録されているサービスレコードは一つである。
【0125】
次に、サービス変換部300の動作について説明する。サービス情報生成部200がサービスレコードを登録することで、周辺機器からはサービス提供装置5がFTP(“サービス提供装置5の複合サービス”,5)という一つのサービスを所持しているように見え、そのFTPサービスを利用するためにサービス提供装置5に対して接続要求を行うことができる。Bluetooth管理部900は、これらの接続要求を受け入れ、他機器との間でOBEXのプロトコルに従ったコネクションを設定し、そのOBEXコネクションによってFTPに従ったデータの送受信が可能となる。
【0126】
例えば、機器11はサービス提供装置5のFTP(“サービス提供装置5の複合サービス”,5)サービスを検出し、そのサービスを利用するために接続要求を送信すると、機器11とサービス提供装置5のOBEX処理部903の間にFTP用のOBEXコネクションが設定される。
【0127】
FTP用のOBEXコネクションでは、フォルダやファイルの送受信が可能であることから、サービス提供装置11はサービス提供装置5に対してフォルダやファイルの送信を試みることが可能である。
【0128】
このとき、サービス提供装置11からは、サービス提供装置5がFTP(“サービス提供装置5の複合サービス”,5)という一つのサービスのみを提供しているように見えるため、たとえばサービス提供装置5を経由してサービス提供装置12にファイルを送りたい場合と、サービス提供装置5を経由してサービス提供装置13にファイルを送りたい場合との区別をつけるための工夫が必要となる。これは、送信したいファイルを格納したフォルダの名前に、ファイルの宛先となる機器の名前などの情報を含めることでなされる。これについて以下に説明する。
【0129】
OBEX処理部903は、設定されたコネクションにより受信したデータをすべてサービス変換部300へ出力する。サービス変換部300は入力されたデータの種類、つまり、機器11が送信したデータ(ファイルやフォルダ)に応じて、以下の処理を行う。
【0130】
<機器11がフォルダ名に一つの機器名が含まれるフォルダを一つ送信した場合>
機器名を含めるフォルダ名の書式を“To_機器名”とする。例えば、フォルダ名が“To_機器12”というフォルダを機器11がサービス提供装置5へ送信したとすると、OBEX処理部903は、機器11からOBEXプロトコルの命令要求として、SetPath要求を受信する。このSetPath要求には“To_機器12”という情報が含まれている。
【0131】
サービス変換部300は、OBEX処理部903からSetPath要求が入力されると、フォルダ名の書式を調べ、“To_機器名”であった場合は、フォルダ名から機器名情報を検出する。機器名情報を検出すると、周辺機器管理部100のサービス情報テーブルを確認し、検出した機器名に対応するサービス(プロファイル)を調べる。
【0132】
例えば、サービス情報テーブルが図3の場合は、対応する機器12がBIPをサポートしていることがわかる。対応する機器とプロファイルの情報がサービス情報テーブルに存在することを確認すると、サービス変換部300は、内部に“To_機器12”というフォルダを作成し、以後OBEX処理部903が受信しサービス変換部300へ出力したデータを作成したフォルダの下に記憶する。一方、サービス情報テーブルに機器名が検出できなかった場合、サービス変換部300は受信拒否をOBEX処理部903へ通知する。
【0133】
また、サービス情報テーブルに機器名が存在したとしても、その機器がサポートしているプロファイルがサービス提供装置5のサポートしているプロファイル(本実施形態ではFTP,OPP,BIP,BPPとする)のいずれでもない場合は、サービス変換部300は受信拒否をOBEX処理部903へ通知する。OBEX処理部903は受信拒否がサービス変換部300から通知されると、相手機器に対してエラーを通知する。
【0134】
Bluetooth管理部900は機器11との通信が終了し接続が切断されるとサービス変換部300に切断されたことを通知する。
【0135】
サービス変換部300は切断が通知されると、フォルダ(本例においてはTo_機器12”)を作成し、フォルダ下に機器11から受信したデータを記憶していた場合、Bluetooth管理部900に、フォルダ名に含まれている機器12のBIPサービスとの接続要求を行うように指示する。
【0136】
ここで、サービス変換部300は、機器12との接続パラメータは、周辺機器管理部100のサービス情報テーブルを参照し取得するとする。OBEX処理部903と機器12とのBIPサービスのコネクションが設定されると、サービス変換部300は記憶していたデータをBIPサービスで利用されるフォーマットに変換した後、機器12への送信をBluetooth管理部900に指示する。
【0137】
<機器11がフォルダ名に複数の機器名が含まれるフォルダを一つ送信した場合>
機器名を含めるフォルダ名の書式を“To_機器名_機器名”とする。例えば、フォルダ名が“To_機器12_機器13”というフォルダを機器11がサービス提供装置5へ送信したとすると、OBEX処理部903は、機器11からOBEXプロトコルの命令要求として、SetPath要求を受信する。このSetPath要求には“To_機器12_機器13”という情報が含まれている。
【0138】
サービス変換部300は、OBEX処理部903からSetPath要求が入力されると、フォルダ名の書式を調べ、“To_機器名_機器名”であった場合は、フォルダ名から機器名情報を検出する。機器名情報を検出すると、周辺機器管理部100のサービス情報テーブルを確認し、検出した機器名に対応するサービス(プロファイル)を調べる。
【0139】
例えば、サービス情報テーブルが図3の場合は、対応する機器12がBIPをサポートしており、また、機器13がBPPをサポートしていることがわかる。対応する機器とプロファイルの情報がサービス情報テーブルに存在することを確認すると、サービス変換部300は、内部に“To_機器12_機器13”というフォルダを作成し以後OBEX処理部903が受信しサービス変換部300へ出力したデータを作成したフォルダの下に記憶する。
【0140】
一方、サービス情報テーブルに機器12と機器13の両機器とも対応する機器名が検出できなかった場合、サービス変換部300は受信拒否をOBEX処理部903へ通知する。
【0141】
また、サービス情報テーブルに機器12、機器13の機器名が存在したとしても、両機器ともサポートしているプロファイルがサービス提供装置5のサポートしているプロファイル(本実施形態ではFTP,OPP,BIP,BPPとする)のいずれでもない場合は、サービス変換部300は受信拒否をOBEX処理部903へ通知する。OBEX処理部903は受信拒否がサービス変換部300から通知されると、相手機器に対してエラーを通知する。
【0142】
Bluetooth管理部900は機器11との通信が終了し接続が切断されるとサービス変換部300に切断されたことを通知する。サービス変換部300は切断が通知されると、フォルダ(本例においてはTo_機器12_機器13”)を作成し、フォルダ下に機器11から受信したデータを記憶していた場合、Bluetooth管理部900に、フォルダ名に含まれている機器12のBIPサービス、および機器13のBPPサービスそれぞれに対して接続要求を行うように指示する。
【0143】
ここで、サービス変換部300は、機器12および機器13との接続パラメータは、周辺機器管理部100のサービス情報テーブルを参照して取得するとする。OBEX処理部903と機器12とのBIPサービスのコネクションが設定されると、サービス変換部300は記憶していたデータをBIPサービスで利用されるフォーマットに変換した後、機器12への送信をBluetooth管理部900に指示する。OBEX処理部903と機器13とのBPPサービスのコネクションが設定されると、サービス変換部300は記憶していたデータをBPPサービスで利用されるフォーマットに変換した後、機器13への送信をBluetooth管理部900に指示する。
【0144】
<機器11がフォルダ名に異なる機器名が一つ含まれるフォルダを複数送信した場合>
機器名を含めるフォルダ名の書式を“To_機器名”とする。例えば、フォルダ名が“To_機器12”というフォルダと“To_機器13”というフォルダを機器11がサービス提供装置5へ送信したとする。
【0145】
この場合、OBEX処理部903は最初に“To_機器12”という情報が含まれたSetPath要求を受信する。サービス変換部300は、OBEX処理部903からSetPath要求が入力されると、フォルダ名の書式を調べ、フォルダ名から機器名情報“機器12”を検出する。機器名情報を検出すると、周辺機器管理部100のサービス情報テーブルを確認し、“機器12”に対応するサービス(プロファイル)を調べる。
【0146】
例えば、サービス情報テーブルが図3の場合は、機器12がBIPをサポートしていることがわかる。機器12のプロファイルの情報(この場合はBIP)がサービス情報テーブルに存在することを確認すると、サービス変換部300は内部に“To_機器12”というフォルダを作成する。以後、OBEX処理部903が受信したデータはサービス変換部300へと出力されるが、機器11が送信したフォルダ名“To_機器12”に含まれる全ファイルは、サービス変換部300が作成した“To_機器12”に保存されるとする。
【0147】
機器11からフォルダ“To_機器12”の送信が完了すると、OBEX処理部903は次に“To_機器13”という情報が含まれたSetPath要求を受信する。
【0148】
サービス変換部300は、OBEX処理部903からSetPath要求が入力されると、フォルダ名の書式を調べ、フォルダ名から機器名情報“機器13”を検出する。機器名情報を検出すると、周辺機器管理部100のサービス情報テーブルを確認し、“機器13”に対応するサービス(プロファイル)を調べる。
【0149】
例えば、サービス情報テーブルが図3の場合は、機器13がBPPをサポートしていることがわかる。機器13のプロファイルの情報(この場合はBPP)がサービス情報テーブルに存在することを確認すると、サービス変換部300は内部に“To_機器13”というフォルダを作成する。以後、OBEX処理部903が受信したデータはサービス変換部300へと出力されるが、機器11が送信したフォルダ名“To_機器13”に含まれる全ファイルは、サービス変換部300が作成した“To_機器13”に保存されるとする。
【0150】
なお、サービス情報テーブルに機器名が検出できなかった場合、サービス変換部300は受信拒否をOBEX処理部903へ通知する。また、サービス情報テーブルに機器名が存在したとしても、その機器がサポートしているプロファイルがサービス提供装置5のサポートしているプロファイル(本実施形態ではFTP,OPP,BIP,BPPとする)のいずれでもない場合は、サービス変換部300は受信拒否をOBEX処理部903へ通知する。
【0151】
OBEX処理部903は受信拒否がサービス変換部300から通知されると、相手機器に対してエラーを通知する。例えば、機器12、機器13ともにサービス情報テーブルで検出できなかったとすると、フォルダ“To_機器12”とフォルダ“To_機器13”に含まれるファイルなどのデータは、サービス変換部300には全く保存されない。また、例えば、機器12はサービス情報テーブルで検出できなかったが、機器13は検出できた場合は、フォルダ“To_機器13”に含まれるファイルなどのデータは、サービス変換部300に保存されるが、フォルダ“To_機器12”に含まれるファイルなどのデータは、サービス変換部300には保存されない。
【0152】
Bluetooth管理部900は機器11との通信が終了し接続が切断されるとサービス変換部300に切断されたことを通知する。
【0153】
サービス変換部300は切断が通知されると、内部に作成しているフォルダを確認する。“To_機器12”というフォルダを作成していた場合、Bluetooth管理部900を利用して機器12のBIPサービスに対して接続要求を行う。
【0154】
また、“To_機器13”というフォルダを作成していた場合、Bluetooth管理部900を利用して機器13のBPPサーに対して接続要求を行う。OBEX処理部903と機器12とのBIPサービスのコネクションが設定されると、サービス変換部300は記憶していたデータをBIPサービスで利用されるフォーマットに変換した後、機器12へ送信する。OBEX処理部903と機器13とのBPPサービスのコネクションが設定されると、サービス変換部300は記憶していたデータをBPPサービスで利用されるフォーマットに変換した後、機器13へ送信する。
【0155】
以上のサービス変換部300の動作例では、機器11からのデータの受信が完了し、機器11とのコネクションが切断された後に機器12や機器13への接続を開始し、データ転送を行うという動作例を示した。しかし、サービス提供装置4のBluetooth管理部900が機器11から接続されている状態において、別の機器である機器12や機器13への接続が可能であるなら、機器11からの切断を待つことなく別機器との接続を行っても良い。
【0156】
上述した第1の実施形態のサービス提供装置1によれば、サービス種別(プロファイル)の異なる機器間でのデータ交換も可能になるが、サービス提供装置1を介してN台の機器へデータを送信する場合には、サービス提供装置1とN回コネクションを設定し、データを繰り返し送信する必要がある。
【0157】
これに対して、第3の実施形態で示したサービス提供装置5では、サービス提供装置5を介してN台の機器へデータを送信する場合にも、サービス提供装置5と一つのコネクションを設定するだけでN台に自動的にデータを送信でき、サービス提供装置1を用いる場合よりも効率的なデータ交換が可能となる。
【0158】
(第4の実施形態)
第4の実施形態は、複数の機器が提供するそれぞれ種類の異なる複数のサービスを組み合わせることにより、そのいずれとも異なる新たな種別のサービスを提供するものである。
【0159】
周辺機器管理部の記憶するサービス情報テーブルに Basic Imaging Profile をサポートし静止画像を映し出すことができる第一のBluetooth 機器と、Headset Profile をサポートし、音声を出力できる第二の Bluetooth 機器があった場合、サービス情報生成部はこれらを組み合わせたサービスをBluetooth における AV(Audio/Video) Profile として Bluetooth 管理部に登録する。この場合も、第1の実施形態において説明したのと同様に、サービス情報生成部はサービスネームにサービスの変換情報を付加することができる。たとえば、第1の実施形態における<サービスレコード作成例4>ではサービスネームは “BIP+Headset → AV” としてAV(“BIP+Headset → AV”) というようなサービスレコードを Bluetooth 管理部に登録する。
【0160】
図16は、本実施の形態におけるサービス情報テーブルの例である。この例においては、機器11はHeadset Profile のサービスを、機器12は Basic Imaging Profile のサービスをそれぞれ提供している。本実施の形態においては、これらを組み合わせることにより新たに AV Profile のサービスが生成され他の機器に対して提供される。機器11の持つサービスもしくは機器12の持つサービスのいずれかのみではAV Profile のサービスを生成することができないので、サービスを組み合わせる相手の機器を記憶する必要がある。このために、サービスを組み合わる相手機器を記載するフィールドを新たに設けた点が、図7や図8に示したサービス情報テーブルと異なっている。
【0161】
機器12の持つ Basic Imaging Profile のサービスは、Headset Profileと組み合わせて AV Profile として提供する他にも、これまでの実施の形態において説明してきたのと同様に、他の機器のサービスと組み合わせることなく単独で FTP, OPP などのサービスに変換して提供することができる。このようなサービスもテーブルに併せて記載する。なお、プロファイルによってはサーバチャネル番号を必要としないものもあるので、そのようなプロファイルに対してはサーバチャネル番号の項目は空白としている。
【0162】
AV Profile をサポートしビデオ画像の出力を希望する第三のBluetooth 機器は、Bluetooth 管理部900に登録されたAV Profile サービスに対して画像および音声を送出する。Bluetooth 管理部900は、これを受信すると画像と音声を分割し、画像は第一の Bluetooth 機器へ、音声は第二の Bluetooth 機器へ出力する。このとき、AV Profile では動画像がサポートされているが、Imaging Profile では静止画像のみをサポートしているので、サービス変換部において動画像から静止画像へ、たとえばコマ落としなどによる変換処理を行う。
【0163】
サービスを組み合わせる相手は、Bluetooth 機器に限定されるものではない。例えば、周辺機器管理部100の記憶するサービス情報テーブルに Bluetooth ヘッドセット機器と、LAN で接続されたプロジェクタ機器が登録されている場合、サービス変換部はこれらを組み合わせたサービスを Bluetooth AV Profile として Bluetooth 管理部900に登録することができる。これにより、音声の出力、画像の出力というそれぞれ単一の機能しか持たず単独ではビデオ信号の出力ができない2つの機器を組み合わせて、一つの Bluetooth AV Profile に準拠した機器として見せることができ、Bluetooth AV Profile に準拠した他の機器からビデオ信号の出力が可能となる。
【0164】
このように、第4の実施形態では、複数の機器がそれぞれ提供するサービスを組み合わせて、新規なサービスを生成して提供するため、個々のサービスよりも付加価値の高いサービスを提供できる。
【0165】
(第5の実施形態)
第5の実施形態は、周辺機器が提供する単一のサービスを、複数のサービスとして周囲の他の機器に提供するものである。単一のサービスを直接利用できない Bluetooth 機器が、本発明の通信機器の提供する複数のサービスを組み合わせて利用することにより、前記単一のサービスを利用することができるようになる。
【0166】
本実施形態における機器の構成は第2の実施形態における図11と同様である。ネットワーク管理部500を介してインターネットにメールを送信することが可能である場合、サービス変換部300はこれを Bluetooth におけるObject Push Profile と File Transfer Profile の2つのプロファイルに分割して Bluetooth 管理部に登録する。周囲の Bluetooth 機器は、メールのあて先情報を vCard に記載して Object Push Profile に従って送り、同時にメールの本文をファイルとして送信すると、メールがインターネットを介して送信される。
【0167】
このようにサービスを分割したときは、登録するサービスの名称をObject Push Profile については “メール(アドレス)” 、File Transfer Profile については “メール(本文)” とするなど、相互の対応がわかりやすいものにしておくことが望ましい。このとき、サービス情報生成部によって Bluetooth 管理部に登録されるサービスレコードは、たとえば OPP(“メール送信(アドレス)”,1) と FTP(“メール送信(本文)”,2) のようになる。
【0168】
メールを送ろうとする Bluetooth 機器は、サービスレコードに記載のサービスネームから、これらがメールの送信サービスに対応するものであることを知り、これらの2つのサービスのそれぞれに対してコネクションを張り、OPP に対してはメールアドレスを記載した vCard を、FTP に対してはメールの本文をそれぞれ送信する。これらのデータはBluetooth管理部900によって受信されて、サービス変換部300に格納される。受信が完了し前記のコネクションが両方とも切断されたことが Bluetooth 管理部900によって検出されサービス変換部300に通知されると、サービス変換部300は格納したメールアドレスと本文とを組み合わせ、ネットワーク管理部500を介して宛先へと送信する。
【0169】
このように、第5の実施形態では、周辺機器が提供する単一のサービスを複数のサービスとして他の機器に提供できるため、そのままでは単一のサービスを利用できない他の機器が、複数のサービスに分けて提供を受けることにより、結果的に元の単一のサービスを受けられるようになる。これにより、プロファイル等の異なる種々のサービスの提供を受けられるようになる。
【0170】
上述した実施形態で説明したサービス提供装置は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、サービス提供装置の少なくとも一部の機能を実現するプログラムをフロッピーディスクやCD−ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の携帯可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0171】
また、サービス提供装置の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0172】
【発明の効果】
以上詳細に説明したように、本発明によれば、周辺機器が提供するサービスも、自己のサービスと同様に提供できるため、サービス種別が異なる各種サービスを提供でき、サービスの利用価値が高まる。
【0173】
また、他の通信装置がサポートするサービス(プロファイル)が異なると、各通信装置間で直接データ交換を行うことが不可能であるが、本発明によれば、直接データ交換を行うことが不可能な通信装置間でのデータ交換が可能になる。
【図面の簡単な説明】
【図1】本発明に係るサービス提供装置の第1の実施形態の概略構成を示すブロック図。
【図2】図1のサービス提供装置1と周辺機器11,12,13との通信の様子を示す図。
【図3】サービス情報テーブルの一例を示す図。
【図4】サービス情報の一例を示す図。
【図5】サービスレコードの登録手順の一例を示すフローチャート。
【図6】サービスレコードの削除手順の一例を示すフローチャート。
【図7】サービス情報テーブルの一例を示す図。
【図8】サービス情報テーブルの一例を示す図。
【図9】図1の構成にアプリケーション部を追加したサービス提供装置のブロック図。
【図10】図1の構成にタイマーを追加したサービス提供装置のブロック図。
【図11】図1の構成にネットワーク管理部を追加したサービス提供装置のブロック図。
【図12】サービス提供装置とファイルサーバとがイーサネットに接続されている例を示すネットワーク配置図。
【図13】図12のように配置された場合のサービス情報テーブルの一例を示す図。
【図14】第3の実施形態のサービス提供装置5と周辺機器11,12,13との通信の様子を示す図。
【図15】第3の実施形態のサービス提供装置5のサービス情報テーブルの一例を示す図。
【図16】本実施の形態におけるサービス情報テーブルの例を示す図。
【符号の説明】
100 周辺機器管理部
200 サービス情報生成部
300 サービス変換部
400 タイマー部
500 ネットワーク管理部
900 Bluetooth管理部
901 SDP処理部
902 SDPデータベース
903 OBEX処理部
1000 アプリケーション部
Claims (11)
- 通信可能な他の通信装置が提供するBluetoothのプロファイルで定めるサービスに接続するためのサービス情報を記憶するサービス情報記憶手段と、
前記サービス情報記憶手段に記憶したサービス情報に従って、通信可能な他の通信装置が提供するサービスをBluetoothのプロファイルで定める他のサービスに変換するサービス変換手段と、
前記サービス変換手段で変換されるサービスに対して、サービスを行う必要があるか否かを判断し、サービスを行う必要がないと判断されるサービスを除いたサービスについて、自身が提供するサービスであると他の通信装置に認識させるためのサービス情報を生成するサービス情報生成手段と、を備えることを特徴とするサービス提供装置。 - 前記サービス情報生成手段は、実際にサービスを行う他の通信装置の識別名称と、サービス種別と、通信チャネル番号と、サービス名とを含むサービス情報を生成することを特徴とする請求項1に記載のサービス提供装置。
- 前記サービス情報生成手段は、サービスの変換内容を特定する情報を含むサービス情報を生成することを特徴とする請求項2に記載のサービス提供装置。
- 前記他の通信装置とは異なる通信装置との間の通信で、Bluetoothとは異なる通信を行うための通信手段を備えることを特徴とする請求項1乃至3のいずれかに記載のサービス提供装置。
- 前記サービス情報生成手段に対してサービス情報の生成を指示する指示手段をさらに備えることを特徴とする請求項1及至4のいずれかに記載のサービス提供装置。
- 複数の通信装置に対してサービスを提供するサーバとの間で通信を行い、該サーバからサービスを受信する通信手段を備え、
前記サービス情報記憶手段は、前記サーバから提供されたサービスに関するサービス情報を記憶することを特徴とする請求項1及至5のいずれかに記載のサービス提供装置。 - 前記サービス変換手段は、他の通信装置のそれぞれが提供する少なくとも1以上のサービスのすべてを提供可能な単一のBluetoothのプロファイルで定めるサービスに変換することを特徴とする請求項1及至6のいずれかに記載のサービス提供装置。
- 前記サービス変換手段は、複数の他の通信装置それぞれが提供する少なくとも1以上のサービスを組み合わせて、これらサービスのいずれとも異なるBluetoothのプロファイルで定める新たなサービスに変換することを特徴とする請求項1及至7のいずれかに記載のサービス提供装置。
- 前記サービス変換手段は、他の通信装置が提供するサービスをBluetoothのプロファイルで定める複数のサービスに変換することを特徴とする請求項1及至7のいずれかに記載のサービス提供装置。
- 通信可能な他の通信装置が提供するBluetoothのプロファイルで定めるサービスに接続するためのサービス情報を記憶するステップと、
前記記憶されたサービス情報に従って、通信可能な他の通信装置が提供するサービスをBluetoothのプロファイルで定める他のサービスに変換するステップと、
前記変換されるサービスに対して、サービスを行う必要があるか否かを判断し、サービスを行う必要がないと判断されるサービスを除いたサービスについて、自身が提供するサ ービスであると他の通信装置に認識させるためのサービス情報を生成するステップと、を実行させることを特徴とするサービス提供プログラム。 - 通信可能な他の通信装置が提供するBluetoothのプロファイルで定めるサービスに接続するためのサービス情報を記憶し、前記記憶されたサービス情報に従って、通信可能な他の通信装置が提供するサービスをBluetoothのプロファイルで定める他のサービスに変換し、
前記変換されるサービスに対して、サービスを行う必要があるか否かを判断し、サービスを行う必要がないと判断されるサービスを除いたサービスについて、自身が提供するサービスであると他の通信装置に認識させるためのサービス情報を生成するステップと、を実行させることを特徴とするサービス提供方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003058905A JP3946650B2 (ja) | 2003-03-05 | 2003-03-05 | サービス提供装置、サービス提供プログラム及びサービス提供方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003058905A JP3946650B2 (ja) | 2003-03-05 | 2003-03-05 | サービス提供装置、サービス提供プログラム及びサービス提供方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004272376A JP2004272376A (ja) | 2004-09-30 |
JP3946650B2 true JP3946650B2 (ja) | 2007-07-18 |
Family
ID=33121907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003058905A Expired - Fee Related JP3946650B2 (ja) | 2003-03-05 | 2003-03-05 | サービス提供装置、サービス提供プログラム及びサービス提供方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3946650B2 (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4164490B2 (ja) * | 2004-12-17 | 2008-10-15 | キヤノン株式会社 | 通信装置、プロファイル情報取得方法、及び、プログラム |
JP5417604B2 (ja) * | 2008-05-21 | 2014-02-19 | シャープ株式会社 | ネットワークシステム、携帯端末装置、および装置制御方法 |
JP5165544B2 (ja) * | 2008-12-08 | 2013-03-21 | 富士通株式会社 | 無線端末、統合機能制御プログラム、統合機能制御方法 |
JP5269935B2 (ja) * | 2011-03-07 | 2013-08-21 | 株式会社東芝 | 電子機器および通信制御方法 |
US9330047B2 (en) * | 2013-01-15 | 2016-05-03 | Qualcomm Incorporated | Wireless docking service with direct connection to peripherals |
JP5433801B2 (ja) * | 2013-02-05 | 2014-03-05 | 株式会社東芝 | 電子機器 |
US9832596B2 (en) | 2013-05-24 | 2017-11-28 | Qualcomm Incorporated | Wireless docking architecture |
US9619646B2 (en) | 2013-05-24 | 2017-04-11 | Qualcomm Incorporated | Access control for wireless docking |
US9811116B2 (en) | 2013-05-24 | 2017-11-07 | Qualcomm Incorporated | Utilization and configuration of wireless docking environments |
US9547619B2 (en) | 2013-05-24 | 2017-01-17 | Qualcomm Incorporated | Wireless docking |
US9769594B2 (en) | 2015-01-30 | 2017-09-19 | Cassia Networks Inc. | Methods, devices and systems for increasing wireless communication range |
US10681479B2 (en) | 2015-01-30 | 2020-06-09 | Cassia Networks Inc. | Methods, devices and systems for bluetooth audio transmission |
-
2003
- 2003-03-05 JP JP2003058905A patent/JP3946650B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004272376A (ja) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8156095B2 (en) | Server device, user interface appliance, and media processing network | |
KR100996645B1 (ko) | 서로 다른 기능들을 지니는 서로 다른 장치들에서의데이터 동기화를 가능하게 하기 위한 방법 및 장치 | |
JP4531696B2 (ja) | マルチメディア情報共有システム | |
EP1819140B1 (en) | Information processing apparatus, image sharing method, and program | |
US8024398B2 (en) | Output management system and method for enabling printing via wireless devices | |
US8065357B2 (en) | Output management system and method for enabling access to private network resources | |
US9019383B2 (en) | Shared image devices | |
JP3946650B2 (ja) | サービス提供装置、サービス提供プログラム及びサービス提供方法 | |
JP2003331047A (ja) | 情報処理システム及び情報処理装置及び情報処理方法及びそれをコンピュータに実施させるためのプログラム及びそのプログラムをコンピュータ読み出し可能に記憶した記憶媒体 | |
JP2004514983A (ja) | 写真サービス・ウェブサイトを統合するためのメタ・アプリケーション・アーキテクチャ | |
JP2002196990A (ja) | サービス発見プロトコル変換ゲートウェイ | |
US20060187227A1 (en) | Storage aspects for imaging device | |
CN1327650C (zh) | 向数据保管系统传送数据的上传方法及其装置 | |
EP1428134A2 (en) | Output management system and method for enabling printing via wireless devices | |
JP2004334453A (ja) | プリント・システムおよびこのシステムに用いられるプリント装置 | |
EP1912404B1 (en) | File transfer server | |
JP2006059324A (ja) | 無線lan基盤の無線プリンティングシステム及び方法 | |
EP1428129A1 (en) | Output management system and method for enabling access to private network resources | |
JP2003067276A (ja) | 異なるp2pファイル交換ネットワーク間の相互接続方法、および、p2pファイル交換ネットワークシステム | |
JP2018011175A (ja) | 情報処理装置、撮像装置、システム | |
JP4704689B2 (ja) | 移動デバイス、受信デバイス及びデータ送信確認システム | |
JP2013074307A (ja) | 遠隔会議システム | |
JP2011233068A (ja) | 画像表示装置及び画像表示装置において画像データの同期を行なう方法 | |
JP2005266882A (ja) | 通信システムおよび方法ならびにプログラム | |
JP2004088456A (ja) | 画像配信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060922 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070312 |
|
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: 20070403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070411 |
|
LAPS | Cancellation because of no payment of annual fees |