(57)【特許請求の範囲】
【請求項１】
Ｂｌｕｅｔｏｏｔｈ  ＬＥ通信を実行可能な情報処理装置であって、
前記情報処理装置が提供可能なサービスを示すサービス情報を含み、かつ、接続要求を受け付け不可能であることを示す、Ｂｌｕｅｔｏｏｔｈ  ＬＥに対応した第１タイプのアドバタイズメントパケットを送信しつつ、外部装置から送信され、かつ、特定の通信相手と接続可能であることを示す、Ｂｌｕｅｔｏｏｔｈ  ＬＥに対応した第２タイプのアドバタイズメントパケットをスキャンする通信手段と、
前記スキャンの結果として受信された前記第２タイプのアドバタイズメントパケットにおいて、前記情報処理装置が前記特定の通信相手として指定されているか否かを判定する判定手段と、
前記受信された前記第２タイプのアドバタイズメントパケットにおいて前記情報処理装置が前記特定の通信相手として指定されていると前記判定手段によって判定された場合に、マスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立するために、前記受信された前記第２タイプのアドバタイズメントパケットの送信元に対して接続要求を送信する接続手段と、を備え、
前記接続手段が、前記受信された前記第２タイプのアドバタイズメントパケットの前記送信元とマスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立した後、前記通信手段は、マスターとして他の外部装置とＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立できるように、前記第２タイプのアドバタイズメントパケットのスキャンと前記第１タイプのアドバタイズメントパケットの送信とを継続することを特徴とする情報処理装置。
【請求項２】
前記通信手段は、前記第１タイプのアドバタイズメントパケットの送信中に、接続要求を受け付け可能であることを示す、Ｂｌｕｅｔｏｏｔｈ  ＬＥに対応した第３タイプのアドバタイズメントパケットを更に送信し、
前記通信手段は、少なくとも、前記接続手段がマスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立してから、マスターとして確立した全てのＢｌｕｅｔｏｏｔｈ  ＬＥ接続が終了するまでの間、前記第３タイプのアドバタイズメントパケットの送信を停止することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
マスターとして確立したＢｌｕｅｔｏｏｔｈ  ＬＥ接続が終了した場合に、前記通信手段は、前記第３タイプのアドバタイズメントパケットの送信を再開することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第３タイプのアドバタイズメントパケットの送信中に接続要求を前記外部装置から受信した場合、前記接続手段は、スレーブとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
スレーブとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立する場合、前記通信手段は、前記第１タイプのアドバタイズメントパケット及び前記第３タイプのアドバタイズメントパケットの両方の送信を停止することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
スレーブとして確立したＢｌｕｅｔｏｏｔｈ  ＬＥ接続が終了した場合に、前記通信手段は、前記第１タイプのアドバタイズメントパケット及び前記第３タイプのアドバタイズメントパケットの送信を再開することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記情報処理装置は、印刷処理を実行可能な印刷装置であることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１タイプのアドバタイズメントパケットのＰＤＵタイプには、ＡＤＶ＿ＮＯＮＣＯＮＮ＿ＩＮＤを示す値が設定され、
前記第２タイプのアドバタイズメントパケットのＰＤＵタイプには、ＡＤＶ＿ＤＩＥＲＣＴ＿ＩＮＤを示す値が設定されることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記第３タイプのアドバタイズメントパケットのＰＤＵタイプには、ＡＤＶ＿ＩＮＤを示す値が設定されることを特徴とする請求項２又は３に記載の情報処理装置。
【請求項１０】
前記通信手段は、前記接続手段がマスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立してから、マスターとして確立した全てのＢｌｕｅｔｏｏｔｈ  ＬＥ接続が終了するまでの間も、前記第１タイプのアドバタイズメントパケットの送信を継続することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
Ｂｌｕｅｔｏｏｔｈ  ＬＥ通信を実行可能な情報処理装置の制御方法であって、
前記情報処理装置が提供可能なサービスを示すサービス情報を含み、かつ、接続要求を受け付け不可能であることを示す、Ｂｌｕｅｔｏｏｔｈ  ＬＥに対応した第１タイプのアドバタイズメントパケットを送信しつつ、外部装置から送信され、かつ、特定の通信相手と接続可能であることを示す、Ｂｌｕｅｔｏｏｔｈ  ＬＥに対応した第２タイプのアドバタイズメントパケットをスキャンする工程と、
前記スキャンの結果として受信された前記第２タイプのアドバタイズメントパケットにおいて、前記情報処理装置が前記特定の通信相手として指定されているか否かを判定する工程と、
前記受信された前記第２タイプのアドバタイズメントパケットにおいて前記情報処理装置が前記特定の通信相手として指定されていると判定された場合に、マスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立するために、前記受信された前記第２タイプのアドバタイズメントパケットの送信元に対して接続要求を送信する工程と、を含み
前記受信された前記第２タイプのアドバタイズメントパケットの前記送信元とマスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続が確立された後、マスターとして他の外部装置とＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立できるように、前記第２タイプのアドバタイズメントパケットのスキャンと前記第１タイプのアドバタイズメントパケットの送信とが継続されることを特徴とする制御方法。
【請求項１２】
情報処理装置と外部装置との間でＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立する通信方法であって、
前記情報処理装置が、
前記情報処理装置が提供可能なサービスを示すサービス情報を含み、かつ、接続要求を受け付け不可能であることを示す、Ｂｌｕｅｔｏｏｔｈ  ＬＥに対応した第１タイプのアドバタイズメントパケットを送信しつつ、外部装置から送信され、かつ、特定の通信相手と接続可能であることを示す、Ｂｌｕｅｔｏｏｔｈ  ＬＥに対応した第２タイプのアドバタイズメントパケットをスキャンする工程と、
前記スキャンの結果として受信された前記第２タイプのアドバタイズメントパケットにおいて、前記情報処理装置が前記特定の通信相手として指定されているか否かを判定する工程と、
前記受信された前記第２タイプのアドバタイズメントパケットにおいて前記情報処理装置が前記特定の通信相手として指定されていると判定された場合に、マスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立するために、前記受信された前記第２タイプのアドバタイズメントパケットの送信元に対して接続要求を送信する工程と、
前記外部装置が、
前記情報処理装置から送信された前記第１タイプのアドバタイズメントパケットを受信する工程と、
前記受信された前記第１タイプのアドバタイズメントパケットに含まれる前記サービス情報に基づいて、前記情報処理装置が提供可能なサービスを表示する工程と、
前記表示されたサービスからユーザにより要求されたサービスを受けるために、前記特定の通信相手として前記情報処理装置が指定された前記第２タイプのパケットを送信する工程と、
前記外部装置が前記情報処理装置から前記接続要求を受信した場合に、スレーブとして前記Ｂｌｕｅｔｏｏｔｈ  ＬＥ接続を確立する工程と、を含み、
前記情報処理装置において、前記受信された前記第２タイプのアドバタイズメントパケットの前記送信元とマスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続が確立された後、マスターとして他の外部装置とＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立できるように、前記第２タイプのアドバタイズメントパケットのスキャンと前記第１タイプのアドバタイズメントパケットの送信とが継続されることを特徴とする通信方法。
【請求項１３】
請求項１から１０のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、近距離無線通信を行う情報処理装置及びその制御方法、通信方法、並びにプログラムに関するものである。
【背景技術】
【０００２】
近年、Bluetooth（登録商標）通信等の近距離無線通信の機能を搭載した医療機器、家電機器、ＯＡ機器等の情報処理装置では、Bluetooth Low Energy（ＢＬＥ）規格に対応した装置が増えている。このＢＬＥは、Bluetooth規格の拡張仕様の１つである。例えば、特許文献１には、情報処理装置がＢＬＥを利用してモバイル端末に対してサービスを提供するシステムが開示されている。
【０００３】
特許文献１のようにモバイル端末が情報処理装置のサービスを利用するシステムでは、モバイル端末がＢＬＥ通信により情報処理装置を発見し、発見した情報処理装置に対して接続要求を行う場合が多い。この場合、情報処理装置はアドバタイザとなり、ＢＬＥ規格のアドバタイズメントパケットを送信する。情報処理装置は、例えばサービスを特定するための情報をアドバタイズメントパケットに含めて送信することで、周囲に存在するモバイル端末に、サービスを提供可能であることを知らせることができる。
【０００４】
アドバタイズメントパケットの送信元の情報処理装置が提供するサービスをモバイル端末が利用する場合、モバイル端末は、当該情報処理装置との間でＢＬＥ通信のための無線接続（ＢＬＥ接続）を確立する必要がある。この場合、モバイル端末はイニシエータとなり、当該情報処理装置にＢＬＥ通信の接続要求（CONNECT_REQ）送信することで、ＢＬＥ接続を確立でき、確立したＢＬＥ接続を介して情報処理装置のサービスを利用できる。このように、周囲に存在するモバイル端末に情報処理装置がサービスを提供する場合、複数のユーザがそれぞれのモバイル端末を用いて情報処理装置のサービスを同時に利用する状況が想定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１２０１７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上述のようにモバイル端末がイニシエータとなってＢＬＥ接続を確立する手順では、以下のような問題が生じうる。上述の手順によってモバイル端末と情報処理装置との間でＢＬＥ接続が確立されると、イニシエータであるモバイル端末がマスターとなり、アドバタイザである情報処理装置がスレーブとなり、ＢＬＥ接続を介した通信が行われる。Bluetooth規格をベースとしたＢＬＥ規格では、１つのマスターに対して複数のスレーブが接続可能な接続形態を採用しているため、スレーブは１つのマスターに対してのみＢＬＥ接続を確立可能である。即ち、上述のように情報処理装置がスレーブになった場合、情報処理装置は１つのモバイル端末としかＢＬＥ接続を確立できず、複数の携帯端末と同時にＢＬＥ接続を確立できない。このような場合、情報処理装置は、ＢＬＥ通信（近距離無線通信）を利用して複数のモバイル端末（携帯端末装置）に対して同時にサービスを提供することができない。
【０００７】
本発明は、上述の問題に鑑みてなされたものである。本発明は、情報処理装置が近距離無線通信を利用して複数の携帯端末装置に対して同時にサービスを提供できるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、例えば、情報処理装置として実現できる。本発明の一態様に係る情報処理装置は、Ｂｌｕｅｔｏｏｔｈ  ＬＥ通信を実行可能な情報処理装置であって、前記情報処理装置が提供可能なサービスを示すサービス情報を含み、かつ、接続要求を受け付け不可能であることを示す、Ｂｌｕｅｔｏｏｔｈ  ＬＥに対応した第１タイプのアドバタイズメントパケットを送信しつつ、外部装置から送信され、かつ、特定の通信相手と接続可能であることを示す、Ｂｌｕｅｔｏｏｔｈ  ＬＥに対応した第２タイプのアドバタイズメントパケットをスキャンする通信手段と、前記スキャンの結果として受信された前記第２タイプのアドバタイズメントパケットにおいて、前記情報処理装置が前記特定の通信相手として指定されているか否かを判定する判定手段と、前記受信された前記第２タイプのアドバタイズメントパケットにおいて前記情報処理装置が前記特定の通信相手として指定されていると前記判定手段によって判定された場合に、マスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立するために、前記受信された前記第２タイプのアドバタイズメントパケットの送信元に対して接続要求を送信する接続手段と、を備え、前記接続手段が、前記受信された前記第２タイプのアドバタイズメントパケットの前記送信元とマスターとしてＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立した後、前記通信手段は、マスターとして他の外部装置とＢｌｕｅｔｏｏｔｈ  ＬＥ接続を確立できるように、前記第２タイプのアドバタイズメントパケットのスキャンと前記第１タイプのアドバタイズメントパケットの送信とを継続することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、情報処理装置が近距離無線通信を利用して複数の携帯端末装置に対して同時にサービスを提供できるようになる。
【図面の簡単な説明】
【００１０】
【図１】情報処理システムの構成例を示す図。
【図２】ＭＦＰ及び携帯端末のハードウェア構成例を示すブロック図。
【図３】ＭＦＰ及び携帯端末のソフトウェア構成例を示すブロック図。
【図４】ＭＦＰが備えるＢＴサービスの例を示す図。
【図５】ＭＦＰによって実行されるＢＬＥ接続手順を示すフローチャート。
【図６】図５のＳ１１２における処理の手順を示すフローチャート。
【図７】携帯端末によって実行されるＢＬＥ接続手順を示すフローチャート。
【図８】携帯端末において表示される操作画面の例を示す図。
【図９】図７のＳ２１０における処理の手順を示すフローチャート。
【図１０】携帯端末においてＭＦＰ利用アプリケーションによって表示される操作画面の例を示す図。
【図１１】ＢＬＥ通信で利用される各種テーブルの例を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１２】
＜情報処理システムの構成＞
図１は、本発明の一実施形態に係る情報処理システムの構成例を示す図である。情報処理システムには、情報処理装置の一例として、任意の数のＭＦＰが存在しうる。また、情報処理装置と通信可能な携帯端末装置の一例として、任意の数のモバイル端末（携帯端末）が存在しうる。図１は、一例として、１台のＭＦＰ１０１と２台の携帯端末１０２，１０３とを備える情報処理システムを示している。このようなシステムは、例えば、各ユーザが１台の携帯端末を保持し、複数のユーザが携帯端末を用いて１台のＭＦＰを共有するオフィス環境に構築される。
【００１３】
図１に示す情報処理システムでは、ＭＦＰ１０１及び無線ルータ１０５が有線ＬＡＮ１０４に接続されている。ＭＦＰ１０１は、有線ＬＡＮ１０４に接続された他の装置と通信可能である。携帯端末１０２，１０３は、例えば無線ＬＡＮ（ＷＬＡＮ）規格に従って無線ルータ１０５に無線接続することで、有線ＬＡＮ１０４に接続可能である。これにより、携帯端末１０２，１０３は、有線ＬＡＮ１０４に接続された他の装置と通信可能である。
【００１４】
ＭＦＰ１０１及び携帯端末１０２，１０３は、ＷＬＡＮ規格の他に、Bluetooth（登録商標）（以下、「ＢＴ」と称する。）規格に従った通信機能（ＢＴ通信機能）を有している。このため、携帯端末１０２，１０３は、ＢＴ規格に従ってＭＦＰ１０１との無線接続（ＢＴ接続）を確立することで、ＭＦＰ１０１と直接、ＢＴ規格に従った通信（ＢＴ通信）を行うことが可能である。ＭＦＰ１０１及び携帯端末１０２，１０３は、更に、ＢＴ規格の拡張仕様の１つであり、ＢＴ規格よりも低消費電力で通信を行うための規格であるBluetooth Low Energy（ＢＬＥ）規格に従った通信機能（ＢＬＥ通信機能）も有している。したがって、携帯端末１０２，１０３は、ＢＬＥ規格に従ってＭＦＰ１０１との無線接続（ＢＬＥ接続）を確立することで、ＭＦＰ１０１と直接、ＢＬＥ規格に従った通信（ＢＬＥ通信）を行うことも可能である。本実施形態では、ＢＬ通信及びＢＬＥ通信は、近距離無線通信の一例である。
【００１５】
＜ＭＦＰのハードウェア構成＞
図２（Ａ）は、ＭＦＰ１０１のハードウェア構成例を示すブロック図である。ＭＦＰ１０１は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、操作部２０５、ＢＴ Ｉ／Ｆ２０６、ネットワークＩ／Ｆ２０７、プリンタ部２０８、及びスキャナ部２０９を備え、これらのデバイスは内部バスに接続される。内部バスに接続されたデバイスは、当該内部バスを介して互いに通信可能である。
【００１６】
ＣＰＵ２０１は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ２０１は、ＲＯＭ２０２に格納された制御プログラムを読み出して実行することで、読取制御や送信制御等の各種制御を行う。ＲＡＭ２０３は、揮発性の記憶デバイスであり、ＣＰＵ２０１が各種プログラムを実行するためのワークエリアとして、または各種データが一時的に格納される一時記憶領域として使用される。ＨＤＤ２０４は、不揮発性の記憶デバイスであり、画像データ等の各種データまたは各種プログラムが格納される。
【００１７】
操作部２０５は、ユーザが指でタッチ操作を行うことが可能なタッチパネルとして動作するディスプレイを備える。ネットワークＩ／Ｆ２０７は、有線ＬＡＮ１０４に接続するためのＮＩＣ（Network Interface Card）であり、有線ＬＡＮ１０４に接続された外部装置と通信を行う。プリンタ部２０８は、内部バスを介して受信した画像データに基づいて、シートに画像を印刷する。スキャナ部２０９は、原稿上の画像を読み取って画像データを生成し、内部バスを介して他のデバイスに送信する。
【００１８】
ＢＴ Ｉ／Ｆ２０６は、近距離無線通信を行う通信インタフェースの一例であり、ＢＴ規格に従って外部装置と無線通信を行う。ＭＦＰ１０１は、ＢＴ Ｉ／Ｆ２０６を用いて、同様にＢＴ Ｉ／Ｆを備える携帯端末１０２，１０３等の外部装置と、ＢＴ規格に従って無線通信を行うことが可能である。なお、本明細書では、ＢＴ規格に従った無線通信（ＢＴ通信）には、ＢＴ規格の拡張仕様であるＢＬＥ規格に従った無線通信（ＢＬＥ通信）も含まれるものとする。
【００１９】
＜携帯端末のハードウェア構成＞
図２（Ｂ）は、携帯端末１０２のハードウェア構成例を示すブロック図である。携帯端末１０２は、ＣＰＵ２１１、ＲＡＭ２１３、フラッシュメモリ２１４、操作部２１５、ＢＴ Ｉ／Ｆ２１６、ＷＬＡＮ Ｉ／Ｆ２１７、スピーカ２１８、マイク２１９、カメラ２２０、及びＧＰＳ受信機２２１を備え、これらのデバイスは内部バスに接続される。内部バスに接続されたデバイスは、当該内部バスを介して互いに通信可能である。なお、以下では携帯端末１０２の構成及び動作について説明するが、携帯端末１０３についても同様である。
【００２０】
ＣＰＵ２１１は、フラッシュメモリ２１４に格納された制御プログラムを読み出して実行することで、携帯端末１０２全体の動作を制御する。ＲＡＭ２１３は、揮発性の記憶デバイスであり、ＣＰＵ２１１が各種プログラムを実行するためのワークエリアとして、または各種データが一時的に格納される一時記憶領域として使用される。フラッシュメモリ２１４は、不揮発性の記憶デバイスであり、各種データまたは各種プログラムが格納される。
【００２１】
操作部２１５は、ユーザが指でタッチ操作を行うことが可能なタッチパネルとして動作するディスプレイを備える。スピーカ２１８は、音声信号を音に変換して外部に出力する。マイク２１９は、音を検知して音声信号に変換して内部バスに出力する。カメラ２２０は、静止画または動画を撮影し、電子データに変換して出力する。ＧＰＳ（Global Positioning System）受信機２２１は、ＧＰＳ信号を受信するための受信機である。
【００２２】
ＢＴ Ｉ／Ｆ２１６は、近距離無線通信を行う通信インタフェースの一例であり、ＢＴ規格に従って外部装置と無線通信を行う。携帯端末１０２は、ＢＴ Ｉ／Ｆ２１６を用いて、同様にＢＴ Ｉ／Ｆを備えるＭＦＰ１０１等の外部装置と、ＢＴ規格に従って無線通信を行うことが可能である。ＷＬＡＮ Ｉ／Ｆ２１７は、ＷＬＡＮ規格に従って外部装置と無線通信を行うインタフェースであり、例えば無線ルータ１０５に無線接続することが可能である。
【００２３】
＜ＭＦＰ１０１のソフトウェア構成＞
図３（Ａ）は、ＭＦＰ１０１のソフトウェア構成例を示すブロック図である。図３（Ａ）に示す各部は、ＣＰＵ２０１がＲＯＭ２０２またはＨＤＤ２０４等の記憶デバイスに格納されたプログラムを読み出して実行することによって、ＭＦＰ１０１上で実現される。
【００２４】
ネットワーク通信制御部３０１は、ネットワークＩ／Ｆ２０７を制御して外部装置と通信を行う。ＢＴ通信制御部３０２は、ＢＴ Ｉ／Ｆ２０６を制御して外部装置とＢＴ通信（ＢＬＥ通信）を行う。印刷ジョブ受信部３０３は、ネットワーク通信制御部３０１を利用して、有線ＬＡＮ１０４を介して通信可能なＰＣや携帯端末等の外部装置から送信される印刷ジョブを受信する処理を行う。印刷ジョブ格納部３０４は、ＲＡＭ２０３またはＨＤＤ２０４の記憶領域に対応するデータ領域であり、印刷ジョブ受信部３０３によって受信された印刷ジョブが格納される。
【００２５】
印刷ジョブ制御部３０５は、ＢＴプリントサービス部３０８の要求に応じて、印刷ジョブ格納部３０４に格納されている印刷ジョブに関する処理を制御する。印刷ジョブ制御部３０５は、例えば、印刷ジョブ格納部３０４に格納されている印刷ジョブの取得、印刷ジョブにおける印刷設定の変更、印刷ジョブの実行、または印刷ジョブの削除を行う。印刷ジョブ実行部３０６は、印刷ジョブ格納部３０４に格納されている印刷ジョブに従ってプリンタ部２０８に印刷を実行させることで、印刷ジョブを実行する。このように、ＭＦＰ１０１は、印刷ジョブを実行する場合、印刷処理を実行可能な印刷装置として機能する。
【００２６】
ＢＴサービスアクセス用認証部３０７は、ＢＴ通信（ＢＬＥ通信）によって外部装置に公開するサービス（以下、「ＢＴサービス」とも称する。）に対するアクセスを受け付けるための認証処理（ログイン／ログアウト処理）を行う。本実施形態では、ＭＦＰ１０１は、ＢＴ通信（ＢＬＥ通信）によって外部装置から印刷ジョブを受信して実行するためのサービス（以下、「ＢＴプリントサービス」とも称する。）を公開する。
【００２７】
ＢＴプリントサービス部３０８は、ＢＴプリントサービスを提供する。ＢＴプリントサービス部３０８は、ＢＴ通信制御部３０２を介して、携帯端末１０２等の外部装置と通信を行う。ＢＴプリントサービス部３０８は、更に、印刷ジョブ制御部３０５を介して、印刷ジョブ格納部３０４に格納されている印刷ジョブを取得し、印刷ジョブの印刷設定の変更、または印刷ジョブの実行若しくは削除を行うことが可能である。
【００２８】
＜携帯端末１０２のソフトウェア構成＞
図３（Ｂ）は、携帯端末１０２のソフトウェア構成例を示すブロック図である。図３（Ｂ）に示す各部は、ＣＰＵ２１１がフラッシュメモリ２１４等の記憶デバイスに格納されたプログラムを読み出して実行することによって、携帯端末１０２上で実現される。
【００２９】
ＢＴ通信制御部３１１は、ＢＴ Ｉ／Ｆ２１６を制御して外部装置とＢＴ通信（ＢＬＥ通信）を行う。認証情報格納部３１２は、フラッシュメモリ２１４の記憶領域に対応するデータ領域であり、ユーザ名及びパスワードを含む認証情報が格納される。ＷＬＡＮ通信制御部３１３は、ＷＬＡＮ Ｉ／Ｆ２１７を制御して外部装置と通信を行う。
【００３０】
携帯端末１０２には、種々のアプリケーションが予めインストールされており、それらのうちの１つがＭＦＰ利用アプリケーション３１４である。ＭＦＰ利用アプリケーション３１４は、ＢＴ通信制御部３１１を介して、ＭＦＰ１０１とのＢＴ接続（ＢＬＥ接続）を確立し、ＢＴ通信（ＢＬＥ通信）によってＭＦＰ１０１のＢＴプリントサービスを利用できる。
【００３１】
＜ＢＬＥ通信の概要＞
次に、ＭＦＰ１０１と携帯端末１０２との間で行われるＢＬＥ通信の概要について説明する。ＭＦＰ１０１及び携帯端末１０２のようにＢＬＥ通信機能を備えるＢＬＥ機器は、ＢＬＥ通信機能が有効化されている場合、以下の５つの状態のいずれかで動作する。
【００３２】
・スタンバイ状態（Standby）：
初期状態であり、パケットの送受信をしない状態であり、アドバタイジング状態、スキャニング状態、またはイニシエーティング状態に遷移可能である。
・アドバタイジング状態（Advertising）：
アドバタイザとして、所定の時間間隔でアドバタイズメントパケット（以降、ＡＤＶパケットと呼ぶ場合がある）を周辺に送信する状態である。なお、ＡＤＶパケットには、図１１（Ａ）に示すタイプ（ＰＤＵタイプ）が定義されている。
・スキャニング状態（Scanning）：
アドバタイザとして動作している、周辺に存在するＢＬＥ機器を発見するために、スキャナとしてＡＤＶパケットを受信する状態である。
・イニシエーティング状態（Initiating）：
受信したＡＤＶパケットの送信元のアドバタイザに対して、イニシエータとして接続要求（CONNECT_REQ）を送信する状態であり、ＢＬＥ接続の確立によりアドバタイザとともに接続状態に遷移する。
・接続状態（Connection）：
ＢＬＥ接続を確立した状態であり、ＧＡＴＴ（Generic Attribute Profile）プロファイルに基づいてデータ通信を行う。
【００３３】
接続状態のＢＬＥ機器は、マスター役（Master role）及びスレーブ役（Slave role）のいずれかの役割を果たす。ＢＬＥ機器がイニシエータ状態から接続状態に遷移した場合、当該ＢＬＥ機器は、マスターとして動作する。一方、ＢＬＥ機器がアドバタイジング状態（アドバタイザ）から接続状態に遷移した場合、当該ＢＬＥ機器は、スレーブとして動作する。マスターは、複数のスレーブに対してＢＬＥ接続を確立可能である。スレーブは、１つのマスターに対してのみＢＬＥ接続を確立可能である。
【００３４】
また、ＢＬＥ機器は、複数のＢＬＥ通信を同時に行うことが可能である。例えば、あるＢＬＥ機器が接続状態でＢＬＥ通信を行っている際に、当該ＢＬＥ機器は別のＢＬＥ通信によってアドバタイジング状態でＡＤＶパケットを送信することが可能である。ただし、マスターとして動作しているＢＬＥ機器が、同時にスレーブとして動作することはできない。また、スレーブとして動作しているＢＬＥ機器が、同時にマスターとして動作することもできない。
【００３５】
本実施形態では、ＭＦＰ１０１は、ＢＴ通信制御部３０２を介してＢＬＥ通信機能を有効化して、以下のようなＢＬＥ通信を行う。
・アドバタイザとしてＡＤＶパケット（ADV_IND，ADV_NONCONN_IND）を所定の時間間隔で送信する。
・スキャナとしてＡＤＶパケットを受信することで、アドバタイザを発見する。
・アドバタイザに対して接続要求（CONNECT_REQ）を送信し、マスターとして接続状態に遷移して、データ通信を行う。
・イニシエータからの接続要求（CONNECT_REQ）を受信し、スレーブとして接続状態に遷移して、データ通信を行う。
【００３６】
また、携帯端末１０２は、ＢＴ通信制御部３１１を介してＢＬＥ通信機能を有効化して、以下のようなＢＬＥ通信を行う。
・スキャナとしてＡＤＶパケットを受信することで、アドバタイザを発見する。
・アドバタイザとして、特定の通信相手（宛先）を指定したＡＤＶパケット（ADV_DIRECT_IND）を所定の時間間隔で送信する。
・イニシエータからの接続要求（CONNECT_REQ）を受信し、スレーブとして接続状態に遷移して、データ通信を行う。
・アドバタイザに対して接続要求（CONNECT_REQ）を送信し、マスターとして接続状態に遷移して、データ通信を行う。
【００３７】
＜ＭＦＰ１０１が提供するＢＴサービス＞
図４は、ＭＦＰ１０１が備えるＢＴのサービスの例を示す図である。ＭＦＰ１０１では、ＢＴサービスアクセス用認証サービス４１０、ＢＴプリントサービス４２０、及びネットワーク接続情報４３０が、ＧＡＴＴプロファイルとして定義されている。ＭＦＰ１０１は、携帯端末１０２とのＢＴ接続（ＢＬＥ接続）を確立すると、携帯端末１０２に対して、予め定義されたそれらのＧＡＴＴプロファイルを公開する。
【００３８】
（ＢＴサービスアクセス用認証サービス４１０）
ＢＴサービスアクセス用認証サービス４１０は、以下のキャラクタリスティックを含む。ＢＴサービスアクセス用認証部３０７は、ＢＴ通信制御部３０２を介したＢＬＥ通信に基づいて、各キャラクタリスティックの値の読み書きを行う。
【００３９】
・UserName：
ＭＦＰ１０１が提供するサービスの利用を携帯端末１０２が開始する際に、携帯端末１０２からユーザ名がWriteされるキャラクタリスティックである。
・Password：
ＭＦＰ１０１が提供するサービスの利用を携帯端末１０２が開始する際に、携帯端末１０２からパスワードがWriteされるキャラクタリスティックである。なお、Writeの際に暗号化が必要であってもよい。
・AuthResult：
ＭＦＰ１０１が携帯端末１０２からの認証要求に従って行ったユーザ認証の結果（ユーザ認証の成否）が格納されるキャラクタリスティックであり、例えば、図１１（Ｂ）に示す値が格納される。認証結果の格納に応じて、ＢＴ通信制御部３０２は、接続中の携帯端末１０２に認証結果を通知する。
【００４０】
（ＢＴプリントサービス４２０）
ＢＴプリントサービス４２０は、ＢＴサービスアクセス用認証サービス４１０に基づくユーザ認証が成功した後に、携帯端末１０２から利用可能なサービスに対応する。ＢＴプリントサービス４２０は、以下のキャラクタリスティックを含む。ＢＴプリントサービス部３０８は、ＢＴ通信制御部３０２を介したＢＬＥ通信に基づいて、各キャラクタリスティックの値の読み書きを行う。
【００４１】
・MyJobList：
印刷ジョブ制御部３０５を介して印刷ジョブ格納部３０４に格納された印刷ジョブのうち、ＢＴサービスアクセス用認証部３０７による認証に成功したユーザに関連付けられた、１つ以上の印刷ジョブの識別子が格納される格納する。このキャラクタリスティックは、ＢＬＥ接続を介して携帯端末１０２によってReadされる。
・RequestID：
携帯端末１０２がＭＦＰ１０１に対して印刷ジョブに関する処理を要求する際に、ＢＬＥ接続を介して携帯端末１０２によってWriteされるキャラクタリスティックであり、例えば、図１１（Ｃ）に示す値が格納される。ＢＴプリントサービス部３０８は、携帯端末１０２によってWriteされたRequestIDを印刷ジョブ制御部３０５に通知する。これにより、印刷ジョブ制御部３０５は、RequestIDに対応する処理（図１１（Ｃ）に示す処理）を行う。
・RequestParameter：
携帯端末１０２がＭＦＰ１０１に対して印刷ジョブに関する処理を要求する際に、ＢＬＥ接続を介して携帯端末１０２によってWriteされるキャラクタリスティックであり、処理の対象となる印刷ジョブの識別子が格納される。なお、携帯端末１０２は、MyJobListから取得した印刷ジョブの識別子を、ＢＬＥ接続を介してRequestParameterにWriteする。
【００４２】
また、以下の各キャラクタリスティックには、例えばRequestIDに「３」がWriteされた場合に、RequestParameterに格納された識別子に対応する印刷ジョブの印刷設定が、ＢＴプリントサービス部３０８によってそれぞれ格納される。OutputMediaSizeには、図１１（Ｄ）に示すような、出力用紙サイズ設定を示すＩＤが格納される。Copiesには、印刷部数設定を示す数値が格納される。Colorには、図１１（Ｅ）に示すような、カラーモード設定を示すＩＤが格納される。Duplexingには、図１１（Ｆ）に示すような、両面印刷設定を示すＩＤが格納される。これらのキャラクタリスティックは、ＢＬＥ接続を介して携帯端末１０２によってRead／Writeされる。
【００４３】
（ネットワーク接続情報４３０）
ネットワーク接続情報４３０は、ＢＴサービスアクセス用認証サービス４１０においてユーザ認証に成功した後に携帯端末１０２から利用可能なサービスとして構成する。ネットワーク接続情報４３０は以下に示すようなキャラクタリスティックを備える。
【００４４】
・IP Address：
ＭＦＰ１０１が有線ＬＡＮ１０４を介した通信に利用するＩＰアドレスが格納されるキャラクタリスティックであり、携帯端末１０２によってReadされる。
・MAC Address：
ＭＦＰ１０１のネットワークＩ／Ｆ２０７のＭＡＣアドレスが格納されるキャラクタリスティックであり、携帯端末１０２によってReadされる。
【００４５】
なお、ネットワーク接続情報４３０のキャラクタリスティックは、携帯端末１０２が、無線ルータ１０５にＷＬＡＮ接続を行って、無線ルータ１０５及び有線ＬＡＮ１０４を介してＭＦＰ１０１に接続するために使用される。
【００４６】
＜ＭＦＰにおけるＢＬＥ接続手順＞
図５は、ＭＦＰ１０１によって実行されるＢＬＥ接続手順を示すフローチャートである。なお、図５に示す各ステップの処理は、ＣＰＵ２０１がＲＯＭ２０２またはＨＤＤ２０４等の記憶デバイスに格納されたプログラムを読み出して実行することによって、ＭＦＰ１０１上で実現される。
【００４７】
ＭＦＰ１０１のＢＴ及びＢＬＥ通信機能が有効になると、Ｓ１０１で、ＣＰＵ２０１（ＢＴ通信制御部３０２）は、外部装置（携帯端末）から送信されるＡＤＶパケットを受信するスキャン処理を、ＢＴ Ｉ／Ｆ２０６に開始させる。更に、Ｓ１０２で、ＣＰＵ２０１は、アドバタイザとして所定の時間間隔で（即ち、定期的に）ＡＤＶパケットを送信するアドバタイジング処理を、ＢＴ Ｉ／Ｆ２０６に開始させる。ＡＤＶパケットは、自装置が提供するサービスを示すサービス情報を含むパケットである。
【００４８】
ＢＴ Ｉ／Ｆ２０６は、図１１（Ａ）に示すＰＤＵタイプのＡＤＶパケットを送信可能である。Ｓ１０２で開始されるアドバタイジング処理では、ADV_IND及びADV_NONCONN_INDの２つのタイプのＡＤＶパケットの送信が送信される。ＡＤＶパケット（ADV_IND）は、送信したＡＤＶパケットに対する応答として外部装置（携帯端末）から接続要求（CONNECT_REQ）を受信した場合に当該接続要求を受け付け可能であることを示す。また、ＡＤＶパケット（ADV_NONCONN_IND）は、送信したＡＤＶパケットに対する応答として外部装置（携帯端末）から接続要求（CONNECT_REQ）を受信した場合に当該接続要求を受け付け不可能であることを示す。即ち、ＡＤＶパケット（ADV_NONCONN_IND）は、周囲の携帯端末へのサービス情報のアドバタイジングのみを目的としている。
【００４９】
アドバタイジング処理で送信される上記２つのタイプのＡＤＶパケット（ADV_IND，ADV_NONCONN_IND）には、以下のような情報が含まれる。
・Local Name：
デバイスの名称（例えば“Canon MFP CXXX”）である。
・Adv Address：
アドバタイザのデバイスアドレスであり、自装置の識別情報に相当する。本実施形態では、ＢＴ Ｉ／Ｆ２０６に割り当てられたデバイスアドレスが設定される。
・TX Power Level：
送信電力レベル（送信電波強度）であり、例えば−３８［ｄＢｍ］の値が設定される。
・Service UUID：
自装置が提供するサービス（機能）を示し、本実施形態では、ＭＦＰ１０１がＢＴプリントサービスを提供することを示すＵＵＩＤが設定される。なお、ＢＴプリントサービスに対応するＵＵＩＤは、ＭＦＰ１０１と携帯端末１０２のＭＦＰ利用アプリケーション３１４とが共通で認識可能なように予め定められている。
【００５０】
このようにして、ＢＴ Ｉ／Ｆ２０６は、自装置が提供するサービスを示すＵＵＩＤを含むＡＤＶパケットを定期的に送信しながら、携帯端末から送信されるＡＤＶパケットを受信する状態になる。即ち、ＭＦＰ１０１は、アドバタイジング状態及びスキャニング状態での動作を開始する。
【００５１】
Ｓ１０２の後、Ｓ１０３で、ＣＰＵ２０１は、ＢＴ Ｉ／Ｆ２０６によって（携帯端末から）ＡＤＶパケットが受信されたか否かを判定し、受信されていない場合にはＳ１０４へ、受信された場合にはＳ１０８へ、処理を進める。Ｓ１０４では、ＣＰＵ２０１は、ＢＴ Ｉ／Ｆ２０６によって携帯端末から接続要求（CONNECT_REQ）が受信されたか否かを判定し、受信されていない場合には、処理をＳ１０３へ戻し、受信された場合には処理をＳ１０５へ進める。
【００５２】
Ｓ１０５〜Ｓ１０７の処理は、ＭＦＰ１０１が、接続要求（CONNECT_REQ）の送信元の携帯端末（例えば携帯端末１０２）と、スレーブとしてＢＬＥ通信を行うための処理である。具体的には、ＣＰＵ２０１は、ＢＴ Ｉ／Ｆ２０６に、Ｓ１０５においてアドバタイジング処理及びスキャン処理を停止させ、Ｓ１０６において送信元の携帯端末とのＢＬＥ接続を確立させる。ＢＴ Ｉ／Ｆ２０６は、受信した接続要求（CONNECT_REQ）に対する応答パケットを送信することで、スレーブとしてＢＬＥ接続を確立する。
【００５３】
スレーブとして確立したＢＬＥ接続を保持している場合、ＭＦＰ１０１は、ＢＬＥ接続を追加的に確立することはできない。このため、ＭＦＰ１０１では、ＢＬＥ接続が終了（切断）されるまでの間、アドバタイジング処理及びスキャン処理が停止される。Ｓ１０７で、ＣＰＵ２０１は、確立済みのＢＬＥ接続が終了したか否かを判定し、終了したと判定すると、処理をＳ１０１に戻す。これにより、Ｓ１０１及びＳ１０２で、再びスキャン処理及びアドバタイジング処理が再開される。
【００５４】
一方、（携帯端末から）ＡＤＶパケットが受信され、処理をＳ１０３からＳ１０８へ進めると、ＣＰＵ２０１は、受信したＡＤＶパケット（受信アドバタイズメントパケット）が、ＢＬＥ通信の通信相手（宛先）として自装置が指定されたＡＤＶパケットであるか否かを判定する。このようなＡＤＶパケットは、図１１（Ａ）に示すＰＤＵタイプがADV_DIRECT_INDのパケットである。本実施形態では、ＡＤＶパケット（ADV_DIRECT_IND）には、以下のような情報が含まれる。
・Adv Address：
アドバタイザのデバイスアドレスであり、携帯端末１０２から送信される場合にはＢＴ Ｉ／Ｆ２１６に割り当てられたデバイスアドレスが設定される。
・Init Address：
イニシエータのデバイスアドレスであり、ＢＬＥ通信の通信相手を示す識別情報が設定される。
・TX Power Level：
送信電力レベル（送信電波強度）であり、例えば−３８［ｄＢｍ］の値が設定される。
【００５５】
ＡＤＶパケット（ADV_DIRECT_IND）に、Init Addressとして、自装置の識別情報（即ち、ＢＴ Ｉ／Ｆ２０６に割り当てられたデバイスアドレス）が含まれている場合、ＢＬＥ通信の通信相手として自装置が指定されたことを示している。この場合、ＣＰＵ２０１は、ＢＬＥ通信の通信相手として自装置が指定されていると判定し、処理をＳ１０９に進め、それ以外の場合には処理をＳ１０３に戻す。このようにして、ＣＰＵ２０１は、ＢＴ Ｉ／Ｆ２０６によって受信されるＡＤＶパケットから、ＢＬＥ通信の通信相手として自装置が指定されたＡＤＶパケットを検出する。ここでは、携帯端末１０２から送信された、自装置の識別情報を含むＡＤＶパケット（ADV_DIRECT_IND）が検出されるものとする。
【００５６】
Ｓ１０９で、ＣＰＵ２０１は、アドバタイジング処理で送信中のＡＤＶパケットのうち、ＡＤＶパケット（ADV_IND）の送信を、ＢＴ Ｉ／Ｆ２０６に停止させる。その結果、その後はアドバタイジング処理としてＡＤＶパケット（ADV_NONCONN_IND）のみの送信が継続される。次に、Ｓ１１０で、ＣＰＵ２０１は、検出したＡＤＶパケット（ADV_DIRECT_IND）に対する応答として、当該ＡＤＶパケットの送信元の携帯端末（携帯端末１０２）に接続要求（CONNECT_REQ）を送信するよう、ＢＴ Ｉ／Ｆ２０６を制御する。これにより、Ｓ１１１で、ＣＰＵ２０１は、ＢＴ Ｉ／Ｆ２０６に、マスターとして携帯端末１０２とのＢＬＥ接続を確立させる。ＭＦＰ１０１と携帯端末１０２との間に確立されたＢＬＥ接続は、ＭＦＰ１０１が携帯端末１０２にサービス（本実施形態では、後述するようにＢＴプリントサービス）を提供するために利用可能である。
【００５７】
この場合、携帯端末１０２は、スレーブとしてＭＦＰ１０１とのＢＬＥ接続を確立する結果となる。このように、携帯端末１０２は、ＭＦＰ１０１が提供するサービスを示すＵＵＩＤを含むＡＤＶパケットに含まれる、ＭＦＰ１０１の識別情報（デバイスアドレス）を含むＡＤＶパケット（ADV_IND）の送信することで、ＭＦＰ１０１に接続できる。具体的には、携帯端末１０２は、ＢＬＥ通信の通信相手としてＭＦＰ１０１を指定したＡＤＶパケット（ADV_IND）を送信し、当該パケットに対する応答としてＭＦＰ１０１から送信される接続要求を受信する。これにより、携帯端末１０２は、スレーブとしてＭＦＰ１０１とのＢＬＥ接続を確立できる。
【００５８】
上述のように、ＭＦＰ１０１は、マスターとして携帯端末１０２とのＢＬＥ接続を確立した後も、所定の時間間隔で（即ち、定期的に）ＡＤＶパケット（ADV_NONCONN_IND）を送信するアドバタイジング処理と、スキャン処理とを継続する。これは、マスターとして確立したＢＬＥ接続を保持している場合、ＭＦＰ１０１は、他の携帯端末との間でＢＬＥ接続をマスターとして追加的に確立することが可能である一方、スレーブとしてＢＬＥ接続を追加的に確立することはできないためである。即ち、ＭＦＰ１０１は、ＡＤＶパケット（ADV_NONCONN_IND）の送信によって、周囲の携帯端末にＭＦＰ１０１が提供するサービスを通知することで、マスターとして他の携帯端末とＢＬＥ接続を確立できる状態を維持する。その一方で、ＭＦＰ１０１は、接続要求（CONNECT_REQ）を受け付けないことを周囲の携帯端末に通知することで、スレーブとして他の携帯端末とのＢＬＥ接続を確立できないことを通知する。
【００５９】
Ｓ１１１の処理が完了すると、ＣＰＵ２０１は、処理をＳ１１２に進める。Ｓ１１２では、ＣＰＵ２０１は、（携帯端末１０２との）ＢＬＥ接続中の処理として、図６に示す手順で、携帯端末１０２を含む複数の携帯端末と同時にＢＬＥ接続を確立するための処理を実行する。
【００６０】
＜ＢＬＥ接続中の処理（Ｓ１１２）の手順＞
図６は、図５のＳ１１２における処理の手順を示すフローチャートである。Ｓ１２１〜Ｓ１２４の処理は、マスターとして携帯端末１０２とのＢＬＥ接続が確立された状態で、ＭＦＰ１０１が、他の携帯端末とのＢＬＥ接続を更に確立する（即ち、複数の携帯端末とのＢＬＥ接続を確立する）ための処理である。まずＳ１２１で、ＣＰＵ２０１は、ＢＴ Ｉ／Ｆ２０６によって（携帯端末から）ＡＤＶパケットが受信されたか否かを判定し、受信されていない場合にはＳ１２５へ、受信された場合にはＳ１２２へ、処理を進める。
【００６１】
Ｓ１２２〜Ｓ１２４の処理は、それぞれ、Ｓ１０８、Ｓ１１０及びＳ１１１の処理と同様である。Ｓ１２２で、ＣＰＵ２０１は、受信したＡＤＶパケットが、ＢＬＥ通信の通信相手として自装置が指定されたＡＤＶパケットであるか否かを判定する。なお、そのようなＡＤＶパケットは、Ｓ１０８と同様、ＡＤＶパケット（ADV_DIRECT_IND）である。Ｓ１２２による判定により、ＣＰＵ２０１は、そのようなＡＤＶパケットを検出した場合には処理をＳ１２３に進め、検出していない場合にはＳ１２１に処理を戻す。
【００６２】
Ｓ１２３で、ＣＰＵ２０１は、検出したＡＤＶパケット（ADV_DIRECT_IND）に対する応答として、当該ＡＤＶパケットの送信元の携帯端末に接続要求（CONNECT_REQ）を送信するよう、ＢＴ Ｉ／Ｆ２０６を制御する。これにより、Ｓ１２４で、ＣＰＵ２０１は、ＢＴ Ｉ／Ｆ２０６に、マスターとして携帯端末１０２とのＢＬＥ接続を確立させる。このようにして、ＣＰＵ２０１は、携帯端末１０２との（第１の）ＢＬＥ接続が確立された状態で、他の携帯端末との（第２の）ＢＬＥ接続を更に確立する。
【００６３】
その後、ＣＰＵ２０１は処理をＳ１２１に戻し、ＢＬＥ通信の通信相手として自装置が指定されたＡＤＶパケットが検出されるごとに、Ｓ１２３及びＳ１２４の処理を繰り返す。このような処理により、ＣＰＵ２０１は、複数の携帯端末との間に複数のＢＬＥ接続を確立できる。
【００６４】
一方、Ｓ１２１からＳ１２５に処理を進めた場合、ＣＰＵ２０１は、確立済みの１つ以上のＢＬＥ接続の全てが終了したか否かを判定し、終了したと判定した場合には処理をＳ１２６に進め、それ以外の場合には処理をＳ１２１に戻す。Ｓ１２６で、ＣＰＵ２０１は、Ｓ１０９で停止したＡＤＶパケット（ADV_IND）の送信を、ＢＴ Ｉ／Ｆ２０６に再開させ、Ｓ１１２の処理を終了する。その結果、処理がＳ１０３に移行する。
【００６５】
このように本実施形態では、ＭＦＰ１０１のＣＰＵ２０１は、ＢＬＥ規格に従って、自装置が提供するサービス情報を含むＡＤＶパケットを定期的に送信しながら、携帯端末から送信されるＡＤＶパケットを受信するための、通信制御を行う。その状態で、ＣＰＵ２０１は、ＢＬＥ通信の通信相手として自装置が指定されたＡＤＶパケットを検出するごとに、検出したＡＤＶパケットに対する応答として、当該ＡＤＶパケットの送信元の携帯端末に接続要求を送信する通信制御を行う。これにより、ＣＰＵ２０１は、マスターとして各携帯端末との間でＢＬＥ接続を確立する。確立されたＢＬＥ接続は、接続先の携帯端末にサービスを提供するために利用可能である。
【００６６】
即ち、図５及び図６に示す処理手順によれば、ＭＦＰ１０１は、周囲に存在する携帯端末に、自装置が提供するサービスに関する情報をアドバタイザとして通知しつつ、複数の携帯端末との間でマスターとして複数のＢＬＥ接続を同時に確立できる。それにより、ＭＦＰ１０１は、確立した複数のＢＬＥ接続を介したＢＬＥ通信を利用して、複数の携帯端末に対して同時にサービス（例えば、ＢＴプリントサービス）を提供できる。
【００６７】
＜携帯端末におけるＢＬＥ接続手順＞
図７は、携帯端末１０２によって実行されるＢＬＥ接続手順を示すフローチャートである。なお、図７に示す各ステップの処理は、ＣＰＵ２１１がフラッシュメモリ２１４等の記憶デバイスに格納されたプログラムを読み出して実行することによって、携帯端末１０２上で実現される。携帯端末１０２がＭＦＰ１０１とＢＬＥ通信を行うことが可能な程度に近づくと（ＢＬＥ通信が可能な範囲内に近づくと）、携帯端末１０２のＢＴ Ｉ／Ｆ２１６が、ＭＦＰ１０１のＢＴ Ｉ／Ｆ２０６から送信されるＡＤＶパケットを受信可能になる。
【００６８】
携帯端末１０２では、ＭＦＰ利用アプリケーション３１４が起動されると、ＢＴ及びＢＬＥ通信機能が有効になる。携帯端末１０２のＢＴ及びＢＬＥ通信機能が有効になると、Ｓ２０１で、ＣＰＵ２１１（ＭＦＰ利用アプリケーション３１４）は、外部装置（ＭＦＰ１０１）から送信されるＡＤＶパケットを受信するスキャン処理を、ＢＴ Ｉ／Ｆ２１６に開始させる。
【００６９】
次にＳ２０２で、ＣＰＵ２１１は、ＢＴ Ｉ／Ｆ２１６によってＡＤＶパケットが受信されたか否かを判定し、受信された場合に限り、Ｓ２０３に処理を進める。Ｓ２０３で、ＣＰＵ２１１は、ＡＤＶパケットを解析して、受信したＡＤＶパケットの送信元が特定のＭＦＰであるか否かを判定する。具体的には、ＰＤＵタイプがADV_INDまたはADV_NONCONN_INDであるＡＤＶパケットから、Local Name、Manufacturer Specific Data、及びService UUIDの値が、携帯端末１０２のユーザが提示可能なサービスを示すものを検出する。ＣＰＵ２１１は、そのようなＡＤＶパケットを検出すると、受信したＡＤＶパケットの送信元が特定のＭＦＰであると判定し、処理をＳ２０４に進め、それ以外の場合には、受信したＡＤＶパケットを無視し処理をＳ２０２に戻す。
【００７０】
Ｓ２０４で、ＣＰＵ２１１は、受信したＡＤＶパケットに含まれる情報に基づいて、ＭＦＰの情報を操作部２１５に表示して、ユーザの操作を受け付ける。Ｓ２０４では、例えば、ＡＤＶパケットに含まれるLocal Nameに基づいて、利用可能なデバイス（ＭＦＰ）の一覧を示す操作画面８００（図８）を表示する。操作画面８００においてユーザによっていずれかのＭＦＰが選択されると、ＡＤＶパケットに含まれるService UUIDに関連付けられた、当該ＭＦＰが提供するサービスを示す情報を含む操作画面８１０が表示される。操作画面８１０には、ＭＦＰ（“Canon iR 1001”）が提供するサービスである「ＢＴプリントサービス」が、選択ボタン８１１として示されている。
【００７１】
次にＳ２０５で、ＣＰＵ２１１は、操作画面８００，８１０のような操作画面を用いて、ユーザによってＭＦＰのサービスの利用が要求された（例えば、選択ボタン８１１が押下された）か否かを判定する。ＣＰＵ２１１は、ユーザによってＭＦＰのサービスの利用が要求された（即ち、利用すべきサービスが指示された）場合には、処理をＳ２０６に進め、それ以外の場合には、処理をＳ２０２に戻す。このように、Ｓ２０２〜Ｓ２０５では、ＣＰＵ２１１は、利用すべきサービスを提供する特定のＭＦＰ（ここではＭＦＰ１０１）から送信されたＡＤＶパケットを検出する。
【００７２】
Ｓ２０６で、ＣＰＵ２１１は、ＢＬＥ通信の通信相手として上述の特定のＭＦＰ（ＭＦＰ１０１）を指定したＡＤＶパケット（ADV_DIRECT_IND）を、受信したＡＤＶパケットに対する応答として送信するよう、ＢＴ Ｉ／Ｆ２１６を制御する。これにより、ＣＰＵ２１１は、ＭＦＰ１０１に対してサービスの利用を要求する。このＡＤＶパケット（ADV_DIRECT_IND）は、ＭＦＰ１０１においてＳ１０３及びＳ１０８の処理によって受信及び検出されるパケットであり、以下のような情報が含まれる。
・Adv Address：
アドバタイザのデバイスアドレスであり、ＢＴ Ｉ／Ｆ２１６に割り当てられたデバイスアドレスが設定される。
・Init Address：
イニシエータのデバイスアドレスであり、Ｓ２０２で受信されたＡＤＶパケットに含まれるAdv Addressの値が、ＢＬＥ通信の通信相手を示す識別情報として設定される。
・TX Power Level：
送信電力レベル（送信電波強度）であり、例えば−３８［ｄＢｍ］の値が設定される。
【００７３】
その後、ＣＰＵ２１１は、Ｓ２０６で送信したＡＤＶパケット（ADV_DIRECT_IND）に対する応答として、特定のＭＦＰ（ＭＦＰ１０１）から送信される接続要求（CONNECT_REQ）を受信するよう、ＢＴ Ｉ／Ｆ２１６を制御する。Ｓ２０７で、ＣＰＵ２１１は、そのような接続要求が受信されたか否か判定し、受信された場合にはＳ２０９へ処理を進める。
【００７４】
一方、そのような接続要求が受信されていない場合には、ＣＰＵ２１１は、次にＳ２０８で、タイムアウト時間が経過したか否かを判定し、タイムアウト時間が経過していない場合には、処理をＳ２０６に戻す。これにより、ＣＰＵ２１１は、タイムアウト時間が経過するまでの間、ＡＤＶパケット（ADV_DIRECT_IND）の再送を続ける。一方、タイムアウト時間が経過した場合には、ＣＰＵ２１１は、処理をＳ２０８からＳ２０２に戻すことで、サービスの利用の要求を終了してＡＤＶパケットのスキャン処理を続ける。
【００７５】
Ｓ２０９で、ＣＰＵ２１１は、ＢＴ Ｉ／Ｆ２１６に、スレーブとして特定のＭＦＰ（ＭＦＰ１０１）とのＢＬＥ接続を確立させる。その後、Ｓ２１０で、ＣＰＵ２１１は、ＭＦＰ１０１と携帯端末１０２との間に確立されたＢＬＥ接続を利用してＭＦＰ１０１のサービスを利用するサービス利用処理を、図９に示す手順で実行する。サービス利用処理が終了すると、ＣＰＵ２１１は、処理をＳ２０２に戻し、ＡＤＶパケットのスキャン処理を続ける。
【００７６】
このように本実施形態では、携帯端末１０２のＣＰＵ２１１は、ＢＬＥ規格に従って、ＭＦＰから送信される、当該ＭＦＰが提供するサービス情報を含むＡＤＶパケットを受信するための通信制御を行う。その状態で、ＣＰＵ２１１は、受信されたＡＤＶパケットから、利用すべきサービスを提供する特定のＭＦＰ（ＭＦＰ１０１）から送信されたＡＤＶパケットを検出する処理を行う。そのようなＡＤＶパケットの検出に応じて、ＣＰＵ２１１は、ＢＬＥ通信の通信相手として特定のＭＦＰを指定したＡＤＶパケットを送信し、送信したＡＤＶパケットに対する応答として特定のＭＦＰから送信される接続要求を受信するための通信制御を行う。これにより、ＣＰＵ２１１は、スレーブとして特定のＭＦＰとの間でＢＬＥ接続を確立する。確立されたＢＬＥ接続は、接続先のＭＦＰのサービスを利用するために利用可能である。
【００７７】
＜サービス利用処理の手順＞
図９は、図７のＳ２１０における処理の手順を示すフローチャートである。まずＳ２２１で、ＣＰＵ２１１は、サービス（ここでは、ＢＴプリントサービス）の利用が要求されると、当該サービスを利用するための認証要求を、ＭＦＰ１０１に対してＢＬＥ接続を介して行う。具体的には、ＣＰＵ２１１は、ＭＦＰ１０１のＢＴサービスアクセス用認証サービス４１０のキャラクタリスティックUserName及びPasswordに、認証情報格納部３１２に格納されている値をWriteする。それらのキャラクタリスティックに基づくユーザ認証の結果として、AuthResultの値がＭＦＰ１０１から携帯端末１０２に通知される。
【００７８】
ユーザ認証に成功すると、Ｓ２２２で、ＣＰＵ２１１は、ＭＦＰ１０１のサービス情報を取得する。なお、ユーザ認証の成功により、ＭＦＰ１０１によって、ＢＴプリントサービス４２０及びネットワーク接続情報４３０のＧＡＴＴプロファイルへのアクセスが許可される。
【００７９】
次にＳ２２３で、ＣＰＵ２１１は、取得したサービス情報に基づいて、ＢＴプリントサービスを利用するための処理を行う。例えば、ＣＰＵ２１１は、認証されたユーザに関連付けられた印刷ジョブの一覧を、操作部２１５に表示して、ユーザの操作を受け付ける。更に、ＣＰＵ２１１は、ユーザの操作に応じた処理（例えば、印刷ジョブの印刷設定の変更、または印刷ジョブの実行若しくは削除）の実行を、ＢＬＥ接続を介してＭＦＰ１０１に要求する。
【００８０】
ユーザの操作に応じてＭＦＰ１０１のサービスの利用を終了する場合には、Ｓ２２４で、ＣＰＵ２１１は、ＭＦＰ１０１との間で確立されているＢＬＥ接続を終了し、サービス利用処理を終了する。
【００８１】
＜ＢＴプリントサービスの利用例＞
以下では、図１０を参照して、ＭＦＰ１０１が提供するＢＴプリントサービスの、携帯端末１０２による利用例について説明する。図１０のメニュー画面１０００は、操作画面８１０において選択ボタン８１１がユーザによって押下された場合に（Ｓ２０５で「ＹＥＳ」）、ＣＰＵ２１１（ＭＦＰ利用アプリケーション３１４）によって操作部２１５に表示される。その際、ＣＰＵ２１１は、ＭＦＰ１０１との間にスレーブとしてＢＬＥ接続を確立する（Ｓ２０９）。メニュー画面１０００では、「写真プリント」及び「プリンタ内の印刷ジョブ実行」を指示するためのボタン１００１，１００２が表示される。
【００８２】
（写真プリント）
メニュー画面１０００においてボタン１００１が押下された場合、操作部２１５の表示画面が画面１０１０に遷移する。画面１０１０には、携帯端末１０２内に保存されている写真の選択、及び選択した写真の印刷の実行を指示するために用いられる。ユーザが画面１０１０において所望の写真を選択してプリントボタン１０１１を押下すると、ＣＰＵ２１１は、ＢＬＥ通信によって、ＭＦＰ１０１が公開するＧＡＴＴプロファイルのネットワーク接続情報４３０のキャラクタリスティックを取得する。
【００８３】
更に、ＣＰＵ２１１は、取得したキャラクタリスティックに基づいて、無線ルータ１０５にＷＬＡＮ接続を行って、無線ルータ１０５及び有線ＬＡＮ１０４を介してＭＦＰ１０１に接続するよう、ＷＬＡＮ Ｉ／Ｆ２１７を制御する。このようにして、ＣＰＵ２１１は、無線ルータ１０５及び有線ＬＡＮ１０４を介して、選択された写真を印刷するための印刷ジョブをＭＦＰ１０１に送信することで、ＭＦＰ１０１に印刷ジョブを実行させる。なお、ＭＦＰ１０１がＷＬＡＮ通信機能を備える場合には、ＣＰＵ２１１は、ＷＬＡＮ Ｉ／Ｆ２１７に、無線ルータ１０５ではなくＭＦＰ１０１に対してＷＬＡＮダイレクト接続を実行させ、印刷ジョブを送信してもよい。
【００８４】
（ＭＦＰ内の印刷ジョブの実行）
また、メニュー画面１０００においてボタン１００２が押下された場合、操作部２１５の表示画面が画面１０２０に遷移する。この場合、ＣＰＵ２１１は、ＢＬＥ通信によって、ＭＦＰ１０１が公開するＢＴプリントサービス４２０のキャラクタリスティックのうち、MyJobListをReadすることで、印刷ジョブの一覧を示す画面１０２０を表示する。画面１０２０では、印刷ジョブごとに、印刷ジョブに対する処理として設定１０２１、印刷１０２２、削除１０２３を選択できる。
【００８５】
画面１０２０において設定１０２１が選択された場合、ＣＰＵ２１１は、ＢＬＥ通信によって、ＢＴプリントサービス４２０のRequestParameterに、対象となる印刷ジョブの識別子をWriteする。更に、ＣＰＵ２１１は、ＢＴプリントサービス４２０のRequestIDに、印刷ジョブの設定情報の取得要求を示す値「３」（図１１（Ｃ））をWriteする。その後、ＣＰＵ２１１は、ＢＴプリントサービス４２０のOutputMediaSize、Copies、Color、及びDuplexingをReadすることで、当該印刷ジョブの印刷設定を取得して、取得した情報に基づいて、印刷設定画面１０３０を操作部２１５に表示する。印刷設定画面１０３０では、印刷設定１０３１の変更が可能であり、変更内容はＢＬＥ通信によって携帯端末１０２からＭＦＰ１０１に指示される。
【００８６】
画面１０２０においていずれかの印刷ジョブについて印刷１０２２が選択された場合、ＣＰＵ２１１は、ＢＴプリントサービス４２０のRequestParameterに、対象となる印刷ジョブの識別子をWriteする。更に、ＣＰＵ２１１は、ＢＴプリントサービス４２０のRequestIDに、印刷ジョブの実行要求を示す値「１」（図１１（Ｃ））をWriteする。
【００８７】
画面１０２０において全てプリント１０２４が選択された場合、ＣＰＵ２１１は、ＢＴプリントサービス４２０のRequestParameterに、全ての印刷ジョブの識別子をWriteする。更に、ＣＰＵ２１１は、ＢＴプリントサービス４２０のRequestIDに、印刷ジョブの実行要求を示す値「１」（図１１（Ｃ））をWriteする。
【００８８】
画面１０２０において印刷ジョブの削除１０２３が選択された場合、ＣＰＵ２１１は、ＢＴプリントサービス４２０のRequestParameterに、対象となる印刷ジョブの識別子をWriteする。更に、ＣＰＵ２１１は、ＢＴプリントサービス４２０のRequestIDに、印刷ジョブの削除要求を示す値「２」（図１１（Ｃ））をWriteする。
【００８９】
ＭＦＰ１０１は、このように携帯端末１０２との間に確立したＢＬＥ接続を介して、携帯端末１０２（ＭＦＰ利用アプリケーション３１４）によって指定された印刷ジョブについて、要求された処理を実行する。
【００９０】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９１】
１０１：ＭＦＰ、１０２，１０３：携帯端末、２０１，２１１：ＣＰＵ、２０６，２１６：ＢＴ Ｉ／Ｆ
【図１】
0006566669.tif 000002
【図２】
0006566669.tif 000003
【図３】
0006566669.tif 000004
【図４】
0006566669.tif 000005
【図５】
0006566669.tif 000006
【図６】
0006566669.tif 000007
【図７】
0006566669.tif 000008
【図８】
0006566669.tif 000009
【図９】
0006566669.tif 000010
【図１０】
0006566669.tif 000011
【図１１】
0006566669.tif 000012