(57)【要約】ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ環境で、設定された総合ビジネス・ポータルを介して、顧客及びサード・パーティ開発者に総合製品及び総合的なビジネス提案を提供する方法を記載する。この方法は、ビジネス・ポータルを使用して、資格を有するサード・パーティにＷＡＰ−ＢｌｕｅｔｏｏｔｈのＳＤＫを提供することを含む。ＳＤＫは、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ開発環境、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈソフトウェア・モジュール、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション例、ブートローダ、Ｂｌｕｅｔｏｏｔｈスタックとオペレーティング・システムとドライバを含むソフトウェア・プラットフォーム、基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション、及びドキュメンテーションを含み、これらの一部又は全てをオープン・ソースにすることができる。ＳＤＫは、Ｗｉｎｄｏｗｓ（登録商標）及びＵＮＩＸ向けのグラフィカル・ユーザ・インタフェース開発ツールを含む。資格のあるサード・パーティが開発した総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品は、製品レジストリに登録して、消費者及びサード・パーティ開発者がそれを利用できるようにする。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェア製品に対する顧客からのハードウェア注文はポータルを通じて処理し、支払いもポータルを通じて受領する。注文は、総合ビジネス・ポータルと関連付けられた中央位置から行われる。総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品に対する消費者からのソフトウェアの注文は、ポータルを通じて処理し、支払いを受け取り、注文を完了する。総合製品は、ポータルを使用して消費者に提示し、試用的に提供する。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈのハードウェア製品には、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ移動端末、及び移動ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバが含まれ、これらはそれぞれ少なくとも１つのＢｌｕｅｔｏｏｔｈインタフェースを含む。【特許請求の範囲】
【請求項１】
ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ環境で、設定した総合ポータルを介して、単数又は複数の顧客、及び単数又は複数のサード・パーティ開発者に総合的な製品及び総合的な提案を提供する方法であって、
その提供者と関連付けられた強力なブランドを有する前記設定した総合ポータルを使用して、単数又は複数のサード・パーティ開発者のうち資格を有する者に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈソフトウェア開発者キット（ＳＤＫ）を提供するステップと、
前記資格を有するサード・パーティ開発者が開発した１つ又は複数の総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品を登録して、前記単数又は複数の顧客及び前記単数又は複数のサード・パーティ開発者が、製品レジストリで、前記１つ又は複数の総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品を入手できるようにするステップと、
を含むことを特徴とする方法。
【請求項２】
前記設定した総合ポータルを通じて、１つ又は複数のＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェア製品に対する、前記単数又は複数の顧客からの１つ又は複数のハードウェア注文を処理するステップと、
前記設定した総合ポータルを通じて、前記１つ又は複数のハードウェア注文に対する、前記単数又は複数の顧客からの支払いを受領するステップと、
前記設定した総合ポータルと関連付けられた中央位置から、前記１つ又は複数の注文を履行するステップと、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記設定した総合ポータルを通じて、１つ又は複数の総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品に対する、前記単数又は複数の顧客からの１つ又は複数のソフトウェア注文を処理するステップと、
前記設定した総合ポータルを通じて、前記１つ又は複数のソフトウェア注文に対する、前記単数又は複数の顧客からの支払いを受領するステップと、
前記設定した総合ポータルを通じて、前記１つ又は複数の注文を履行するステップと、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記設定した総合ポータルを使用して、前記単数又は複数の顧客に総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品を提示することと、
前記設定した総合ポータルを使用して、前記単数又は複数の顧客に、前記総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品を試用的に提供することと、
を更に含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記ＳＤＫが、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ開発環境、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈソフトウェア・モジュール、及びドキュメンテーション、の１つ又は複数を含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記ＳＤＫが、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションの例を含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記ＳＤＫが、ブートローダ、ソフトウェア・プラットフォーム、及び基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション、の１つ又は複数を含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記ソフトウェア・プラットフォームが更にＢｌｕｅｔｏｏｔｈスタックを含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記ソフトウェア・プラットフォームが更にオペレーティング・システムを含むことを特徴とする請求項７に記載の方法。
【請求項１０】
前記ソフトウェア・プラットフォームが更に、１つ又は複数のハードウェア・インタフェースに対応する１つ又は複数のドライバを含むことを特徴とする請求項７に記載の方法。
【請求項１１】
前記ＳＤＫが、オープン・ソースのソフトウェア・コンポーネントを含むことを特徴とする請求項１に記載の方法。
【請求項１２】
前記ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ開発環境が、グラフィカル・ユーザ・インタフェースの開発ツールを含むことを特徴とする請求項５に記載の方法。
【請求項１３】
グラフィカル・ユーザ・インタフェースの開発ツールが、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）の動作環境と関連付けられていることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記グラフィカル・ユーザ・インタフェースの開発ツールが、ＵＮＩＸ動作環境と関連付けられていることを特徴とする請求項１２に記載の方法。
【請求項１５】
前記１つ又は複数のＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェア製品が更に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ移動端末、及び移動式ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ、の１つ又は複数を含むことを特徴とする請求項２に記載の方法。
【請求項１６】
ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ移動端末、及び移動式ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ、の１つ又は複数の全てが、更に少なくとも１つのＢｌｕｅｔｏｏｔｈインタフェースを含むことを特徴とする請求項１５に記載の方法。
【発明の詳細な説明】
【０００１】
背　景
本発明は、ワイヤレスの無線通信システムに関する。詳細には、本発明は、位置依存型の情報サービス・アプリケーション向けのサード・パーティ・アプリケーション開発を提供する方法に関する。
【０００２】
今日の無線ネットワークには多量の情報のフローがあり、更に増加しつつある。今後３年間で、無線加入者の数は現在のおよそ１億人から１０倍に増加して、２００３年にはおよそ１０億人になるものと推定される。無線のデータ・トラフィックの大半は音声指向であるが、無線装置に対するインターネット関連サービスの提供に関連する情報フローが増加しつつある。例えばインターネット・サービスの提供の結果生じる情報フローの増加により、特定のターゲット・グループへの到達を所望する情報提供者にとっても、また特定の情報の入手を所望する加入者にとっても次第に困難になりつつある。この問題の解決法の１つは、位置指向サービスを無線ネットワーク規模でワイヤレスの顧客に提供することである。
【０００３】
現在いくつか存在する位置に基づくサービスには、例えばＨｏｌｌｅｎｂｅｒｇによる米国特許第６，０９１，９５６号に記載されたものなどがある。この特許には、モバイル・ユーザに、サービスと、その現在位置に近接する場所及び出来事に関する時間が重要視される情報を提供するシステムが記載されている。このシステムには、専用の補助的コンピュータ端末が含まれるが、これは、位置に基づくサービスの提供に例えばセルラ電話を使用するとコストが高くつくという理論から提供される。加えて、この補助的端末には、位置決定機能を提供するために高コストのＧＰＳサービスも提供される。このシステムでは、例えば、信頼性が低く、帯域に制限があることで悪評高い衛星リンクを通じて、モバイル・ユーザ及びその位置と、販売者及びその位置とを相互に関連付けるのに、いくつかの位置決定機能を提供しなければならないという点で問題が生じる。加えて、どのようにアプリケーションを開発し、それをどこでどのように実行するのかについての明確な規定がない。例えばメニューの説明は与えられるが、メニューを提供するのがサービス提供者なのか、あるいは端末の開発者なのかについての規定は示されていない。
【０００４】
Ｍｏｏｎ他による米国特許第６，０５８，０９８号に記載されている別のシステムは、携帯式のインテリジェント通信装置に自動的にソフトウェアを構成することを含み、このソフトウェアの設定は位置情報に依存する。この場合も、位置情報は例えばＧＰＳによって提供されてもよく、セル・サイズの範囲内で相互に関連付けることができる。販売者が提供するような位置に基づく情報や、他の位置に基づくサービスを提供することは開示されていない。更に、アプリケーションは、装置の製造者による携帯式インテリジェント通信装置に固有に設計する必要があるのか、あるいはそのような位置情報をいずれのソフトウェア・アプリケーションに提供することができるのかどうかも開示されていない。
【０００５】
ワイヤレス・アプリケーション・プロトコル（ＷＡＰ）の登場により、新たな、そして多くの場合は非常に特殊目的化した方法でユーザの役に立つような、特にサード・パーティによるアプリケーション開発の可能性が実質的に無限にあるという認識が生じた。インターネット使用の拡大によっても、情報サービスの提供に無限の可能性が生まれた。今日の高帯域幅環境で豊富に得られる無線媒体を導管（ｃｏｎｄｕｉｔ）として使用して、ワールド・ワイド・ウェブ（ＷＷＷ）ページ又はＷＡＰページへのアクセスを提供するのと併せて、価値を付加したサービスを提供する機会は豊富にある。更に、情報を自発的な（ｕｎｓｏｌｉｃｉｔｅｄ）方法でユーザに送信する「プッシュ」サービスに向かう傾向により、ユーザが関心を持つ情報や、端末に知られる要因、あるいは例えばオペレータ・インタフェースを通じて移動端末に入力することのできる要因、あるいは事前にプログラムすることのできる要因に応じて提供することのできる情報をユーザに与えるアプリケーションを提供する機械が増える。
【０００６】
これ以外のＷＡＰアプリケーションの例には、インターネット情報の検索が含まれ、この場合は、無線加入者がインターネットにアクセスすることを可能にするためＷＡＰが使用されてもよい。特定の移動端末は、ユーザがインターネットにアクセスする能力を制限する場合もあることに留意されたい。メモリ・サイズなどの制限により、ユーザが移動無線端末を使用してインターネットをナビゲートする能力が著しく低下する場合もある。しかし、サービスマンの派遣や、追加情報の対話型要求、支払いサービスへのアクセス、通話セットアップ・サービスのメニューなどを含む電子メール通知といった他のアプリケーションをＷＡＰによって促進することができる。
【０００７】
残念なことに、ＷＡＰサービスを提供する機会はこれまで、専門知識を備え、業界で無線コミュニティとの密接なつながりを持つ者に限られており、その結果アプリケーション開発が低調だった。加えて、かなり広い基盤でＷＡＰサービスを提供する必要性から、例えば小規模販売者などやそれほど裕福でないユーザなど、ＷＡＰによって恩恵を受ける可能性の低い層が、実質的にＷＡＰ市場から除外されている。更に、魅力のあるＷＡＰアプリケーションの数が限られていることに伴い、一般に無線装置の訴求力が限られてしまうという望ましくない結果が生じる。従って、より多種多様なＷＡＰアプリケーションが広く利用できるようになれば、あらゆる種類の移動端末に対する需要が一気に高まるものと思われる。ＷＡＰについての更に詳細な情報については、Ｃｈｒｉｓｔｅｒ Ｅｒｌａｎｄｓｏｎ及びＰｅｒ Ｏｃｋｌｉｎｄによる「ＷＡＰ−Ｔｈｅ Ｗｉｒｅｌｅｓｓ ａｐｐｌｉｃａｔｉｏｎ ｐｒｏｔｏｃｏｌ」， Ｅｒｉｃｓｓｏｎ Ｒｅｖｉｅｗ， Ｎｏ．４， １９９８を参照されたい。Ｂｌｕｅｔｏｏｔｈについてはある程度言及されており、バンキング環境の特別な計算機についての一例が提供されるが、その計算機のために機能するアプリケーションの開発法についての開示はない。特別なハードウェアのために設計された特別なアプリケーションの場合は、目的とするハードウェアだけで動作することから、より広いユーザ基盤に対するアプリケーションの訴求力が制限される点で問題が生じる。
【０００８】
このため、当技術分野では、位置に基づく情報サービスとそれに関連するアプリケーションを効率的かつ費用効果の高い方式で提供し、それにより無線端末の需要を更に促進する方法が望まれる。
【０００９】
更に、当技術分野では、スケーラビリティがあり、複数の幅広いアプリケーション・カテゴリに応用することのできる位置に基づく情報サービス・アプリケーションを提供し、それによりこの場合も、その方法に準拠する移動端末及び同様な装置の需要を促進するような方法が望まれる。
【００１０】
更に、ソフトウェア・アプリケーション開発を助長し、移動端末ユーザに更に多くの機能と利便性を提供することにより、更に移動端末の需要の増加をもたらす方法が望まれる。
【００１１】
更に、ソフトウェア・アプリケーション開発を助長する方法もまた望まれ、より優れたアプリケーションを開発することによりこの方法自体の需要が高まるという意味で、方法自体の需要が増大するであろう。
【００１２】
概　要
当分野のこれらのニーズ及びその他のニーズを満たすために、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ環境でウェブ・サイトなどの設定した総合ビジネス・ポータル（ｉｎｔｅｇｒａｔｅｄ ｂｕｓｉｎｅｓｓ ｐｏｒｔａｌ）を介して、単数又は複数の顧客、及び１つ又は複数のサード・パーティ開発者に、総合的な製品及び総合的なビジネスの提案を提供する方法について説明する。
【００１３】
このため、本発明の各種の実施形態によれば、この方法は、例えば認可プロセスを使用して認可された資格を有するサード・パーティに、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈのソフトウェア開発キット（ＳＤＫ）を提供することを含むであろう。ＳＤＫは、総合ビジネス・ポータルを使用してサード・パーティ開発者に提供することができる。本発明によれば、この総合ビジネス・ポータルは、サード・パーティ・アプリケーションの提供をサード・パーティ開発者にとって魅力的なものにする手段として、その提供者と関連付けた強力なブランド化力（ｂｒａｎｄｉｎｇ）を有することに留意されたい。従って、資格を有するサード・パーティが開発した総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品は登録され、例えば、製品レジストリで顧客やサード・パーティ開発者が総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品を入手できるようにする。製品レジストリは、総合ビジネス・ポータルすなわちウェブ・サイトで利用できる製品データベースなどでよい。
【００１４】
更に本発明の各種の代表的実施形態によると、例えばＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ移動端末、及び移動型ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバなど、いずれも少なくとも１つのＢｌｕｅｔｏｏｔｈインタフェースを含むＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェア製品に対する顧客からの１つ又は複数のハードウェアの注文は、総合ビジネス・ポータルを通じて処理することができる。更に、ハードウェアの注文に対する支払いを総合ビジネス・ポータルを通じて顧客から受け取ることができ、注文は全て、総合ビジネス・ポータルと関連付けられた中央位置から行うことができる。顧客からの総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈソフトウェア製品に対するソフトウェアの注文は、総合ビジネス・ポータルを通じて処理することができる。更に、ソフトウェアの注文に対する顧客からの支払いと注文の履行は、総合ビジネス・ポータルを通じて達成することができる。
【００１５】
更に本発明の各種の代表的実施形態によると、総合ビジネス・ポータルを使用して総合ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ製品を提示し、試験的に顧客に提供することができる。このため、顧客は、その製品が自分のニーズを満たすかどうかを見極める前に製品を試してみることができる。また、試験的に製品を提示し、提供することにより、製品のサード・パーティ開発者は、例えばどのようなアップグレードが必要なのかを見極める機会を得ることができる。
【００１６】
上記のようなＳＤＫの提供によれば、ＳＤＫは次の構成要素の１つ又は複数を含むであろう；ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ開発環境、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈソフトウェア・モジュール、及びドキュメンテーション。ＳＤＫは更に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションの例を含むことができる。より具体的には、ＳＤＫは例えば、ブートローダ、ソフトウェア・プラットフォーム、及び基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション、の１つ又は複数を含むであろう。ソフトウェア・プラットフォームは、Ｂｌｕｅｔｏｏｔｈスタック、オペレーティング・システム、及び例えば移動ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ端末又はサーバなどのターゲット・ハードウェアにある、１つ又は複数のハードウェア・インタフェースに対応する１つ又は複数のソフトウェア・ドライバも含むことができる。本発明により提供されるＳＤＫは、オープン・ソースのソフトウェア・コンポーネントを含むことに留意されたい。更に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ開発環境は、例えばＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）動作環境やＵＮＩＸ動作環境などで実行するアプリケーションの開発に適したグラフィカル・ユーザ・インタフェースの開発ツールを含むことができる。
【００１７】
本発明の目的及び利点は、図面と併せて以下の詳細な説明を読むことにより理解されよう。
【００１８】
詳細な説明
以下で、本発明の様々な特徴について図面を参照して説明するが、図面において同様な部分は同じ参照符号で識別している。
【００１９】
従って、例えば位置に基づく情報サービスのアプリケーション開発を提供する方法を説明する。本発明の各種代表的実施形態によると、位置指向サービスを提供することができ、このサービスでは、Ｂｌｕｅｔｏｏｔｈ規格に従って、例えば移動電話、ＰＤＡなどのＷＡＰ−Ｂｌｕｅｔｏｏｔｈ装置、あるいはＢｌｕｅｔｏｏｔｈインタフェースと、例えば本発明に従って開発された適切なアプリケーションとを有する任意の装置にローカルな情報を通信し、更に本発明によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバからサービスを提供する。
【００２０】
代表的なＢｌｕｅｔｏｏｔｈ環境１００を示す図１Ａから分かるように、ユーザ１４０が、カバレージ範囲１２１を有するＢｌｕｅｔｏｏｔｈ機能を備えた施設に接近すると、Ｂｌｕｅｔｏｏｔｈ端末１３０と、例えばインターネット１１０との間に接続が確立され、Ｂｌｕｅｔｏｏｔｈ端末１３０に送信するメッセージ１２２を通じて、顧客位置本位の情報１２０をユーザ１４０に転送することができる。この方法により、従来技術による解決法では不可能であった位置に特化した方式で、非常に局地化した情報をユーザ１４０に転送することができる。このような近接指向あるいは位置に依存したサービスの潜在的な応用例は文字通り無限にあり、またこれについては以下でより詳細に説明するので、ここでは本発明の各種実施形態による基本的なＢｌｕｅｔｏｏｔｈサービスを理解することで十分である。
【００２１】
Ｂｌｕｅｔｏｏｔｈサービス環境１００は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ１４０を考察することによって更に理解することができる。このサーバ１４０は、例えば付加的な高速インターネットや、付加的なウェブ・サイトへの補助的サーバへの接続を提供するために標準的なコンピュータ１５０に接続するか、又は単にスタンド・アロン方式で動作することができる。標準的コンピュータ１５０を使用して、例えばケーブルを使用し、シリアル・インタフェースを通じて、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ１４０にアプリケーションをダウンロードできることに留意されたい。更に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ１４０のメンテナンス用ソフトウェアを開発して、それを例えば標準的なコンピュータ１５０で実行することもできる。
【００２２】
従って、Ｂｌｕｅｔｏｏｔｈ端末１３０には、例えばサード・パーティ・アプリケーション開発者である顧客が仲介を希望するプッシュ・サービスが提供されてもよい。主としてＢｌｕｅｔｏｏｔｈサーバ１４０に与えられる範囲が制限されているために、このような方法でサード・パーティの顧客が仲介を望む情報は、他の情報サービスから分離できることに留意されたい。１００ｍの範囲が可能であるが、１０ｍ〜３０ｍの一般的な範囲にすると、本発明と、Ｂｌｕｅｔｏｏｔｈ仕様ｖ１．０Ａに概説されるＢｌｕｅｔｏｏｔｈ規格とに準拠するＢｌｕｅｔｏｏｔｈベースのサービス規定を使用して、一定量の固有の分離が可能になることが保証される。具体的には、同Ｂｌｕｅｔｏｏｔｈ仕様４９５〜５１３ページ、Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ Ｒｅｑｕｉｒｅｍｅｎｔｓ ｆｏｒ Ｂｌｕｅｔｏｏｔｈ ａｓ ａ ＷＡＰ Ｂｅａｒｅｒが、本発明による位置依存情報サービスの提供とＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションの開発を理解するための基盤を与えてくれるだろう。従って、サーバ１４０は、例えば１つ又は複数のＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ１４０を購入している顧客といった、アプリケーション開発及び／又はサービス提供顧客が仲介を希望するウェブ・ページを、ユーザ１４０のＷＡＰ−Ｂｌｕｅｔｏｏｔｈ端末１３０にプッシュすることができる。
【００２３】
ユーザ１４０が提供された情報を実際に見る可能性を高めるために、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ１４０は、本発明の各種実施形態により、プッシュされる情報を無償で提供することが好ましいことに留意されたい。また、サービス提供／アプリケーション開発者である顧客がインターネット・アドレスしか持っていない場合、普通のユーザは、例えば従来のＧＳＭ装置などを介してインターネットに接続しなければならず、これにはコストと時間が更に必要になることに留意されたい。従って、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ１４０は、ＷＡＰとＢｌｕｅｔｏｏｔｈの双方を使用するサービスを提供して、位置固有の情報をＷＡＰ−Ｂｌｕｅｔｏｏｔｈ端末１３０に仲介する。端末１３０は図では例えばセルラ電話として表しているが、例えばモバイル・インターネットや追加的な総合サービスを提供するＰＤＡなどの装置の形態にしてもよい。
【００２４】
図２Ａ及び図２Ｂからなる図２を参照すると、包括的なＷＡＰ−Ｂｌｕｅｔｏｏｔｈサービス提供及びアプリケーション開発環境２００を表す、より詳細なエンティティ関係図が示されている。本発明の代表的実施形態によるハードウェア及びソフトウェア動作の詳細が更に示されている。図の最下部の電源２２１は、全回路が使用する可能性のある３．３Ｖの最小安定化電圧を生成するのに必要なハードウェアを表している。電源２２１は更に４．５〜１２Ｖの入力電圧で動作し、また入力極性が反転した場合、あるいは入力電圧が３０Ｖにまで高まった場合に損傷を受けないことが好ましい。リセット回路２２２が設けられてもよく、これは電源の電圧が上昇し３．１Ｖを超えたときに、ハードウェアを既知の明確な起動状態に入らせる機能を担うことができる。例えばアクティブ・ローのリセット信号を、例えばＣＰＵ、Ｂｌｕｅｔｏｏｔｈトランシーバ・モジュール（以降「Ｂｌｕｅｔｏｏｔｈインタフェース」と称する）、及びＦＬＡＳＨメモリなど、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ中の任意のハードウェアに供給することができる。
【００２５】
Ｉｎｉｔ２２３は、リセットによる起動の直後にブートローダ２３３が実行するソフトウェアである。Ｉｎｉｔ２２３は、例えばメモリなどへの接続のセットアップなど、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・ハードウェア環境２２０の基本的なセット・アップを行うことができる。ブートローダ２３３自体を外部ＦＬＡＳＨメモリ内に常駐させることができるので、ｉｎｉｔ２２３ソフトウェアがチップ・セレクトをセットアップする前の起動時にＦＬＡＳＨメモリを接続して、ＦＬＡＳＨメモリにアクセスできるようにしなければならないことに留意されたい。ｉｎｉｔ２２３プロセスの一部として、有効な電力がシステム中にあることをユーザに示すために、ステータスＬＥＤ２１１をオンにすることができる。更にｉｎｉｔ２２３の一部として、パワーオン・セルフ・テスト２２６で基本ハードウェアのテストを行うことができる。エラーが発見された場合は、それをエラー表示２２７として伝えることができる。軽微なエラーしか発見されない場合、このユニットは動作の継続を試みるが、重大なエラーがあると停止を試みる。
【００２６】
深刻なエラーが生じずにｉｎｉｔ２２３が実行された後、例えばＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション・ソフトウェア・ロードのメモリの完全性性確認を含む、ソフトウェア完全性テスト２２５を実行することができる。従って、記憶されたアプリケーションのチェックサムを計算し、そのアプリケーションをダウンロードした際に別個に記憶しておいたチェックサムと比較することができる。チェックサム・エラーが見つかった場合、プロセスの実行はブートローダ２３３にとどまり、エラーのあるアプリケーションは起動しない。ソフトウェア完全性チェック２２５中にエラーが見つかった場合は、エラー・タイプの違いに応じてＬＥＤを点滅させることにより、ユーザにエラーの原因を大雑把に表示することができる。エラーの種類は、エラーごとに異なる点滅回数を使用することによって示すことができ、複数のエラーが見つかった場合は最も重大なものだけを示すことが好ましい。ＬＥＤ自体がエラーの原因である場合には、このような表示法は適用できないことに留意されたい。
【００２７】
ＲＳ２３２ポート２２８が、シリアル接続のために提供され得る。ＲＳ２３２ポート２２８には、例えば、ＣＰＵに組み込むことのできる、高度なバッファリングを行うＵＡＲＴ、及び例えば電気的なＲＳ２３２レベルと論理的な３．３Ｖの信号レベルの間の変換を処理する外部ＲＳ２３２トランシーバを含むことができる。ＲＳ２３２ポート２２８回路は、ＥＭＣ／ＥＳＤ問題を回避／抑制するために、何らかのフィルタリング機能も含むことができる。ＲＳ２３２ポート２２８は、最高１１５．２ｋｂｐｓで動作するように設計することが好ましい。シリアル回線を介して通信するには、１組のシリアル・ドライバ２３０も必要である。デフォルトで、シリアル回線は、例えば８データ・ビット、パリティ・ビットなし、Ｉストップ・ビット、９６００ｂｐｓといった標準的な非同期通信用にセット・アップすべきである。更にブートローダ２３３は、単純なブートローダ・プロトコル２３５を使用して、例えばメンテナンス・アプリケーション２３４と通信できることに留意されたい。
【００２８】
有効なＷＡＰ−ＢｌｕｅｔｏｏｔｈアプリケーションがＦＬＡＳＨメモリ内にあり、メンテナンス・ツールからの接続が確立されていない場合、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションが、起動後に明確に定めた時間が経過してから起動されてもよい。この時間遅延の目的は、メンテナンス・ツールから要求があった際に、誤動作するアプリケーションがブートローダに入らないようにすることである。このため、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈを起動する前に、起動時にメンテナンス・ツールがブートローダ２３３と接続することのできる時間枠がある場合がある。代表的ＷＡＰ−ＢｌｕｅｔｏｏｔｈサーバのＣＰＵは更に、高度なタイマ・ドライバ２３１を備えることができる。ただし、これを最大に活用するために、いくつかのソフトウェア・ドライバが更に必要となる場合もある。誤動作するアプリケーションが偶発的にそれ自体を消去することができないように、ＦＬＡＳＨドライバ２３２はブートローダ２３３に記憶して保護することができる。更に、ブートローダ２３３を記憶するセクタをハードウェアで保護して、ソフトウェアがそれを偶発的に消去できないようにすることができる。ＦＬＡＳＨメモリのセクタに書き込み又は消去をするには、特別のソフトウェア・ドライバが必要である。ＦＬＡＳＨプログラミングの特殊な特性の１つは、ＦＬＡＳＨドライバ２３２は、それが書き込み／消去を行おうとする同じメモリ・チップからは実行することができないことである。従って、ＦＬＡＳＨドライバ２３２は、使用前にＦＬＡＳＨからＲＡＭにコピーされる必要がある。
【００２９】
当業者には理解できるように、ブートローダ２３３は、基本的なハードウェアの初期化、基本的なシステム・テスト、及びＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションの起動を担当する小規模なスタンドアロン・アプリケーションである。オプションで、管理者は、シリアル・ブートローダ・プロトコルを使用して新しいデータを装置にダウンロードすることにより、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションを更新又は交換することができる。ブートローダ２３３は、ＦＬＡＳＨメモリの専用セクタに記憶することができ、起動中にブートを行うことが可能である。ブートローダ２３３は、製造プロセスの一部として、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバにプログラムしてもよいことに留意されたい。またアプリケーションのソフトウェアによって誤って上書きすることができないように、ブートローダ２３３は保護することができることに再度留意されたい。
【００３０】
ブートローダ２３３に加えて、低レベル動作のためにｅＣｏｓ２９５を使用することができる。ｅＣｏｓ２９５は、オープン・ソース方式、ロイヤリティ不要、高度に構成可能な、組み込みシステムに理想的なオペレーティング・システムであることが好ましい。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションに対するサポートによれば、ｅＣｏｓ２９５オペレーティング・システムは、例えばシリアル・デバイス・ドライバなど異なる種類のハードウェアに対するサポートを提供することができ、ＳＤＫ２８０の中枢部分と見なすことができ、サード・パーティ開発者によるアプリケーション開発を容易にする。また、ｅＣｏｓ２９５は、スレッド、ｍｕｔｅｘ、及びタイマといった構成要素を実装するので、例えばＢｌｕｅｔｏｏｔｈスタック２９０をＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに移植することが容易になる。従って、ｅＣｏｓは、例えばＴＣＰ／ＩＰスタックなどを加えることにより、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの機能を拡張するのを容易にする。
【００３１】
ホスト・コントローラ・インタフェース（ＨＣＩ）２９４は、Ｂｌｕｅｔｏｏｔｈスタック２９０の付加的部分である。ＨＣＩ２９４は、ホストとＢｌｕｅｔｏｏｔｈハードウェア間の均一のインタフェース、すなわちＢｌｕｅｔｏｏｔｈハードウェアのリンク・マネジャを提供することができる。ＨＣＩ２９４は透過性も提供することができ、例えば同じＨｏｓｔソフトウェアを、ＲＳ２３２やＵＳＢなど異なるハードウェアで使用することができる。サービス・ディスカバリ・プロトコル（ＳＤＰ）２９１は、Ｂｌｕｅｔｏｏｔｈスタック２９０の更に別の部分である。ＳＤＰ２９１は、例えば端末アプリケーションが、サーバ・アプリケーションから提供されたサービスの存在を見つける能力を提供することができる。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、端末にサービスを提供する典型的なサーバ・アプリケーションである。ただし、ＷＡＰ−ｏｖｅｒ−Ｂｌｕｅｔｏｏｔｈのプロファイルの欠如のために、ＳＤＰ２９１の使用は、初期バージョンのＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに限られる場合があることに留意されたい。ロジカル・リンク・コントロール及びアダプテーション・プロトコル（Ｌ２ＣＡＰ）２９３は、Ｂｌｕｅｔｏｏｔｈスタック２９０の更に別の部分である。Ｌ２ＣＡＰ２９３は、例えばいくつかの上位層プロトコルの使用を可能にするプロトコル多重化、例えば上位層プロトコルのパケットを区分することができるセグメンテーション及び再組み立て、例えばＱｏＳ規約のネゴシエートなどのサービス品質の保証、などの機能を提供する。ＲＦＣＯＭＭ２９２は、Ｂｌｕｅｔｏｏｔｈスタック２９０のまた別の部分である。ＲＦＣＯＭＭ２９２は、２台のＢｌｕｅｔｏｏｔｈ装置間の単純なシリアル・ケーブルの置換をシミュレートする。本発明によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、最高７つのＲＦＣＯＭＭ２９２構成要素のインスタンスを使用して、最高７台の端末とのシリアル通信をシミュレートできることに留意されたい。更に、代表的ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションでは、ＷＡＰ情報は、例えばメンテナンス・アプリケーションにリンクさせてアプリケーションとともに記憶しても、アプリケーションとは別個に記憶してもよいことに留意されたい。ＷＡＰ情報を個別に記憶する場合、本発明の代表的実施形態によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、ＦＬＡＳＨメモリ・ファイル・システムを必要とすることが好ましい。このような構成要素はＦＬＡＳＨメモリを使用して、例えばファイルを開く、ファイルへの書き込み、及びファイルを閉じるなどの機能を使用することによりファイル・システムをシミュレートする。
【００３２】
代表的アプリケーション２７０のためのグラフィカル・ユーザ・インタフェースを提供するために、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）バージョンのＳＤＫ２８０は、好ましくはＷｉｎｄｏｗｓ（登録商標）ＮＴ及び９ｘ向けの一般的ＧＮＵ開発ツール及びユーティリティの一部から構成されるＣｙｇＷｉｎ開発環境２７５を使用することが好ましい。ＣｙｇＷｉｎ開発環境２７５は無償で利用することができ、その構成要素は、例えばＧＰＬやパブリック・ドメインなど、各種のライセンスで保護されている。従って、ｂｉｎｕｔｉｌｓ２７１は、例えばターゲット・プラットフォームのバイナリ、例えばオブジェクトやライブラリ・ファイルを操作するための小規模な基本ツール・セットである。更に、ＧＮＵコンパイラ・コレクション（ｇｃｃ）２７２は、例えばＡＲＭ７ＴＤＭＩプロセッサなど、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェア内のＣＰＵ向けのＣ及びＣ＋＋のクロスコンパイラを含むことができる。Ｇｃｃ２７２はまた、再配置可能なオブジェクト・モジュールを、位置決定されたＥＬＦバイナリ内にリンクすることができるリンカも含むことができる。Ｇｄｂ／インサイト２７３は、テキスト・モードのクロス・デバッガであることが好ましく、ターゲット環境のシミュレーション、又はＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェアのリモートからのデバッグに使用することができる。リモート・デバッグは、下記で更に詳しく説明するように、低コストのシリアルＲＳ２３２接続をｇｄｂスタブ２７４と併せて使用するか、又はＷＡＰ−ＢｌｕｅｔｏｏｔｈハードウェアのＣＰＵコアに内蔵されたハードウェア・エミュレーション機能に、高性能ＪＴＡＧデバッガを通じて直接接続することにより行うことができる。インサイトは、ｇｄｂ用の簡便で強力なグラフィカル・ユーザ・インタフェースである。ｇｄｂのグラフィカル・インタフェースの選択肢は多くあるが、インサイト・ユーザ・インタフェースの利点の１つは、Ｗｉｎｄｏｗｓ（登録商標）とＵｎｉｘの両プラットフォームに移植することが可能なことである。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェアのリモート・シリアル・デバッグを行う場合、ｇｄｂ／インサイト２７３は、スタブと呼ばれるターゲット・ハードウェアで実行されるソフトウェア・モニタとの通信を必要とすることが好ましく、またスタンドアロン・アプリケーションとするか、又はデバッグを行うアプリケーションにリンクすることが好ましい。本発明による代表的ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバでは、ｇｄｂスタブ２７４は、例えばブートローダ２３３にリンクすることができ、またコードとしてＳＤＫ２８０に供給して、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションにリンクすることもできる。
【００３３】
本発明によるＷＡＰ−ＢｌｕｅｔｏｏｔｈサーバのＣＰＵは、例えばＡＲＭ社から入手可能なものなど、３２ビットのＲＩＳＣアーキテクチャであることが好ましい。このようなＣＰＵは、“ＡＲＭ”３２ビット・モードか、又は“Ｔｈｕｍｂ”１６ビット・モードでコードを実行する能力を有する。どちらのモードによる実行にも利点と欠点があるので、ＳＤＫ２８０は、ツールセット２８３の形態でＡＲＭとＴｈｕｍｂ両方をサポートするように設計することが好ましい。ＳＤＫ２８０とともに提供されるドキュメンテーション２８２に従い、明確に系統立て注釈をつけたソース・コードと、例えばＲＥＡＤＭＥファイルなどのドキュメンテーションを含む例２８１を提供することができる。例２８１の目的は、サード・パーティ開発者がＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェア用のアプリケーションの開発を容易に開始できるようにすることである。単純な例２８１は例えばＬＥＤを点滅させることを含み、一方複雑な例２８１はＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション自体を含む。例２８１を理解するのに必要とされる労力は、概略仕様だけからＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションを直接理解しようとする場合よりは少ない。以下で更に詳細に説明するように、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・ハードウェアの供給者は、サード・パーティ・ソフトウェアの最終的な認可に最も直結するような方法で標準に従って書かれた例２８１を提供することが好ましいことに留意されたい。
【００３４】
先に指摘したように、ＳＤＫ２８０は、ＧＮＵ開発環境、ソフトウェア・コンポーネント、及び例えばインストール及び操作を含むドキュメンテーション２８２を含み、更にいくつかの例とアプリケーション・ノートを含むことが好ましい。ＧＮＵツールセット２８３は、例えばＷｉｎＮＴ及びＬｉｎｕｘをメイン・ターゲットとして含む複数の開発プラットフォーム環境で使用するために設計することができる。ただし、この他のＷｉｎ３２プラットフォーム及びＵＮＩＸプラットフォームも適切な開発プラットフォームとして機能すると考えられることに留意されたい。オプションとして、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ装置の機能に役立つアプリケーションを提供することができるが、これはバイナリのＷＡＰページをＷＡＰ−Ｂｌｕｅｔｏｏｔｈ装置にダウンロードする機能を含んでいる。署名アプレット２１８を提供することができるが、この中では例えばローカル・ファイルの読み出し及び書き込みなど特別の権限をブラウザによってＪａｖａスクリプトに与えることができる。これは通常は信頼されないアプレットでは行うことができない。署名アプレット２１８は、下記のＷＭＬテンプレート２１９ａ及びＷＡＰ／ＷＭＬコンパイラ２１９ｂに関連する項で説明する機能を実施することができる。
【００３５】
その名前が示すように、ＷＭＬテンプレート２１９ａは、ＷＡＰページの作成に使用することができる。更に、ＷＡＰ／ＷＭＬコンパイラ２１９ｂはＷＡＰページ用のコンパイラであり、ＷＭＬで書かれたページをバイナリＷＡＰフォーマットに変換し、それをＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ装置にロードすることができる。外部ケーシング２１７を提供することができ、これはＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの回路基板を保護し、装置に魅力的な印象を与える。更に、外部ケーシングは、前述の同時係属のデザイン出願第Ｄ００８２８号に記載されるような機能的及び非機能的な特徴を提供できることに留意されたい。
【００３６】
更に、ＰＤＡ及びそれに関連する移動端末へのファイルの転送方法についてのソース・コード例を含む例２８１を、ＳＤＫ２８０の標準部分として提供することが望ましいことに留意されたい。従って、本発明の各種実施形態によると、サード・パーティのソフトウェア・アプリケーション開発者が、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを配信プラットフォームとして使用して特定のサービスを提供することを希望する顧客の興味を引くような高品質アプリケーションの基盤２８２を作成するために、初期段階で、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・ハードウェアの初期のリリーズに関与することが想定される。更にサード・パーティ開発者のために、サイズが約５０Ｋのソフトウェアのダウンロードなどのリソース２８３を提供することができる。更に本発明によると、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、サード・パーティのソフトウェア開発者に向けて新しいビジネス２８４を作り出すこともできることに留意されたい。ウェブ・サイトなどを通じたサード・パーティ開発者による相互のＳＤＫの相互作用の提供は、前述の同時継続出願第０４００４２−００３号に更に記載される方法によって提供することができる。サード・パーティ開発者アプリケーションの販売促進、ニュース・グループなど、例えば独自のウェブ・サイト２５０における特別の機能は、開発者コミュニティ２５９の成長を促進するという利点を有する。従って、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバのアプリケーション開発者向けのウェブ・サイト２５０は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈが、いつ使用や、サード・パーティ・アプリケーション開発者などに利用可能になるかについての情報を含むことができる。更に、シングル・セッション２１３のＢｌｕｅｔｏｏｔｈデータ転送は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバと１台の移動端末間の転送を含むことができる。この機能はＲＦＣＯＭＭ層を使用して、２台の装置間の単純なシリアル・ケーブル置換をシミュレートする。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、自動的に移動端末に接続することができてはならず、ハード・コード化することが好ましい。マルチ・セッション２１２のＢｌｕｅｔｏｏｔｈデータ転送は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバと数台の端末間の転送を含むことができる。このため、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、エリアに入ってきた新規の端末に自動的に接続できてはならず、また例えば端末との接続はハード・コード化することができる。要求があると、各移動端末には同じＷＡＰコンテンツを送信することができる。
【００３７】
本発明による代わりの代表的実施形態では、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、接続する装置の合計数が、１台のＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバによってサービスすることができる最大数を超えない限りは、受信エリアに入ってきたＢｌｕｅｔｏｏｔｈ移動端末やその他のＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバと自動的に接続を確立することができ、この最大数は７台であることが好ましい。サービス・エリアから離れる移動Ｂｌｕｅｔｏｏｔｈ端末は、自動的に接続が切断される。接続すると、新規の移動Ｂｌｕｅｔｏｏｔｈ端末にはそれぞれ同じＷＡＰコンテンツを送信することができる。ＷＡＰ−ｏｖｅｒ−Ｂｌｕｅｔｏｏｔｈプロファイルが完了すると、ＷＡＰ−ＢｌｕｅｔｏｏｔｈサーバはＷＡＰ機能を有する端末全てに連絡を試みるが、それ以前には、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈは、例えばＷＡＰ−Ｂｌｕｅｔｏｏｔｈ機能を有すると識別された特定の指定端末にのみ連絡を試みる。
【００３８】
先に触れたように、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションのステータスは、ステータスＬＥＤ２１１で表示することができる。例えば、ステータスＬＥＤ２１１は、高頻度で点滅することにより、移動Ｂｌｕｅｔｏｏｔｈ端末との連絡を知らせることができ、更に、低頻度の点滅により、移動Ｂｌｕｅｔｏｏｔｈ端末が到達範囲内に入るのを待っていることを知らせることができる。
【００３９】
ＷＡＰ規格は完全なものではなく、また例えば携帯電話などの特定の移動端末は“ＷＡＰプッシュ”をサポートしていないので、ＷＡＰ−ＢｌｕｅｔｏｏｔｈサーバはＡＴコマンド２１４と呼ばれる機能を使用して、例えばＬＵＫＡＳブロックにより、サポートされていない装置にウェブ・ページをプッシュする。ＷＡＰプッシュ２１５は、ＷＡＰウェブ・ページを他の端末にプッシュする機能を提供することができる。本発明によりＷＡＰ−Ｂｌｕｅｔｏｏｔｈシステム２５２を提供することができるが、これは、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・ハードウェア２２０と、ウェブ・サイト２５０と、バイナリＷＡＰページをＷＡＰ−Ｂｌｕｅｔｏｏｔｈ装置に転送するためのＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション２７０、２１０と、ＳＤＫ２８０とを含むことができることに留意されたい。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈシステム２５２には更にユーザ・マニュアル２５１を提供することができ、これには、例えばウェブ・ページをＷＡＰ−Ｂｌｕｅｔｏｏｔｈ端末に送信するためのデフォルトのソフトウェア・アプリケーションを備えたＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・ハードウェア２２０の使用法などが記載される。ユーザ・マニュアル２５１は、サード・パーティ・アプリケーション開発者向けの詳細な開発者マニュアルとして意図されていないことが好ましいことを理解されたい。
【００４０】
このように本発明によると、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・ハードウェア２２０によって伝えられる新しいアプリケーションを可能にすることにより、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ機能を備える端末の需要２５３を生み出すことができ、それにより端末所有者がアプリケーションから恩恵２５４を受けることが可能になり、更にＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・ハードウェア２２０に対する需要が高まる。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈは、情報提供者から端末所有者への情報のプッシュ２５５を可能にする。例えばサービスのワイヤレス配信などの情報プッシュ２５５を可能にすることにより、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈは所有者のビジネスを促進する２５７ことができる。更に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈによって運ばれる新しいアプリケーションは、この場合もユーザ及び提供者にとって利益となる２５４サービスを提供する。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈはその外観と性能により、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ関連ハードウェアを所有したいという欲求を生じさせる２５６。更に、例えばＷＡＰ−Ｂｌｕｅｔｏｏｔｈ移動端末又はＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを所有することが、より高い社会的価値を持ちうる２５８ことにも留意されたい。
【００４１】
ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの標準的な供給の一部として開発及び提供することができるのは、基本的なＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションだけであることに再度留意されたい。その代わり、サード・パーティ開発者に対しては、顧客にとってのＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ及びシステムの価値を高めるように適合されたアプリケーションを開発するよう推進することが好ましい。この際、本発明により、様々なエンティティをＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバのサード・パーティ開発者と見なすことができる。例えば、現在３Ｃｏｍ、Ｐａｌｍ　Ｐｉｌｏｔとして知られる無線オーガナイザなど、各種のワイヤレス装置向けのアプリケーションを専門的に開発している企業を考えることができる。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを購入し、その顧客ニーズに適合させるためにアプリケーションを拡張及び／又は交換するＯＥＭエンティティ。自身の個人的なニーズのために、自身のアプリケーションを拡張、又は完全に設計する上級エンドユーザ。インターネットを介して無償でダウンロードできるソフトウェアを開発するフリー・ソフトウェア組織。
【００４２】
従って、サード・パーティ開発者は一般的に、ビジネス開発者、個人開発者、及び産業開発者、の３つの主要カテゴリに分類することができる。異なるグループの例としては、ビジネス・カテゴリの場合には、例えば食料品店の青果及び／又は肉の部門にＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを置き、そのサーバ近辺の製品に関する情報を知らせるなどの買い物情報のローカルな放送などがある。製品の鮮度、製品の産地、次の出荷の予定日などを、その近辺にいるユーザに提供することができる。
【００４３】
個人カテゴリでは、個人開発者の自宅近くにいるユーザに、個人開発者の帰宅時間や、個人開発者のいる位置などを知らせることのできるホーム・ボイス・メール・ポストを提供することができる。ただし、外部者に、その住人の居場所に関する過度に重要な情報を提供しないように、パスワードやその他のユーザ識別情報を使用してこのような情報を保護することが望ましい場合もあることに留意されたい。更に、個別のビジネス・アプリケーションを提供して、個人開発者が個人的な開発を行えるようにしてもよいことに留意されたい。言い換えると、上記の例を使用すると、ビジネス開発アプリケーションは、個人ユーザによる開発を容易にする、ホーム・ボイス・メール・ポートの開発キットを含むことができる。あるいは、高い技術を持つ個人ユーザは、基本的なＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション及びＳＤＫを使用して開発を行うことができるかもしれない。個人開発者のアプリケーションの他の例としては、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバから提供される情報をフィルタリングする個人エージェントなどが考えられる。例えば、あるユーザが菜食主義者である場合、そのユーザには肉製品に関する位置依存情報を排除することが望ましいであろう。
【００４４】
更に、産業カテゴリでは、例えば１つ又は複数のＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを使用したロボットの制御アプリケーションなどが考えられる。このような産業用アプリケーションは、共同の努力で開発することも、又は機器提供者や産業開発者の顧客が単独で開発することもできる。
【００４５】
従って、このようなサード・パーティ・ソフトウェアの開発及び供給の戦略を使用することにより、いくつかの利点が認識される。多種多様な使用事例に利用可能なアプリケーションが数多くあることにより、あらゆる種類のＷＡＰ−Ｂｌｕｅｔｏｏｔｈ装置の販売が促進される。アプリケーションは、ハードウェア提供者の開発組織に過度の負担を強いることなく開発することができる。ハードウェア提供者が戦略的関心を寄せない高度アプリケーションの領域を開発し、それによりハードウェア提供者がその特定領域の技量を持たなくとも、ハードウェア需要を高めることもできる。
【００４６】
例えばソフトウェア開発コミュニティなど、ここ何年かの間に発展したオープン・ソース・ソフトウェアのパラダイムは現在産業界全体でその勢いを増し、注目を集めている。オープン・ソースの概念の詳細事項は多少複雑なものになってきており、広く流通する数種の出版物を参照することにより完全に理解することができる。従って、本発明によると、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ開発環境であらゆるソフトウェアを開発するのに使用するツールはオープン・ソースであることが好ましい。ツールは多くの開発者コミュニティに知られてそこで使用されることが好ましく、また高品質の製品であるという評価を受けることが好ましい。従って、例えばＳＤＫ２８０で配布されるソフトウェア・プラットフォーム・コンポーネントはオープン・ソースであることが好ましい。例えば、インターネット上で適当なオープン・ソース・コンポーネントが利用できる場合には、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ開発環境ではカスタム・コンポーネントよりもそのようなコンポーネントを使用することが好ましい。ただしカスタム開発も可能である。オープン・ソースのソフトウェアを提供することにより、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ装置向けのアプリケーション開発にかかるサード・パーティ開発者のコストを削減することができ、サード・パーティの開発努力を高めることができる。短期間で製品化することができるなど他の利点も実現することができる。
【００４７】
オープン・ソース意識の高いユーザ・グループでは、今日開発されるオープン・ソース方式のソフトウェア製品は、より従来型の方式で開発及び販売される製品に比べて、信用面で非常に大きな恩恵を得られることが多い。従って、関連製品は、その製品をオープン・ソースで提供するだけで、より容易に市場に流通させ販売できる可能性がある。また、ユーザ・グループは、機能を拡張したソフトウェアの発売を待つのを受け入れ、またオープン・ソースのソフトウェアでバグをより容易に修正できることを想定して、システム中のバグやエラーにさえ寛容であることが考えられる。この結果、オープン・ソース製品は、ユーザ・コミュニティに許容されるものになるまでの多量の開発と試験を省略して、開発の初期段階で市場に出すことが可能である。ただし、本発明によると、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ規格はＴＧ４互換であることに留意されたい。
【００４８】
更に、Ｂｌｕｅｔｏｏｔｈはスキャタネット（ｓｃａｔｔｅｒｎｅｔ）などのアドホック・ネットワーキングを可能にし、またアドホック・ネットワーキングの構成が有用なアプリケーションもあるが、一般的にはＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバはアドホック・ネットワーキング向けに構成しない方がよいことに留意されたい。また、本発明によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに関連するハードウェアは、開発されるＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションのサイズに応じて構成できることにも留意されたい。例えば、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェアは、後から行うアドオン式のメモリ・サイズの拡張などを考慮して設計することができる。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈには包括的な規格がないために、可能性のある全てのクライアントをサポートするただ１つの一般的な解決法はない。従って、いくつかのクライアントをサポートすることが好ましいが、アプリケーション開発者は、可能な限り多くの異なるクライアントをサポートする傾向があり、また実際にそのように推奨されていることに留意されたい。
【００４９】
双方向通信が可能であるが、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは一方向通信をサポートすることが好ましいことに留意されたい。つまり、移動ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ端末すなわちクライアントにＷＡＰページをプッシュすることはできるが、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈクライアントが、例えばＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを介してインターネットを検索することはできない。
【００５０】
図３及び図４に示すように、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェアは、いくつかの主要な機能ブロックから構成されることが好ましい。性能を同程度に維持するために、本発明によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、標準的なＢｌｕｅｔｏｏｔｈインタフェース３２０を提供するためのＢｌｕｅｔｏｏｔｈ無線モジュール３２１を含むことができる。更に含まれるのは、ソフトウェア・ライブラリとして入手することができる低レベルのＢｌｕｅｔｏｏｔｈプロトコル部分（“ベースバンド”）のセットであり、これについては下記で更に詳しく説明するが、これは標準的なベースバンドＦＬＡＳＨメモリ３２３から、特別設計のＡＲＭ７ＴＯＭＩ　ＲＩＳＣベースのベースバンドμ−コントローラ３２２で実行することが好ましい。Ｂｌｕｅｔｏｏｔｈインタフェース３２０は標準モジュールとして提供することができ、アンテナ３１０をモジュールの一部とせずに外部Ｂｌｕｅｔｏｏｔｈアンテナ３１０に接続することができ、またＵＳＢか標準的な非同期シリアル接続３２４を介して、最大４６０．８ｋｂｐｓで“マスタ”ＣＰＵ３３０に接続することが好ましい。ＵＳＢは、例えばＰＣなどより大型のシステムとのインタフェース用に提供されるのが好ましく、一方シリアル接続３２４は組み込みシステムで使用することが好ましい。本発明の各種実施形態によると、Ｂｌｕｅｔｏｏｔｈ無線モジュール３２１及びベースバンド・プロトコル・ソフトウェアは、独立したスタンド・アロン製品として利用できることが好ましいことに留意されたい。総合型Ｂｌｕｅｔｏｏｔｈインタフェース３２０をコア・デザイン・コンポーネントとして使用し、それに例えばシリアル接続３２４を介してマスタＣＰＵ３３０を接続することにより、複雑で不必要なＵＳＢマスタ回路を使用せずに済む。本発明によって提供されることが好ましい基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションは、中程度の通信速度だけを必要とすることが好ましいが、あらゆるサード・パーティ・アプリケーションの帯域幅要件を制限しないように、ハードウェア設計はやはり、最高４６０．８ｋｂｐｓでＢｌｕｅｔｏｏｔｈインタフェース３２０と通信できなければならないことに留意されたい。
【００５１】
Ｂｌｕｅｔｏｏｔｈインタフェース３２０用のＢｌｕｅｔｏｏｔｈアンテナ３１０は、いくつかの異なる方法で設計できることに留意されたい。本発明によれば、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに提供すべきアンテナ３１０の２つの方法には、ＰＣＢ３００に直接エッチングしたパターンとしてアンテナを提供するか、又は既存のＢｌｕｅｔｏｏｔｈアンテナ“部品”を以下で説明するように使用することが含まれる。エッチング・アンテナは、実質的にコストがかからない、最も費用効果の高い解決法であると思われるが、いくつかの欠点がありうることに留意されたい。エッチングによるアンテナはより多くのＰＣＢスペースを必要とする可能性があり、また正しいローブ特性を正確に適合させるのに更に労力が必要となることがある。アンテナ部品に関しては、小型、安価で、他の設計に合わせるのが比較的容易な単純な受動素子を使用することができる。このような部品は小型で安価であり、また好ましくはすでに入手できる状態にあるので、これを使用すると、アンテナを直接ＰＣＢ中に実現する際に伴うリスクを最小に抑えられる。Ｂｌｕｅｔｏｏｔｈインタフェース３２０のベースバンド・コントローラ３２２は、ユーザモード・アプリケーションをそこで実行することはできないことに留意されたい。従って、例えば基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションや、任意のサード・パーティ・アプリケーションなどの組み込みアプリケーションを実行するためにマスタＣＰＵ３３０が必要となる場合がある。マスタＣＰＵ３３０に求められる主要な要件は、可能性のあるあらゆるサード・パーティ・アプリケーションの処理ニーズにも対応できる、適切な処理能力を備えることである。更に、マスタＣＰＵ３３０は、ＲＳ２３２インタフェース３３５によってサポートされなければならない。このインタフェースは、Ｂｌｕｅｔｏｏｔｈインタフェース３２０とＲＳ２３２インタフェース３３５とのインタフェースに外部構成要素を使用せずに済むように２つの内蔵ＵＡＲＴを含むことができる。シリアル・チャネルを高速で動作させる際に過度のＣＰＵ負荷が生じないように、ＵＡＲＴはバッファリングしなければならない。マスタＣＰＵ３３０は更に強力で高品質のツールセットでサポートすることが好ましいが、このツールセットは、追加コストをかけずにＳＤＫにバンドルすることができ、オープン・ソースとして入手することができる。マスタＣＰＵ３３０のファミリーは、予想される将来の適合に対して適合及び移植が容易であることが好ましく、またＲＡＭ及びＦＬＡＳＨメモリ両方の変形を含む、各種のオプションのオンチップ・メモリ構成をサポートするプロセッサ・ファミリーのメンバであることが好ましい。複数のマスタＣＰＵ３３０の候補を現在のプロセッサ市場で得ることができるが、ある特定のプロセッサが、本発明によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバにほぼ理想的な候補として認識される。それは、サンノゼのＡｔｍｅｌ社製造のＡＴ９１ｘ４０ｘｘｘである。
【００５２】
Ａｔｍｅｌコントローラ・ファミリーは、Ｂｌｕｅｔｏｏｔｈインタフェース３２０中のベースバンドμ−コントローラ３２２と同じプロセッサ・コアを基盤として構築されており、予想される将来のプロセッサ・バージョンへのソフトウェアの移植を非常に容易にするという利点をもたらす。更に、ＡＴ９１ｘ４０ｘｘｘのコアは高性能の３２ビットＲＩＳＣであり、これはＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションに予想される機能タイプに十二分な処理能力を提供する。理想的には、マスタＣＰＵ３３０として選択するのは低電力低コスト設計で、優れたコード密度を提供するもの、すなわちコード記憶のメモリ要件が低いものがよい。ＡＴ９１ｘ４０ｘｘｘファミリーは、その１６ビットの“Ｔｈｕｍｂ”命令セットによりこのような特徴を提供する。また、比較的低価格の市販ツールセットもＡＲＭから入手可能であるが、その品質の高さと効率性が広く認められるＧＮＵクロスコンパイラ・ツールなど、オープン・ソースのツールセットも利用することができる。更に、Ａｔｍｅｌ　Ａｔ９Ｉファミリーは、高度のバッファリングが行われる内蔵式の高速ＵＡＲＴを２つ含み、オンチップＲＡＭ及びＦＬＡＳＨメモリに各種のオプションを利用することができる。より具体的には、本発明によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに使用することが好ましい変形例は、サンノゼのＡｔｍｅｌ社製造のＡＴ９ＩＲ４０８０７である。これは、１３６ｋＢ、待ち状態ゼロ（ｚｅｒｏ−ｗａｉｔｓｔａｔｅ）の３２ビット・オンチップＳＲＡＭを搭載しているが、内部ＲＯＭ／ＦＬＡＳＨは備えていない。最高２ＭＢのデュアルプレーンＦＬＡＳＨのオンチップ・メモリと、上記の１３６ＫｂＳＡＲＭが含まれるが、基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションに十分なメモリ量の予測は難しく、サード・パーティ・アプリケーションはみしろこれを超えるメモリ量を必要とするであろう。サード・パーティ・アプリケーションの可能性を制限しないように、外部ＲＡＭ及びＦＬＡＳＨメモリの両方をオーバー・プロビジョニング（ｏｖｅｒ−ｐｒｏｖｉｓｉｏｎｉｎｇ）することが好ましい。
【００５３】
ＦＬＡＳＨメモリは一般に時により入手困難であることが知られており、このため、ＦＬＡＳＨメモリの最終的な選択は、必要量のＦＬＡＳＨの購入を担当するあらゆる製造会社の二次供給者とともに行うことが好ましい。ＦＬＡＳＨの選択肢の１つは、Ｉｎｔｅｌ社製造の、４ＭＢ、１６ビット幅、インシステム・プログラマブルなシングルプレーン・フラッシュである。このＦＬＡＳＨは、ブートローダの配置に非常に適したハードウェア保護が可能なブート・ブロックを備え、アプリケーション及びデータ記憶の両方に適した、１００，０００回の消去／書き込みのサイクルが可能な複数の６４ＫＢセクタを備えるとともに、ＥＥＰＲＯＭエミュレーションや、例えば連続番号、Ｍｉｐｖ６アドレスなどの装置パラメータの記憶に適したより小さなセクタ・セットも備える。複雑なＤＲＡＭリフレッシュ回路を避けるために、外部ＳＲＡＭ３３２が好ましい。しかし、外部ＳＲＡＭで５１２ＫＢを超えるサイズのものは珍しく、大半は８ビット幅の装置でしか使用することができない。このため、８ビット幅、５１２ＫＢのＳＲＡＭを２つ使用して、１ＭＢ、１６ビット幅の外部ＳＲＡＭとすることが好ましい。マスタＣＰＵ３３０では、別の１３６ＫＢ、待ち状態ゼロの３２ビットＳＲＡＭを使用できることが好ましいので、外部ＳＲＡＭ３３２は、最高速タイプ、従って最高価格タイプのものである必要はない。標準的な低価格の７０ｎｓタイプで十分である。
【００５４】
ＲＳ２３２インタフェース３３５は、ＷＡＰ−ＢｌｕｅｔｏｏｔｈサーバとホストＰＣの間で使用するのが好ましく、ＲＳ２３２電気規格に準拠することが好ましい。規格への準拠は、例えば、チャージ・ポンプ用のコンデンサなど少数の外部受動素子のセットを含む、Ｍａｘｉｍ社から提供されるＭＡＸ３２ｘｘなどのＲＳ２３２レベル・コンバータ・サーバを使用することにより、容易かつ効果的に達成することができる。ＲＳ２３２インタフェース３３５コネクタは、安価で標準的な“ストレートスルー”型のシリアル・ケーブルを使用できるように設計しなければならない。従って、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバのコネクタは、例えば９ピン、メスのＤ−ｓｕｂ、ＤＣＥピン配列などであることが好ましい。マスタＣＰＵ３３０に内蔵することが好ましいＵＡＲＴは、高性能バッファリング・タイプであることが好ましいので、ハードウェア・ハンドシェイク用の制御線、すなわちＲＴＳ／ＣＴＳの使用を省くことができる。従ってＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、中断のない高速シリアル・データス・トリームを常に受信することができる。ただし、ハードウェア・ハンドシェイクのために構成されたホストとの通信を可能にするために、当技術分野で知られるように、コネクタの直後でＲＴＳ／ＣＴＳ線をブリッジすべきであることに留意されたい。従って、バンドルするシリアル・ケーブルは、絶対的に最も安価で軽量のタイプ、すなわち３本の導線のみを備えるストレートスルー・ケーブルであることが好ましい。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの一般的な“非工業的な”作業条件では、高価格で電気的に（ｇａｌｖａｎｉｃａｌｌｙ）絶縁されたＲＳ２３２インタフェースが必要になることはなく、一般的なインタフェースの内蔵型ＥＳＤ対策で十分であることに留意されたい。しかし、ケーブルを通じて伝送されるＥＭＣからサーバ及び環境の両方を保護するために、全ての接続線に個別のフィルタ素子を設けることが好ましい。マスタＣＰＵ３３０に好ましい、高度なソフトウェア構成が可能なＩ／Ｏ構造の結果、自動ボーレートのソフトウェア機能をサポートするのに必要なハードウェア、すなわちパルス幅タイミング測定が更にコストをかけなくとも備わっていることが好ましい。
【００５５】
上記のように、本発明によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバで使用するために、１つの単色ＬＥＤが必要であることが好ましい。このＬＥＤは、例えば電力投入、障害、動作状態など、複数の状態をユーザに表示するのに使用することができる。ＬＥＤの色は柔軟に選択することができるが、青であることが好ましい。ＬＥＤは表面に装着される部品であると好ましいが、機械設計に応じて、穴に取り付けたり導光型の代替形態も使用することができる。ＬＥＤは複数の目的に使用するためのものなので、ソフトウェアによって制御すべきである。つまり、ＬＥＤはマスタＣＰＵ３３０の出力ピンから制御する。通常の“状態制御”出力のような出力の使用以外にも、本発明によるマスタＣＰＵ３３０のプロセッサは、出力ピンを時間によっても制御して、オンチップ・タイマの支援により、制御された頻度でＬＥＤを点滅させられる機能を持つことが好ましい。更に、ＬＥＤの発光強度は、当技術分野で知られるように、タイマを使用して例えばＬＥＤをＰＷＭ制御することにより都合よく調整することができる。
【００５６】
ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、高電圧変動率の異なる複数の国で販売することが考えられるので、外部の高電圧電源装置３４０を使用することが好ましい。これは、既製品を購入し、それ以上修正を行わずにＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの供給の一部としてバンドルする。ただし、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを複数の場所で使用されることが予想される。例えば、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは通常はショッピング・エリアで使用することができるが、保守点検のために、それを営業所に持っていきＰＣに接続することができる。従って、標準的な電源に対応することが好ましい。しかしながら、標準的な電源は通例４．５〜１２Ｖと電圧が異なり、電源プラグの極性も異なる。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・ハードウェア中の回路は、正常に動作するのに安定化電圧３．３Ｖを必要とする。このため、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ内で電圧を調整することが好ましい。このため、安価で安定化していない４．５〜１２Ｖの入力電圧を、安定した３．３Ｖのオンボード電圧に変圧することのできる内部電源を使用することが好ましい。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに必要な最大電流は、３００ｍＡの範囲にあると思われる。しかしながら、５０ｍＡが標準と規定されるものの、時にはＢｌｕｅｔｏｏｔｈインタフェース３２０自体で約３００ｍＡを使用する場合もある。従って、電力供給が必要以下になるのを回避するために、およそ５００ｍＡの最大電流が好ましい。線によって電力を供給する設計には、通例は単純な線形電圧調整器が最も安価な選択肢であるが、このような調整器は、５００ｍＡの範囲で１２Ｖから３．３Ｖを供給する際に非常に熱くなる可能性がある。不必要な加熱を防ぐために、切り替え式の調整器を使用することが好ましい。このような調整器は複数の製造者から入手することができ、少数の外部部品だけでサポートすることができる。電源３４０の電源コネクタは、標準的な２．１ｍｍの電源コネクタで、正の電力がコネクタの中心に接続されるという最も一般的な構成であることが好ましい。電源３４０への入力は、極性の反転や過電圧入力に対する対策を備えるべきである。例えば、自動的に“回復する”Ｐｏｌｙｆｕｓｅなど異常電流消費の対策、及びケーブルを通じて伝送されるＥＭＣを含むＥＳＤに対する対策なども含むことが好ましい。
【００５７】
プリント回路基板（ＰＣＢ）については、単一のＰＣＢを使用し、可能性としてはＬＥＤを除く全ての部品をそこに実装することができる。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの将来の適合により、更新によって必要とされるＰＣＢスペースが減少することが予想されるので、ＰＣＢスペースは過度に大きくしない方がよく、スペースの制約に対しては、例えば４層又は６層のＰＣＢ、及び／又は両面実装などの多層基盤を使用して対処することが好ましい。ＰＣＢの材料がＢｌｕｅｔｏｏｔｈアンテナの特性に影響を与える可能性があるので、安価なＰＣＢ材料は避けたほうがよい。このため、ＰＣＢ材料は例えばＲＦ設計の専門家によって承認してもらうとよく、また最適なＲＦ特性に適したものでなければならない。更に、製造試験のために、ＰＣＢ３９９では、重要なネットワーク・ノードをテスト・ピン、ならびにＶｄｄとグラウンド・ポイントで利用できなければならない。電源投入後に回路を明確に定義された起動状態にするために、リセットを引き起こす電圧を監視するサーバを使用すべきである。リセットは、マスタ・コントロール３３０、ＦＬＡＳＨメモリ３３１、及びＢｌｕｅｔｏｏｔｈインタフェース３２０に送られる。ベースバンドμ−コントローラ３２２のコアは、規格化された２×１０ピン・コネクタを使用して、ＪＴＡＧデバッグの組み込みサポートを備えることが好ましいことに更に留意されたい。通常の使用では必要ないが、このようなデバッグ機能は、高度なエラー・トレーシングやプロトタイプのデバッグに非常に有用である。ただし、２×１０ピン・コネクタは不必要にＰＣＢスペースを占めるので、デバッグ・ラインは“パッド”としてＰＣＢで使用できるようにし、必要な際にはＪＴＡＧコネクタを手で容易にはんだづけできるようにすることが好ましい。ＥＭＣ試験で過度のエネルギが放出されていることが判明した場合は、ＰＣＢにシールドされた筐体を取り付けるべきである。シールドは、電源装置３４０、マスタＣＰＵ３３０、Ｂｌｕｅｔｏｏｔｈインタフェース３２０、及び外部メモリ３３１及び３３２を覆うことが好ましい。これは、これらの部品は、放射エネルギによる問題の原因となりうると予想されるからである。ただし、ＥＭＣ試験によりシールドが必要でないことが分かった場合は、部品及び製造コストを節減するためにシールドは取り付けない方がよい。
【００５８】
図４に示すように、本発明によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの各種部品をＡＳＩＣ４２０に一体化できることに留意されたい。例えばベースバンド・コントローラ４２２とＦＬＡＳＨ４２０を合わせて組み込むことができる。無線インタフェース４３０、電源４４０、アンテナ４１０、ＬＥＤ４２３、及びＲＳ２３２ポート４５０は、外部備品としてＰＣＢ４００に提供することができる。動作は、上記で図３を参照して説明したものとほぼ同じであるが、通例このように一体化すると速度などの改善が得られる可能性がある。
【００５９】
本発明によるＢｌｕｅｔｏｏｔｈ機能を提供するために、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、以下に説明するようなソフトウェア機能を備えることができる。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、サード・パーティ向けのソフトウェア開発プラットフォームを提供することを目的とすべきなので、提供するＷＡＰ機能は制限される。このような機能は、サード・パーティ・アプリケーションによって提供されることが好ましい。ソフトウェア環境が目標とするのは、新しいソフトウェアをダウンロードして、可能な限り多くのオープン・ソース・ソフトウェアを使用することなどである。ソフトウェア環境は、図５Ａに示すように次の構成要素に分割することができる。３つの基本構成要素は、基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０、ソフトウェア・プラットフォーム５１０、及びブートローダ５３０である。
【００６０】
基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバのソフトウェア・パッケージのＷＡＰ機能を実施することができる。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０の目的は、十分な機能性を実現して、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバをそのままの状態で使用することのできる魅力的な製品にすることであるが、サード・パーティ開発者のためのアプリケーション例としても機能することができる。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０の機能は、Ｂｌｕｅｔｏｏｔｈスタック５１３を用いて、ＷＡＰを使用できるクライアントがＢｌｕｅｔｏｏｔｈインタフェース３２０の範囲内に入ってきた際に、そのクライアントとの連絡を確立することであることが好ましい。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０は更に、例えばＷＭＬＣフォーマット、すなわち予備コンパイルされたＷＡＰバイナリ・フォーマットでそのアプリケーションとともに記憶された静的なＷＡＰ情報をクライアントに送信することができる。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０は、静的情報の送信を終えた際にクライアントとの連絡の解除も提供することができる。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションは更に、ダウンロード・プロトコルを実施することによりＷＡＰ情報のダウンロードもサポートして、ホストが個々のＷＭＬＣファイルをダウンロードできるようにする。新しいファイルをダウンロードする場合は、その前のファイルに上書きする。この機能を基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０に提供することにより、サード・パーティ開発者は、ブートローダを変更せずにより高度なファイル・システムを実施することができる。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０は更にＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバのリセットをサポートし、また好ましくはＲＥＳＥＴコマンドを受信してそれをブートローダに渡すことができる必要がある。この機能がないと、顧客は、例えばＷＡＰ−Ｂｌｕｅｔｏｏｔｈウェブ・サイトから新しいアプリケーションをダウンロードする際に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを手動でリセットしなければならない。
【００６１】
先に述べたように、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバが同時に連絡を取るのは７つのクライアントに制限することが好ましい。この制限は、前述のＢｌｕｅｔｏｏｔｈ規格から直接得られるものである。更に、基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０で、限られた数の異なるＷＡＰクライアントをサポートすることができるが、例えばＥｒｉｃｓｓｏｎのＷＡＰクライアント、ＮｏｋｉａのＷＡＰクライアントなどとの連絡を確立した際に、各ＷＡＰクライアントとの接続の確立の仕方についての固有の情報が提供されると、この数は増加することが予測される。更に、基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０は、静的なＷＡＰ情報をＷＡＰクライアントに送信できるのに十分なＷＡＰプロトコルだけをサポートするように構成することが好ましいことにも留意されたい。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０は、例えばＳＤＫに含まれるＧＰＬなどのオープン・ソース・ライセンスを使用して認可されるＡＮＳＩ　Ｃ言語のバージョンで書くことが好ましい。
【００６２】
ソフトウェア・プラットフォーム５１０は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバのソフトウェア・パッケージの中核機能、すなわちＢｌｕｅｔｏｏｔｈを使用した通信機能を実装することが好ましい。従ってソフトウェア・プラットフォーム５１０は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに関連するＢｌｕｅｔｏｏｔｈ機能に関心を寄せる大半のサード・パーティ開発者が使用すると予想される。Ｂｌｕｅｔｏｏｔｈスタック５１３は、オープン・ソースのＬｉｎｕｘオペレーティング・システムの一部として提供されるＡＸＩＳ　ＢｌｕｅｔｏｏｔｈスタックなどのＢｌｕｅｔｏｏｔｈスタックをオープン・ソース方式で実装することが好ましい。ＡＸＩＳ　Ｂｌｕｅｔｏｏｔｈスタックは、元々はＡｘｉｓ　Ｃｏｍｍｕｎｉｃａｔｉｏｎによって開発されたものであるが、これをｅＣｏｓオペレーティング・システムであってもよいｅＣｏｓオペレーティング・システム５１２に移植することが好ましい。この他の情報については、ｄｅｖｅｌｏｐｅｒ．ａｘｉｓ．ｃｏｍ／ｓｏｆｔｗａｒｅ／ｂｌｕｅｔｏｏｔｈを参照されたい。Ｂｌｕｅｔｏｏｔｈスタック５１３は、ＨＣＩ層、２ＣＡＰ層、ＳＤＰ層、及びＲＦＣＯＭＭ層を含むことが好ましく、またＡＮＳＩ　Ｃ言語で書き、更にＧＰＬ（コピーホルダーはＡｘｉｓ　Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）を使用して使用を許可して、ＳＤＫに含むことができる。
【００６３】
オペレーティング・システム５１２は先に指摘したようにｅＣｏｓであることが好ましい。これは、Ｃｙｇｎｕｓが開発した、高度に構成可能な組み込み型のオープン・ソースオペレーティング・システムであり、現在はＲｅｄ　Ｈａｔが所有している。ｅＣｏｓを使用することが直接末端の顧客に対する価値を付加する訳ではないが、これを含むことにより、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ用のアプリケーションを開発する際にサード・パーティ開発者を支援することができる。更に詳細な情報を得るには、ｓｏｕｒｃｅｗａｒｅ．ｃｙｇｎｕｓ．ｃｏｍ／ｅｃｏｓを参照されたい。オペレーティング・システム５１２は更に、スレッド、タイマ、キュー、例えばシリアル通信ポートなどのハードウェア用のドライバといった標準的なシステム機能も提供することができる。オペレーティング・システム５１２は、一般的にはマスタＣＰＵ３３０をサポートすることが好ましいが、ｅＣｏｓは、例えばＡＴＭＥＬ　ＡＴＭ７ＴＤＩプロセッサはサポートしない。ｅＣｏｓは、オープン・ソース・コミュニティの支援により、このプロセッサをサポートするように構成すると好ましい。ｅＣｏｓは、ＲＨＥＰＬ（Ｒｅｄ　Ｈａｔ　ｅＣｏｓ　Ｐｕｂｌｉｃ　Ｌｉｃｅｎｓｅ）を使用して使用を認可し、更にＳＤＫに含めることができる。ＲＨＥＰＬライセンスはＧＰＬをやや厳格にしたバージョンであり、例えば、ｅＣｏｓを使用したアプリケーションをソース・コードを公表せずに配布する権利を提供者に与える。
【００６４】
ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバのソフトウェア・パッケージは更に、例えばＦＬＡＳＨメモリなど異なるハードウェア用のドライバ５１１を提供することが好ましい。例えばｅＣｏｓなどの上層ソフトウェアと、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・ソフトウェアの間に明確なインタフェースを提供するために、ドライバ５１１は、サード・パーティ開発者が例えばｅＣｏｓオペレーティング・システムを使用しないと決定した場合でも、開発者からアクセスできることが好ましい。ドライバ５１１は、ＡＮＳＩ　Ｃ言語で書くことが好ましく、そのハードウェアの提供業者をコピーホルダーとしてＧＰＬで使用を認可し、ＳＤＫに含むことが好ましい。
【００６５】
ブートローダ５３０は、ＦＬＡＳＨメモリ内に常駐する小規模のスタンドアロン・アプリケーションであることが好ましく、例えば、メモリのセットアップなどのＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの初期化、メモリ・チェックなどの基本的なエラー検出の実行、ＲＡＭへの新しいアプリケーションのダウンロード、ＲＡＭからＦＬＡＳＨへのアプリケーションの保存、及び現在記憶されているアプリケーションの起動、などを担当することができる。ブートローダ５３０は、図５Ｂに示すようなＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバのメモリ・マップ５４０の情報を持っていることが好ましい。
【００６６】
従って、図５Ｂに示すように、データ領域５４１は開始アドレス０ｘ４０　００　００（１６進数）を含み、アドレス５４６で終わることができる。アドレス５４６は開発者が設定することができる。メモリマップ５４０は更に、アプリケーション領域５４８、構成領域５４３、及びブート領域５４４を含み、ブート領域は、アドレスが０ｘ００　００　００（１６進数）の基底アドレス５４５で構成することができる。
【００６７】
ブート領域５４４はブートローダ５３０自体を保持するように構成することができ、またハードウェアによって保護することができるので更新することはできない。構成領域５４３は、例えば部品番号、ユーザ識別などの構成パラメータを保持することができる。構成領域５４３は、ブートローダ５３０によって更新することができる。アプリケーション領域５４２は、１つのアプリケーションを保持するように構成することができる。開発者がそのアプリケーションをアップグレードする場合は、その前のアプリケーションに上書きすることができる。アプリケーション領域５４２は、ブートローダ５３０によって更新することができる。データ領域５４１はブートローダ５３０からはアクセスできないことが好ましく、またアプリケーションによって更新することができる。従って、サード・パーティ開発者が、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバにフラッシュ・ファイル・システムを実施することが可能である。
【００６８】
アプリケーション領域及びデータ領域の個々のサイズをソフトウェアによって構成することができるので、あるサード・パーティ・アプリケーションがより多くのデータ領域５４１量を必要とし、別のアプリケーションはより多くのアプリケーション領域５４２量を必要とする場合などに、アプリケーションに応じて異なるＷＡＰ−Ｂｌｕｅｔｏｏｔｈ構成を得られることに留意されたい。ブートローダ５３０は、ブートローダ・プロトコルを使用して開発プラットフォームと通信できることが好ましい。ブートローダ５３０は、先に述べたようにｇｄｂスタブも含んでいるので、サード・パーティ開発者は、ｇｄｂデバッガを使用して容易にアプリケーションをデバッグすることができる。ブートローダ５３０はＡＮＳＩ　Ｃ言語で書くことができ、ＳＤＫの一部として提供することができる。
【００６９】
本発明によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの提供に加えて、ウェブ・サイトをシステム全体のＷＡＰ−Ｂｌｕｅｔｏｏｔｈアーキテクチャ内に含むことができる。製品であるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを中心として充実した開発者コミュニティを構築するには、例えば、ｄｅｖｅｌｏｐｅｒ．ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ．ｃｏｍなどの開発者のウェブ・サイトに、例えば、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈプロジェクトの説明、ダウンロード可能なソフトウェア・パッケージ、サード・パーティ開発者のメーリング・リスト、ＦＡＱ、ＨＴＭＬ形式によるプロジェクトのドキュメンテーション、関連サイトへのリンク、などのプロジェクト・チャータを含めるのが好ましい。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈのウェブ・サイトは、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション・ユーザとサード・パーティ開発者を含む２つのターゲット・グループを有することが好ましい。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０は工業所有権を有するにある製品としてサポートすることが好ましいが、ＷＡＰ−ＢｌｕｅｔｏｏｔｈのＳＤＫの管理及びサポートは、例えば電子メールによる通知やウェブ・サイトを通じて提供することもできる。ただし、サード・パーティ開発者は、実質的なピア（ｐｅｅｒ）サポートに貢献するよう期待されることに留意されたい。更に本発明の代表的実施形態によると、サード・パーティ・アプリケーションは、機器プロバイダによってはサポートしない。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈウェブ・サイトは、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈプロジェクトのドキュメンテーションと顧客サポートのためのメインのリポジトリ（ｒｅｐｏｓｉｔｏｒｙ）となることが好ましい。
【００７０】
販売方法に応じて販売時に何らかのサポートが提供されるが、主要なサポートはＷＡＰ−Ｂｌｕｅｔｏｏｔｈのウェブ・サイトで提供することが好ましい。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈウェブ・サイトでは、ＷＡＰ−ＢｌｕｅｔｏｏｔｈアプリケーションのＷＡＰツールや、例えばダウンロード機能が組み込まれたユーザが操作しやすいインタフェースも入手することができる。従って、例えば経験の浅いユーザが、自分のＷＡＰ−ＢｌｕｅｔｏｏｔｈサーバにＷＡＰページを容易に構築することが可能になる。更に、例えばオープン・ソース・コンポーネントに関するサポート、製品のドキュメンテーション、ＦＡＱ、及び追加サポートへのリンクに加えて、情報／ニュースも提供することができる。更に、ユーザ・コミュニティが、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈウェブ・サイトを通じて、他のＷＡＰ−Ｂｌｕｅｔｏｏｔｈ開発者と出会う、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈの販売促進について知る、オンライン・ストアから商品を購入する、及びＷＡＰ−Ｂｌｕｅｔｏｏｔｈに関する広告を見ることなども可能にすることができる。
【００７１】
先に触れたように、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ向けのソフトウェア開発のためにＳＤＫを提供し、それを使用することができる。ＳＤＫは、内部開発者及び外部開発者を対象とすることが好ましい。初期の開発者は、例えば基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０の初期開発のためにＳＤＫを使用し、一方サード・パーティ・開発者は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションの独自開発のためにＳＤＫを使用することができる。当業者には理解されるように、開発プラットフォームは、アプリケーションの反復的な開発に使用することができ、また必ずしもＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを含まなくともよい。ただし、開発プラットフォームはターゲットとする動作環境に十分に似せる必要があり、完成したアプリケーションを、ターゲット・ハードウェア、例えばＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに移植できるようにしなければならない。従って、開発プラットフォームには、例えばＬｉｎｕｘ又はＷｉｎｄｏｗｓ（登録商標）９ｘＮＴ２０００を実行する標準ＰＣを含むことができる。開発者がＷｉｎｄｏｗｓ（登録商標）９ｘを使用している場合は、例えばクロスコンパイラを構築することができないなど一定の制約を適用することができる。開発環境は、コンパイラ、デバッガなど、開発プラットフォームで動作する必要なソフトウェア・ツールを含むことにより、開発をサポートすることができる。ターゲット・プラットフォームは、例えばＲＳ２３２接続を使用して開発プラットフォームに結合することが可能なＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバであることが好ましい。
【００７２】
ＳＤＫは、例えば開発環境、ドキュメンテーション、及び以前のターゲット・プラットフォーム向けのモデル開発ソフトウェアの成功例、などのソフトウェア・ツールのコレクションを含むことが好ましい。ＳＤＫが提供する開発環境は、ＧＮＵ開発環境を含むことにより、ターゲット・プラットフォーム向けのソフトウェアの開発を可能にすることが好ましい。ＧＮＵ開発環境は、異なる２つのツール・セットから構成される。開発プラットフォーム用のツール、すなわち標準ＰＣで実行するプログラムの作成に使用するツールと、ターゲット・プラットフォーム用のツール、すなわちＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ及び具体的にはマスタＣＰＵで実行するプログラムの作成に使用するツールである。開発プラットフォーム・ツールは、ｇｃｃコンパイラ、ｇｄｂデバッガ、メーク・ユーティリティ、及び例えばバッシュ（ｂａｓｈ）などのＵｎｉｘシェルといったコンポーネントからなることが好ましい。開発プラットフォームをＬｉｎｕｘで実行する場合、ツールは、オペレーティング・システムとともにインストールすることが好ましく、これはＳＤＫの一部とは考えない。開発プラットフォームをＷｉｎｄｏｗｓ（登録商標）で実行する場合には、開発ツールを個別にインストールしなければならず、またＳＤＫの一部として提供することができる。ＳＤＫはＣｙｇＷｉｎ開発環境を含むことが好ましい。これは、ＧＮＵ開発環境のＷｉｎ３２オープン・ソース・バージョンである。ＣｙｇＷｉｎはバイナリ形式で配布されるが、開発者は必要な場合にはソース・コードをダウンロードすることができる。この他の情報については、ｓｏｕｒｃｅｗａｒｅ．ｃｙｇｎｕｓ．ｃｏｍ／ｃｙｇｗｉｎを参照されたい。開発環境用のツールは、２つの役割を果たすことが好ましい。ツールは、ターゲット・プラットフォーム用のツールを構築する役割を果たすことができる。ターゲット・プラットフォーム用のツールは、インターネット上でソース・コード形式で得ることができ、例えばＡＲＭ　ＣＰＵなど指定のターゲット・プラットフォーム向けにコンパイル又は構築する必要がある。ツールはまた、例えばメーク・ユーティリティをソフトウェアの構築に使用するなど、ターゲット・プラットフォーム向けのソフトウェア開発も支援することができる。
【００７３】
ターゲット・プラットフォーム向けのツールは、ターゲット・プラットフォーム用のソフトウェアの構築とデバッグを目的とするｇｃｃコンパイラとｇｄｂデバッガなどの構成要素からなることが好ましい。ｇｃｃ及びｇｄｂのようなツールは、Ｌｉｎｕｘ及びＷｉｎｄｏｗｓ（登録商標）向けの実行可能ファイル及びソース・コード両方の形でＳＤＫに含むことが好ましい。マスタＣＰＵ３３０は例えばＡＲＭ７ＴＤＭＩプロセッサとして実施すると、異なる２つのモード、すなわちＡＲＭモードとＴｈｕｍｂモードでコードを実行することができる。現在この２モードには異なる２つの開発ツール・セットが必要なので、ＳＤＫは両方のツールセットを含むことが好ましい。
【００７４】
ＳＤＫはまた、開発環境の他にも、ＷＭＬＣコンパイラ用のＷＭＬと、アプリケーション及びデータをＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバにダウンロードするためのツールを含むことが好ましい。ＷＡＰ−ＢｌｕｅｔｏｏｔｈサーバがＦＬＡＳＨメモリにｇｄｂスタブを含む場合、ダウンロード用のツールはｇｄｂデバッガでよいことに留意されたい。
【００７５】
先に指摘したように、ＳＤＫ内のソフトウェア・コンポーネントは、基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ・アプリケーション５２０及びソフトウェア・プラットフォーム５１０を含む。ブートローダ５３０もＳＤＫの一部としてよいが、これを除外する理由の１つは、ブートローダ５３０はサード・パーティ開発者によって更新することができないので、ソース・コードを公表する理由がないことである。ブートローダ５３０は、例えば機器プロバイダが保護を希望するノウハウなどは一切含まないことが好ましい。更に、ブートローダ５３０が修正したｇｄｂスタブを含む場合は、ｇｄｂはＧＰＬを使用しており認可を受けているので、それを公表すべきであることに留意されたい。例えばｅＣｏｓとして提供する場合のオペレーティング・システム５１２は、複数の異なるターゲット・プラットフォーム用のオペレーティング・システムをインストールするインストール・ファイルとしてＳＤＫで供給することができる。指定されたターゲット・プラットフォームに対してｅＣｏｓを構成するのに使用する構成ツールも提供することができる。インストールと構成を行った結果得られるのが、指定のターゲット・プラットフォームに必要な全てのソース・コード・ファイルを含む“ビルド”ディレクトリである。ＳＤＫは、ｅＣｏｓの完全なインストールのほかにも、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ用のビルド・ディレクトリを含むことが好ましい。
【００７６】
ドキュメンテーションの目的は、ＳＤＫを使用するサード・パーティ開発者を支援することである。ドキュメンテーションは次の要素を含む：開発環境の使用法に関するドキュメンテーション、他のソフトウェア・ツールに関するドキュメンテーション、及びソフトウェア・コンポーネントに関するドキュメンテーション。必要なドキュメンテーションの量は、異なるコンポーネントごとに違ってよいことに留意されたい。例えば、ｅＣｏｓは、ＳＤＫに含むことが好ましい、非常に優れたドキュメンテーションとともに供給することができる。更に、ドキュメンテーションの形式は、例えばＷｉｎｄｏｗｓ（登録商標）及びＬｉｎｕｘなど、サポートされる全てのプラットフォームで読めるものであることが好ましい。ドキュメンテーションを例えばＭｉｃｒｏｓｏｆｔ　Ｗｏｒｄで書くことは、それをＨＴＭＬやＡｃｒｏｂａｔ　ＰＤＦフォーマットでも供給するのであれば許容することができる。
【００７７】
ＳＤＫは更に、サード・パーティ開発者を支援するための実例やアプリケーション・ノートを含むことが好ましい。各実例は、注釈をつけ明確に構成したソース・コード、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに直接ダウンロードするためのバイナリ・ファイル、及びテキスト・ファイルによる短い説明、の部分を含むとよい。実例の複雑度は、単純な“ｈｅｌｌｏ　ｗｏｒｌｄ”タイプのアプリケーションから、完全なＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションなどにわたってよい。
【００７８】
ＳＤＫは、Ｌｉｎｕｘの通例の慣行に従って、例えば“Ｓｏｆｔｗａｒｅ　Ｒｅｌｅａｓｅ　Ｐｒａｃｔｉｃｅ　ＨＯＷＴＯ”（ｍｅｔａｌａｂ．ｕｎｃ．ｅｄｕ／ＬＤＰ／ＨＯＷＴＯ／Ｓｏｆｔｗａｒｅ−Ｒｅｌｅａｓｅ−Ｐｒａｃｔｉｃｅ．ｈｔｍｌ参照）に従って開発しパッケージングすることが好ましい。パッケージングの慣行には、全てのソフトウェアをソース・コード形式と適用可能な場合にはバイナリ形式でも、サポートされる全てのプラットフォームに供給すること、全てのソフトウェアを圧縮形式で供給すること、ＳＤＫはａｕｔｏｃｏｎｆ及びａｕｔｏｍａｋｅを使用して作ることが好ましいことを意味する、周知の”．／ｃｏｎｆｉｇｕｒｅ；　ｍａｋｅ；　ｍａｋｅ　ｉｎｓｔａｌｌ”シーケンスを使用して構築することのできるソース・コードを供給すること、Ｌｉｎｕｘの通例の慣行に従って配布物（ｄｅｌｉｖｅｒａｂｌｅ）全てに名前をつけること、例えばＲＥＡＤＭＥ、ＩＮＳＴＡＬＬ、及びＦＡＱなどの標準的なトップレベル・ファイルを全てのＳＤＫ配布物に含むこと、などがある。
【００７９】
名前付けの慣行に従うと、全てのＳＤＫ配布物は、次の規則を用いて名前をつけることが好ましい。
［ＣＯＭＰ］−［ＶＥＲＳＩＯＮ］．［ｓｒｃ／ｂｉｎ］．［ＴＹＰＥ］．［ＡＲＣＨ］
この場合、
ＣＯＭＰ　　ソフトウェア・コンポーネントの名前。例：ｇｃｃ
ＶＥＲＳＩＯＮ　　コンポーネントのバージョン又は日付。例：１．２．３、あるいは９９１２２３など
ＴＹＰＥ　　ａｒｍ−ＡＴ９Ｉ−ｅｌｆ
ＡＲＣＨ　　アーカイブ及び圧縮拡張子。例：ｔａｒ．ｇｚ
例：
ｇｃｃ−２．９５．２．ｂｉｎ．ａｒｍ−ＡＲ９Ｉ−ｅｌｆ−ｗｉｎ３２．ｔａｒ．ｇｚ
ｇｄｂ−９９１２２３．ｓｒｃ．ｔａｒ．ｇｚ
【００８０】
本発明による各種代表的実施形態によると、アプリケーションによってはイーサネット・インタフェースが有用な場合もある。例えば、更新情報を常に受信するために、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバをインターネットに接続する必要があるようなＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションではイーサネット・インタフェースが有用である。更に、より広い範囲をカバーしたい場合や、情報をＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ間で共有する場合など、ネットワーク構成内で多くのＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを扱う際にはイーサネット・インタフェースが有用である。イーサネット・インタフェースを追加する際は、イーサネット・コントローラ、アイソレーション・サーバ、及びコネクタなど、いくつかの構成要素が更に必要となることに留意されたい。こうした追加の構成要素を加えることは可能であるが、ＷＡＰ−ＢｌｕｅｔｏｏｔｈサーバのＰＣＢのスペースは多少限られている。従って、イーサネット・インタフェースは、追加コストをかけてＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバをアップグレードするという形で提供することが好ましい。
【００８１】
先に指摘したように、シリアル・インタフェース４５０は例えばＥＳ２３２ポートとして構成する以外にも、ＵＳＢインタフェースとして構成することもできる。現在のＰＣはほぼ全てがＩＪＳＢインタフェースをサポートしており、またＵＳＢが提供する帯域幅はＲＳ２３２ポートよりもかなり高いため、ＲＳ２３２インタフェースをＵＳＢスレーブ・インタフェースに置き換えることは、別の可能なアップグレードとして有利であると言える。更に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、ＵＳＢホストから電力を受け取ることができるので、別の電源装置が不要になる。上記のような構成も可能であるが、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、ＵＳＢホストから電力を得るために最大で５０ｍＡを得ればよいことに留意されたい。また、ＵＳＢスレーブ・インタフェースをＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに提供するためには、ソフトウェア・ドライバが必要であることにも留意されたい。また更に、ＵＳＢスレーブ・インタフェースを提供するのに伴うコンポーネントの量、ＰＣＢスペース、及びコストは、ＲＳ２３２インタフェースを提供する場合とほぼ同範囲であることに留意されたい。
【００８２】
更に、本発明による各種代表的実施形態によると、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを介して、データだけでなく“音声”タイプの情報の配信も提供すると有用である。理解されるように、このような応用は、例えばオフィス内でＢｌｕｅｔｏｏｔｈヘッドセットを装着しているユーザに音楽を配信する場合などに有用である。ただし、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、例えばｍｐ３の音楽ファイルなど大量のデータをローカルに記憶する機能は限られていることに注意しなければならない。従って、本発明の各種実施形態によると、音声／音楽情報はかなり短いものにするか、又は音声／音楽情報は外部サーバから、例えばＲＳ２３２、イーサネット、あるいはＵＳＢなどのインタフェースを介して提供することが好ましい。好ましくは最小の構成要素コストで、更に必要とするＰＣＢスペースがそれほど多くないいくつかの追加構成要素のみを追加することにより、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバにオーディオ機能を付加することができる。更に、音声の提供に加えて、一定のシステム・パラメータを満たす場合には映像も提供することができることに留意されたい。例えば、ＷＡＰバージョン２．０又はそれ以降を使用しなければならず、またＷＡＰ−Ｂｌｕｅｔｏｏｔｈ端末は、そのローカル・ディスプレイでグラフィック・モードに入ることができなければならない。このためには、グラフィック・ドライバがＷＡＰ−Ｂｌｕｅｔｏｏｔｈ端末になければならない。適切な解像度と、例えば色表示機能があると更に望ましい。
【００８３】
高度の、従ってハードウェアに対する要求が多いアプリケーションの大半は、サード・パーティ開発者によって開発されると予測されるので、先に指摘したように、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに提供するメモリの最適な量の見積もりには困難な面がある。例えば平均的あるいはそれ以上の大きさのアプリケーションに必要な量に対応するメモリ量を提供すると、多くのタイプのアプリケーションではメモリの一部が無駄になる可能性が高い。その一方で、例えばローカルに記憶されたｍｐ３の音楽ファイルの再生を提供するアプリケーションなど、大量のメモリを必要とするアプリケーションもある。様々に異なるメモリ需要に対処する１手段としては、“メモリ拡張スロット”をＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに追加し、それによりユーザが、例えばメモリ・カード、すなわちそのアプリケーションに適したメモリ量を有する適切なメモリ拡張モジュールを挿入できるようにするという手段がある。例えばＲＡＭ、ＦＬＡＳＨ、“コンボ”など、市販のメモリ・デバイスが多くあることに留意されたい。更に、それぞれのタイプのメモリ・デバイスは、数メガバイトから数百メガバイトまでメモリによって異なる容量を有し、また例えば“ＭｅｍｏｒｙＣａｒｄ”、“ＦｌａｓｈＳｔｉｃｋ”、及び“ＰＣ−Ｃａｒｄ”など、サポートすべき“規格”がいくつか存在する。
【００８４】
更に、本発明の各種代表的実施形態によると、ＷＡＰ−ＢｌｕｅｔｏｏｔｈサーバはＵＳＢマスタ・インタフェースを備えると望ましい。このインタフェースを使用して、必要なリソースを備えるＵＳＢ周辺装置をＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに接続することができ、それにより、イーサネット・スロット及びメモリ・スロットのような追加ハードウェアを直接ハードウェアに追加する必要がなくなる。ただし、ＵＳＢマスタ・インタフェースは、その“スレーブ”に相当するインタフェースに比べるとかなり複雑なインタフェースである。実際、ＵＳＢ規格は、１台のＰＣ内でサーバになると予想されるマスタ側にコストと複雑性を置くことにより、安価で単純なスレーブを提供するように設計されている。このため、ＵＳＢマスタはやや高価な構成要素をいくつか必要とするが、その最も複雑な部分は、複雑でありまたメモリを多く必要とする可能性があるＵＳＢマスタ・ソフトウェア・スタックであろう。
【００８５】
本発明による代わりの代表的実施形態によると、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、特にそれをコードで壁のコンセントに常に接続しておく必要が特にない場合には電池式にすることが好ましい。電池式のＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの設計は、低電力モードをサポートするように構成されたハードウェアを活用することができるが、このようなサポートは、標準的なソフトウェア・ロードの一部ではないやや複雑な“電力管理”ソフトウェアによって提供されるものである。更に、余分な構成要素を必要とし、特に電池が、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに関連するコストとスペースの要件についてかなりの意味合いを付け加える。
【００８６】
本発明の代表的実施形態によると、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、室内の“オフィス”条件向けに設計にすることが好ましい。従って、多くの、そして“工業的”な応用例があり、また不都合な環境条件が存在しうる室外用アプリケーションでＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを使用するには、既存の設計を変更しなければならない。“室外”での使用には、極端な湿気や、極端な乾燥、極端な低温、極端な高温下での使用、及び／又は極端に粉塵が多い条件、不潔な条件、あるいはその他微粒子物質が存在する条件での使用が含まれうる。従って、機械設計を変更して、特定アプリケーションや予測される環境条件の範囲に適合させることが必要となる。普通にパッケージされるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、最低でおよそ＋摂氏５度までは正常に動作すると予測される。大半の構成要素は、より極端な動作環境に対する耐性のあるバージョンでも使用することができるが、Ｂｌｕｅｔｏｏｔｈインタフェース３２０は、現在は商業的な温度範囲でしか使用することができない。この状況は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ及び装置の人気が高まり、それに応じて需要が高まるのに従って、改良型のＢｌｕｅｔｏｏｔｈインタフェース・モジュールが製造されるようになるにつれて変化することが予測される。“工業的”使用は更に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバが、例えば振動、変動する温度、及び厳しい電磁場などにさらされうることも意味するが、標準的な商業用設計ではこれらに対処していない。産業的使用及び室外使用に関連するいくつかの問題は、より“堅牢な”機械パッケージングを設計することにより、即座に対処することができる。これは、例えば衝撃及び振動に対する耐性、防水性、防塵性、及び気温の両極端に対する耐性などであるが、これはまたハードウェア設計についての意味合いも有する。例えば、一般的には、産業機器に接続するＲＳ２３２のようなインタフェースは、電気的に相互に分離している必要がある。リモートの商業及び／又は室外用アプリケーションで使用するための、耐久性を高めた電池式の装置によると、ソーラ・パネルを使用してバッテリー・チャージを維持するのも有用であることに留意されたい。様々な要件の組み合わせを構想することが可能なので、全ての可能性のある物理的条件に向けた単一のＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバよりも、企図する要件の仕様それぞれに対して個別に変形形態を考える方が有用であると思われる。
【００８７】
先に指摘したように、ＲＳ２３２インタフェースは、例えばＵＳＢスレーブなどの別のインタフェースに置き換えることも、あるいは完全に排除することもできる。代わりにＢｌｕｅｔｏｏｔｈインタフェース自体を介して、それに実行すべきメンテナンス作業を転送することができる。ＲＳ２３２用の素子を取り除くと、特にコネクタの周囲でＰＣＢのスペースをある程度節約することができ、また恐らくは一定程度のコストも節減される。ＲＳ２３２インターレースはそれほど高価ではないが、ＲＳ２３２インタフェースを取り除くことは、注意に値する示唆をいくつか含んでいる。示唆の１つは、一実施形態では、ＰＣＢを筐体中に固定するのにＲＳ２３２コネクタを使用することである。この場合、ＲＳ２３２コネクタを取り除くと、ＰＣＢを別の方法で固定しなければならないことになる。今１つの示唆は、ＲＳ２３２線を、アプリケーション開発中のデバッグに使用していることである。このため、ＲＳコネクタを取り除くと、デバッグのサポートを提供する別の方法をＳＤＫ及びＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバに含めなければならない。可能な解決法としては、例えば単純な２ピンのＳＩＰコネクタがある。
【００８８】
ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの別の簡略化は、外部メモリを不要にするものである。必要なのがオンチップ・メモリだけであれば、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの設計に必要なスペースははるかに少なくなる可能性があり、また部品コストもかなり削減できる可能性が高い。外部のデータ・バス及びアドレス・バスの使用を省くことによってもＰＣＢの設計は単純になり、外部のデータ・バス及びアドレス・バスから発生することが多いＥＭＣ問題のリスクの可能性も減る。本発明の各種代表的実施形態によると、例えばマスタＣＰＵ３３０で使用するμ−コントローラ、すなわち例えばＡＲＭ７ＴＤＭＩなどのベースバンドμ−コントローラ３２２、４２２は、単一パッケージで２ＭＢのＦＬＡＳＨ＋１３６ＫｂのＳＲＡＭメモリの最大の組み合わせを提供するファミリーに該当する。これは大半の使用例には完全に十分であるが、先に述べたように、メモリ容量を制限することは、アプリケーションによっては提供されるメモリに適合しないものもあり、またサード・パーティ開発者がサーバ用アプリケーションの開発努力への投資を回避しかねないことを意味する。このような問題は、例えば２ＭＢ＋１３６Ｋｂのサーバを使用し、外部メモリの代わりに、メモリ・カード・スロットか、又はより多くのメモリ容量を有する別のサーバへの固定接続を使用することによって回避することができる。すると、サード・パーティ開発者は、幅広いメモリ構成ニーズに対してソフトウェアを開発することができ、一方、メモリの要求が少ないアプリケーションをオーバープロビジョンしたハードウェアに提供することによりそれほどのコストを浪費せずに済む。
【００８９】
先に指摘したように、本発明の各種代表的実施形態によると、Ｂｌｕｅｔｏｏｔｈアンテナ素子をＰＣＢ上のパターンに置き換えると更に望ましい。Ｂｌｕｅｔｏｏｔｈのアンテナ素子は比較的低コストの素子であるが、ＰＣＢに直接パターンとしてアンテナを実現すると、そのコストを完全に削除することができる。このような解決策は、正確に設計するのにある程度の労力を必要とするが、一旦設計してしまうと、実質的に最低限費用ゼロでアンテナを実現できることを意味する。ただし、アンテナ素子を含む代表的実施形態は、コンパクトな解決法を提供するが、ＰＣＢによる変形形態には多少多くのＰＣＢスペースが必要になると予想されることに留意されたい。
【００９０】
先に図３を参照して説明したように、Ｂｌｕｅｔｏｏｔｈインタフェース３２０は、強力なベースバンドμ−コントローラ３２２とＦＬＡＳＨメモリ３２３の両方を備える、完全な組み込み型マイクロコンピュータである。Ｂｌｕｅｔｏｏｔｈインタフェース３２０の価格は単体で（ｓｔａｎｄ−ａｌｏｎｅ）３０米国ドルであるが、これはＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの製造コスト全体のかなりの割合を占める。更にここで、Ｂｌｕｅｔｏｏｔｈインタフェース３２０のベースバンドμ−コントローラ３２２の容量のうち、Ｂｌｕｅｔｏｏｔｈ関連の通信に使用されるのはわずか約３０％であり、容量の残りはエンドユーザ・アプリケーションに向けられることが理解できる。しかし、ベースバンド・ソフトウェアはまだ、エンドユーザ・アプリケーションとともに単一ＣＰＵに安全に共存できるように“パッケージ”されていないので、この問題はいずれ解決されるものと予想されるが、現在は余分の容量を利用することができない。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーションをベースバンドμ−コントローラ３２２及びＦＬＡＳＨモジュール３２３に記憶して、Ｂｌｕｅｔｏｏｔｈベースバンド・ソフトウェアで実行することができれば、外部のマスタＣＰＵ３３０と外部メモリ３３１及び３３２をいずれもＰＣＢから取り除くことができる。このようにすることにより、例えば図４に表すＰＣＢ４００として実現した高容量（ｈｉｇｈ−ｖｏｌｕｍｅ）の第２世代ＷＡＰ−Ｂｌｕｅｔｏｏｔｈハードウェアに対する魅力的な解決法が提示され、コスト、ＰＣＢスペース、及びＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの電力消費をかなり減らすことができる。更に、２プロセッサ設計の場合には、単一ＣＰＵの解決策への平易な移行が提供される。例えば、マスタＣＰＵ３３０にＡＴ９１μ−コントローラを提供し、Ｂｌｕｅｔｏｏｔｈインタフェース３２０と同じコア・プロセッサをベースバンドμ−コントローラに使用すると、ほとんど追加の労力をかけずに、全てのソフトウェアを総合ベースバンドμ−コントローラ４２２に移植するための良好な基盤を提供することができる。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ−ＡＳＩＣ４２０の設計を、Ｂｌｕｅｔｏｏｔｈベースバンドμ−コントローラ４２２から開始すると、更に別のレベルの総合を好適に達成することができる。
【００９１】
本発明により、例えば組み込み型フラッシュ・ファイル・システム及び／又はＥＥＰＲＯＭエミュレーションなど追加機能を提供することにより、拡張したＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション機能を提供することができる。組み込み型フラッシュ・ファイル・システムはソフトウェア・プラットフォーム５１０の一部として、ＦＬＡＳＨメモリを使用して、例えばＤＯＳなど通常のファイル・システムをシミュレートすることが好ましい。このようなファイル・システムにより、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈは次のような機能を実施する。組み込みフラッシュ・ファイル・システムを使用すると、ＷＡＰコンテンツを含んだ複数のファイルを保存することができ、例えば異なる情報を異なるクライアントに送ることが可能になる。組み込みフラッシュ・ファイル・システムを使用すると、各ファイルに例えばセキュリティ・アクセス属性を与えることができるので、より優れた情報セキュリティを付加することができ、何者かが情報を更新するのを防ぐことができる。組み込みフラッシュ・ファイルにより、例えばクラッシュ回復の形でシステム・ファイル・セキュリティを付加することができる。組み込みフラッシュ・ファイル・システムは市販製品として入手可能であるが、本発明の各種代表的実施形態によるＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、組み込みフラッシュ・ファイル・システムをサポートするのに十分なＦＬＡＳＨメモリを備えることが可能であることに留意されたい。
【００９２】
一方ＥＥＰＲＯＭエミュレーションは、例えばＦＬＡＳＨメモリ３３１、４２１などに少量の情報を記憶するのに使用することができる。従って、ＦＬＡＳＨメモリ３３１、４２１はＥＥＰＲＯＭメモリとして機能するように構成することができ、これは、例えば基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０を更新して、例えば特定の期間中にＢｌｕｅｔｏｏｔｈ接続の確立がいくつ成功したかなど、特定の情報要素を記憶させる場合に有用であり、またこの期間も記憶しておくことができる。
【００９３】
ＴＣＰ／ＩＰスタックの追加は、例えば先に説明したようにイーサネット接続を使用して、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバをウェブ・サーバ／ゲートウェイに変換するために必要である。更に、Ｂｌｕｅｔｏｏｔｈ接続とＲＳ２３２接続の両方にＴＣＰ／ＩＰ機能を付加することも可能であることに留意されたい。更に、ＴＣＰ／ＩＰスタックは、オペレーティング・システム５１２として使用するｅＣｏｓオペレーティング・システムの構成要素として含むことが好ましいが、他のオープン・ソースの代替例及び市販の代替例も利用することができることに留意されたい。
【００９４】
Ｂｌｕｅｔｏｏｔｈスタック５１３の拡張した機能は、継続的に提供することが好ましい。このため、ソフトウェア・プラットフォーム５１０は、Ｂｌｕｅｔｏｏｔｈスタック５１３が完全になったと思われる時点まで、周期的に更新しなければならないことが好ましい。ソフトウェア・プラットフォーム５１０は、Ｂｌｕｅｔｏｏｔｈスタック５１３の拡張が公開されたかされないかに関係なく、周期的に更新することができる。例えば、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈ環境で新しく関心のある機能を実施することを可能にする新しいクライアント・プロファイルのサポートなど、何らかの新しいソフトウェア機能を追加する場合には、ソフトウェア・プラットフォーム５１０も更新することになる。
【００９５】
本発明の各種代表的実施形態によると、ソフトウェア・プラットフォーム５１０に組み込みウェブ・サーバを追加することが望ましいが、組み込み型ウェブ・サーバをＢｌｕｅｔｏｏｔｈ接続に追加するのか、ＲＳ２３２接続に追加するのか、あるいは両方に追加するのかに応じて異なる結果が生じる。Ｂｌｕｅｔｏｏｔｈ接続に追加するウェブ・サポートは、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを、例えばＰＤＡやラップトップ・コンピュータなど、Ｂｌｕｅｔｏｏｔｈ及びウェブ機能が可能なクライアントに変換するのに使用することができる。ＲＳ２３３接続にウェブ・サポートを追加すると、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバが、インターネットとＷＡＰクライアント間でデータを移動させるためのＷＡＰサーバとして機能することが可能になる。
【００９６】
ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサービスは、例えばホストのウェブ・ブラウザを使用して新しいＷＡＰコンテンツをダウンロードすることによって部分的に保全することができるが、基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０がサポートするメンテナンス機能だけを組み込み型ウェブ・サーバでサポートしてもよい。ブートローダ５３０がサポートするメンテナンス機能は、組み込み型ウェブ・サーバではサポートすることができない。組み込み型ウェブ・サーバは、ＴＣＰ／ＩＰスタックをソフトウェア・プラットフォーム５１０に追加することを必要とする場合があることに留意されたい。先に述べたように、ＴＣＰ／ＩＰスタックは、オープン・ソースとしても市販製品としても入手することができる。
【００９７】
本発明による別の代表的実施形態によると、ブートローダ５３０とのウェブ・インタフェースは、基本的な診断や、ホストのウェブ・ブラウザを使用した新しいアプリケーションのダウンロードなどのメンテナンス機能を実行することを可能にする。ＷＡＰ−Ｂｌｕｅｔｏｏｔｈメンテナンスのウェブ・ページは、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ中にローカルに置くことができ、又は遠隔メンテナンスの場合は、ホスト・インタフェースを通じてメインＷＡＰ−Ｂｌｕｅｔｏｏｔｈウェブ・サイトにリモートに接続することもできる。組み込み型ウェブ・サーバの場合と同様に、ブートローダ・ウェブ・インタフェースは、ソフトウェア・プラットフォーム５１０にＴＣＰ／ＩＰスタックを追加することを必要とすることがある。
【００９８】
完全なＷＡＰスタックを実現すると、セキュリティ取引のサポートなどのＷＡＰ機能や、例えばＷＡＰゲートウェイを実現する可能性が追加される。完全なＷＡＰスタックは、市販製品として入手可能であることに留意されたい。
【００９９】
更に本発明の各種代表的実施形態によると、ｅＣｏｓオペレーティング・システムの開発者は、現在、ＥＬ／ＩＸと呼ばれるアプリケーション・プログラミング・インタフェース（ＡＰＩ）を定義しており、これはＬｉｎｕｘ、組み込み型Ｌｉｎｕｘ、及びｅＣｏｓのカーネルＡＰＩを統一する。ソフトウェア・プラットフォーム５１０を更新してＥＬ／ＩＸ　ＡＰＩをサポートするようになると、例えばＡｘｉｓ　ＢｌｕｅｔｏｏｔｈスタックなどのＬｉｎｕｘアプリケーションの変換が大幅に平易になる。詳しい情報については、例えば、ｓｏｕｒｃｅｗａｒｅ．ｃｙｇｎｕｓ．ｃｏｍ／ｅｌｉｘを参照されたい。
【０１００】
ｅＣｏｓオペレーティング・システムは、Ｃ言語ではなくＣ＋＋言語で実現することに留意されたい。ただし、ｅＣｏｓはＣラッパ・コードを含んでおり、Ｃ言語のアプリケーションを実施できるようにしている。例えば基本Ｂｌｕｅｔｏｏｔｈアプリケーション５２０及びＢｌｕｅｔｏｏｔｈスタック５１３などは、Ｃ言語で実施することに留意されたい。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション５２０の機能を大幅に拡張する場合には、Ｃ＋＋などのオブジェクト指向のプログラミング言語に移行するとよい。このようにすると、例えばＢｌｕｅｔｏｏｔｈスタック５１３などＣ言語で書かれたコードに、Ｃ＋＋ラッパ・コードが必要になる。
【０１０１】
本発明による各種代表的実施形態により、高級言語解釈のサポートを更に提供することができる。Ｃ又はＣ＋＋ＡＰＩをソフトウェア・プラットフォームとしてサード・パーティ開発者に提供する代わりに、例えばＪａｖａ、Ｐｅｒｔ、又はＰｙｔｈｏｎなど解釈済みの高級言語をＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバで実施することができる。オープン・ソース・コミュニティの要件のため、機器プロバイダは、言語インタープリタを実施するか、又はＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバのオープン・ソースによる実施を適合させなければならないことに留意されたい。Ｂｌｕｔｏｏｔｈ機能などサード・パーティ開発者に必要な全ての機能は、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈの機能ライブラリとして提供しなければならない。従って、高級言語の解釈を追加することにより、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは、次第に多様化する新しいＢｌｕｅｔｏｏｔｈ機能の範囲（ａｒｒａｙ）を極めて容易に開発し、実施することができるプラットフォームになる。基本ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ５２０は、５０行未満のコードで実現することが好ましいことに留意されたい。更に、ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバは比較的容易に携帯電話に実装できることに留意されたい。
【０１０２】
従って、本発明の各種代表的実施形態によると、総合ビジネス・ポータル６００（あるいは、総合ポータル６００）を図６Ａに示すように提供することができ、当方法のさまざまな態様のための中心的位置を提供する。サード・パーティ開発者６１０は、総合ビジネス・ポータル６００へのインターネット“ドア”として機能する、例えばウェブ・サイト６０２を容易に見つけることができるが、これは、顧客６５０又はサード・パーティ開発者６１０として参加するための総合的なビジネス提案を少なくとも部分的に提供することができる。ウェブ・サイト６０２と併せて、例えばＥｒｉｃｓｓｏｎなどのブランド名６０１に関連するブランド化も提供される。ブランド名６０１の強さは、ＳＤＫ６０３を使用してアプリケーションや総合製品６０５を提供するサード・パーティ開発者６１０にとっても、それにより提供されるアプリケーションや総合製品６０５を使用する顧客６５０にとっても、強い刺激材料となることに留意されたい。総合製品６０５は、認可されると製品ポートフォリオ・データベース６０４に登録することができ、この時点で顧客６５０が製品６０５を利用できるようになる。先に説明したように、顧客６５０は、例えば産業６５１、ビジネス６５２、及び消費者６５３を含むカテゴリに分けられることに留意されたい。更に、顧客には、直接供給チャネル６５４を提供することができ、一方サード・パーティ開発者には、総合製品６０５を供給する直接販売チャネル６５５を提供することができる。サード・パーティ開発者６１０としての資格を与えるために、スクリーニング・プロセス６１１を使用して、候補者がサード・パーティ開発者６１０としての最低レベルの能力を満たすかどうかを判定することができる。基準を達成した場合は、機器提供者とサード・パーティ開発者６１０の間の取引契約６１２に入ることができる。取引契約６１２には、ブランド化などに関する細目やそれに対応するサード・パーティ開発者６１０の義務などが含まれる。サード・パーティ開発者６１０は、総合ビジネス・ポータル６００を中心として開発コミュニティを形成することができ、そこを通じて、例えばＳＤＫの強化６１３、トレーニング６１４、サポート６１５、試験６１６、情報６１７などに関連して、開発者相互に及びポータル提供者に利益を提供できることに留意されたい。このようなプロセスの流れは、総合ビジネス・ポータル６００を通じて広がるものと図に表しているが、ポータル提供者は、サード・パーティ開発コミュニティの要素を強化及びアップグレードするプロセスに含めてもよいことは明らかである。
【０１０３】
更に図６Ｂに示すように、総合ビジネス・ポータル６００は、ハードウェア注文及び例えばソフトウェア供給の中心とすることができる。従って、顧客６５０は総合ビジネス・ポータル６００を通じて注文６５２を行うことができ、この注文は例えば中央の注文履行位置６９０に送られる６２０である。注文の配送は、例えばＵｎｉｔｅｄ　Ｐａｒｃｅｌ　Ｓｅｒｖｉｃｅ（ＵＳＰ）などの供給チャネルを通じて直接顧客６５０へと進めることができる。また、製品の提示及び試用６５１を、総合ビジネス・ポータル６００を介して顧客６５０に提供することができ、ソフトウェアについてのソフトウェアの注文はそこから行うことができる。ソフトウェアはそれに対応して、この場合も総合ビジネス・ポータル６００の６５３を通じて供給することができる。支払いも、総合ビジネス・ポータル６００の６５４を通じて電子的に提供することができる。製品所有者である場合もあるサード・パーティ開発者６１０は、例えば販売チャネルを通じて行う販売についてのロイヤリティを６５５で回収することができる。
【０１０４】
本発明による方法の各種実施形態を使用することによる収益の発生をより理解するために、図７に収益７０１対時間７０２を表したグラフ７００を示す。このグラフでは、ハードウェア７１０の大量販売にほぼ比例する形で収益７３０が増している。価格の低下や比較的安定した装置の製造コストなどの要因によりハードウェアの量が増加するのに従って、ハードウェア収益７２０は鈍化することが予測されるので、ソフトウェア収益７３０が増加し、その結果ハードウェアの需要の増加を促すので、それに対応してハードウェア量７１０が増加する。
【図面の簡単な説明】
【図１Ａ】
本発明の代表的実施形態による、代表的Ｂｌｕｅｔｏｏｔｈサービス環境を表す図である。
【図１Ｂ】
本発明の代表的実施形態による、代表的ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバを使用した代表的Ｂｌｕｅｔｏｏｔｈサービス環境を表す図である。
【図２Ａ】、
【図２Ｂ】
本発明の代表的実施形態による、代表的ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバ環境の代表的構成要素間のエンティティ関係を表す図である。
【図３】
本発明の代表的実施形態による、代表的ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの代表的ブロックを表すブロック図である。
【図４】
本発明の代表的実施形態による、代表的ＷＡＰ−Ｂｌｕｅｔｏｏｔｈサーバの別の代表的ブロックを表すブロック図である。
【図５Ａ】
本発明の代表的実施形態による、代表的なＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション開発環境の代表的な層を表す図である。
【図５Ｂ】
本発明の代表的実施形態による、代表的ＷＡＰ−Ｂｌｕｅｔｏｏｔｈアプリケーション開発環境で使用する代表的メモリ・マップを表す図である。
【図６Ａ】
本発明の方法の代表的実施形態による、代表的な総合アプリケーション開発ポータルを提供するための代表的モデルを表す図である。
【図６Ｂ】
本発明の方法の代表的実施形態による、代表的な総合アプリケーション開発ポータルを提供するための別の代表的モデルを表す図である。
【図７】
図６Ａ及び図６Ｂによる代表的アプリケーション開発ポータルを使用することにより生じると予測されるソフトウェア収益の一例を表すグラフである。
【図１Ａ】
2004506983.tif 000002
【図１Ｂ】
2004506983.tif 000003
【図２Ａ】
2004506983.tif 000004
【図２Ｂ】
2004506983.tif 000005
【図３】
2004506983.tif 000006
【図４】
2004506983.tif 000007
【図５Ａ】
2004506983.tif 000008
【図５Ｂ】
2004506983.tif 000009
【図６Ａ】
2004506983.tif 000010
【図６Ｂ】
2004506983.tif 000011
【図７】
2004506983.tif 000012
【国際公開パンフレット】
2004506983.tif 000013
2004506983.tif 000014
2004506983.tif 000015
2004506983.tif 000016
2004506983.tif 000017
2004506983.tif 000018
2004506983.tif 000019
2004506983.tif 000020
2004506983.tif 000021
2004506983.tif 000022
2004506983.tif 000023
2004506983.tif 000024
2004506983.tif 000025
2004506983.tif 000026
2004506983.tif 000027
2004506983.tif 000028
2004506983.tif 000029
2004506983.tif 000030
2004506983.tif 000031
2004506983.tif 000032
2004506983.tif 000033
2004506983.tif 000034
2004506983.tif 000035
2004506983.tif 000036
2004506983.tif 000037
2004506983.tif 000038
2004506983.tif 000039
2004506983.tif 000040
2004506983.tif 000041
2004506983.tif 000042
2004506983.tif 000043
2004506983.tif 000044
2004506983.tif 000045
2004506983.tif 000046
2004506983.tif 000047
2004506983.tif 000048
2004506983.tif 000049
2004506983.tif 000050
2004506983.tif 000051
2004506983.tif 000052
2004506983.tif 000053
2004506983.tif 000054
2004506983.tif 000055
2004506983.tif 000056
2004506983.tif 000057
2004506983.tif 000058
2004506983.tif 000059
2004506983.tif 000060
2004506983.tif 000061
2004506983.tif 000062
2004506983.tif 000063
2004506983.tif 000064
2004506983.tif 000065
2004506983.tif 000066
2004506983.tif 000067
2004506983.tif 000068
2004506983.tif 000069
2004506983.tif 000070
2004506983.tif 000071
2004506983.tif 000072
2004506983.tif 000073