JP6880719B2 - 通信装置、通信方法、電子時計及びプログラム - Google Patents

通信装置、通信方法、電子時計及びプログラム Download PDF

Info

Publication number
JP6880719B2
JP6880719B2 JP2016253430A JP2016253430A JP6880719B2 JP 6880719 B2 JP6880719 B2 JP 6880719B2 JP 2016253430 A JP2016253430 A JP 2016253430A JP 2016253430 A JP2016253430 A JP 2016253430A JP 6880719 B2 JP6880719 B2 JP 6880719B2
Authority
JP
Japan
Prior art keywords
communication
communication device
information
types
setting 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.)
Active
Application number
JP2016253430A
Other languages
English (en)
Other versions
JP2018107680A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2016253430A priority Critical patent/JP6880719B2/ja
Priority to US15/708,369 priority patent/US10432771B2/en
Priority to KR1020170123811A priority patent/KR102398992B1/ko
Priority to CN201711003418.8A priority patent/CN108616289B/zh
Publication of JP2018107680A publication Critical patent/JP2018107680A/ja
Application granted granted Critical
Publication of JP6880719B2 publication Critical patent/JP6880719B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/3827Portable transceivers
    • H04B1/385Transceivers carried on the body, e.g. in helmets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/02Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
    • H04W8/04Registration at HLR or HSS [Home Subscriber Server]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Description

本発明は、通信装置、通信方法、電子時計及びこの通信方法を実行するためのプログラムに関する。
従来、ブルートゥース(Bluetooth:登録商標)などの近距離無線通信を用いて種々の情報をやり取りすることが可能な電子装置が存在する。ブルートゥースは、近距離で各種装置を無線で連結してデータをやり取りすることができる近距離無線通信規約である。ブルートゥース通信方法には、BR/EDR(Basic Rate/Enhanced Data Rate)と、低電力方式であるLE(Low Energy)とがある。BR/EDRはブルートゥースクラシック(Bluetooth Classic)とも呼ばれる。ブルートゥース4.0から適用されたブルートゥースローエナジー(Bluetooth Low Energy、以下BLEと称する。)は、少ない電力を消耗して数百キロバイト(KB)の情報を安定的に提供することができる。このようなBLE技術はブルートゥースクラシックに比べて動作を簡単にしてエネルギー消費を減らす。最近発売されたスマートバンド、スマートウォッチ、スマートグラス、等のウェアラブル無線通信装置のほとんどはBLE技術を用いて無線通信を行う。
このような近距離無線通信により、複数の電子装置のそれぞれが個別に取得したり保持したりする情報を、他の電子装置で容易に取得することが可能になっている。例えば、特開2014−175830号公報には、効率的に通信を行うために、二つの通信装置がMTU(Maximum Transmission Unit)値をやりとりし、やりとりしたMTU値に応じて通信期間を割り当てる技術が開示されている。
特開2014−175830号公報
しかし、上記特許文献1に開示された技術は、送受信する情報の種類に関しては考慮していない。従って、複数の種類の情報を通信しようとする場合は、通信装置間の通信回数が、通信する情報の種類の数に応じて増加する。そのため、通信する情報の種類の数が多いと、通信装置の消費電流及び処理負荷が増加する。
この発明は、無線通信装置の間の通信の効率性を高める方法、この方法を実行する通信装置、電子時計及びプログラムを提供することを目的とする。
本発明の1つの態様は、無線通信のできる装置であって、通信パケットを他の通信装置と送受信する通信部と、一つ以上の種類の設定情報を格納するメモリと、プロセッサと、を備え、前記プロセッサは、前記他の通信装置との前回の通信後に、前記一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断し、前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成し、前記判別情報に基づいて、前記他の通信装置との通信を制御し、前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一である
また、本発明の他の1つの態様は、無線通信のできる装置であって、他の通信装置からサービス情報を受信し、前記他の通信装置と通信パケットを送受信する通信部と、一つ以上の種類の設定情報を格納するメモリと、プロセッサと、を備え、前記プロセッサは、前記他の通信装置から前記一つ以上の種類の設定情報の更新の有無を示す判別情報を受信し、前記判別情報に基づいて、前記他の通信装置との通信を制御し、前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一である

本発明によると、無線通信装置の間の通信の効率性を高めることができる。しかし、本発明の目的と効果は上記のものに制限されないし、下記の詳細な説明と添付の図面から本発明の他の目的と効果を理解することができる。
以下の詳細な記述が以下の図面と合わせて考慮されると、本願のより深い理解が得られる。これらの図面は例示に過ぎず、本発明の範囲を限定するものではない。
本明細書において提案された方法が適用されることができる無線通信システムの一例を示す図である。 本明細書において提案された方法を具現することができる装置の内部ブロック図の一例を示す。 本明細書において提案された方法が適用されることができるBLE通信アーキテクチャーの一例を示す図である。 典型的なサービスディスカバリーメカニズムを示す図である。 GATTサーバに格納されるアトリビュート(Attribute)の通常の構造の一例を示す。 (A)はBLEプロトコルによって定義されるパケット構造を示し、(B)はアトリビュート値をやり取りするためのアトリビュートプロトコルPDUの構造の一例を示す。 アトリビュートプロトコルPDUのアトリビュートオペコード(Attribute Opcode)及びパラメーターのリストの一例を示すテーブルである。 通常のアトリビュートデータベースの一例を示す図である。 サーバとクライアントとがデータ通信を行う通常の方法を示す概念図である。 本発明の複数の実施形態において設定変更を示す判別情報として用いられるビットマップの一例を示す図である。 ビットマップを用いてサーバとクライアントとの設定を動機させる方法を示す概念図である。 本発明の一実施形態に係るアトリビュートデータベースの一例を示す図である。 本発明の他の実施形態に係るアトリビュートデータベースの一例を示す図である。 本発明の一実施形態に係るサーバとクライアントとが常時接続するパターンにおいてサーバとクライアント間のデータ通信方法を示す図である。 本発明の一実施形態に係る通信プロセスを示すフローチャートである。 本発明の一実施形態に係るサーバとクライアントとの間に再接続が発生するパターンにおいてサーバとクライアント間のデータ通信方法を示す図である。 本発明の一実施形態に係る通信プロセスを示すフローチャートである。 本発明の一実施形態に係るサーバとクライアント間のデータ通信方法を示す図である。 本発明の他の実施形態に係るアトリビュートデータベースの一例を示す図である。 本発明の一実施形態に係るサーバとクライアントとが常時接続するパターンにおいてサーバとクライアント間のデータ通信方法を示す図である。 本発明の一実施形態に係るサーバとクライアントとの間に再接続が発生するパターンにおいてサーバとクライアント間のデータ通信方法を示す図である。
本明細書においては、主に本発明をブルートゥース(登録商標)、特に、BLEに適用した実施形態について説明するが、本発明の適用分野はブルートゥースに限定されない。本発明は、サービスディスカバリーが必要な全ての通信方式に対して適用可能である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、後述する実施形態に共通する図であって、本明細書において提案された方法が適用されることができる無線通信システムの一例を示す図である。以下に記述される実施形態において、第1の装置と第2の装置とは、ブルートゥースローエナジー(以下、『BLE』と称する。)技術を利用して近距離無線通信を行う。無線通信システム10は少なくとも第1の装置100及びBLEによって第1の装置100と無線接続されてデータ交換が可能な第2の装置200から成る。本発明が適用されることができる第1の装置100は、例えば、腕時計型端末装置の一種である電子時計である。しかし、第1の装置100はこの例に限定されなく、BLE通信が可能な装置であればその種類や形態を問わない。第1の装置100は、例えば、デジタルカメラ、デジタル体重計等のヘルス機器、又は、スマートバンド等のウェアラブル機器であっても良い。
本発明が適用されることができる第2の装置200は、例えば、携帯電話の一種であるスマートフォンであり、移動通信網20に接続されている。しかし、第2の装置200はこの例に限定されなく、近距離無線通信が可能な装置であればその種類や形態を問わない。
以下に詳細に説明するように、BLEのATT(Attribute Protocol)はサーバ/クライアントの構造で相手装置のデータに接近するための規則を定義する。サーバはサービスを提供し、クライアントはサーバに要請してサーバが有するサービスに関連した情報を得ることができる。説明の便宜のために、以下では特別な説明がない限り第1の装置100をサーバと、第2の装置200のアプリケーションをクライアントとして説明する。しかし、第1の装置100は他の装置との関係においてクライアントとして動作することができ、第2の装置は他のデバイスとの関係においてサーバとして動作することができる。即ち、BLE通信システムにおいて一つの装置はサーバ又はクライアントとして動作することが可能であり、必要な場合、同時にサーバ及びクライアントとして動作することも可能である。
第2の装置200は、第1の装置100にデータを要求することができる。第1の装置100は、第2の装置200からデータ要求メッセージを受信する場合、応答(Response)メッセージによって第2の装置200へデータを提供する。また、第1の装置100は第2の装置200へデータを通知するために第2の装置200に対して告知(Notification)メッセージ又は指示(Indication)メッセージを送信する。第1の装置100が第2の装置200へ指示メッセージを送信した場合に、当該指示メッセージが第2の装置200によって成功的に受信されれば第2の装置200は当該指示メッセージに対する確認(Confirm)メッセージを第1の装置100へ送信する。また、第2の装置200は、第1の装置100に対してデータの書込みを要請するために要求(Request)メッセージ又は命令(Command)メッセージを送信する。第2の装置200が第1の装置100へ要求メッセージを送信した場合に、データの書込みが成功的に行われれば、第1の装置100は第2の装置200へ応答(Response)メッセージを送信する。
第1の装置100又は第2の装置200は、他の装置とメッセージを送受信する過程で出力部、例えば、ディスプレーを通じてユーザにデータ情報を提供したり、入力部、例えば、User Input Interfaceを通じてユーザから入力される要請を受信したりすることができる。また、メモリからデータを読み出したり、新しいデータをメモリに記入したりすることもできる。
図2は、本明細書において提案された方法を具現することができる装置の内部ブロック図の一例を示す。図2(A)は第1の装置100の内部ブロック図であり、図2(B)は第2の装置200の内部ブロック図である。
図2(A)に示されたように、第1の装置100は近距離通信部102と、プロセッサ104と、電源部106と、メモリ108と、時計部110と、入力部112と、表示部114とを含む。近距離通信部102は近距離無線通信技術、例えば、ブルートゥースを利用して装置の間の要求/応答、命令、告知、指示/確認メッセージ、又は、データの送受信を可能にするインターフェースと、無線信号を処理するベースバンド回路とを含む。本実施形態において、近距離通信部102はBLEをサポートする。近距離通信部102の少なくとも一部の機能はソフトウェアによって具現されることができ、ソフトウェアによって具現される場合、上記機能を実行するプログラムの形態としてメモリ108に格納されることができる。
プロセッサ104は第1の装置100の全体的な動作を制御する。プロセッサ104は、制御ユニット(Control Unit)、コントローラー等と称されることもある。プロセッサ104はASIC(application−specific integrated circuit)、他のチップセット、論理回路、及び/又は、データ処理装置を含むことができる。電源部106は図示を省略するが、バッテリー及び電源管理部を含む。メモリ108はプロセッサ104によって実行されるコンピュータプログラム命令、ファームウェア等の各種ソフトウェア、及び/又は、プロセッサ104が必要とするデータ又はプロセッサ104の処理結果を記憶するために使われる。メモリ108は第1の装置100に組み込まれた、又は、第1の装置100から着脱可能なRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、又はディスクドライブ等の1つ又はそれ以上の任意の記憶装置を含む。メモリ108はプロセッサ104に組み込むことも可能である。
時計部110は図示を省略するが、例えば、システムクロック又は発振器によって生成される信号から時刻信号を生成する時計回路であるカウンタを含み、現在の時刻を計時して時刻情報を生成する。時計部110は生成した時刻情報をプロセッサ104に出力する。時計部110をプロセッサ22内に組み込むこともできる。入力部112は各種キー、スイッチ、及び/又は、タッチパネル等から構成され、ユーザの入力部112の操作に応じて各種のデータが入力される。表示部114はLCD、OLED等の表示装置及び駆動回路を含み、現在の時刻等の情報を表示する。
第1の装置100は、平常時は表示部114に時計部110で計時されている現在の時刻を表示する。近距離通信部102を通じて第2の装置200から現在の時刻に関するデータを受信した場合は、該当データが示す時刻を時計部110に設定することによって、第1の装置100の時刻を第2の装置200の時刻に同期させる。
図2(B)に示されたように、第2の装置200は、遠距離通信処理部202と、近距離通信部204と、プロセッサ206と、メモリ208と、電源部210と、入力部212と、表示部214とを含む。プロセッサ206は時計部216を含む。遠距離通信処理部202は、3G、LTE等の携帯電話システムの基地局と通信することによって、第2の装置200を携帯電話として機能させる。遠距離通信処理部202はアンテナを通じて受信、又は、送信される信号を増幅するアンプ、トランシーバー、デジタルベースバンドプロセッサ、音声入力回路、再生回路等を含むが、これらの周知の構成要素に対しては図示及び説明を省略する。また、遠距離通信処理部202を通じて移動通信網20から正確な時刻データを取得することで時計部216が正確な時刻情報を保持することができる。上記のように、第2の装置200は時計部216が保持している時刻情報を第1の装置100に伝送することができる。
近距離通信部204は、近距離無線通信技術、例えば、ブルートゥースを利用して装置の間の要求/応答、命令、告知、指示/確認メッセージ、又は、データの送受信を可能にするインターフェースと、無線信号を処理するベースバンド回路とを含む。本実施形態において、近距離通信部204はBLEをサポートする。近距離通信部204の少なくとも一部の機能はソフトウェアによって具現されることができ、ソフトウェアによって具現される場合、上記機能を実行するプログラムの形態としてメモリ208に格納されることができる。
プロセッサ206は第2の装置200の全体的な動作を制御し、例えば、アプリケーションプロセッサである。本実施形態においては、プロセッサ206が時計部216を含むように構成されているが、実施形態によっては時計部216が別個の構成要素として含まれることもできる。メモリ208は、プロセッサ206によって実行されるコンピュータプログラム命令、ファームウェア等の各種ソフトウェア、及び/又は、プロセッサ206が必要とするデータ又はプロセッサ206の処理結果を記憶するために使われる。メモリ208は第2の装置200に組み込まれた、又は、第2の装置200から着脱可能なRAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、又はディスクドライブ、等の1つ又はそれ以上の任意の記憶装置を含む。メモリ208はプロセッサ206に組み込まれることも可能である。
電源部210は図示を省略するが、バッテリー及び電源管理部を含む。入力部212は各種キー、スイッチ、及び/又は、タッチパネル等から構成され、ユーザの入力部212の操作に応じて各種のデータが入力される。表示部214はLCD、OLED等の表示装置及び駆動回路を含む。
図1に示されているシステムと、図2(A)及び2(B)に示されている装置は例示に過ぎず、本明細書に記述された方法を具現することができるシステム又は装置の範囲を制限することではない。
図3は本明細書において提案される方法を適用できるBLE通信アーキテクチャーの一例を示す図である。例えば、BLEプロトコルスタックはタイミングが重要な無線装置インターフェースを制御するように動作可能なコントローラースタック(Controller stack)30と、高レベル(high level)データを処理するように動作可能なホストスタック(Host stack)40とを含む。コントローラースタック30は、通信モジュールと、例えば、マイクロプロセッサー等のプロセッシングデバイスを含むプロセッサモジュールを利用して具現されることができる。ホストスタック40は、プロセッサモジュール上で作動するOSの一部として、又は、OS上のパッケージ(package)のインスタンス生成(instantiation)として具現されることができる。
コントローラースタック30は、物理レイヤ(Physical Layer:PHY)32と、リンクレイヤ(Link Layer)34と、ホストコントローラーインターフェース(Host Controller Interface:HCI)36と、を含む。物理レイヤ(無線送受信モジュール)32は、2.4GHzの無線信号を送受信する階層であり、GFSK(Gaussian Frequency Shift Keying)変調及び40個のRFチャンネルを利用する周波数ホッピング(frequency hopping)技法を使う。ブルートゥースパケットを伝送したり受信したりする役割を行うリンクレイヤ34は、3個のアドバタイジング(Advertising)チャネルを利用してアドバタイジングやスキャニング機能を行った後に装置間のコネクションを生成し、37個のデータチャンネルを通じて最大42バイト(byte)のデータパケットをやり取りする機能を提供する。HCI36は、ホストスタックがコマンドとデータをコントローラースタックに提供し、コントローラースタックがイベントとデータをホストスタックに提供することができるように、ホストスタックとコントローラースタックとの間のインターフェースを提供する。
ホストスタック40は、論理リンク制御及び適応プロトコル(L2CAP)41と、保安マネージャー(Security Manager:SM)42と、アトリビュートプロトコル(Attribute Protocol:ATT)43と、汎用アトリビュートプロファイル(Generic Attribute Profile:GATT)44と、汎用アクセスプロファイル(Generic Access Profile)45と、LEプロファイル46と、を含むことができる。但し、ホストスタック40はこのような例に限定されなく、多様なプロトコル及びプロファイルを含むことができる。ホストスタック40はL2CAPを使ってブルートゥース仕様(スペック)が提供する多様なプロトコル及びプロファイル等を多重化(multiplexing)する。
論理リンク制御及び適応プロトコル(L2CAP)41は、特定のプロトコル又はプロファイルによってデータを伝送するための一つの双方向チャンネルを提供する。保安マネージャー(SM)42は、装置を認証し、キー分配(key distribution)を提供するためのプロトコルである。
アトリビュートプロトコル(ATT)43はサーバ/クライアント構造で相手デバイスのデータに接近するための規則を定義する。ATTには6種類のメッセージ類型(Request、Response、Command、Notification、Indication、Confirmation)が定義される。
(1)要求(Request)及び応答(Response)メッセージ:要求(Request)メッセージはクライアントがサーバに特定の情報を要請するために送信するメッセージであり、応答(Response)メッセージはサーバがクライアントへ送信する要求メッセージに対する返事である。
(2)命令(Command)メッセージ:クライアントがサーバに特定の動作を要請するために送信するメッセージであり、サーバは命令(Command)メッセージに対する応答をクライアントに送信しない。
(3)告知(Notification)メッセージ:サーバがクライアントにイベント等の通知のために送信するメッセージであり、クライアントは告知(Notification)メッセージに対する確認メッセージをサーバに送信しない。
(4)指示(Indication)及び確認(Confirmation)メッセージ:サーバがクライアントにイベント等の通知のために送信するメッセージであり、告知(Notification)メッセージとは違い、クライアントは指示(Indication)メッセージに対する確認(Confirmation)メッセージをサーバに送信する。
汎用アトリビュートプロファイル(GATT)44はサービスの構成の時にATT43がどのように使われるかを説明するプロトコルとして用いられる。GATT44はサービスとキャラクタリスティック(Characteristic)という概念を使って特定のデータ(即ち、アトリビュート)を他の装置に提供する。GATTはサーバとクライアントとの二種類の役割を定義し、アトリビュートを提供する装置がサーバであり、アトリビュートが提供される装置がクライアントである。
サービスは情報を提供したり、アクションを遂行したり、他のエンティティーに代わってリソースを制御したりすることができるエンティティーである。サービスはソフトウェア、ハードウェア、又は、これらの組合せとして具現されることができる。SDPサーバによって保有される一つのサービスについての全ての情報は一つのサービスレコード内に含まれる。サービスはデータを論理的エンティティーとして分け、キャラクタリスティックと称されるデータの束を含む。それぞれのサービスは、一つ又はそれ以上のキャラクタリスティックを有することができ、UUID(Universal Unique Identifier)と称される固有のIDによって区分される。
キャラクタリスティックはサービスで使われる単一のデータ配列であり、それぞれのキャラクタリスティックはUUIDを有する。また、それぞれのキャラクタリスティックは、キャラクタリスティック宣言とキャラクタリスティック値宣言との二つのアトリビュートを有する。キャラクタリスティック宣言は、アトリビュートタイプとアトリビュート値とを有し、アトリビュート値は、キャラクタリスティックプロパティー(Characteristic Property)と、キャラクタリスティック値ハンドル(Characteristic Value Handle)と、キャラクタリスティックUUIDとを有する。キャラクタリスティック値宣言は、キャラクタリスティックUUIDと、キャラクタリスティック値とによって構成される。
汎用アクセスプロファイル(GAP)45はBLEデバイスの間の通信のための役割(role)の選択と、マルチプロファイル動作の手続きとを制御するために使われる。GAPは主にデバイス発見、コネクション生成、及びセキュリティーに使われる。
LEプロファイル46はGATTに依存性を持つプロファイルとして、主にBLEデバイスに適用される。LEプロファイルは、例えば、Battery、Time、FindMe、Proximity等である。
図4は典型的なブルートゥースサービスディスカバリーメカニズムを示す。サービスディスカバリーメカニズムは、クライアントアプリケーションがサーバアプリケーションによって提供されるサービスの存在とこのサービスのアトリビュートとを発見する手段を提供する。サービスのアトリビュートはサービスのタイプ又は種別と、そのサービスを利用するために必要なメカニズム又はプロトコル情報とを含む。サービスディスカバリープロトコル(Service Discovery Protocol:SDP)はSDPサーバとSDPクライアントの間の通信と関連する。サーバは当該サーバと関連したサービスのキャラクタリスティックを記述するサービスレコードの目録を保有する。それぞれのサービスレコードは一つのサービスについての情報を含む。クライアントはSDP要請を発行することでSDPサーバによって保有されたサービスレコードから情報を検索することができる。
クライアント、又は、当該クライアントと関連したアプリケーションが、あるサービスを利用しようとする場合、当該サービスを利用するためにサービス提供者への別の接続を開始する。SDPはサービスとその関連したサービスアクセスプロトコルを含むアトリビュートとを発見するメカニズムを提供する。SDPにおいてサービスの種類を区分するためにUUIDが用いられる。SDPクライアントは探そうとするサービスのUUIDを知っている場合は、このUUIDを利用して、サーバにこのサービスを提供するかどうかを問い合わせる。探そうとするサービスのUUIDを知ってない場合は、サーバに当該サーバが提供するサービスに関する情報を要求する。もしデバイス上の多数のアプリケーションがサービスを提供すれば、SDPサーバはこれらが提供するサービスに関する情報に対する要請を取り扱うためにこれらのサービス提供者に代わって動作する。同様に、多数のクライアントアプリケーションがこれらに代わってサーバにクエリーを送るためにSDPクライアントを利用することができる。
通常のブルートゥースサービスディスカバリーメカニズムにおいて、サービス検索命令はBLEプロトコルとして規格化されているが、検索方法や検索順序はOSによって違う。例えば、iOS(登録商標)はプライマリーサービス(Primary Service)を全部検索してからキャラクタリスティックを検索する反面、アンドロイド(登録商標)はプライマリーサービスが発見されるたびにキャラクタリスティックを検索する。サービスディスカバリープロセスは時間をかなり消費するプロセスであり、多数の装置が互いに近接している場合望ましくない遅延をもたらすことができる。
図5は、GATTサーバに格納されるアトリビュートの通常の構造の一例を示す。サーバはこのような形態のアトリビュートを使ってサービスを提供する。一つのアトリビュートは4個の構成要素から成り、次のような意味を有する。
−アトリビュートハンドル(Attribute Handle):特定のアトリビュートに対応する識別子(インデックス)
−アトリビュートタイプ(Attribute Type):アトリビュートの類型(アトリビュート値を記述するUUID)
−アトリビュート値(Attribute Value):アトリビュートの値(ハンドルによってインデクシングされるデータ)
−アトリビュートパーミッション(Attribute Permission):アトリビュートに対する読み書き許可
図6(A)はBLEプロトコルによって定義される通常のパケット構造を示す。リンクレイヤはアドバタイジングチャンネルパケットとデータチャンネルパケットとの両方のために使われる一つのパケットフォーマットのみを持つ。各々のパケットはプリアンブル(Preamble)、アクセスアドレス(Access Address)、PDUヘッダー、PDUペイロード及びCRCフィールドを含む。全てのパケットはPDUヘッダーを有し、PDUヘッダーはアドバタイジング放送又は論理リンクのタイプを決める。一つのパケットがアドバタイジング物理チャンネルで伝送される時、PDUはアドバタイジングチャンネルPDUであり、データ物理チャンネルで伝送される時、PDUはデータチャンネルPDUである。アドバタイジングチャンネルPDUは、アドバタイジングPDUと、スキャニングPDUと、開始PDU(initiating PDU)とに分類される。データチャンネルPDUは16ビットのヘッダーと、多様な大きさのペイロードとを有し、無線通信セキュリティー(Message Integrity Check:MIC)フィールドを含むことができる。
図6(B)はアトリビュート値をやり取りするためのアトリビュートプロトコルPDUの構造の一例を示す。図6(B)に示されたように、アトリビュートプロトコルPDUはアトリビュートオペコード(Opcode)フィールド、アトリビュートパラメーター(Attribute Parameters)フィールド、及び認証署名(Authentication Signature)フィールド(選択的)によって構成されることができる。認証署名はオプションフィールドであり、選択的に存在したり存在しなかったりする。
上記アトリビュートオペコードはオクテット(octet)のデータであり、当該アトリビュートプロトコルPDUがどんなPDUであるかを示す情報を含む。図7はアトリビュートプロトコルPDUのアトリビュートオペコード(Attribute Opcode)及びアトリビュートパラメーターのリストの一例を示すテーブルである。アトリビュートパラメーターは実際のメッセージで伝達しようとする情報を含み、次のような値を持つことができる。
−ハンドル(Handle):データに対応する参照情報(インデックス)。ハンドルを使ってGATTクライアントが値を参照、アクセス、又は変更することができる。
−値(Value):データの値
−データリスト(Data List):色々なデータ値の目録
−長さ(Length):データの長さ
上記のようなアトリビュートプロトコルPDUを通じてクライアントはサーバに格納されているアトリビュートハンドル値、アトリビュート値、データリスト、又は長さ値を読み出したり、サーバにこのような値を記憶させることができる。
図8は通常のアトリビュートデータベースの一例を示す。図8に示されたアトリビュートデータベースが実装されたBLE装置は、例えば、電子時計である。それぞれのサービスはデータを論理的に分ける役割を行い、一つ又はそれ以上のキャラクタリスティックを含む。示されたように、プライマリーサービスであるWatch Serviceは複数のキャラクタリスティック(ServiceN1、ServiceN2、...、ServiceNx)を含む。本例において、サービスであるWatch Serviceは、x個のキャラクタリスティックを含む。示されたように、通常のBLE装置では一つの機能(フィーチャー)に対して一つのキャラクタリスティックを有する形態としてアトリビュートデータベースが構成される。それぞれのサービスとそれぞれのキャラクタリスティックは、UUID、即ち、16ビット又は128ビットの識別子を有する。ブルートゥース標準グループは公式的なサービスとキャラクタリスティックのUUIDのリストをブルートゥーススペックとして提供している。ユーザが新しいカスタムサービス/キャラクタリスティックを定義する場合には、ITU(International Telecommunication Union)の公式ウェブサイトに接続して新しいUUIDを生成することができる。
それぞれのキャラクタリスティックは、キャラクタリスティック宣言とキャラクタリスティック値宣言との二つのアトリビュートを有する。例えば、ServiceN1のキャラクタリスティック宣言は、アトリビュートタイプ(キャラクタリスティックのUUID、具体的には、0x2803)と、アトリビュート値としてキャラクタリスティックプロパティー(0x0a)と、キャラクタリスティック値ハンドル(0x003b)と、キャラクタリスティックUUID(ServiceN1のUUID)とによって構成される。ServiceN1のキャラクタリスティック値宣言は、キャラクタリスティックUUID(ServiceN1のUUID)と、キャラクタリスティック値(ServiceN1の値)によって構成される。
クライアントとサーバとの接続が確立されると、両方の装置がデータ通信を行うことができ、クライアントは、サーバが提供する特定のサービスにアクセスすることができる。例えば、図9は、サーバとクライアントとがデータ通信を行う通常の方法を示す。この例では、第1の装置100がサーバとして動作し、第2の装置200がクライアントとして動作する。第1の装置100には、図8のアトリビュートデータベースが実装されている。サーバに特定のキャラクタリスティック値を要求しようとする場合、クライアントはRead Requestメッセージをサーバに送信する。Read Requestメッセージは、BLE仕様に定義されたように、サーバにアトリビュートの値を読み出してその値を送るように要求するために使われるメッセージであり、図7に示されたように、アトリビュートハンドル(Attribute Handle)をパラメーターとして使う。この場合、Read RequestメッセージのAttribute Handleパラメーターは、キャラクタリスティック値ハンドル( Characteristic Value Handle)に設定される。クライアントからのRead Requestが有効な場合、即ち、クライアントがデータを要求する権限を持つ同時に当該データを読み出すことが可能な場合に、サーバはクライアントが要求するデータをRead Responseメッセージによってクライアントに送信する。Read Responseメッセージは、BLE仕様に定義されたように、Read Requestメッセージに応答するためにサーバによって送信されるメッセージであり、読み出されたアトリビュートの値を含む。図7に示されたように、Read Responseメッセージは、Attribute Valueをパラメーターとして使い、この場合、Read Responseによって伝送される値は、上記キャラクタリスティック値ハンドルに対応するキャラクタリスティック値(Characteristic Value)である。例えば、クライアントがServiceN1の値を要求する場合は、クライアントはAttribute Handleパラメーターが0x003bに設定されているRead Requestメッセージをサーバに送信し、これに対する応答として、サーバはAttribute Valueパラメーターが(ServiceN1 value)に設定されているRead Responseメッセージをクライアントに送信する。
サーバにデータを書き込もうとする場合、クライアントは、Attribute HandleパラメーターとAttribute Valueパラメーターとのそれぞれが、データを書き込むキャラクタリスティック値のハンドルと、書き込むデータとに設定されたWrite Requestメッセージをサーバに送信する。Write Requestメッセージは、BLE仕様に定義されたように、サーバにアトリビュートの値を書き込むように要求するために使われるメッセージであり、書き込みの要求が有効である場合、サーバは、上記ハンドルに対応する特定のキャラクタリスティックの値にアクセスして上記データを書き込むことができる。上記データが成功的に書き込まれると、サーバはWrite Responseメッセージをクライアントに送信する。データの書き込みに失敗すると、サーバはエラーメッセージをクライアントに送信する。一方、応答メッセージを伴わないWrite Commandメッセージを用いて、データの書込みを要求することもできる。この場合、クライアント側で書込みが成功的に行なわれたかどうかを直ちに確認することができないが、サーバが応答メッセージを送信するために電力を消費しないので、サーバがバッテリー容量が少ないデバイス、例えば、ウォッチ型のウェアラブルデバイスである場合は、Write Commandを用いる方が電力消費の減少の側面でより有利である。
サーバがクライアントにデータを通知しようとする場合、サーバは、Attribute HandleパラメーターとAttribute Valueパラメーターとのそれぞれが、通知するデータであるキャラクタリスティック値のハンドルと、当該データとに設定されたHandle Value Indicationメッセージを、クライアントに送信する。Handle Value Indicationメッセージは、BLE仕様に定義されたように、サーバがアトリビュートの値を通知するために送信するメッセージである。クライアントは、Handle Value Indicationメッセージを成功的に受信すると、これに対する応答メッセージであるHandle Value Confirmationメッセージをサーバに送信する。従って、データの重要度が高い場合には、指示メッセージを用いることが好ましい。データの重要度が低く、クライアントの消費電力の削減が重要な場合は、Handle Value Notificationメッセージを用いることもできる。Handle Value Notificationメッセージは、Handle Value Indicationメッセージと同様に、サーバがアトリビュートの値を通知するために送信するメッセージであるが、応答メッセージであるConfirmationを伴わない。
クライアントは必要な時に、例えば、所定の時刻になった時、又は、ユーザの操作があった時に、サーバにデータを要求したり、データの記入を要請したり、サーバからデータを受信したりする。従来には、前回の通信後にサーバの設定、即ち、ServiceN1乃至ServiceNxの値に変更がない場合にも、一定のタイミングに通信が発生するので、同一のデータを繰り返しやり取りするために電力を無駄に消耗する。本発明は、前回の通信後に、サーバの設定に変更があったかどうかを示す判別情報をクライアントに送信することによって、変更があった部分のみを同期化するように構成される。このような構成によって、サーバとクライアント間の通信回数や通信データの量を節減できる。本発明の複数の実施形態においては、上記判別情報として、前回の通信後に変更があった部分を示すビットマップを用いる。以下では、本発明の具体的な実施形態について説明する。
図10は本発明の複数の実施形態において設定変更を示す判別情報として用いられるビットマップの一例を示す。上記ビットマップのビットは、フィーチャー、即ち、図8に示された通常のアトリビュートデータベースにおいてはキャラクタリスティックServiceN1乃至ServiceNxに対応し、各ビットの値は当該ビットに対応するフィーチャーの値に変更があるかどうかを示す。ビットの値が0であれば、当該ビットに対応するフィーチャーの値に変更が無いことを、ビットの値が1であれば、当該ビットに対応するフィーチャーの値に変更があることを示す。本例では、サービスがx個のフィーチャーであるServiceN1乃至ServiceNxを含み、これらフィーチャーのうちServiceN3とServiceN5との値に変更がある。サーバとクライアントとにおいてビットマップの順番を共通にして、サーバがビットマップをクライアントに送信することで、クライアント側がサーバの設定変更の有無を把握することができる。
図11は、図10に示された形態のビットマップを用いてサーバとクライアントとの設定を動機させる方法を示す概念図である。本例で、第1の装置100がサーバとして動作し、第2の装置200がクライアントとして動作する。サーバのサービスは8個のフィーチャーを含む。従って、8ビットのビットマップが使われる。第1の装置100のビットマップが00010000であるので、サーバ側で変更があったフィーチャーはServieN5である。以下、サーバ側のビットマップを設定変更ビットマップとも称する。一方、クライアントである第2の装置200はServieN3を変更したいので、ビットマップ00000100を保持しておく。クライアントは、サーバ側にビットマップの読出しを要請して、サーバから設定変更ビットマップを取得する。クライアントは、取得された設定変更ビットマップ00010000と、クライアント内部のビットマップ00000100とを論理的ORすることで、00010100を得ることができる。これによって、クライアントはServieN3とServieN5のみを動機させれば良いことが分かることになる。
図12は本発明の一実施形態に係るアトリビュートデータベースの一例を示す。図12のアトリビュートデータベースは、図8に示された通常のアトリビュートデータベースに、アクセスコントロール用のキャラクタリスティックMy Acc Ctrlを追加し、そのキャラクタリスティックの値であるアクセスコントロールビットマップ(Access Control Bitmap)として設定変更ビットマップを格納する。従って、クライアントは、必要な時に、アトリビュートハンドル(0x0055)を使ってアトリビュート値である設定変更ビットマップを読み出すことができる。
図13は、本発明の他の実施形態に係るアトリビュートデータベースの一例を示す。図8に示された通常のアトリビュートデータベースはWatch Serviceのx個のフィーチャーに対応するx個のキャラクタリスティックを含んでおり、アトリビュート値としてそれぞれのキャラクタリスティックの値を格納する。本実施形態に係るアトリビュートデータベースは、機能の数に関わらず、2つのキャラクタリスティック、即ち、アクセスコントロール用のキャラクタリスティックであるMy Acc Ctrlと、データ通信用のキャラクタリスティックであるAll Featuresとを含む。My Acc Ctrlのアトリビュート値であるアクセスコントロールビットマップとしてサーバの設定変更ビットマップが格納される。通常のキャラクタリスティック、即ち、ServiceN1乃至ServiceNxの値は、All Featuresのアトリビュート値として格納されることができる。本実施形態では、ServiceN1乃至ServiceNxのそれぞれの値に1つのハンドル(0x0011)のみが割り当てられるので、複数の種類のデータを区別するための情報であるクラスをデータに付加する。換言すれば、従来にUUID又はハンドル値によって区別されていた複数の種類のデータを、新しい区別情報であるクラスによって区別する。例えば、図13に示すように、各々のデータを記憶するように割り当てられた20バイトの領域の先頭の1バイトに、各データのクラスを記憶し、残りの19バイトにデータを記憶する。本例では、クラスに1バイトを割り当てるので、クラスによって256種類のデータを区別することができる。通信装置のそれぞれが同一のクラス情報を保有することができるように、クラス情報は仕様(スペック)として管理されることが好ましい。一方、データとクラスとを記憶する領域の大きさは、上記の実施形態に限定されない。また、クラスが記憶される位置はデータ記憶領域の先頭に限定されない。
図14は、本発明の一実施形態に係るサーバとクライアントとが常時接続するパターンにおいてサーバとクライアント間のデータ通信方法を示す。本実施形態において、サーバに実装されるアトリビュートデータベースは図13の構造を有する。第1の装置100がサーバとして動作し、第2の装置200がクライアントとして動作する。所定のタイミングに、クライアントは、Attribute Handleパラメーターがアクセス制御用アトリビュートのハンドル、即ち、My Acc Ctrlのキャラクタリスティック値ハンドルである0x000fに設定されたRead Requestメッセージをサーバに送信する。上記所定のタイミングは、例えば、所定の時刻になった時、又は、ユーザの所定の操作があった時である。サーバは、上記メッセージに対する応答として、Attribute Valueパラメーターがアクセスコントロールビットマップに設定されたRead Responseメッセージを送信する。これによって、クライアントがサーバのアクセスコントロールビットマップを取得することができる。図11に説明したように、クライアントも、変更したいデータを示すビットマップを保持しておく。
クライアントは、アクセスコントロールビットマップからサーバ側で変更があったフィーチャー(本例では、ServiceNi)を判別し、当該フィーチャーの値を読み出すために、Attribute HandleパラメーターがAll Featuresのキャラクタリスティック値ハンドルである0x0011に設定されたRead Requestメッセージをサーバに送信する。このRead Requestメッセージを受信すると、サーバはAttribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、All Featuresのキャラクタリスティック値ハンドルである0x0011と、「ServiceNiのクラス+データ」とに設定されたHandle Value Notificationメッセージを、クライアントに送信する。これによって、クライアントがサーバ側の変更されたデータを取得して、クライアント側の設定を更新することができる。アクセスコントロールビットマップからサーバ側において変更されたフィーチャーがないと判断される場合は、Read Requestメッセージを送信しない。
図11に説明したように、クライアントは、取得された設定変更ビットマップと、クライアント内部のビットマップとを論理的ORすることで、同期させるデータを判別することができる。例えば、サーバの設定のうちServiceNjを変更したい場合、クライアントはAttribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、All Featuresのキャラクタリスティック値ハンドルである0x0011と、「ServiceNjのクラス+更新データ」とに設定されたWrite Requestメッセージを、サーバに送信する。上記データが書き込まれると、サーバはクライアントにWrite Responseメッセージを送信する。Write Requestの代わりに、Responseメッセージを伴わないWrite Commandメッセージを用いることも可能である。
ServiceN1乃至ServiceNxの中で更新するフィーチャーが重なる場合、例えば、サーバ側の設定変更ビットマップにおいて値が1であるビットと、クライアント側のビットマップにおいて値が1であるビットとが同一である場合は、仕様に規定された規則に従って処理する。例えば、サーバ側を優先して、サーバ側の変更されたフィーチャーの値をクライアントに送信し、クライアントは当該フィーチャーを受信した値に更新する。他の例では、更新するフィーチャーが重なる旨をユーザに通知し、どちらを優先するかを選択させる。
一方、サーバのアトリビュートデータベースが図12に示された構造を有する場合は、クライアントとサーバとがやり取りするメッセージのパラメーターが下記のように変わる。クライアントは、前回の通信後に変更があったフィーチャーの値を要求するために、Attribute HandleパラメーターがServiceNiのキャラクタリスティック値ハンドルに設定されたRead Requestメッセージをサーバに送信し、それに対してサーバは、Attribute Handleパラメーターと、Attribute Valueパラメーターとが、ServiceNiのキャラクタリスティック値ハンドルと、ServiceNiの値とに設定されたHandle Value Notificationメッセージを送信する。クライアントがサーバの設定のうちServiceNjを変更したい場合は、Attribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、ServiceNjのキャラクタリスティック値ハンドルと、更新データとに設定されたWrite Requestメッセージをサーバに送信する。
図15は、図13及び図14の実施形態に係る通信プロセスを示すフローチャートである。一例として、図15は常時接続パターンにおいての、サーバの動作を実行するためのアルゴリズムを示すフローチャートである。本実施形態で、第1の装置100がサーバとして動作し、第2の装置200がクライアントとして動作する。以下では、図2(A)を一緒に参照して図15を詳細に説明する。
通信プロセスが開始すると、第1の装置100と第2の装置200とのペアリングが行われる(ステップS1500)。ペアリングが行われれば、第1の装置100のプロセッサ104はメモリ108に格納されている設定変更ビットマップ、即ち、アトリビュートデータベースのアクセスコントロールビットマップ(図10及び図13参照)を初期化する(ステップS1502)。これによって、アクセスコントロールビットマップの全てのビットの値が0に設定される。次に、第1の装置100の設定が変更されたかどうかを判断する(ステップS1504)。ユーザの操作等の所定の条件が満足されて前回の通信後に第1の装置100の設定が変更された場合、換言すれば、ServiceN1乃至ServiceNxのうち変更されたフィーチャーがある場合(ステップS1504:Yes)、アクセスコントロールビットマップにあっての変更されたフィーチャーに対応するビットを書き換える(ステップS1506)。即ち、0に設定されている当該ビットの値を1に更新する。次に、第1の装置100の設定情報を第2の装置200と通信するタイミングになったかどうかを判断する(ステップS1508)。一方、前回の通信後に第1の装置100の設定が変更されなかった場合(ステップS1504:No)、すぐにステップS1508へ進む。
第1の装置100の設定情報を第2の装置200と通信するタイミングである場合(ステップS1508:Yes)、第1の装置100は第2の装置200からRead Requestメッセージが受信されるかを確認する(ステップS1510)。設定情報を通信するタイミングでない場合は(ステップS1508:No)、ステップS1504に戻る。
第1の装置100は、所定の時間の間、第2の装置200から第1の装置100のアトリビュートデータベースに格納されているMy Acc Ctrlのアトリビュート値を要求するRead Requestメッセージが受信されるかどうかを確認する(ステップS1510:No)。図13及び図14に関連して説明したように、このRead Requestメッセージはサーバである第1の装置100側の設定変更ビットマップを要求するメッセージである。上記所定の時間内にRead Requestメッセージが受信されない場合は、例えば、ユーザにエラーメッセージを表示して設定情報を通信することができない旨を知らせる。上記所定の時間内に第2の装置200からRead Requestメッセージが受信される場合(ステップS1510:Yes)、第1の装置100のプロセッサ104はメモリ108に格納されている設定変更ビットマップを読み出して第2の装置200に送信する(ステップS1512)。
次に、第1の装置100のプロセッサ104は、メモリ108に格納されている設定変更ビットマップから、変更があったフィーチャーがあるかどうかを判断する(ステップS1514)。変更されたフィーチャーがある場合は(ステップS1514:Yes)、第2の装置200からRead Requestメッセージが受信されるかどうかを確認する(ステップS1516)。図13及び図14に関連して説明したように、このRead Requestメッセージは第1の装置100のキャラクタリスティックであるAll Featuresのハンドル値をパラメーターとして用いる。第1の装置100は、所定の時間の間、第2の装置からRead Requestメッセージが受信されるかどうかを確認する(ステップS1516:No)。上記所定の時間内に第2の装置200からRead Requestメッセージが受信される場合(ステップS1516:Yes)、第1の装置100は設定変更ビットマップによって指定されたフィーチャーの値、即ち、設定変更ビットマップにおいて値が1であるビットに対応するフィーチャーの値のみを読み出して第2の装置200に送信する(ステップS1518)。例えば、図14に示されたように、第1の装置100側でServiceNiの値が変更された場合、第1の装置100はServiceNiの値を格納したHandle Value Notificationメッセージを第2の装置200に送信する。これによって、前回の通信の後に変更があった設定情報のみを第2の装置200に送信することができる。上記所定の時間内にRead Requestメッセージが受信されない場合は、例えば、ユーザにエラーメッセージを表示して設定情報を通信することができない旨を知らせる。一方、第1の装置100側で変更されたフィーチャーがない場合は(ステップS1514:No)、すぐにステップS1520へ進む。
次に、第2の装置200からデータの書込みを要請するWrite Requestメッセージが受信されるかどうかを確認する(ステップS1520)。例えば、図14に示されたように、第2の装置200側においてServiceNjを変更した場合、第2の装置200はAll Featuresのハンドル値と、「ServiceNjのクラス+更新データ」とをパラメーターとするWrite Requestメッセージを第1の装置100に送信する。所定の時間内に第2の装置200からWrite Requestメッセージが受信される場合(ステップS1520:Yes)、第1の装置100のプロセッサ104は上記Write Requestメッセージによって指定されたフィーチャーの値を更新する(ステップS1522)。例えば、図14に示されたように、Write Requestメッセージに含まれたクラスに対応するServiceNjの値を、当該メッセージのデータに更新する。そして、設定情報ビットマップを初期化し、ステップS1504に戻る(ステップS1524)。
第1の装置100は、第2の装置200からWrite Requestメッセージが受信されない場合(ステップS1520:No)、上記所定の時間が経過したかどうかを判断する(ステップS1526)。上記所定の時間が経過していない場合は(ステップS1526:No)、ステップS1520に戻る。上記所定の時間が経過した場合、即ち、タイムアウトが発生した場合は(ステップS1526:Yes)、第2の装置200が変更を要請する設定情報がないと判断して、設定情報ビットマップを初期化し、ステップS1504に戻る(ステップS1528)。
図16は本発明の他の実施形態に係るサーバとクライアントとの間に再接続が発生するパターンにおいてサーバとクライアント間のデータ通信方法を示す。本実施形態で、サーバに実装されるアトリビュートデータベースは図13の構造を有する。また、第1の装置100がサーバとして動作し、第2の装置200がクライアントとして動作する。所定のタイミングに、サーバである第1の装置がアドバタイジングパケットを送信する。上記所定のタイミングは、例えば、所定の時刻になった時、又は、ユーザの所定の操作があった時である。このアドバタイジングパケットには、サーバ側において前回の通信の後に変更があったフィーチャーを示す設定変更ビットマップが格納される。即ち、本実施形態では、サーバとクライアント間のコネクションが構築される前に、アドバタイズ段階においてサーバの設定変更ビットマップをクライアントに送信する。第2の装置200が上記アドバタイジングパケットを受信することによって、サーバ側の設定変更ビットマップを取得することができる。上述した実施形態と同様に、第1の装置100と第2の装置200でビットマップ順番を共通にすることで、第2の装置200が、取得したビットマップから第1の装置100のどのフィーチャーに変更があったかを判断することができる。
上記アドバタイジングパケットを受信した第2の装置200が第1の装置100にコネクション要求(Connection Request)を発信し、上記Connection Requestを第1の装置が受信することによって、二つの装置間のコネクションが構築される。Connection Requestは、2つの装置の間にL2CAPチャンネルを生成するためにマスター装置がスレーブ装置に送信するパケットである。次に、サービスディスカバリーが行われる。このサービスディスカバリーセッションで、クライアントである第2の装置200は、第1の装置100に実装されたサービスとキャラクタリスティックとに関する情報(図13を参照)を取得する。
サービスディスカバリーが終了すれば、クライアントである第2の装置200は設定変更ビットマップからサーバ側で変更があったフィーチャー(本例では、ServiceNi)を判別し、当該フィーチャーの値を読み出すために、Read Requestメッセージをサーバに送信する。図16の実施形態において、データのやり取りの手続きは、図14の実施形態のものと同様であるので、それについては、詳細な説明は省略する。上記Read Requestメッセージを受信すると、サーバはServiceNiのデータを含むHandle Value Notificationメッセージを、クライアントに送信する。
サーバ側のServiceNjの値を変更したい場合は、クライアントは、ServiceNjの更新データを含むWrite Requestメッセージを、サーバに送信する。上記データが書き込まれると、サーバはクライアントにWrite Responseメッセージを送信する。
必要なデータのやり取りが完了すれば、例えば、第2の装置200がコネクションを切断する手続きを開始するためのメッセージ(LL_TERMINATE_IND)を第1の装置100に送信し、第1の装置100から確認(Ack)メッセージを受信することによって、コネクションを切断する。第1の装置100と第2の装置200との両側において設定に変更がなかった場合、即ち、両側のビットマップの全てのビットの値が0である場合は、やりとりするデータがないので、コネクションが構築された後にすぐにコネクションを切断する。
図17は、図13及び図16の実施形態に係る通信プロセスを示すフローチャートである。一例として、図17は再接続が発生するパターンにおいての、サーバの動作を実行するためのアルゴリズムを示すフローチャートである。本実施形態で、第1の装置100がサーバとして動作し、第2の装置200がクライアントとして動作する。以下では、図2(A)を一緒に参照して図17を詳細に説明する。一方、本実施形態においては、再接続が発生する時に、アドバタイジングパケットによって設定変更ビットマップをクライアント側に送信するので、図13のアトリビュートデータベースにおいてアクセスコントロール用のキャラクタリスティックであるMy Acc Ctrlと、そのアトリビュートは使われない。従って、サーバが再接続が発生するパターンのみで動作する場合には、サーバにキャラクタリスティックMy Acc Ctrlを実装しなくても良い。即ち、サーバのアトリビュートデータベースに一つのキャラクタリスティックAll Featuresのみが含まれても良い。
通信プロセスが開始すると、第1の装置100と第2の装置200とのペアリングが行われる(ステップS1700)。ペアリングが成功的に行われれば、第1の装置100のプロセッサ104はメモリ108に格納されている設定変更ビットマップを初期化する(ステップS1702)。これによって、設定変更ビットマップの全てのビットの値が0に設定される。次に、第1の装置100の設定が変更されたかどうかを判断する(ステップS1704)。ユーザの操作等の所定の条件が満足されて前回の通信後に第1の装置100の設定が変更された場合、換言すれば、ServiceN1乃至ServiceNxのうち変更されたフィーチャーがある場合(ステップS1704:Yes)、設定変更ビットマップにあっての変更されたフィーチャーに対応するビットを書き換える(ステップS1706)。即ち、0に設定されている当該ビットの値を1に更新する。次に、第1の装置100の設定情報を第2の装置200と通信するタイミングになったかどうかを判断する(ステップS1708)。一方、前回の通信後に第1の装置100の設定が変更されなかった場合(ステップS1704:No)、すぐにステップS1708へ進む。
第1の装置100の設定情報を第2の装置200と通信するタイミングである場合(ステップS1708:Yes)、第1の装置100はアドバタイズを開始する(ステップS1710)。図16に関連して説明したように、第1の装置100は設定変更ビットマップが格納されたアドバタイジングパケットを第2の装置200に送信する。第1の装置100が第2の装置200からConnection Requestメッセージを受信することによって、第1の装置100と第2の装置200とのコネクションが構築される(ステップS1712)。一方、設定情報を通信するタイミングでない場合には(ステップS1708:No)、ステップS1704に戻る。
次に、第1の装置100のプロセッサ104は、メモリ108に格納されている設定変更ビットマップから、変更があったフィーチャーがあるかどうかを判断する(ステップS1714)。変更されたフィーチャーがある場合は(ステップS1714:Yes)、第2の装置200からRead Requestメッセージが受信されるかどうかを確認する(ステップS1716)。図13及び図16に関連して説明したように、このRead Requestメッセージは第1の装置100のキャラクタリスティックであるAll Featuresのハンドル値をパラメーターとして用いる。第1の装置100は、所定の時間の間、第2の装置からRead Requestメッセージが受信されるかどうかを確認する(ステップS1716:No)。上記所定の時間内に第2の装置200からRead Requestメッセージが受信される場合(ステップS1716:Yes)、第1の装置100は設定変更ビットマップによって指定されたフィーチャーの値、即ち、設定変更ビットマップにおいて値が1であるビットに対応するフィーチャーの値のみを読み出して第2の装置200に送信する(ステップS1718)。例えば、図16に示されたように、第1の装置100側でServiceNiの値が変更された場合、第1の装置100はServiceNiの値を格納したHandle Value Notificationメッセージを第2の装置200に送信する。これによって、前回の通信の後に変更があった設定情報のみを第2の装置200に送信することができる。上記所定の時間内にRead Requestメッセージが受信されない場合は、例えば、ユーザにエラーメッセージを表示して設定情報を通信することができない旨を知らせる。一方、第1の装置100側で変更されたフィーチャーがない場合は(ステップS1714:No)、すぐにステップS1720へ進む。
次に、第2の装置200からデータの書込みを要請するWrite Requestメッセージが受信されるかどうかを確認する(ステップS1720)。例えば、図16に示されたように、第2の装置200側においてServiceNjを変更した場合、第2の装置200はAll Featuresのハンドル値と、「ServiceNjのクラス+更新データ」とをパラメーターとするWrite Requestメッセージを第1の装置100に送信する。所定の時間内に第2の装置200からWrite Requestメッセージが受信される場合(ステップS1720:Yes)、第1の装置100のプロセッサ104は上記Write Requestメッセージによって指定されたフィーチャーの値を更新する(ステップS1722)。例えば、図16に示されたように、Write Requestメッセージに含まれたクラスに対応するServiceNjの値を、当該メッセージのデータに更新する。そして、設定情報ビットマップを初期化し(ステップS1724)、コネクション切断処理を行なう(ステップS1730)。上述のように、コネクション切断処理は、例えば、第2の装置200からLL_TERMINATE_INDを受信することで開始される。コネクションが切断された後、プロセスはステップS1704に戻る。
第1の装置100は、第2の装置200からWrite Requestメッセージが受信されない場合(ステップS1720:No)、上記所定の時間が経過したかどうかを判断する(ステップS1726)。上記所定の時間が経過していない場合は(ステップS1726:No)、ステップS1720に戻る。上記所定の時間が経過した場合、即ち、タイムアウトが発生した場合は(ステップS1726:Yes)、第2の装置200が変更を要請する設定情報がないと判断して、設定情報ビットマップを初期化し(ステップS1728)、コネクション切断処理を行なう(ステップS1730)。コネクションが切断された後、プロセスはステップS1704に戻る。
図18は本発明の他の実施形態に係るサーバとクライアント間のデータ通信方法を示す。図18はサーバとクライアントとが常時接続するパターンを想定しているが、本実施形態は再接続が発生するパターンに対しても適用可能である。本実施形態で、サーバに実装されるアトリビュートデータベースは図13の構造を有する。一方、第1の装置100がサーバとして、第2の装置200がクライアントとして動作する。上述した実施形態では、一つのHandle Value Notificationメッセージや一つのWrite Requestメッセージによって一つのフィーチャーの値のみを送信する。従って、サーバ側で複数のフィーチャーに変更があった場合、変更があったフィーチャーの数だけ、Handle Value Notificationメッセージを送信する。クライアント側で複数のフィーチャーを変更したい場合にも、変更したいフィーチャーの数ほど、Write RequestメッセージとWrite Responseメッセージとをやり取りする。これとは違い、本実施形態では、通信回数を一層減らすために、複数のフィーチャーに対して一つのメッセージを用いて通信する。
所定のタイミングに、クライアントは、Attribute Handleパラメーターがアクセス制御用アトリビュートのハンドル、即ち、My Acc Ctrlのキャラクタリスティック値ハンドルである0x000fに設定されたRead Requestメッセージをサーバに送信する。上記所定のタイミングは、例えば、所定の時刻になった時、又は、ユーザの所定の操作があった時である。サーバは、上記メッセージに対する応答として、Attribute Valueパラメーターがアクセスコントロールビットマップに設定されたRead Responseメッセージを送信する。これによって、クライアントがサーバの設定変更ビットマップを取得することができる。上述したように、クライアントも、変更したいデータを示すビットマップを保持しておく。一方、再接続が発生するパターンでは、サーバが設定変更ビットマップをアドバタイジングパケットに格納して、クライアントに送信することで、クライアントがサーバの設定変更ビットマップを取得することができる。
クライアントは、サーバから受信した設定変更ビットマップから変更されたフィーチャーが存在すると判断すれば、Attribute HandleパラメーターがAll Featuresのキャラクタリスティック値ハンドルに設定されたRead Requestメッセージをサーバに送信する。クライアントから上記Read Requestメッセージを受信すれば、サーバは変更されたフィーチャーの値をクライアントに送信する。例えば、変更があったフィーチャーがServiceNa、ServiceNb、ServiceNc、ServiceNdである場合、サーバは図18に示されたように、Attribute HandleパラメーターがAll Featuresのキャラクタリスティック値ハンドルである0x0011に設定され、Attribute Valueパラメーターとして、送信するデータの種類の個数(本例では、4)と、ServiceNa、ServiceNb、ServiceNc、ServiceNdの各々のデータの長さ(Lengthフィールド1バイト)及びデータ((Lengthフィールドの値)バイト)を格納した一つのHandle Value Notificationメッセージをクライアントに送信する。上記メッセージに格納するデータ、即ち、ServiceNa、ServiceNb、ServiceNc、ServiceNdのデータの順番を設定変更ビットマップの順番と同一にすると同時に、各データの前に当該データの長さを付加することによって、クライアント側で複数の種類のデータを区分することができる。データの種類の個数は選択的な情報であり、上記メッセージに含まれなくても良い。
クライアント側で変更したいフィーチャーがある場合は、Attribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、All Featuresのキャラクタリスティック値ハンドルである0x0011と、「クライアント側のビットマップ+更新データ」とに設定されたWrite Requestメッセージを、サーバに送信する。変更するデータの種類が複数である場合は、上記Handle Value Notificationメッセージと同様に、データフィールドに「データの長さ+データ」をビットマップと同一の順番に格納する。クライアント側のビットマップによって、サーバはクライアントが変更を要求するフィーチャーがどれであるかを判別することができる。データの書込みが行われれば、サーバはクライアントにWrite Responseメッセージを送信する。
図19は本発明の他の実施形態に係るアトリビュートデータベースの一例を示す。本実施形態でのアトリビュートデータベースは、図13のアトリビュートデータベースに比べて、データ要求用のキャラクタリスティックであるRead Request for All Featuresを更に含む。残りの部分は図13アトリビュートデータベースと同一であるので、それについては説明を省略する。以下、サーバのアトリビュートデータベースが図19の形態を有する場合のデータ通信について図20及び図21を参照して説明する。図20と図21との両方において、第1の装置100がサーバとして動作し、第2の装置200がクライアントとして動作する。
図20は、本発明の一実施形態に係るサーバとクライアントとが常時接続するパターンにおいてサーバとクライアント間のデータ通信方法を示す。所定のタイミングに、クライアントは、Attribute Handleパラメーターがアクセス制御用アトリビュートのハンドル、即ち、My Acc Ctrlのキャラクタリスティック値ハンドルである0x000fに設定されたRead Requestメッセージをサーバに送信する。上記所定のタイミングは、例えば、所定の時刻になった時、又は、ユーザの所定の操作があった時である。サーバは、上記メッセージに対する応答として、Attribute Valueパラメーターがアクセスコントロールビットマップに設定されたRead Responseメッセージを送信する。これによって、クライアントがサーバのアクセスコントロールビットマップを取得することができる。図11に関連して説明したように、クライアントも、変更したいデータを示すビットマップを保持しておく。
クライアントは、アクセスコントロールビットマップからサーバ側で変更があったフィーチャー(本例では、ServiceNi)を判別し、当該フィーチャーの値を読み出すために、Attribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、Read Request for All Featuresのキャラクタリスティック値ハンドルである0x0011と、ServiceNiのクラスとに設定されたWrite Commandメッセージをサーバに送信する。このWrite Commandメッセージを受信すると、サーバはAttribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、All Featuresのキャラクタリスティック値ハンドルである0x0013と、「ServiceNiのクラス+データ」とに設定されたHandle Value Notificationメッセージを、クライアントに送信する。これによって、クライアントがサーバ側の変更されたデータを取得することができる。アクセスコントロールビットマップからサーバ側において変更されたフィーチャーがないと判断される場合は、 Write Commandメッセージを送信しない。
図11に関連して説明したように、クライアントは、取得された設定変更ビットマップと、クライアント内部のビットマップとを論理的ORすることで、同期させるデータを判別することができる。例えば、サーバの設定のうちServiceNjを変更したい場合、クライアントは、Attribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、All Featuresのキャラクタリスティック値ハンドルである0x0013と、「ServiceNjのクラス+更新データ」とに設定されたWrite Commandメッセージを、サーバに送信する。Write Command の代わりに、Responseメッセージを伴うWrite Requestメッセージを用いることも可能である。この場合、上記データが書き込まれると、サーバはクライアントにWrite Responseメッセージを送信する。
図21は本発明の一実施形態に係るサーバとクライアントとの間に再接続が発生するパターンにおいてサーバとクライアント間のデータ通信方法を示す。所定のタイミングに、サーバである第1の装置100がアドバタイジングパケットを送信する。上記所定のタイミングは、例えば、所定の時刻になった時、又は、ユーザの所定の操作があった時である。このアドバタイジングパケットには、サーバ側において前回の通信の後に変更があったフィーチャーを示す設定変更ビットマップが格納される。即ち、本実施形態では、サーバとクライアント間のコネクションが構築される前に、アドバタイズ段階においてサーバの設定変更ビットマップをクライアントに送信する。第2の装置200が上記アドバタイジングパケットを受信することによって、サーバ側の設定変更ビットマップを取得することができる。図示された例において、サーバ側の設定変更ビットマップは00010000である。即ち、前回の通信の後に5番目のフィーチャーの設定が変更された。上述のように、第1の装置100と第2の装置200でビットマップの順番を共通にすることで、第2の装置200が取得された上記ビットマップから第1の装置100のどのフィーチャーに変更があったかを判別することができる。また、図11に関連して説明したように、クライアントも、変更したいデータを示すビットマップを保持しておく。図示された例において、クライアント側のビットマップは00000100である。即ち、クライアント側では3番目のフィーチャーの設定が変更された。
上記アドバタイジングパケットを受信した第2の装置200が、第1の装置100にConnection Requestを発信し、上記Connection Requestを第1の装置100が受信することによって、2つの装置のコネクションが構築される。次に、サービスディスカバリーが行われる。このサービスディスカバリーセッションで、クライアントである第2の装置200は、第1の装置100に実装されているサービスとキャラクタリスティックとに関する情報(図19を参照)を取得する。
サービスディスカバリーが終了すれば、クライアントである第2の装置200は設定変更ビットマップからサーバ側で変更があったフィーチャー(本例では、ServiceN5)を判別し、当該フィーチャーの値を読み出すために、Attribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、Read Request for All Featuresのキャラクタリスティック値ハンドルである0x0011と、ServiceN5のクラスとに設定されたWrite Commandメッセージをサーバに送信する。このWrite Commandメッセージを受信すると、サーバはAttribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、All Featuresのキャラクタリスティック値ハンドルである0x0013と、「ServiceN5のクラス+データ」とに設定されたHandle Value Notificationメッセージを、クライアントに送信する。これによって、クライアントがサーバ側の変更されたデータを取得することができる。設定変更ビットマップからサーバ側において変更されたフィーチャーがないと判断される場合は、Write Commandメッセージを送信しない。
図11に関連して説明したように、クライアントは、取得された設定変更ビットマップとクライアント内部のビットマップとを論理的ORすることで、同期させるデータを判別することができる。図示された例においては、Service N3の設定の変更が要求されるので、クライアントはAttribute Handleパラメーターと、Attribute Valueパラメーターとのそれぞれが、All Featuresのキャラクタリスティック値ハンドルである0x0013と、「ServiceN3のクラス+更新データ」とに設定されたWrite Commandメッセージを、サーバに送信する。Write Commandの代わりに、Responseメッセージを伴うWrite Requestメッセージを用いることも可能である。この場合、ServiceN3が上記データに更新されると、サーバはクライアントにWrite Responseメッセージを送信する。
必要なデータのやり取りが完了すれば、例えば、第2の装置200がコネクションを切断する手続きを開始するためのメッセージ(LL_TERMINATE_IND)を第1の装置100に送信し、第1の装置100から確認(Ack)メッセージを受信することによって、コネクションを切断する。第1の装置100と第2の装置200との両側において設定に変更がなかった場合、即ち、両側のビットマップの全てのビットの値が0である場合は、やりとりするデータがないので、コネクションが構築された後にすぐにコネクションを切断する。
上記実施形態では、サーバに対して設定情報を要求するWrite CommandメッセージのHandle Valueパラメーターとして、変更があったフィーチャーのクラスを用いる。他の実施形態では、Write Commandメッセージの Handle Valueパラメーターとして設定変更ビットマップを用いる。パラメーターとしてビットマップを用いれば、クラスを用いる場合に比べて通信データの量を減らすこともできる。例えば、サーバ側のフィーチャーが1個である場合、ビットマップは1ビットの大きさを持つので、1バイトの大きさであるクラスを用いる場合に比べてデータの量が1/8に減少する。即ち、ビットマップをパラメーターとして用いれば、フィーチャーの数によっては、クラスを用いる場合に比べて最大1/8程度まで通信するデータの量を減少させることが可能である。
上述した複数の実施形態において、Write CommandメッセージはWrite Requestメッセージに切り替えることができ、Handle Value NotificationメッセージはHandle Value Indicationメッセージに切り替えることができる。メッセージの種類は、送信データの重要度、メッセージを受信する端末のバッテリーの容量、等によって決まる。
また、上述した複数の実施形態において、サーバは、クライアントから要求メッセージ、例えば、図14のAll FeaturesへのRead Request、図20のRead Request for All FeaturesへのWrite Commandが受信されると、前回の通信の後に変更があった設定情報をクライアントに送信する。しかし、本発明は、この実施形態に限定されない。他の実施形態では、クライアントが設定情報を要求するメッセージを送信せずに、所定のタイミングになると、サーバが前回の通信の後に変更があった設定情報を格納した告知又は指示メッセージをクライアントに送信する。
尚、図13又は図19に示された実施形態によると、全てのフィーチャーの値を統合型キャラクタリスティックであるAll Featuresを利用して管理することで、サービスディスカバリーに所要する時間が短縮されることができ、これは接続時間を減らす。また、新しいフィーチャーが付加されてもサービスやキャラクタリスティックを追加する必要がない。サーバ装置に現在のバージョンの仕様に含まれているフィーチャーを追加しようとする場合は、当該フィーチャーに対応するクラスとアトリビュートを追加すれば良い。この場合は、フィーチャーの追加のためのユーザのプログラミングの時に上記フィーチャーによってクラスが自動的に付与されるように通信装置のファームウェアが設計されているとユーザの便宜性を高めることができる。また、現在のバージョンの仕様に含まれていない新しいフィーチャーをユーザに追加、即ち、新しいクラスを生成させることができるようにファームウェアが設計されても良い。新しく生成されるクラスは他のフィーチャーのクラスと異なる固有の値を持つことが好ましい。尚、ユーザが標準グループが管理するウェブサイトを通じてフィーチャーを追加することができるようにすることも可能である。新しいフィーチャーが追加された仕様は、ファームウェアのアップデート等によって通信装置に適用されることができる。
以上、本発明をブルートゥース(Bluetooth(登録商標))、特に、BLEに適用した実施形態について説明したが、本発明の適用分野はこれに限定されないし、例えば、他の無線通信技術にも適用可能である。特に、サービスディスカバリーの概念を用いる無線通信技術に適用可能である。
本発明が属する技術分野における通常の知識を有する者は、上記説明及び関連図面から本発明の多くの変形及び他の実施形態を導出することができる。従って、本発明は開示された特定の実施形態に限定されない。本明細書では、複数の特定用語が使われているが、これらは一般的な意味として単に説明の目的のために使われただけであり、発明を制限する目的で使われたものではない。添付の特許請求の範囲及びその均等物により定義される一般的な発明の概念及び思想を抜け出さない範囲で多様な変形が可能である。
(付記1)
無線通信のできる装置であって、
通信パケットを他の通信装置と送受信する通信部と、
一つ以上の種類の設定情報を格納するメモリと、
プロセッサと、
を備え、
前記プロセッサは、前記他の通信装置との前回の通信後に、前記一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断し、前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成し、前記判別情報に基づいて、前記他の通信装置との通信を制御することを特徴とする通信装置。
(付記2)
前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一であることを特徴とする付記1に記載の通信装置。
(付記3)
前記ビットマップの各ビットは、対応する前記設定情報が前記他の通信装置との前回の通信後に変更されたかどうかを示すことを特徴とする付記2に記載の通信装置。
(付記4)
前記ビットマップの各ビットは、対応する前記設定情報が前記他の通信装置との前回の通信後に変更された場合は1に設定され、変更されていない場合は0に設定されることを特徴とする付記2又は3に記載の通信装置。
(付記5)
前記プロセッサは、所定のタイミングに、前記通信部に、前記判別情報を前記他の通信装置に送信させることを特徴とする付記1乃至4の何れか1つに記載の通信装置。
(付記6)
前記プロセッサは、前記他の通信装置から前記判別情報を要求するメッセージが受信された場合に、前記通信部に、前記判別情報を前記他の通信装置に送信させることを特徴とする付記1乃至5の何れか1つに記載の通信装置。
(付記7)
前記判別情報は、前記他の通信装置に送信されるアドバタイジングパケットに格納されることを特徴とする付記1乃至6の何れか1つに記載の通信装置。
(付記8)
前記プロセッサは、前記通信部に、前記変更された設定情報を前記他の通信装置に送信させることを特徴とする付記1乃至7の何れか1つに記載の通信装置。
(付記9)
前記プロセッサは、前記通信部を介して前記他の通信装置から設定情報を要求するメッセージが受信された場合に、前記通信部に、前記変更された設定情報を前記他の通信装置に送信させることを特徴とする付記1乃至7の何れか1つに記載の通信装置。
(付記10)
前記他の通信装置との前回の通信後に変更がなかった設定情報は、前記他の通信装置に送信されないことを特徴とする付記8又は9に記載の通信装置。
(付記11)
前記プロセッサは、前記判別情報に基づいて、前記少なくとも一つの変更された設定情報を含む更新情報を生成し、
所定のタイミングに、前記通信部に、前記更新情報を前記他の通信装置に送信させることを特徴とする付記1乃至7の何れか1つに記載の通信装置。
(付記12)
前記他の通信装置との前回の通信の後に複数の設定情報が変更された場合に、
前記プロセッサは、前記判別情報に基づいて、前記複数の変更された設定情報を含む更新情報を生成し、
前記更新情報に含まれる前記複数の設定情報の配列の順番は、前記ビットマップのビットの配列の順番にマッチングされることを特徴とする付記2に記載の通信装置。
(付記13)
前記プロセッサは、前記通信部を介して前記他の通信装置から前記一つ以上の種類の設定情報のうち少なくとも一つの更新値を受信した場合、前記メモリに格納されている前記設定情報の値を前記更新値に更新することを特徴とする付記1乃至12の何れか1つに記載の通信装置。
(付記14)
付記1乃至13の何れか1つに記載の通信装置と、
現在の日時を計数する計時部と、
を備えることを特徴とする電子時計。
(付記15)
無線通信のできる装置であって、
他の通信装置からサービス情報を受信し、前記他の通信装置と通信パケットを送受信する通信部と、
一つ以上の種類の設定情報を格納するメモリと、
プロセッサと、
を備え、
前記プロセッサは、前記他の通信装置から前記一つ以上の種類の設定情報の更新の有無を示す判別情報を受信し、前記判別情報に基づいて、前記他の通信装置との通信を制御することを特徴とする通信装置。
(付記16)
前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一であることを特徴とする付記15に記載の通信装置。
(付記17)
前記判別情報は、前記設定情報の種類の個数のビットを有する第1のビットマップであり、
前記プロセッサは、前記他の通信装置との前回の通信後に前記一つ以上の種類の設定情報に変更があるかどうかを示す第2のビットマップを生成し、
前記第1のビットマップと第2のビットマップとに基づいて、前記一つ以上の種類の設定情報を前記他の通信装置の設定情報と同期させることを特徴とする付記15又は16に記載の通信装置。
(付記18)
無線通信のできる装置の通信方法であって、
他の通信装置とペアリングするステップと、
前記他の通信装置との前回の通信後に、一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断するステップと、
前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成するステップと、
前記判別情報に基づいて、前記他の通信装置との通信を制御するステップと、
を備えることを特徴とする通信方法。
(付記19)
無線通信のできる装置の通信方法であって、
他の通信装置とペアリングするステップと、
前記他の通信装置から、一つ以上の種類の設定情報を更新するかどうかを示す判別情報を受信するステップと、
前記判別情報に基づいて、前記他の通信装置との通信を制御するステップと、
を備えることを特徴とする通信方法。
(付記20)
無線通信のできる装置に、
他の通信装置とペアリングするステップと、
前記他の通信装置との前回の通信後に、一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断するステップと、
前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成するステップと、
前記判別情報に基づいて、前記他の通信装置との通信を制御するステップと、
を実行させるプログラム。
(付記21)
無線通信のできる装置に、
他の通信装置とペアリングするステップと、
前記他の通信装置から、一つ以上の種類の設定情報を更新するかどうかを示す判別情報を受信するステップと、
前記判別情報に基づいて、前記他の通信装置との通信を制御するステップと、
を実行させるプログラム。
(符号の説明)
100 電子時計
200 スマートフォン
102 近距離通信部
104 プロセッサ
106 電源部
108 メモリ
110 時計部
112 入力部
114 表示部
202 遠距離通信処理部
204 近距離通信部
206 プロセッサ
208 メモリ
210 電源部
212 入力部
214 表示部
216 時計部

Claims (19)

  1. 無線通信のできる装置であって、
    通信パケットを他の通信装置と送受信する通信部と、
    一つ以上の種類の設定情報を格納するメモリと、
    プロセッサと、
    を備え、
    前記プロセッサは、前記他の通信装置との前回の通信後に、前記一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断し、前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成し、前記判別情報に基づいて、前記他の通信装置との通信を制御し、
    前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一であることを特徴とする通信装置。
  2. 前記ビットマップの各ビットは、対応する前記設定情報が前記他の通信装置との前回の通信後に変更されたかどうかを示すことを特徴とする請求項に記載の通信装置。
  3. 前記ビットマップの各ビットは、対応する前記設定情報が前記他の通信装置との前回の通信後に変更された場合は1に設定され、変更されていない場合は0に設定されることを特徴とする請求項1又は2に記載の通信装置。
  4. 前記他の通信装置との前回の通信の後に複数の設定情報が変更された場合に、
    前記プロセッサは、前記判別情報に基づいて、前記複数の変更された設定情報を含む更新情報を生成し、
    前記更新情報に含まれる前記複数の設定情報の配列の順番は、前記ビットマップのビットの配列の順番にマッチングされることを特徴とする請求項1に記載の通信装置。
  5. 前記プロセッサは、所定のタイミングに、前記通信部に、前記判別情報を前記他の通信装置に送信させることを特徴とする請求項1乃至4の何れか1項に記載の通信装置。
  6. 前記プロセッサは、前記他の通信装置から前記判別情報を要求するメッセージが受信された場合に、前記通信部に、前記判別情報を前記他の通信装置に送信させることを特徴とする請求項1乃至5の何れか1項に記載の通信装置。
  7. 前記判別情報は、前記他の通信装置に送信されるアドバタイジングパケットに格納されることを特徴とする請求項1乃至6の何れか1項に記載の通信装置。
  8. 無線通信のできる装置であって、
    通信パケットを他の通信装置と送受信する通信部と、
    一つ以上の種類の設定情報を格納するメモリと、
    プロセッサと、
    を備え、
    前記プロセッサは、前記他の通信装置との前回の通信後に、前記一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断し、前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成し、前記判別情報に基づいて、前記他の通信装置との通信を制御し、
    また、前記プロセッサは、前記通信部に、前記変更された設定情報を前記他の通信装置に送信させることを特徴とする通信装置。
  9. 無線通信のできる装置であって、
    通信パケットを他の通信装置と送受信する通信部と、
    一つ以上の種類の設定情報を格納するメモリと、
    プロセッサと、
    を備え、
    前記プロセッサは、前記他の通信装置との前回の通信後に、前記一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断し、前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成し、前記判別情報に基づいて、前記他の通信装置との通信を制御し、
    また、前記プロセッサは、前記通信部を介して前記他の通信装置から設定情報を要求するメッセージが受信された場合に、前記通信部に、前記変更された設定情報を前記他の通信装置に送信させることを特徴とする通信装置。
  10. 前記他の通信装置との前回の通信後に変更がなかった設定情報は、前記他の通信装置に送信されないことを特徴とする請求項8又は9に記載の通信装置。
  11. 無線通信のできる装置であって、
    通信パケットを他の通信装置と送受信する通信部と、
    一つ以上の種類の設定情報を格納するメモリと、
    プロセッサと、
    を備え、
    前記プロセッサは、前記他の通信装置との前回の通信後に、前記一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断し、前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成し、前記判別情報に基づいて、前記他の通信装置との通信を制御し、
    また、前記プロセッサは、前記判別情報に基づいて、前記少なくとも一つの変更された設定情報を含む更新情報を生成し、所定のタイミングに、前記通信部に、前記更新情報を前記他の通信装置に送信させることを特徴とする通信装置。
  12. 無線通信のできる装置であって、
    通信パケットを他の通信装置と送受信する通信部と、
    一つ以上の種類の設定情報を格納するメモリと、
    プロセッサと、
    を備え、
    前記プロセッサは、前記他の通信装置との前回の通信後に、前記一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断し、前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成し、前記判別情報に基づいて、前記他の通信装置との通信を制御し、
    また、前記プロセッサは、前記通信部を介して前記他の通信装置から前記一つ以上の種類の設定情報のうち少なくとも一つの更新値を受信した場合、前記メモリに格納されている前記設定情報の値を前記更新値に更新することを特徴とする通信装置。
  13. 請求項1乃至12の何れか1項に記載の通信装置と、
    現在の日時を計数する計時部と、
    を備えることを特徴とする電子時計。
  14. 無線通信のできる装置であって、
    他の通信装置からサービス情報を受信し、前記他の通信装置と通信パケットを送受信する通信部と、
    一つ以上の種類の設定情報を格納するメモリと、
    プロセッサと、
    を備え、
    前記プロセッサは、前記他の通信装置から前記一つ以上の種類の設定情報の更新の有無を示す判別情報を受信し、前記判別情報に基づいて、前記他の通信装置との通信を制御し、
    前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一であることを特徴とする通信装置。
  15. 前記判別情報は、前記設定情報の種類の個数のビットを有する第1のビットマップであり、
    前記プロセッサは、前記他の通信装置との前回の通信後に前記一つ以上の種類の設定情報に変更があるかどうかを示す第2のビットマップを生成し、
    前記第1のビットマップと第2のビットマップとに基づいて、前記一つ以上の種類の設定情報を前記他の通信装置の設定情報と同期させることを特徴とする請求項14に記載の通信装置。
  16. 無線通信のできる装置の通信方法であって、
    他の通信装置とペアリングするステップと、
    前記他の通信装置との前回の通信後に、一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断するステップと、
    前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成するステップと、
    前記判別情報に基づいて、前記他の通信装置との通信を制御するステップと、
    を備え、
    前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一であることを特徴とする通信方法。
  17. 無線通信のできる装置の通信方法であって、
    他の通信装置とペアリングするステップと、
    前記他の通信装置から、一つ以上の種類の設定情報を更新するかどうかを示す判別情報を受信するステップと、
    前記判別情報に基づいて、前記他の通信装置との通信を制御するステップと、
    を備え、
    前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一であることを特徴とする通信方法。
  18. 無線通信のできる装置に、
    他の通信装置とペアリングするステップと、
    前記他の通信装置との前回の通信後に、一つ以上の種類の設定情報のうち少なくとも一つに変更があるかどうかを判断するステップと、
    前記一つ以上の種類の設定情報の変更の有無を示す判別情報を生成するステップと、
    前記判別情報に基づいて、前記他の通信装置との通信を制御するステップと、
    を実行させ、
    前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一であるプログラム。
  19. 無線通信のできる装置に、
    他の通信装置とペアリングするステップと、
    前記他の通信装置から、一つ以上の種類の設定情報を更新するかどうかを示す判別情報を受信するステップと、
    前記判別情報に基づいて、前記他の通信装置との通信を制御するステップと、
    を実行させ、
    前記判別情報はビットマップであり、前記ビットマップのビットの数は、前記設定情報の種類の個数と同一であるプログラム。
JP2016253430A 2016-12-27 2016-12-27 通信装置、通信方法、電子時計及びプログラム Active JP6880719B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016253430A JP6880719B2 (ja) 2016-12-27 2016-12-27 通信装置、通信方法、電子時計及びプログラム
US15/708,369 US10432771B2 (en) 2016-12-27 2017-09-19 Communication device, communication method, and storage medium
KR1020170123811A KR102398992B1 (ko) 2016-12-27 2017-09-25 통신 장치, 통신 방법, 및 기억 매체에 저장된 프로그램
CN201711003418.8A CN108616289B (zh) 2016-12-27 2017-10-24 通信装置、通信方法以及记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016253430A JP6880719B2 (ja) 2016-12-27 2016-12-27 通信装置、通信方法、電子時計及びプログラム

Publications (2)

Publication Number Publication Date
JP2018107680A JP2018107680A (ja) 2018-07-05
JP6880719B2 true JP6880719B2 (ja) 2021-06-02

Family

ID=62630206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016253430A Active JP6880719B2 (ja) 2016-12-27 2016-12-27 通信装置、通信方法、電子時計及びプログラム

Country Status (4)

Country Link
US (1) US10432771B2 (ja)
JP (1) JP6880719B2 (ja)
KR (1) KR102398992B1 (ja)
CN (1) CN108616289B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6880719B2 (ja) * 2016-12-27 2021-06-02 カシオ計算機株式会社 通信装置、通信方法、電子時計及びプログラム
US20190391632A1 (en) * 2017-09-19 2019-12-26 Lg Electronis Inc. Display device and terminal for controlling the same
CN114826946B (zh) * 2022-06-29 2022-09-13 深圳红途科技有限公司 未授权访问接口的检测方法、装置、设备及存储介质

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002051058A (ja) * 2000-04-20 2002-02-15 Matsushita Electric Ind Co Ltd 通信システム、車載通信システム、通信機器、及び車載機器
GB0124323D0 (en) * 2001-10-10 2001-11-28 Nokia Corp Setting mode of communication
US7941177B2 (en) * 2004-09-15 2011-05-10 Samsung Electronics Co., Ltd Wireless terminal apparatus for automatically changing WLAN standard and method thereof
WO2006073877A2 (en) * 2005-01-05 2006-07-13 Japan Communications, Inc. Systems and methods of providing voice communications over packet networks
JP4506658B2 (ja) * 2005-11-30 2010-07-21 ソニー株式会社 無線通信システム,通信装置,設定情報提供方法,設定情報取得方法,およびコンピュータプログラム
US20110019555A1 (en) * 2006-09-13 2011-01-27 Yukie Gotoh Communication apparatus
US20080253326A1 (en) * 2007-04-13 2008-10-16 Qualcomm Incorporated Synchronous adaptive harq
US8843115B2 (en) * 2008-06-23 2014-09-23 Qualcomm Incorporated Method and apparatus for managing system information modification in a wireless communication system
US8774722B2 (en) * 2009-07-09 2014-07-08 Mediatek Inc. Systems and methods for reducing interference between a plurality of wireless communications modules
JP5381448B2 (ja) * 2009-07-21 2014-01-08 富士ゼロックス株式会社 情報伝送システム、情報伝送装置及びプログラム
JP5887969B2 (ja) * 2012-02-07 2016-03-16 セイコーエプソン株式会社 無線通信機器
JP5738790B2 (ja) * 2012-03-06 2015-06-24 オリンパス株式会社 無線通信端末、無線通信システム、無線セットアップ方法、およびプログラム
JP5983380B2 (ja) * 2012-12-11 2016-08-31 富士通株式会社 移動局装置、通信システム、通信方法及びコンピュータプログラム
JP6141053B2 (ja) 2013-03-08 2017-06-07 クラリオン株式会社 端末装置、通信システム、情報処理装置、及び通信プログラム
JP2015076694A (ja) * 2013-10-08 2015-04-20 コニカミノルタ株式会社 画像形成装置
JP6251394B2 (ja) * 2013-12-24 2017-12-20 エルジー エレクトロニクス インコーポレイティド 無線通信システムにおいてueが隣接セルからの干渉を除去する方法及びそのための装置
DE102015208547A1 (de) * 2014-05-09 2015-11-12 Apple Inc. Erweiterte bluetooth-kommunikationsmodi
WO2016003018A1 (ko) * 2014-07-02 2016-01-07 엘지전자(주) 이동단말기 및 그 제어방법
WO2016036206A2 (ko) * 2014-09-04 2016-03-10 엘지전자(주) 블루투스 le(low energy) 기술을 이용하여 디바이스를 제어하기 위한 방법 및 장치
JP6454120B2 (ja) * 2014-10-02 2019-01-16 キヤノン株式会社 通信装置、制御方法、及びプログラム
KR20160042569A (ko) * 2014-10-10 2016-04-20 삼성전자주식회사 다중 연결 방법 및 이를 지원하는 전자 장치
KR20160051977A (ko) * 2014-10-30 2016-05-12 삼성전자주식회사 통신 서비스 운용 방법 및 이를 지원하는 전자 장치
US9510136B2 (en) * 2014-10-31 2016-11-29 Aruba Networks, Inc. Access control in bluetooth® low energy devices
JP6413691B2 (ja) * 2014-11-20 2018-10-31 株式会社リコー データ通信装置、データ通信方法、及びデータ通信プログラム
US10524298B2 (en) * 2015-05-07 2019-12-31 Lg Electronics Inc. Method and apparatus for sending and receiving data on Bluetooth
CN104967730A (zh) * 2015-05-12 2015-10-07 广东美晨通讯有限公司 通话方式及终端
US10827391B2 (en) * 2015-07-26 2020-11-03 Lg Electronics Inc. Method and device for connecting substitute communication means by using bluetooth low energy (LE) technique
JP6880719B2 (ja) * 2016-12-27 2021-06-02 カシオ計算機株式会社 通信装置、通信方法、電子時計及びプログラム
JP6667476B2 (ja) * 2017-06-30 2020-03-18 キヤノン株式会社 通信装置、制御方法及びプログラム

Also Published As

Publication number Publication date
JP2018107680A (ja) 2018-07-05
US20180183919A1 (en) 2018-06-28
CN108616289B (zh) 2020-09-15
KR20180076277A (ko) 2018-07-05
CN108616289A (zh) 2018-10-02
US10432771B2 (en) 2019-10-01
KR102398992B1 (ko) 2022-05-16

Similar Documents

Publication Publication Date Title
JP7163995B2 (ja) 通信装置、通信方法、及びプログラム
CN112787685B (zh) 用于支持无线通信的方法、装置及系统
US10827334B2 (en) Method and apparatus for connecting devices using Bluetooth LE technology
US20170208639A1 (en) Method and apparatus for controlling a device using bluetooth technology
EP3893109B1 (en) Method and device for connecting bluetooth devices
JP2019506813A (ja) ソースデバイスがBluetooth等時性チャネルに関連する同期情報をブロードキャストすること
EP3550888A1 (en) Wireless connection switching method and terminal
US11172530B2 (en) Communication establishment method and terminal
EP1353485B1 (en) User interface for pushing information in a short range radio mobile terminal
US10404812B2 (en) Method and apparatus for providing a persistent USB service for wireless USB devices
US10887762B2 (en) Method and apparatus for transmitting and receiving data using Bluetooth technology
US10721611B2 (en) Method and device for controlling device by using Bluetooth technology
JP6880719B2 (ja) 通信装置、通信方法、電子時計及びプログラム
US10194477B2 (en) Method and apparatus for controlling a device using bluetooth technology
US11367449B2 (en) Method and apparatus for calling voice recognition service by using Bluetooth low energy technology
JP6988124B2 (ja) 通信装置、電子時計、通信方法、及びプログラム
JP2007505588A (ja) アドホック無線ネットワーク用のupnp端末
KR20170056807A (ko) 무선 통신 시스템에서 데이터를 송수신하기 위한 방법 및 장치
KR102177201B1 (ko) 무선 통신시스템에서 데이터의 송수신 방법, 장치 및 시스템
KR102197942B1 (ko) 무선 통신시스템에서 데이터의 송수신 방법, 장치 및 시스템
WO2023246648A1 (zh) 蓝牙数据的处理方法、终端设备和可读存储介质
CN117319981A (zh) 设备发现方法、装置及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210108

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: 20210406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6880719

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150