移動コンピューティングおよび通信
【課題】アプリケーション開発プラットフォームは、例えば近距離無線通信機能を有する移動装置用のアプリケーションを容易に作成するのを可能にする。
【解決手段】装置間のメッセージ配信は、ローカル近距離無線伝送では直接配信できないメッセージについても保証される。インターネット148を含む他のチャネルを通じたメッセージ配信はユーザに透過的に行われる。各装置は、人であっても実体であってもよい「所有者」150、152に関連付けることができる。サービスは、所有者を装置にマップする記憶された情報に基づいて、所有者向けにカスタマイズすることができる。装置の各所有者に関連する情報は、中心に記憶しておき、各移動装置でのサービスの提供に関連して使用することができる。GPSチップを有さない移動装置に仮想GPS機能を提供することができる。
【解決手段】装置間のメッセージ配信は、ローカル近距離無線伝送では直接配信できないメッセージについても保証される。インターネット148を含む他のチャネルを通じたメッセージ配信はユーザに透過的に行われる。各装置は、人であっても実体であってもよい「所有者」150、152に関連付けることができる。サービスは、所有者を装置にマップする記憶された情報に基づいて、所有者向けにカスタマイズすることができる。装置の各所有者に関連する情報は、中心に記憶しておき、各移動装置でのサービスの提供に関連して使用することができる。GPSチップを有さない移動装置に仮想GPS機能を提供することができる。
【発明の詳細な説明】
【技術分野】
【0001】
背景
本発明は、移動コンピューティングおよび通信に関する。
【背景技術】
【0002】
パーソナル・デジタル・アシスタント、携帯電話、およびその他の移動装置は、広範囲のコンピューティング機能および通信機能を提供する。これらの機能を提供するために、移動装置は、マイクロプロセッサ、メモリ、場合によっては接触を感知するディスプレイ、マイクロフォン、スピーカ、キー、およびその他のユーザ入出力機構を含んでよいハードウェア構成要素を有している。
【0003】
データ入力、手書き認識、音声認識、音声・データ通信、メモ帳作成、カレンダー、ワード・プロセッサ、スプレッドシート、to-doリスト、およびアドレス帳を含む、様々な特定の機能が移動装置上に設けられることが多い。これらの機能は、装置上に記憶され、移動装置のハードウェア構成要素上で実行されるこれらのハードウェア構成要素を制御するMicrosoft Windows (登録商標)CEまたはPalm OSなどのオペレーティング・システムの機能を使用するソフトウェア・アプリケーションまたはフォームウェア・アプリケーションで実現される。
【0004】
無線通信を行うことのできる移動装置は通常、BluetoothおよびWAP(Wireless Application Protocol)のような1つまたは複数の標準無線通信プロトコルに従う。
【0005】
例えば、Bluetoothでは、比較的近距離の通信に無線周波数送信を使用する。Bluetooth機能は、移動装置またはその他の装置に組み込まれる小形のマイクロチップで実現することができる。
【0006】
Bluetooth対応装置用のアプリケーションを作成するため、開発者は通常、アプリケーションの特定の機能を実現するカスタム・ソフトウェアを作成する。各Bluetooth通信リンクの各端部におけるアプリケーションの機能の実行に関与する各装置ごとに1つのカスタム・ソフトウェアを作成しなければならない。各カスタム・ソフトウェアは、それが実行される装置の特定のハードウェア特性およびオペレーティング・システム特性に適合するように作成される。
【発明の概要】
【課題を解決するための手段】
【0007】
要旨
本発明は、移動装置のユーザが他の移動装置のユーザおよび無線機能を有する固定装置のユーザと交信するのを開発者が可能にすることができるように基本シフトを可能にする。
【0008】
一般に一つの局面では、本発明は、移動装置上でクライアント・モジュールを実行する段階、通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階、および移動装置との通信チャネルを有し、通信網を通じてサーバにアクセスすることのできるリンク装置上でリンク・モジュールを実行する段階を含む方法を特徴とする。クライアント、サーバ、およびリンク・モジュールは、移動装置、サーバ、およびリンク装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供する。
【0009】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含んでよい。
【0010】
移動装置のユーザがコア・サービスを管理するのを可能にするように、クライアント・モジュール上でサービス・アプリケーションも実行される。コア・サービスには、移動装置内の近距離無線トランシーバとの交信も含まれる。移動装置上で移動装置オペレーティング・システムも実行され、クライアント・モジュールはオペレーティング・システムのサービスを使用する。移動装置はパーソナル・デジタル・アシスタントまたは携帯電話を含む。コア・サービスには、実世界サービスに関する情報のブロードキャスト、移動装置内の無線トランシーバとの交信、保証されたメッセージ配信、および暗号化のうちの少なくとも1つが含まれる。
【0011】
一般に、他の局面では、本発明は、少なくともいくつかのアプリケーションが個人または企業から提供される実世界サービスに関連し、装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供する、無線装置上でクライアント・モジュールを実行する段階を含む方法を特徴とする。
【0012】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。
【0013】
各実世界サービスとサービスを提供するための装置のうちの少なくとも1つとの関係を識別する情報が維持され、コア・サービスにより、実世界サービスと装置との関係を識別する情報を装置間で共用される。各装置を通じて得られるサービスに関する情報は、コア・サービスによって他の装置にブロードキャストされる。装置に関連する実世界サービスは、コア・サービスによって登録される。実世界サービスには、通信サービス、計算サービス、商業サービス、または行政サービスのうちの少なくとも1つが含まれる。
【0014】
一般に、他の局面では、本発明は、装置上で実行されるアプリケーションを通じて装置のユーザから得られる実世界サービスのリストを無線装置内に維持する段階、および無線通信チャネルを通じて、利用可能な実世界サービスを示す情報を装置からブロードキャストする段階を含む方法を特徴とする。
【0015】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。情報は周期的にブロードキャストされる。ブロードキャスト情報を受信する他の無線装置は利用可能な実世界サービスにアクセスする。
【0016】
一般に、他の局面では、本発明は、識別されたユーザに関連付けされた移動装置上でクライアント・モジュールを実行する段階、通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階、および移動装置との通信チャネルを有し、通信網を通じてサーバにアクセスすることのできるリンク装置上でリンク・モジュールを実行する段階を含む方法を特徴とする。
【0017】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。装置上で実行されるアプリケーションの1つを通じて1つの移動装置のユーザからメッセージが受信され、このメッセージが、他の移動装置上で実行されるアプリケーションの他のユーザに送られ、かつこのメッセージがインタフェースを通じて他のユーザに配信される。メッセージはリンクおよびサーバを通じて送信される。メッセージ送信元の装置上で実行されるクライアント・モジュールは、目標移動装置が近距離無線の圏内にあるかどうかを判定し、そうでない場合、クライアント・モジュールは1つのリンク・モジュールにメッセージを転送する。リンク・モジュールはメッセージをインタフェースを通じてサーバに転送する。サーバ・モジュールは、目標移動装置の位置を判定し、メッセージを他のユーザに転送するための通信チャネルを識別する。
【0018】
一般に、他の局面では、本発明は、近距離無線装置のリストを第1の近距離無線装置の圏内に維持する段階、および第1の装置の識別されたユーザからのメッセージを通信媒体上で、第2の無線装置の第2の識別されたユーザに送信する段階を含み、通信媒体が、少なくとも部分的に、第2の装置がリストに含まれているかどうかに基づいて選択され、この選択が第1の装置のユーザに透過的である方法を特徴とする。
【0019】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含んでよい。第2の装置がリストに含まれている場合、メッセージは短距離無線リンク上で第2の装置に送信され、第2の装置がリストに含まれていない場合、メッセージは、他の通信媒体を用いて第2の装置に送信される。第2の装置がリストに含まれていない場合、メッセージはインターネット上でまたは携帯電話によって第2の装置に送信される。
【0020】
一般に、他の局面では、本発明は、近距離無線装置の識別されたユーザからのメッセージを他の装置の識別されたユーザに送信する段階、および送信されたメッセージが他の装置の識別されたユーザによって受信されたかどうかを第1の装置の識別されたユーザに対して自動的に確認する段階を含む方法を特徴とする。
【0021】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。送信されたメッセージに関する情報が送信後に第1の装置に記憶され、受信した確認と装置に記憶されている送信されたメッセージが照合される。送信されたメッセージに対する確認が指定された期間内に受信されない場合に、送信されたメッセージは再送信される。送信されたメッセージが配信不能である場合は第1の装置内の通信マネージャが通知を受ける。通知段階は、送信されたメッセージがなぜ配信不能であるかの説明を行う段階を含む。送信されたメッセージが他の装置の識別されたユーザによって受信されたことが確認された後に、送信されたメッセージは装置から削除される。メッセージ送信元の装置は、保証された配信を行う責任を負う。
【0022】
一般に、他の局面では、それぞれの所有実体に関連する装置上でアプリケーションを実行する段階、開始所有実体に関連する1つの装置上で実行される1つのアプリケーションを用いて開始所有実体から目標所有実体にメッセージを送信する段階、1つの装置を、目標所有実体に関連付けされ通信リンクによってアクセスできる装置として識別する段階、および目標所有実体に関連する装置に通信リンクを通じてメッセージを転送する段階を含む方法を特徴とする。
【0023】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。各装置は、装置の所有実体に関連する公開鍵を用いてメッセージを暗号化および復号するクライアント・モジュールを実行する。公開鍵は、装置と、メッセージが通過するサーバとにに記憶される。装置は移動装置を含む。所有実体は人を含む。所有実体は企業を含み、装置は固定装置を含む。
【0024】
一般に、他の局面では、(a)各実世界実体が、他の実世界実体にサービスを提供し、他の実世界実体のサービスを使用する実世界実体を識別し、実世界実体による分散装置を通じた交信モードを定義する情報を記憶する段階、(b)任意の1つまたは複数の分散装置を用いる任意の実世界実体がサーバにログインするのを可能にする段階、(c)記憶された情報の一部をサーバから使用中の装置にロードする段階、および(d)記憶された情報に基づいて、装置を用いる実世界実体と他の実世界実体との、他の実世界実体のサービスの使用を含む交信を調整する段階を含む方法を特徴とする。
【0025】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。装置上でクライアント・モジュールが実行され、通信網を通じてアクセスできるサーバ上でサーバ・モジュールが実行され、クライアント・モジュールおよびサーバ・モジュールは、装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供し、コア・サービスは、サーバ上に記憶され、実世界実体に関係する情報へのアクセスを含む。記憶された情報には、識別情報、人口統計情報、および嗜好情報のうちの少なくとも1つが含まれる。
【0026】
一般に、他の局面では、本発明は、近距離無線通信機能を有するいくつかの異なる移動装置の各々に、装置のユーザである人を関連付ける段階、装置とユーザの関連性に関する情報および各ユーザに関する情報を公的にアクセスできるサーバに記憶する段階、およびサーバに記憶された装置のユーザに関する情報に応じたサービスを各移動装置で提供する段階を含む方法を特徴とする。
【0027】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。ユーザに関する情報は、機能を提供する際に使用できるようにサーバから装置に通信される。ユーザに関する情報には、人口統計情報、識別情報、嗜好情報、または位置情報のうちの少なくとも1つが含まれる。ユーザに関する情報の少なくとも一部は、ユーザに関連する移動装置上に記憶される。
【0028】
一般に、他の局面では、本発明は、近距離無線装置を所有する実体が特定の地理領域内にあることを自動的に認識する段階、一般にアクセスできるデータベースから実体に関する情報を得る段階、およびデータベースから得られるデータに応じて装置に送信される情報を、近距離無線装置に送信する段とを含む方法を特徴とする。
【0029】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。一般にアクセスできるデータベース内の実体に関するデータへのアクセスは、実体の許可を条件とする。実体は、一般にアクセスできるデータベース内の実体自身のデータに対して、無線装置を用いてアクセスおよび修正を行うことができる。第2の近距離無線装置は、実体が特定の地理領域内にあることを認識し、データを得て、情報を送信する。第1の装置に送信される情報は、第2の装置に関連する実体との取引きを促進する販売促進材料を含む。実体は、一般にアクセスできるデータベースから、第1の装置を用いて、第2の装置に関連する実体に関する情報を得る。実体が特定の地理領域内にあることの認識は、実体にマップ(map)された識別符号を含む第1の装置からのメッセージの受信に基づいて行われる。
【0030】
一般に、他の局面では、本発明は、(a)近距離無線通信機能を有する装置のユーザである実世界実体に関する情報を、公的にアクセスできる位置に電子的に記憶する段階、および(b)任意の装置のユーザ間で保証されたメッセージ通信を行い、電子的に記憶された情報に基づいて装置のユーザ間の商業的な取引を可能にするように協同する装置上のクライアント・モジュールおよびサーバ・モジュールを公的にアクセスできる位置に設ける段階を含む方法を特徴とする。
【0031】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。2つの無線装置の一方は固定されており、2つの無線装置の一方は可搬式である。一方の装置のユーザは商業実体を含む。一方の装置のユーザは消費者を含む。取引きは、販売情報を2つの装置の一方から他方へ配信することを含む。取引きは、2つの装置の一方が、2つの装置の他方から提供されるサービスを使用することを含む。取引きは電子メッセージ通信を含む。取引きは、2つの装置が互いに圏外にあるときに行われる。記憶された情報に対するアクセスは、この情報が関係するユーザの制御下で行われる。記憶された情報はユーザの位置を含む。記憶された情報は、消費者の消費上の嗜好を含む。各ユーザは、複数の装置に関連付けされる。取引きは、2つの装置の圏外に位置するサーバを通じて2人のユーザ間で行われる。2つの装置は互いに圏内にあり、取引きは、2つの装置を保持する2人のユーザ間で行われる。取引きは、電子ビジネス・カードを装置の1つから他の装置の1つへ送信する段階、および他方の装置上にカードを表示する段階を含む。取引きは、2つの装置のうちの少なくとも一方を通じて一方のユーザから他方のユーザへ、インターネット、携帯電話、および近距離無線通信から、ユーザに意識されることなく選択される、通信モードを含むルートによって送信される電子メッセージを含む。
【0032】
一般に、他の局面では、第1の装置において、GPS発信源から受信した信号に基づいて第2の装置の実際の地理的位置を識別する情報を、近距離無線通信チャネルを通じて第2の装置から受信する段階、および第2の装置から受信した情報に基づいて、第1の装置に記憶された得られた地理的位置を更新する段階を含む方法を特徴とする。
【0033】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。得られた地理的位置は、第2の装置の実際の地理的位置と同じになるように更新される。第1の装置は、複数の他の装置の実際のGPS地理的位置を表す情報を、他の装置から長期的に受信し、得られた地理的位置は、他の装置から長期的に受信された情報に基づいて不定期的に更新される。
【0034】
他の特徴および利点は、以下の説明および特許請求の範囲から明らかになると考えられる。
【図面の簡単な説明】
【0035】
【図1】通信システムを示す。
【図2】無線移動装置を示す。
【図3】データ構造を示す。
【図4A】無線装置によって使用できる機能(アプリケーションにおける「メッセージの送信(sendMessage)」命令)を示す。
【図4B】無線装置によって使用できる機能(メッセージ獲得(getMessage)命令)を示す。
【図4C】無線装置によって使用できる機能(メッセージ獲得(getMessage)命令)を示す。
【図4D】無線装置によって使用できる機能(周辺のサービス獲得(getSurrounding Services)命令を示す。
【図4E】無線装置によって使用できる機能(サービスの追加命令)を示す。
【図4F】無線装置によって使用できる機能(サービスの削除命令)を示す。
【図4G】無線装置によって使用できる機能(PMTデータの変更(changepersonalizationdata)命令)を示す。
【図4H】無線装置によって使用できる機能(PMTデータの獲得(getpersonalizationdata)命令)を示す。
【図4I】無線装置によって使用できる機能(PMT許可の変更(changepersonalizationpermissions)命令)を示す。
【図5】通信パスを示す。
【図6】サーバを示す。
【図7】クライアントを示す。
【図8A】無線通信方法を示す図である。
【図8B】無線通信方法を示す図である。
【図9】システムの用法を示す。
【図10】システムの用法を示す。
【図11】システムの用法を示す。
【図12】システムの用法を示す。
【図13】システムの用法を示す。
【図14】システムの用法を示す。
【発明を実施するための形態】
【0036】
概要
本発明の1つの一般的な局面は、アプリケーション・プログラミング・インタフェース(API)を通じてコア・サービスを提供するクライアント・モジュール、リンク・モジュール、およびサーバ・モジュールを含むアプリケーション開発プラットフォームである。API上にはアプリケーションを容易に構築することができる。コア・サービスとしては、独特の、幅広く有用なアプリケーションを作成するのを可能にするようなサービスが選択される。
【0037】
各アプリケーションは、クライアント・モジュールが実行されるローカル装置およびリモート装置がサービスを利用できるようにすることができる。サービスが利用可能であることは、移動装置、リンク、およびサービスにブロードキャストおよび認知され、したがって、システム全体における装置がこのようなサービスを活用することができる。
【0038】
1つのコア・サービスはメッセージの配信である。クライアント・モジュール、リンク・モジュール、およびサーバ・モジュールは、移動装置上で実行されるアプリケーションによって開始されたメッセージ配信を高レベルで保証するようにモジュール同士の活動を調和させる。メッセージは、近距離無線装置によって、移動装置から、近くにある他の移動装置に直接送信することができる。目標装置が近くに位置していない場合、メッセージは、インターネットを含む他のチャネルを通じて目標装置に送信することができる。通信チャネルは、送信元装置のユーザに透過的に選択することができる。
【0039】
システム内の各装置を、人または小売店などの実体でありうる「所有者」に関連付けることができる。たとえば、メッセージが所有者に送られるように装置を所有者にリンクする情報を記憶することができる。システムは所有者に関連する装置の識別情報および位置を判定する。次いで、識別された装置の位置に関わらず、適切な通信チャネルを用いて、識別された装置にメッセージが送信される。
【0040】
装置の各所有者に関連する情報は、中央に記憶しておき、各移動装置でサービスを実行する際に使用することができる。たとえば、サービスを提供し、情報を利用可能にし、通信を行う方法を、所有者の嗜好または特徴に関する情報を用いて制御することができる。
【0041】
GPSチップを含まない移動装置に仮想GPS機能を提供するために前記システムを用いることができる。このような移動装置は、近距離無線通信を用いて近くの他の装置から実際のGPS情報を得ることができる。移動装置は、GPSチップを搭載している場合とほぼ同程度に正確な仮想GPS位置を維持することができる。
【0042】
図1に示されているように、本発明は、開発者が、Bluetooth標準によって実現されるような近距離無線通信機能を有する移動装置を含む装置112用の広範囲のユーザ・アプリケーション110を容易に、迅速に、かつ効果的に構築するのを可能にする共通のソフトウェア開発プラットフォーム100を提供する。この共通のソフトウェア開発プラットフォームは、API 114を通じてユーザ・アプリケーションによって呼び出すことができるコア機能および特性116を提供する。
【0043】
この体系は、開発者が、移動装置および近距離無線通信に特に適しており、移動装置のユーザにとって極めて魅力のある機能を提供するのを可能にする。開発者が、装置の各種類および各通信プロトコルごとに、アプリケーションが、装置上で実行されるオペレーティング・システム118、装置ハードウェア120、および通信プロトコルと交信する方法を再発明する必要はない。
【0044】
コア機能には、
1つの装置から他の装置へのメッセージ配信の、高レベルでの保証119、
2つの装置が互いに近距離無線通信の圏内に位置していない場合に、例えばインターネット148を通じて1人のユーザから他のユーザへのメッセージ配信を透過的に準備する配信サービス120、
装置による利用可能なサービスのブロードキャストおよび他の装置からブロードキャストされた情報の使用122、
「所有者」と各装置との関連付け124、および
所有者に関連する情報との統合126が含まれる。
【0045】
アプリケーションは、人と人との交信、および人と施設または店舗や空港などの実世界位置もしくは企業を含む位置との交信の両方を可能にする。
【0046】
装置は、可搬式である必要はなく、パーソナル・コンピュータ、キャッシュ・レジスタ、サーバ、パーキング・メータなどを含む、通信の一部になる固定装置を含んでよい。プラットフォームは、移動装置と、移動装置の近距離無線通信機能の圏内に直接入っていない、中央サーバ130を含む他の装置との間にリンク128を形成する、ハードウェアおよびソフトウェアに拡張される。
【0047】
あらゆる開発者が、共通の開発プラットフォームおよびそれが開発者に提供するAPIに基づいて、ユーザが互いに、および環境と交信する方法を変えるアプリケーションを容易に作成することができる。
【0048】
このプラットフォームは、(移動装置を含む)装置112、113間のローカル通信またはローカル装置と中央サーバとの間の長距離通信を必要とする、ほぼあらゆるジョブを行うアプリケーションを容易に作成するのを可能にする。このプラットフォームはサーバを包含するので、開発者が、サーバに記憶されている個人化情報を用いて、ローカル装置上で実行されるアプリケーションの動作を個人化するのも可能にする。
【0049】
APIから提供されるコア機能には、Bluetooth上に構築されるアプリケーションの大部分が使用することが予想される機能が含まれる。アプリケーション開発者は、自分のアプリケーションに他の特性および機能134を組み込むことができ、コア機能を補足、および拡張することができる。
【0050】
共通の開発プラットフォームを使用すると、アプリケーションの作成が最初から容易であるだけでなく、互いに互換性を有し、より一様であり、より標準化されたアプリケーションが得られる。
【0051】
この共通の開発プラットフォームは、クライアント・モジュール140、サーバ・モジュール144、およびリンク・モジュール142を含む。クライアント・モジュールは、商人または消費者によって所有される移動装置や固定ローカル装置などのクライアント装置112上で実行される。サーバ・モジュールは、通常クライアント装置の近距離無線通信の圏内に位置していないサーバ130上で実行され、リンク・モジュールは、1つまたは複数のクライアント装置とサーバとの間にリンクを形成する装置128上で実行される。
【0052】
装置の所有者
概念的には、各クライアントは「所有者」150、152を有する。簡単な例では、所有者は、装置を所有し使用する人であり、すなわち、Bluetooth機能を有するPalm Pilotの所有者である。所有者の他の例はレストランのBluetooth対応クライアント・キャッシュ・レジスタに対するレストラン経営者である。装置の所有者は、クライアント・モジュール、サーバ・モジュール、およびリンク・モジュールに知られている。所有者は、たとえば、ある人が他の人に携帯電話を貸したときに変更することができる。
【0053】
システムは、装置の所有者に関する情報を、1つまたは複数のサーバ130、131がアクセスできる集中データベース132に記憶する。この情報には、名前、アドレス、および課金情報、ならびにある人の現在位置や現在の電話番号のようなその他の情報を含めてよい。この情報には、人口統計情報、製品、サービス、およびユーザ・インタフェースに関してユーザが入力する嗜好を含めてもよい。
【0054】
サーバおよびクライアントが情報にアクセスできるようにする1つの利点は、例え通信が、ある時はBluetoothによって行われ、別の時には携帯電話によって行われ、また別の時にはインターネット148を通じて行われるとしても、ある位置にいるある当事者が、世界のどこかに位置する所有者と通信できるようになることである。開始当事者は、所有者がどこに位置するか、または所有者にどのようにアクセスするか知る必要はなく、サーバがこの情報を有しておりメッセージをリンクを通じてサーバに転送し、サーバから適切な媒体を通じて所有者に転送することができる。
【0055】
中央に記憶されている情報の特徴を移動装置用の容易に開発できるアプリケーションと組み合わせることによって、人が周りの世界と交信する方法に根本的な変化をもたらす広範囲の可搬式標準アプリケーションを作成することが可能になる。
【0056】
サービスのブロードキャスト
開発プラットフォーム100は、移動装置上で実行されるアプリケーション110がアプリケーションを実行する他の装置に提供するサービスについての情報をブロードキャスできるようにする機能を含んでいる。逆に、アプリケーションは、他の装置、たとえば、近距離無線通信圏内にある装置やリンク・モジュールを通してアクセスできる装置上で実行されるアプリケーションによって利用可能になるサービスを識別しそれを知ることができる。サービス・ブロードキャスト機能は、サービスを提供し使用する多数の装置(移動装置、中央サーバ、リンクなど)のファブリック(fabric)作成を可能にし、その場合、ユーザの移動装置は、他の装置が存在する世界を移動する際に利用可能なサービスを絶えず知ることができる。
【0057】
個人化
クライアント、リンク、およびサーバが、個人化情報を、中央データベース132内で見つけ、中央データベース132に記憶し、中央データベース132内で編集する基本コア機能を提供するので、各モジュール上に構築されたアプリケーションは、装置の「所有者」の個人化情報に応じた機能を提供することができる。
【0058】
保証された配信
アプリケーション開発プラットフォームから提供される他の主要コア機能は、いわゆる高レベルで保証されたメッセージ配信である。移動PDAなどの装置上で実行されるアプリケーションが世界のどこかにある他の装置への通信を開始すると、各モジュールは、他方の装置が近距離無線通信圏内にない場合でも、および他方の装置がその瞬間に使用されていない場合でも、メッセージの配信を保証する。このため、各モジュールは、目標装置の位置を判定し、適切な通信モード(たとえば、ローカル装置とのBluetooth通信を使用し、次にインターネットとのリンクを使用し、次いで目標装置との電話リンクを使用する)を判定し、配信が完了するまでメッセージを追跡する。
【0059】
インターネットは、Bluetoothに代わる透過的なメッセージ配信方法として使用することができる。装置上のアプリケーションのユーザがメッセージを他の装置に送信するのに必要な措置を講じると、各モジュールがインターネットを選択したときに、Bluetoothが使用されていないことをユーザが気付くことなくインターネットを通じてメッセージを送信することができる。
【0060】
無線装置
図2に示されているように、クライアント装置112は、無線装置が、Bluetoothプロトコルに従って他の装置内の他のチップ117(図1)との近距離無線リンク(図1のリンク115など)上で通信するのを可能にするBluetoothチップ11を持つ無線装置であってよい。装置112は、たとえば、携帯電話、パーソナル・データ・アシスタント(PDA)、ハンドヘルド・コンピュータもしくはオーガナイザ、パーソナル・コンピュータ、キャッシュ・レジスタ、パーキング・メータ、またはその他の装置であってよい。装置は、ユーザが情報を見て装置と交信するのを可能にする接触感知ディスプレイ123、キーパッド170、キーボード172、マウス174、またはユーザが装置と交信するのを可能にするその他の手段を含んでよい。
【0061】
チップ11は、個人化データベース132において装置のユーザまたは所有者にマップされる固有の識別符号180を有する。装置のユーザは、個人、車両、もしくは他の移動実体であるか、または店舗もしくはレストランのような位置が固定された実体であってもよい。
【0062】
一般に、装置112は、オペレーティング・システム118、アプリケーション110、およびクライアント・モジュール140を記憶するメモリ190、プロセッサ192、ならびにこれらのハードウェア構成要素(図1では、ハードウェア構成要素はまとめて数字120で識別されている)を相互接続する1つまたは複数の内部システム通信バス194も有している。
【0063】
Bluetoothチップを一方とし、オペレーティング・システム、クライアント・モジュール、およびアプリケーションを他方とした交信は、チップによってチップと交信する装置に提供されるBluetooth APIに従う。様々な当事者によって作成され、装置112上で実行されるアプリケーション・プログラム16は、クライアント・モジュールを通じてチップ11を呼び出すことによって、広範囲の機能を実現することができる。クライアント・モジュール140は、装置112のオペレーティング・システム118と交信することによって、オペレーティング・システムから提供される通信機能、処理機能、およびユーザ交信機能を活用することができる。
【0064】
利用可能なサービスの追跡
クライアント・モジュール140は、ローカル装置112上で実行されるアプリケーションから得られるサービス、およびローカル装置112の近距離無線の距離圏内にある装置を含む、他の装置上で実行されるアプリケーションから得られるサービスのレジストリ141を維持する。
【0065】
サービスに関連するレジストリ内のエントリは、ローカルで利用可能なサービスについては、図3Aに示されているフォーマット、他の装置上で利用可能なサービスについては、図3Bに示されているフォーマットを有することができる。他のフォーマットを使用してもよい。
【0066】
装置上で実行されるアプリケーションによって利用可能にすることができる例示的なサービスには、WMLサーバまたはインスタント・メッセージ送信クライアントが含まれる。
【0067】
プラットフォームは、アプリケーションがサービスをレジストリ141内のリストに付加する(登録)かまたは該リストから削除する(登録解除)のに用いることのできる「サービスの追加(AddService)」機能および「サービスの削除(RemoveService)」機能(図4Eおよび4F参照)を提供する。
【0068】
クライアント・モジュールは、装置のユーザ(所有者)およびこの装置から利用できるサービスに関する情報を、ローカル装置の圏内のすべての装置への周期的なブロードキャスト・ピング(ping)によって作成する。このブロードキャスト機能によって、多数の装置が、他の装置から提供される一連のサービスを絶えず知ることができる。各装置は、広範囲のサービスをユーザのために活用し使用することができる。クライアント・モジュールは、アプリケーションによってレジストリ141に記憶された情報を用いて、サービスの説明およびこれらのサービスにアクセスする方法に関する指示を他の装置に与える。
【0069】
装置上で実行されるアプリケーションには、クライアント・モジュールから提供される機能とユーザの交信、およびこのような機能の制御を可能にするコア・サービス・アプリケーションを含めてよい。
【0070】
たとえば、あるサービス・アプリケーションは、装置のユーザがレジストリの内容を修正し、装置上で利用できるサービスに対する嗜好を指定するのを可能にすることができる。たとえば、ユーザは、特定のサービスについてメッセージが受信されたときに通知を受けるかどうかを選択することができる。
【0071】
リンクを通じて転送されるメッセージ
クライアント・モジュールは、近くの無線装置と通信するだけでなく、リンク・モジュール142を実行するリンク128(図1)を通じてインターネットまたはその他の公衆網にアクセスすることができる。ローカル・ネットワーク機能129およびインターネット148接続を有するあらゆる装置がリンクとして働くことができる。リンクは、移動装置であっても、固定装置であってもよい。
【0072】
図5に示されているように、いくつかの実現態様において、リンク128は、(Bluetooth標準に定義されている)ローカル・ネットワーク機能を提供するBluetoothチップ11、リンク・モジュール142のコピー、およびインターネット148とのダイヤルアップ接続や専用接続のような、インターネット・インタフェース15を通じたインターネット接続を有する装置を含んでいる。
【0073】
通信によっては、Bluetooth技術を用いてメッセージを送信する方法に代わる透過的な方法として、インターネット上で送信することができる。リンク128は、近距離無線の距離圏内のユーザが、たとえば、サーバ・モジュール144のコピーを実行するサーバ130に、インターネットを通じてデータを送信し、かつインターネットを通じてこのサーバからデータを受信するのを可能にする。赤外線のような他の技術もリンク129用のローカル・ネットワーク機能を提供することができる。
【0074】
クライアント・モジュールは、サービス・レジストリ18に記憶された情報に基づいて、装置の圏内にリンク128が存在するかどうかを追跡する。これは、リンクがその利用可能なサービスを前述のようにブロードキャストするからである。圏外の装置宛のメッセージは、装置がリンク128の圏内に入るまで、クライアント・モジュールによってキューに記憶される。
【0075】
一例では、クライアントのメッセージ・キューに記憶されたメッセージ(Kメッセージと呼ばれる)は、図3Cに示されているフォーマットを有する。装置がリンク128の圏内に入ると、メッセージがリンクを通じてサーバ130に送信される。サーバ23は次いで、目標装置133に近い他のリンク131(図3)にこのメッセージを送信することができる。目標装置内のレジストリは、装置上の特定のサービスによって検索されるメッセージ警告を記憶する。
【0076】
「メッセージ獲得(getMessages)」および「メッセージ獲得(getMessage)」機能(図4Bおよび4C参照)は、クライアント・モジュールから提供され、クライアント装置上で実行されるアプリケーションを、他の装置から送信されたメッセージの検索に用いるのを可能にする。記憶されたメッセージは、図3Cに示されているKメッセージ構造を用いてクライアントからアプリケーションに送信される。
【0077】
モジュールのコア・サービスは、リンクの近くに位置する装置のアドホック・ネットワークに相当するものを通じてインターネット接続を可能にするように、TCP/IP(Transport Control Protocol/Internet Protocol)をサポートする。リンク・モジュールがリンクの圏内の各装置にIPアドレスを割り当てるときにIPマスカレードが用いられ、それによって、各装置はTCP/IPを用いて通信することができる。
【0078】
サーバ
サーバ130上で実行されるサーバ・モジュール144は、世界のどこかにある装置のユーザが、受信側がどこに位置しているかも、受信側がどの装置を使用しているかも知らずに互いにメッセージを送信するのを可能にする。
【0079】
図6に示されているように、サーバ・システム130は、たとえば、クライアント・モジュール14が存在する装置12と他のクライアント・モジュール56が存在する他の装置54との間で、メッセージを記憶し転送するのを可能にするサービスをサーバ・アプリケーションに提供するグローバル・ルータ60として働く。
【0080】
一般に、所与のユーザは、複数の装置の所有者であってよく、これらの装置のうちのいくつか、またはすべてに一度にログオンすることができる。サーバ・モジュールは、互いに関連する装置を追跡するデータベース62を含んでいる。サーバ・モジュールは、HTTP(Hyper Text Transfer Protocol)およびWAPと、その他の技術をサポートしてメッセージを送受信することができる。
【0081】
ある実現態様において、サーバ・モジュールは、たとえばWindows(登録商標)システムや、Solarisシステムや、Linuxシステム上で実行できるJava(登録商標)コンピュータ言語で書かれたソフトウェアを含んでいる。サーバ・モジュールは、サービスのレジストリ66内のユーザの各装置によって利用可能にされるサービスについての情報を記憶することもでき、したがって、他の装置はサービスを見つけてそれにアクセスすることができる。各装置が、他の装置のユーザのマッピングの配列およびこれらの装置上で利用できるサービスをサーバ・モジュールから得るのを可能にする(図4Dに示されている)「周囲のサービスの獲得(getSurrounding Services)」機能が、クライアント・モジュールによって、装置上で実行されるアプリケーションに提供される。
【0082】
個人化
サーバ・モジュールは、個人化システム132にインタフェース・サービスを提供し、インターネット148のような他の技術にゲートウェイ・サービス173を提供する。たとえば、一般化マークアップ言語(Generalized Markup Language)を用いるウェブ・サーバ58は、インターネット接続を持つ任意の移動装置にメッセージを配信するのを可能にする。さらに、任意のクライアント装置は、インターネットを通じてサーバからのリソースおよび情報にアクセスすることができる。
【0083】
ユーザは、サーバにログオンし、たとえば、個人化システム26にアクセスしたり、個人化された情報を入力または編集することができる。
【0084】
クライアント・モジュール14を備えたサービス・アプリケーション115(図1)の1つは、ユーザが、個人化システムによって記憶された個人情報および嗜好を修正するのを可能にする。そのために(図4Gに示されている)「個人化データの変更(changepersonalizationdata)」機能を使用することができる。ユーザは、個人化システムに記憶されており、このユーザに関連する様々なデータへの他のユーザによるアクセスを許可または拒否するインジケータを設定することもできる。
【0085】
たとえば、個人化システムに記憶されたユーザ情報を、(図4Iに示されている)「個人化許可の変更(Changepersonalizationpermissions)」機能を用いて共用または公開として指定することができる。
【0086】
あるユーザの装置上で実行されるサービス・アプリケーションの1つは、(図4Hに示されている)「個人化データの獲得(Getpersonalizationdata)」機能を用いて個人化システムから他のユーザのプロファイルにアクセスすることができる。特定のユーザが他のユーザのプロファイルにアクセスする許可を有さない場合、アクセスは拒否される。ユーザがサーバにログオンすると、個人化システムからのすべての関連するデータがリンクを通じて動的にロードされる。したがって、クライアント装置に記憶されたユーザ情報は、個人化システムに記憶されたデータと同期するように定期的に更新することができる。
【0087】
管理者がユーザ用の環境設定を手動で変更するのを可能にするように、サーバに管理グラフィカル・ユーザ・インタフェース(GUI)が関連付けられている。管理GUIは、管理者が、サーバによって使用されるリソースに対する負荷を分析し、サーバを試験およびデバッグし、かつ個人化システムに記憶されたユーザ情報へのアクセスをユーザが許可している場合には、そのようなアクセスを行うのを可能にする。
【0088】
保証された配信
一般に、クライアント・モジュールは、ある装置から他の装置へのメッセージの配信を保証する責任を負うサービスを提供する。クライアント・モジュールは、アプリケーションからメッセージを受信した後、各データ送信ごとの固有の識別番号を含む確認を返す。メッセージが配信されたことをクライアント・モジュールが保証できない場合、メッセージのテキストが、このテキストが配信不能であることを示すメッセージと共に送信側に返される。データを処理するのに必要なアプリケーションを有さない装置によって、データを含むメッセージが受信された場合、このメッセージは送信側に返される。一方、必要なアプリケーションが受信側の装置のレジストリにリストされているが、受信側の装置が現在このアプリケーションを実行していない場合、クライアント・モジュールはメッセージを記憶し、メッセージが受信されたことをユーザに通知する。
【0089】
リンクを通じてサーバから特定のユーザにメッセージが送信されると、このメッセージは、ユーザが「所有」しており、かつユーザがログオンしているすべての装置に送信される。ユーザが自分のどの装置にもログオンしていない場合、サーバ・モジュールは、メッセージをメールボックス・データベース64に記憶する。ユーザがその後ログオンすると、ユーザにメッセージが通知される。したがって、特定の装置にメッセージが送信されるとき、メッセージの送信側は、受信側がどの装置に最も近いかも、受信側がどの装置でメッセージを受信するのを望んでいるかも判定する必要がない。サーバは、メッセージを適切な装置に透過的にルーティングする。クライアント・モジュールに暗号化技術が組み込まれているので、ユーザは、個人化システムに記憶され、かつクライアント装置上に記憶された個人化モジュール143(図2参照)に記憶されたグローバル・キーを用いて通信に自動的にデジタル署名を施す。
【0090】
図7に示されているように、クライアント・モジュールは、Bluetoothチップ32、携帯電話通信を可能にする無線モデム34、赤外線ポート36、またはその他の通信チャネル38を含む通信媒体とのインタフェースを提供する転送モジュール30を含んでいる。
【0091】
転送モジュール30は、装置が利用できる各通信媒体のソケットまたはそれと同等な層を参照し、通信媒体を管理する。転送モジュール30は、受信されたメッセージを確認マネージャ40に転送し、利用可能な通信媒体に関する情報を通信マネージャに与える。転送モジュール30には、確認マネージャ40から、特定の通信媒体上でメッセージを送信するよう要求することができる。
【0092】
確認マネージャ40は、クライアント・モジュールの、メッセージの配信を保証する責任を負う部分である。確認マネージャ40は、発信メッセージのキューと、確認を待っているメッセージのキューを維持する。確認マネージャ40は、送信されたメッセージを追跡し、受信した確認を最初の発信メッセージと適合させる。指定された期間内に確認が受信されない場合、メッセージは再送信される。
【0093】
確認マネージャ40には、通信マネージャ42から、メッセージを送信するよう要求することができ、通信マネージャ40は、メッセージが配信不能である場合に通信マネージャに通知する。なぜメッセージが配信不能であるかを説明するメッセージに、通信マネージャ42への通知を付随させることができる。
【0094】
通信マネージャ42は、装置の通信圏内に他の装置が入ったか、または装置の通信圏から他の装置が出たかを検査し、メッセージの送信をサービス・アプリケーション16が要求したときに、どの通信媒体を使用すべきかを決定する。メッセージは、暗号化、およびデジタル署名の受領のためにセキュリティ・モジュール46に送信することができる。
【0095】
通信マネージャ42は、確認マネージャ40から、受信されたメッセージの通知を受け、受信されたメッセージを、デジタル署名の認証のためにセキュリティ・モジュール46に転送する。ユーザ名およびセキュリティ情報は、個人化モジュール48を通じて個人化システムから受信される。通信マネージャ42は、ローカル・レジストリ18内の設定に基づいて、受信されたメッセージをアプリケーション・マネージャ44を通じてサービス・アプリケーション16に通知する。サービス・アプリケーション16は次いで、アプリケーション・マネージャ44を通じてメッセージ・キュー内のメッセージを検索することができる。
【0096】
通信マネージャ42はまた、レジストリ要求メッセージを受信して処理し、ローカル・サービス・アプリケーション設定をレジストリ18からブロードキャストし検索する。さらに、通信マネージャは、サーバ・メッセージおよびレジストリ・ブロードキャストに基づいてレジストリ18内の他の装置に関する情報を更新する。
【0097】
アプリケーション・マネージャ44は、サーバ・アプリケーションと、クライアントの通信マネージャ42、レジストリ18、および個人化モジュール48との間のインタフェースを提供する。アプリケーション・マネージャ44は、レジストリ18に記憶されたローカル・サービス・アプリケーション設定を検索または修正することができる。アプリケーション・マネージャ44は、レジストリにおける装置12の圏内の他の装置のリスト、およびこれらのユーザの装置上で利用できるサービスに関する情報にアクセスするか、またはこれらを修正することもできる。アプリケーション・マネージャ44は、通信マネージャ42を通じてメッセージを送受信することもできる。個人化システム132に記憶された情報に対して、個人化モジュール48を通じてアクセスまたは修正を行うことができる(許可が得られていると仮定する)。
【0098】
個人化モジュール48は、個人化システム132とのインタフェースとして働き、個人化システムに記憶されたユーザの情報、ユーザの嗜好、およびユーザの許可にアクセスできようにする。個人化モジュール48は、情報を取り込み、情報を個人化システム132と同期させることができる。個人化モジュール48は、個人化システム132に記憶された情報に、情報を要求している実体に対して透過的にアクセスすることができる。個人化モジュール48は、メッセージ・ヘッダ用のユーザ名を与え、かつ通信マネージャ42を通じてセキュリティ・モジュール46に公開暗号鍵または専用暗号鍵を与える。
【0099】
セキュリティ・モジュール46は、装置12と他の装置との間で安全な通信を行う責任を負い、暗号アルゴリズムを実行する。セキュリティ・モジュール46は、通信マネージャ42からセキュリティ情報を得る。セキュリティ・マネージャ46は、メッセージを暗号化し復号し、発信メッセージにデジタル署名を施し、着信メッセージのデジタル署名を検証する。
【0100】
アプリケーションにおける「メッセージの送信(sendMessage)」命令(図4A参照)は、メッセージをチップの機能によって他の無線装置に送信するのを可能にするクライアント・モジュール・ルーチンを呼び出すことができる。
【0101】
メッセージ通信および暗号化
図8Aおよび8Bは、サービス・アプリケーション16によって開始されたメッセージを装置12からどのように送信できるかを示している。特定のサービス・アプリケーション16は、メッセージを目的の受信側の識別情報と共にアプリケーション・マネージャ44に転送する(1100)。この例では、アプリケーション・サービスが、メッセージの送信を安全にかつ確実に行うことを要求すると仮定する。アプリケーション・マネージャ44は、メッセージおよび受信側の識別情報を通信マネージャ42に転送し(1102)、メッセージを安全にかつ確実に送信することを要求する。通信マネージャ40は、メッセージおよびセキュリティ情報をセキュリティ・モジュール46に転送する(1104)。セキュリティ・モジュール46は、メッセージに対して暗号アルゴリズムを実行し、暗号化されたメッセージを通信マネージャ42に返す(1106)。通信マネージャ42は次いで、暗号化されたメッセージを確認マネージャ40に転送し(1108)、通信チャネルを指定する。
【0102】
確認マネージャ40は、メッセージ識別番号を生成し(1110)、それをメッセージ・ヘッダに添付する。確認マネージャ40は、暗号化されたメッセージを確認マネージャ40の非確認メッセージ・キューに付加する(1112)。確認マネージャ40は、暗号化されたメッセージおよび指定されたチャネルの識別情報を転送モジュール30に転送する(1114)。転送モジュール30は次いで、暗号化されたメッセージを、指定された通信チャネル上で送信する(1116)。通信マネージャ40は、指定されたタイム・フレーム内に確認を受信しなかった場合、メッセージを再送する。
【0103】
受信側装置内の転送モジュールは、暗号化されたメッセージを受信し(1118)、それを受信側装置の確認マネージャに転送する。受信側装置内の確認マネージャは、メッセージを通信マネージャに転送する(1120)。さらに、受信側装置内の確認マネージャは、その受信メッセージ・リストにメッセージ識別番号を付加し、受信側装置内の転送モジュールに転送される確認メッセージを生成する(1122)。転送モジュールは、最初のメッセージが到着したのと同じ通信チャネル上で確認メッセージを送信する(1124)。送信側装置12内の転送モジュール30は、確認メッセージを受信し、それを確認マネージャ40に転送する(1126)。確認マネージャ40は次いで、確認を待っているメッセージのキューから最初のメッセージを削除する(1128)。
【0104】
受信側装置内の通信マネージャは、暗号化されたメッセージを受信した後、ヘッダを削除し(1130)、暗号化されたデジタル署名付きのメッセージをセキュリティ・モジュールに転送する(1132)。セキュリティ・モジュールは、送信側の識別情報によって通信マネージャに応答する(1134)。受信側装置内の通信マネージャは次いで、受信側装置のレジストリ内の設定に従って、復号されたメッセージを通信マネージャのメッセージ・キューに付加し(1136)、ユーザおよびサービス・アプリケーションに通知する(1138)。
【0105】
サービス・アプリケーションは、復号されたメッセージを受信するために、受信側装置内のアプリケーション・マネージャを通じて通信マネージャにメッセージを要求する(1140)。通信マネージャは、目的のアプリケーションを示すマークが施された次のメッセージをメッセージ・キューからサービス・アプリケーションに転送する(1142)。通信マネージャは次いで、そのメッセージ・キューからこのメッセージを削除する(1144)。
【0106】
サービス・アプリケーション16は、メッセージを送受信するだけでなく、アプリケーション・マネージャ44を通じて個人化モジュールのAPIの機能を呼び出すことによって、個人化システム132に記憶されたデータおよび許可を検索または修正することができる。さらに、サービス・アプリケーション16は、アプリケーション・マネージャ44を通じてレジストリのAPIの機能を呼び出すことによって、装置の圏内のユーザおよび装置に関する情報を見ることができる。同様に、サービス・アプリケーション16は、アプリケーション・マネージャ44を通じてレジストリのAPIの機能を呼び出すことによって、ローカル装置12上のサービス・アプリケーション設定を検索または修正することができる。
【0107】
使用法
図9に示されているように、上述のシステムの一使用法では、一定の位置にある衣料品店70が潜在的な顧客に電子クーポンを与える。Bluetoothチップ15を有する装置17は店舗70内に取り付けられている。移動装置を保持するユーザがチップ15の圏内に入った場合、装置17はこの情報を検出し、装置17のクライアントのサービス・レジストリに記憶する。装置17は、個人化システム132からユーザに関する情報74を得る。このような情報74には、たとえば、ユーザの衣服のサイズや衣服の購入暦を含めてよい。このような情報へのアクセスは、ユーザの許可を得ることによって行われる。
【0108】
装置17は、Bluetoothリンクを通じて直接送信されるか、またはローカル・エリア・ネットワーク(LAN)を通じて間接的に送信される、1つまたは複数のメッセージにクーポンを組み込むことによって、ユーザの装置12に1つまたは複数の電子クーポンを送信する。クーポンを含むメッセージは、個人化システムから得られた情報に基づいてユーザが特に関心のある販売および品目をユーザに知らせることができる。電子クーポンは、LAN上で装置17と直接通信することによって提出し、店舗70から品目を購入するために用いることができる。
【0109】
ユーザが、自分の装置12にクーポンが送信されるのを待つ必要はない。たとえば、ユーザが店舗70の圏内に入った後、ユーザの装置12上に存在するクライアント・モジュールに関連するレジストリは、店舗70の識別符号を記憶する。ユーザは、店舗70から与えられる様々なクーポンを、装置12を用いて見ることができる。
【0110】
他のアプリケーションは、ユーザの嗜好を利用可能な店舗在庫に一致させるショッピング・アシスタントとして働くサービスを提供することができる。ある例では、ユーザは、商店街やショッピング・モールのような指定された領域内の店舗から特定の製品に関する情報を入手することを望んでいる。店舗は、その製品在庫に関して個人化システムに記憶された情報を更新する。ユーザは、特定の製品の様々なモデル、サイズ、費用が、指定された領域内の店舗で得られるかどうかに関する情報を、装置12を用いて個人化システムに要求する。次いで、入手可能な製品のリストおよび関連情報がユーザの装置に与えられる。後述のように使用できる識別符号を各店舗に関連付けることができる。
【0111】
ユーザは、個人化システムから得られた情報を検討した後、たとえばリストされた店舗による販売促進活動またはクーポンに関する追加の情報を個人化システムから得ることができる。ユーザは、特定の店舗を選択した後、店舗識別符号を装置12に入力し、選択された店舗のリンクに、たとえばインターネット22上でアクセスすることができる。ユーザの装置12が店舗のBluetooth対応装置の圏内に入ると、2つの装置は互いに認識する。次いで、直接またはローカル・ネットワーク上で通信が行われる。ユーザは、装置12を用いて店舗から品目を購入することができる。店舗の店員は、購入された品目を収集し、品目をまとめる準備が完了したときにユーザにメッセージを送信する。
【0112】
図10に示されているように、他のアプリケーションは、ユーザが、たとえばレストラン76で注文し、並んで待つ必要なく支払いを行うのを可能にする。ユーザは、テーブルに座った状態で、またはレストランの近くを歩きながら注文および支払いを行う。ユーザがレストラン76に到着すると、レストランのBluetooth対応装置17は、ユーザの装置の存在を認識し、個人化システムからユーザの個人情報を検索する。個人情報には、顧客の食事の嗜好またはレストラン76における顧客の通常の注文を含めてよい。レストランの装置17は、たとえば、顧客が通常の注文を望んでいるかどうかを尋ねるメッセージを顧客の装置に送信する。顧客は、装置を用いて注文および支払いを行うことができる。顧客は、個人化システムにアクセスしてレストラン76に関する情報を得ることもできる。レストランの情報80には、たとえばメニューや、おすすめ品のリストや、利用可能なクーポンを含めてよい。このような情報も、レストランのローカル・エリア・ネットワークを用いてレストランから直接得ることができる。
【0113】
レストランの装置17によって個人化システムから検索されるユーザの嗜好に関する情報には、識別された顧客に対する様々な商業実体間の取引きを容易にすることのできる情報を含めてよい。たとえば、ユーザがレストランの近くを通過すると、レストランのBluetooth対応装置17は、ユーザの装置の存在を認識し、個人化システムからユーザの個人情報78を検索する。個人情報78は、ユーザが映画好きであることを示す情報であってよい。レストランの装置は、同様にBluetooth対応装置79を所有する地元の映画館77と情報を交換し、地元の映画館77はユーザの装置上に電子映画割引を示す。
【0114】
他のアプリケーションは旅行を容易にすることができる。たとえば、ユーザが飛行機旅行を行う予定があると仮定する。図11に示されているように、空港82に到着すると、Bluetooth対応装置17は、ユーザの装置の存在を検出する。空港の装置17は、個人化システムからユーザの予定されたフライト番号および出発時間を得る。装置は次いで、ユーザの旅程に合うフライト、空港、および地上交通情報をユーザの装置に送信する。電車やバスのような他の移動手段に関して同様のアプリケーションを使用することができる。
【0115】
他のアプリケーションをパーキング・メータと共に用いて、Bluetooth対応装置を用いた支払いを容易にすることができる。ある例では、ユーザは前払いの時間単位を購入する。図12に示されているように、装置を所有するユーザがパーキング・メータ86の近くに駐車すると、パーキング・メータ内のBluetooth対応装置17がユーザの装置12の存在を検知する。装置17は、個人化システム26にアクセスすることによってユーザの口座識別番号88を検査し、ユーザがその位置に何時間駐車する予定であるかを示すことを要求するメッセージをユーザの装置に送信する。ユーザ10が応答すると、ユーザの口座から自動的に支払いを差し引くことができる。アプリケーション・プログラムは、どのくらいの時間が残っているかをメータ86上に絶えず示すことができ、ユーザが離れた位置からメータに時間を追加するのを可能にすることができる。
【0116】
無線クレジット・カード・アプリケーション・プログラムは、ユーザが装置を用いて商人90から商品を購入するのを可能にすることができる。たとえば、図13に示されているように、商人のBluetooth対応装置17はユーザの装置の存在を感知し、許可が得られた場合、ユーザの名前、口座番号、および口座満了日を含むユーザのクレジット・カード情報92を個人化システム26から得る。
【0117】
さらに、アプリケーション・プログラムは、ユーザによって設定された個人の予算を記憶することができる。ユーザが自分の予算を超えた場合、個人の予算を超えたことを示すメッセージが装置に送信される。
【0118】
パーキング・メータ、街路灯、およびその他の位置に戦略的に配置されたBluetooth対応装置のネットワークは、ユーザの装置がグローバル・ポジショニング・チップを保持する必要なしに、その厳密な位置を知るのを可能にする仮想グローバル・ポジショニング・システム(GPS)を提供することができる。図14に示されているように、いくつかのBluetooth対応装置200は、Bluetoothチップ204、ならびに装置が衛星202からグローバル・ポジショニング情報を受信することによって装置のGPS位置を判定するのを可能にするグローバル・ポジショニング・チップ206を保持する。各装置200は、そのグローバル・ポジショニング位置を定期的にブロードキャストする。1つの装置100の圏内にある他のBluetooth対応装置は、ブロードキャストを受信し、それによってBluetooth対応装置自体の位置を判定することができる。費用のかかるGPSチップを装置14上に設ける必要なしに、ユーザの位置を識別する電子マップのような、位置を基にした様々なアプリケーション16を実現することができる。
【0119】
クライアント14上で実行することのできる他のアプリケーション・プログラムは、ユーザが、他の当事者によって検索し読み取ることのできる情報を示すのを可能にする。情報をローカル装置またはサーバ上に記憶することによって、仮想情報ボードを実現することができる。たとえば、レストランは、このようなアプリケーションを用いて毎日のおすすめ品を示し、メニューのコストを減らすことができる。
【0120】
公衆情報ブースは、博物館、史跡、彫像、および特定の地理的位置内の他の関心対象の場所に関する情報を与えるBluetooth対応装置を有することができる。ユーザの装置上に存在するクライアント上でアプリケーションを実行することができる。装置同士はBluetoothプロトコルに従って交信し、かつ装置はその地域の簡単な歴史または概要をユーザに装置に送出する。アプリケーションはさらに、ユーザがその地域内の様々な場所のリストおよび概要を見るのを可能にする。ユーザが、ユーザの関心に基づいてその地域の特定の局面に関する情報のみを受信するように、自己案内ツアーを調整することができる。
【0121】
他のアプリケーションは無線識別ツールとして働くことができる。このツールは、ユーザが病院または他の官公庁内を移動するのを容易にすることができる。たとえば、病院では、ユーザは書面を完成する必要なく処方箋に署名するか、または処方箋を得ることができる。このアプリケーションは適切な情報を提供することができる。
【0122】
他のアプリケーション・プログラムは、ある位置から他の位置へ自由に移ることができる個人などの実体に関連する他の装置との通信を提供することができる。例示的なアプリケーション・プログラムには、インスタント・メッセージング、友人リスト(buddy lists)、および個人連絡カードが含まれる。
【0123】
たとえばインスタント・メッセージングでは、各装置が互いのローカル圏内に位置しているかどうかにかかわらず、Bluetooth対応装置間でメッセージを転送することができる。当事者の位置は、特定のメッセージを送信するためにどの通信手段を用いるかに影響を与える。しかし、着信メッセージが受信側の装置に対して調整されるので、メッセージの送信側が通信手段または装置の互換性の問題を気にする必要はない。たとえば、目的の受信側がインスタント・メッセージングを許容しないように自分の許可を設定しているため、または受信側装置が適切なソフトウェアを有していないために、インスタント・メッセージがその送り先に到達できない場合、送信側は、メッセージを配信できない旨の通知を受けることができる。
【0124】
装置上で実行できる他のアプリケーションは、友人リストの使用を容易にする。したがって、装置のユーザは、友人(buddy)が、ローカル・エリア・ネットワークに入るかまたはローカル・エリア・ネットワークから出たときに自動的に通知を受けることができる。ユーザは友人リストに人を追加するかまたは友人リスト上の人を削除することができる。さらなるプライバシーのために、ユーザは、ユーザが特定のネットワークに入るか、またはこのネットワークから出たことを友人リスト上の他の人に知らせないようにするオプションを、アプリケーションにおいて選択することができる。情報および通信アクセス許可を指定するリストを個人化システムに記憶することができる。このリストは、複数のアプリケーションにわたって使用することができ、個人化システムを通じて動的に更新することができる。友人リストの異なる構成員は異なる許可を有することができる。
【0125】
他のアプリケーション・プログラムは、ユーザが装置から仮想ビジネス・カードを送信するのを可能にする。状況によっては、電子ビジネス・カードは実際のビジネス・カードの画像イメージを含んでよい。
【0126】
その他の実現態様は特許請求の範囲内である。
【技術分野】
【0001】
背景
本発明は、移動コンピューティングおよび通信に関する。
【背景技術】
【0002】
パーソナル・デジタル・アシスタント、携帯電話、およびその他の移動装置は、広範囲のコンピューティング機能および通信機能を提供する。これらの機能を提供するために、移動装置は、マイクロプロセッサ、メモリ、場合によっては接触を感知するディスプレイ、マイクロフォン、スピーカ、キー、およびその他のユーザ入出力機構を含んでよいハードウェア構成要素を有している。
【0003】
データ入力、手書き認識、音声認識、音声・データ通信、メモ帳作成、カレンダー、ワード・プロセッサ、スプレッドシート、to-doリスト、およびアドレス帳を含む、様々な特定の機能が移動装置上に設けられることが多い。これらの機能は、装置上に記憶され、移動装置のハードウェア構成要素上で実行されるこれらのハードウェア構成要素を制御するMicrosoft Windows (登録商標)CEまたはPalm OSなどのオペレーティング・システムの機能を使用するソフトウェア・アプリケーションまたはフォームウェア・アプリケーションで実現される。
【0004】
無線通信を行うことのできる移動装置は通常、BluetoothおよびWAP(Wireless Application Protocol)のような1つまたは複数の標準無線通信プロトコルに従う。
【0005】
例えば、Bluetoothでは、比較的近距離の通信に無線周波数送信を使用する。Bluetooth機能は、移動装置またはその他の装置に組み込まれる小形のマイクロチップで実現することができる。
【0006】
Bluetooth対応装置用のアプリケーションを作成するため、開発者は通常、アプリケーションの特定の機能を実現するカスタム・ソフトウェアを作成する。各Bluetooth通信リンクの各端部におけるアプリケーションの機能の実行に関与する各装置ごとに1つのカスタム・ソフトウェアを作成しなければならない。各カスタム・ソフトウェアは、それが実行される装置の特定のハードウェア特性およびオペレーティング・システム特性に適合するように作成される。
【発明の概要】
【課題を解決するための手段】
【0007】
要旨
本発明は、移動装置のユーザが他の移動装置のユーザおよび無線機能を有する固定装置のユーザと交信するのを開発者が可能にすることができるように基本シフトを可能にする。
【0008】
一般に一つの局面では、本発明は、移動装置上でクライアント・モジュールを実行する段階、通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階、および移動装置との通信チャネルを有し、通信網を通じてサーバにアクセスすることのできるリンク装置上でリンク・モジュールを実行する段階を含む方法を特徴とする。クライアント、サーバ、およびリンク・モジュールは、移動装置、サーバ、およびリンク装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供する。
【0009】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含んでよい。
【0010】
移動装置のユーザがコア・サービスを管理するのを可能にするように、クライアント・モジュール上でサービス・アプリケーションも実行される。コア・サービスには、移動装置内の近距離無線トランシーバとの交信も含まれる。移動装置上で移動装置オペレーティング・システムも実行され、クライアント・モジュールはオペレーティング・システムのサービスを使用する。移動装置はパーソナル・デジタル・アシスタントまたは携帯電話を含む。コア・サービスには、実世界サービスに関する情報のブロードキャスト、移動装置内の無線トランシーバとの交信、保証されたメッセージ配信、および暗号化のうちの少なくとも1つが含まれる。
【0011】
一般に、他の局面では、本発明は、少なくともいくつかのアプリケーションが個人または企業から提供される実世界サービスに関連し、装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供する、無線装置上でクライアント・モジュールを実行する段階を含む方法を特徴とする。
【0012】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。
【0013】
各実世界サービスとサービスを提供するための装置のうちの少なくとも1つとの関係を識別する情報が維持され、コア・サービスにより、実世界サービスと装置との関係を識別する情報を装置間で共用される。各装置を通じて得られるサービスに関する情報は、コア・サービスによって他の装置にブロードキャストされる。装置に関連する実世界サービスは、コア・サービスによって登録される。実世界サービスには、通信サービス、計算サービス、商業サービス、または行政サービスのうちの少なくとも1つが含まれる。
【0014】
一般に、他の局面では、本発明は、装置上で実行されるアプリケーションを通じて装置のユーザから得られる実世界サービスのリストを無線装置内に維持する段階、および無線通信チャネルを通じて、利用可能な実世界サービスを示す情報を装置からブロードキャストする段階を含む方法を特徴とする。
【0015】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。情報は周期的にブロードキャストされる。ブロードキャスト情報を受信する他の無線装置は利用可能な実世界サービスにアクセスする。
【0016】
一般に、他の局面では、本発明は、識別されたユーザに関連付けされた移動装置上でクライアント・モジュールを実行する段階、通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階、および移動装置との通信チャネルを有し、通信網を通じてサーバにアクセスすることのできるリンク装置上でリンク・モジュールを実行する段階を含む方法を特徴とする。
【0017】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。装置上で実行されるアプリケーションの1つを通じて1つの移動装置のユーザからメッセージが受信され、このメッセージが、他の移動装置上で実行されるアプリケーションの他のユーザに送られ、かつこのメッセージがインタフェースを通じて他のユーザに配信される。メッセージはリンクおよびサーバを通じて送信される。メッセージ送信元の装置上で実行されるクライアント・モジュールは、目標移動装置が近距離無線の圏内にあるかどうかを判定し、そうでない場合、クライアント・モジュールは1つのリンク・モジュールにメッセージを転送する。リンク・モジュールはメッセージをインタフェースを通じてサーバに転送する。サーバ・モジュールは、目標移動装置の位置を判定し、メッセージを他のユーザに転送するための通信チャネルを識別する。
【0018】
一般に、他の局面では、本発明は、近距離無線装置のリストを第1の近距離無線装置の圏内に維持する段階、および第1の装置の識別されたユーザからのメッセージを通信媒体上で、第2の無線装置の第2の識別されたユーザに送信する段階を含み、通信媒体が、少なくとも部分的に、第2の装置がリストに含まれているかどうかに基づいて選択され、この選択が第1の装置のユーザに透過的である方法を特徴とする。
【0019】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含んでよい。第2の装置がリストに含まれている場合、メッセージは短距離無線リンク上で第2の装置に送信され、第2の装置がリストに含まれていない場合、メッセージは、他の通信媒体を用いて第2の装置に送信される。第2の装置がリストに含まれていない場合、メッセージはインターネット上でまたは携帯電話によって第2の装置に送信される。
【0020】
一般に、他の局面では、本発明は、近距離無線装置の識別されたユーザからのメッセージを他の装置の識別されたユーザに送信する段階、および送信されたメッセージが他の装置の識別されたユーザによって受信されたかどうかを第1の装置の識別されたユーザに対して自動的に確認する段階を含む方法を特徴とする。
【0021】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。送信されたメッセージに関する情報が送信後に第1の装置に記憶され、受信した確認と装置に記憶されている送信されたメッセージが照合される。送信されたメッセージに対する確認が指定された期間内に受信されない場合に、送信されたメッセージは再送信される。送信されたメッセージが配信不能である場合は第1の装置内の通信マネージャが通知を受ける。通知段階は、送信されたメッセージがなぜ配信不能であるかの説明を行う段階を含む。送信されたメッセージが他の装置の識別されたユーザによって受信されたことが確認された後に、送信されたメッセージは装置から削除される。メッセージ送信元の装置は、保証された配信を行う責任を負う。
【0022】
一般に、他の局面では、それぞれの所有実体に関連する装置上でアプリケーションを実行する段階、開始所有実体に関連する1つの装置上で実行される1つのアプリケーションを用いて開始所有実体から目標所有実体にメッセージを送信する段階、1つの装置を、目標所有実体に関連付けされ通信リンクによってアクセスできる装置として識別する段階、および目標所有実体に関連する装置に通信リンクを通じてメッセージを転送する段階を含む方法を特徴とする。
【0023】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。各装置は、装置の所有実体に関連する公開鍵を用いてメッセージを暗号化および復号するクライアント・モジュールを実行する。公開鍵は、装置と、メッセージが通過するサーバとにに記憶される。装置は移動装置を含む。所有実体は人を含む。所有実体は企業を含み、装置は固定装置を含む。
【0024】
一般に、他の局面では、(a)各実世界実体が、他の実世界実体にサービスを提供し、他の実世界実体のサービスを使用する実世界実体を識別し、実世界実体による分散装置を通じた交信モードを定義する情報を記憶する段階、(b)任意の1つまたは複数の分散装置を用いる任意の実世界実体がサーバにログインするのを可能にする段階、(c)記憶された情報の一部をサーバから使用中の装置にロードする段階、および(d)記憶された情報に基づいて、装置を用いる実世界実体と他の実世界実体との、他の実世界実体のサービスの使用を含む交信を調整する段階を含む方法を特徴とする。
【0025】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。装置上でクライアント・モジュールが実行され、通信網を通じてアクセスできるサーバ上でサーバ・モジュールが実行され、クライアント・モジュールおよびサーバ・モジュールは、装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供し、コア・サービスは、サーバ上に記憶され、実世界実体に関係する情報へのアクセスを含む。記憶された情報には、識別情報、人口統計情報、および嗜好情報のうちの少なくとも1つが含まれる。
【0026】
一般に、他の局面では、本発明は、近距離無線通信機能を有するいくつかの異なる移動装置の各々に、装置のユーザである人を関連付ける段階、装置とユーザの関連性に関する情報および各ユーザに関する情報を公的にアクセスできるサーバに記憶する段階、およびサーバに記憶された装置のユーザに関する情報に応じたサービスを各移動装置で提供する段階を含む方法を特徴とする。
【0027】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。ユーザに関する情報は、機能を提供する際に使用できるようにサーバから装置に通信される。ユーザに関する情報には、人口統計情報、識別情報、嗜好情報、または位置情報のうちの少なくとも1つが含まれる。ユーザに関する情報の少なくとも一部は、ユーザに関連する移動装置上に記憶される。
【0028】
一般に、他の局面では、本発明は、近距離無線装置を所有する実体が特定の地理領域内にあることを自動的に認識する段階、一般にアクセスできるデータベースから実体に関する情報を得る段階、およびデータベースから得られるデータに応じて装置に送信される情報を、近距離無線装置に送信する段とを含む方法を特徴とする。
【0029】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。一般にアクセスできるデータベース内の実体に関するデータへのアクセスは、実体の許可を条件とする。実体は、一般にアクセスできるデータベース内の実体自身のデータに対して、無線装置を用いてアクセスおよび修正を行うことができる。第2の近距離無線装置は、実体が特定の地理領域内にあることを認識し、データを得て、情報を送信する。第1の装置に送信される情報は、第2の装置に関連する実体との取引きを促進する販売促進材料を含む。実体は、一般にアクセスできるデータベースから、第1の装置を用いて、第2の装置に関連する実体に関する情報を得る。実体が特定の地理領域内にあることの認識は、実体にマップ(map)された識別符号を含む第1の装置からのメッセージの受信に基づいて行われる。
【0030】
一般に、他の局面では、本発明は、(a)近距離無線通信機能を有する装置のユーザである実世界実体に関する情報を、公的にアクセスできる位置に電子的に記憶する段階、および(b)任意の装置のユーザ間で保証されたメッセージ通信を行い、電子的に記憶された情報に基づいて装置のユーザ間の商業的な取引を可能にするように協同する装置上のクライアント・モジュールおよびサーバ・モジュールを公的にアクセスできる位置に設ける段階を含む方法を特徴とする。
【0031】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。2つの無線装置の一方は固定されており、2つの無線装置の一方は可搬式である。一方の装置のユーザは商業実体を含む。一方の装置のユーザは消費者を含む。取引きは、販売情報を2つの装置の一方から他方へ配信することを含む。取引きは、2つの装置の一方が、2つの装置の他方から提供されるサービスを使用することを含む。取引きは電子メッセージ通信を含む。取引きは、2つの装置が互いに圏外にあるときに行われる。記憶された情報に対するアクセスは、この情報が関係するユーザの制御下で行われる。記憶された情報はユーザの位置を含む。記憶された情報は、消費者の消費上の嗜好を含む。各ユーザは、複数の装置に関連付けされる。取引きは、2つの装置の圏外に位置するサーバを通じて2人のユーザ間で行われる。2つの装置は互いに圏内にあり、取引きは、2つの装置を保持する2人のユーザ間で行われる。取引きは、電子ビジネス・カードを装置の1つから他の装置の1つへ送信する段階、および他方の装置上にカードを表示する段階を含む。取引きは、2つの装置のうちの少なくとも一方を通じて一方のユーザから他方のユーザへ、インターネット、携帯電話、および近距離無線通信から、ユーザに意識されることなく選択される、通信モードを含むルートによって送信される電子メッセージを含む。
【0032】
一般に、他の局面では、第1の装置において、GPS発信源から受信した信号に基づいて第2の装置の実際の地理的位置を識別する情報を、近距離無線通信チャネルを通じて第2の装置から受信する段階、および第2の装置から受信した情報に基づいて、第1の装置に記憶された得られた地理的位置を更新する段階を含む方法を特徴とする。
【0033】
本発明の実現態様は以下の特徴のうちの1つまたは複数を含む。得られた地理的位置は、第2の装置の実際の地理的位置と同じになるように更新される。第1の装置は、複数の他の装置の実際のGPS地理的位置を表す情報を、他の装置から長期的に受信し、得られた地理的位置は、他の装置から長期的に受信された情報に基づいて不定期的に更新される。
【0034】
他の特徴および利点は、以下の説明および特許請求の範囲から明らかになると考えられる。
【図面の簡単な説明】
【0035】
【図1】通信システムを示す。
【図2】無線移動装置を示す。
【図3】データ構造を示す。
【図4A】無線装置によって使用できる機能(アプリケーションにおける「メッセージの送信(sendMessage)」命令)を示す。
【図4B】無線装置によって使用できる機能(メッセージ獲得(getMessage)命令)を示す。
【図4C】無線装置によって使用できる機能(メッセージ獲得(getMessage)命令)を示す。
【図4D】無線装置によって使用できる機能(周辺のサービス獲得(getSurrounding Services)命令を示す。
【図4E】無線装置によって使用できる機能(サービスの追加命令)を示す。
【図4F】無線装置によって使用できる機能(サービスの削除命令)を示す。
【図4G】無線装置によって使用できる機能(PMTデータの変更(changepersonalizationdata)命令)を示す。
【図4H】無線装置によって使用できる機能(PMTデータの獲得(getpersonalizationdata)命令)を示す。
【図4I】無線装置によって使用できる機能(PMT許可の変更(changepersonalizationpermissions)命令)を示す。
【図5】通信パスを示す。
【図6】サーバを示す。
【図7】クライアントを示す。
【図8A】無線通信方法を示す図である。
【図8B】無線通信方法を示す図である。
【図9】システムの用法を示す。
【図10】システムの用法を示す。
【図11】システムの用法を示す。
【図12】システムの用法を示す。
【図13】システムの用法を示す。
【図14】システムの用法を示す。
【発明を実施するための形態】
【0036】
概要
本発明の1つの一般的な局面は、アプリケーション・プログラミング・インタフェース(API)を通じてコア・サービスを提供するクライアント・モジュール、リンク・モジュール、およびサーバ・モジュールを含むアプリケーション開発プラットフォームである。API上にはアプリケーションを容易に構築することができる。コア・サービスとしては、独特の、幅広く有用なアプリケーションを作成するのを可能にするようなサービスが選択される。
【0037】
各アプリケーションは、クライアント・モジュールが実行されるローカル装置およびリモート装置がサービスを利用できるようにすることができる。サービスが利用可能であることは、移動装置、リンク、およびサービスにブロードキャストおよび認知され、したがって、システム全体における装置がこのようなサービスを活用することができる。
【0038】
1つのコア・サービスはメッセージの配信である。クライアント・モジュール、リンク・モジュール、およびサーバ・モジュールは、移動装置上で実行されるアプリケーションによって開始されたメッセージ配信を高レベルで保証するようにモジュール同士の活動を調和させる。メッセージは、近距離無線装置によって、移動装置から、近くにある他の移動装置に直接送信することができる。目標装置が近くに位置していない場合、メッセージは、インターネットを含む他のチャネルを通じて目標装置に送信することができる。通信チャネルは、送信元装置のユーザに透過的に選択することができる。
【0039】
システム内の各装置を、人または小売店などの実体でありうる「所有者」に関連付けることができる。たとえば、メッセージが所有者に送られるように装置を所有者にリンクする情報を記憶することができる。システムは所有者に関連する装置の識別情報および位置を判定する。次いで、識別された装置の位置に関わらず、適切な通信チャネルを用いて、識別された装置にメッセージが送信される。
【0040】
装置の各所有者に関連する情報は、中央に記憶しておき、各移動装置でサービスを実行する際に使用することができる。たとえば、サービスを提供し、情報を利用可能にし、通信を行う方法を、所有者の嗜好または特徴に関する情報を用いて制御することができる。
【0041】
GPSチップを含まない移動装置に仮想GPS機能を提供するために前記システムを用いることができる。このような移動装置は、近距離無線通信を用いて近くの他の装置から実際のGPS情報を得ることができる。移動装置は、GPSチップを搭載している場合とほぼ同程度に正確な仮想GPS位置を維持することができる。
【0042】
図1に示されているように、本発明は、開発者が、Bluetooth標準によって実現されるような近距離無線通信機能を有する移動装置を含む装置112用の広範囲のユーザ・アプリケーション110を容易に、迅速に、かつ効果的に構築するのを可能にする共通のソフトウェア開発プラットフォーム100を提供する。この共通のソフトウェア開発プラットフォームは、API 114を通じてユーザ・アプリケーションによって呼び出すことができるコア機能および特性116を提供する。
【0043】
この体系は、開発者が、移動装置および近距離無線通信に特に適しており、移動装置のユーザにとって極めて魅力のある機能を提供するのを可能にする。開発者が、装置の各種類および各通信プロトコルごとに、アプリケーションが、装置上で実行されるオペレーティング・システム118、装置ハードウェア120、および通信プロトコルと交信する方法を再発明する必要はない。
【0044】
コア機能には、
1つの装置から他の装置へのメッセージ配信の、高レベルでの保証119、
2つの装置が互いに近距離無線通信の圏内に位置していない場合に、例えばインターネット148を通じて1人のユーザから他のユーザへのメッセージ配信を透過的に準備する配信サービス120、
装置による利用可能なサービスのブロードキャストおよび他の装置からブロードキャストされた情報の使用122、
「所有者」と各装置との関連付け124、および
所有者に関連する情報との統合126が含まれる。
【0045】
アプリケーションは、人と人との交信、および人と施設または店舗や空港などの実世界位置もしくは企業を含む位置との交信の両方を可能にする。
【0046】
装置は、可搬式である必要はなく、パーソナル・コンピュータ、キャッシュ・レジスタ、サーバ、パーキング・メータなどを含む、通信の一部になる固定装置を含んでよい。プラットフォームは、移動装置と、移動装置の近距離無線通信機能の圏内に直接入っていない、中央サーバ130を含む他の装置との間にリンク128を形成する、ハードウェアおよびソフトウェアに拡張される。
【0047】
あらゆる開発者が、共通の開発プラットフォームおよびそれが開発者に提供するAPIに基づいて、ユーザが互いに、および環境と交信する方法を変えるアプリケーションを容易に作成することができる。
【0048】
このプラットフォームは、(移動装置を含む)装置112、113間のローカル通信またはローカル装置と中央サーバとの間の長距離通信を必要とする、ほぼあらゆるジョブを行うアプリケーションを容易に作成するのを可能にする。このプラットフォームはサーバを包含するので、開発者が、サーバに記憶されている個人化情報を用いて、ローカル装置上で実行されるアプリケーションの動作を個人化するのも可能にする。
【0049】
APIから提供されるコア機能には、Bluetooth上に構築されるアプリケーションの大部分が使用することが予想される機能が含まれる。アプリケーション開発者は、自分のアプリケーションに他の特性および機能134を組み込むことができ、コア機能を補足、および拡張することができる。
【0050】
共通の開発プラットフォームを使用すると、アプリケーションの作成が最初から容易であるだけでなく、互いに互換性を有し、より一様であり、より標準化されたアプリケーションが得られる。
【0051】
この共通の開発プラットフォームは、クライアント・モジュール140、サーバ・モジュール144、およびリンク・モジュール142を含む。クライアント・モジュールは、商人または消費者によって所有される移動装置や固定ローカル装置などのクライアント装置112上で実行される。サーバ・モジュールは、通常クライアント装置の近距離無線通信の圏内に位置していないサーバ130上で実行され、リンク・モジュールは、1つまたは複数のクライアント装置とサーバとの間にリンクを形成する装置128上で実行される。
【0052】
装置の所有者
概念的には、各クライアントは「所有者」150、152を有する。簡単な例では、所有者は、装置を所有し使用する人であり、すなわち、Bluetooth機能を有するPalm Pilotの所有者である。所有者の他の例はレストランのBluetooth対応クライアント・キャッシュ・レジスタに対するレストラン経営者である。装置の所有者は、クライアント・モジュール、サーバ・モジュール、およびリンク・モジュールに知られている。所有者は、たとえば、ある人が他の人に携帯電話を貸したときに変更することができる。
【0053】
システムは、装置の所有者に関する情報を、1つまたは複数のサーバ130、131がアクセスできる集中データベース132に記憶する。この情報には、名前、アドレス、および課金情報、ならびにある人の現在位置や現在の電話番号のようなその他の情報を含めてよい。この情報には、人口統計情報、製品、サービス、およびユーザ・インタフェースに関してユーザが入力する嗜好を含めてもよい。
【0054】
サーバおよびクライアントが情報にアクセスできるようにする1つの利点は、例え通信が、ある時はBluetoothによって行われ、別の時には携帯電話によって行われ、また別の時にはインターネット148を通じて行われるとしても、ある位置にいるある当事者が、世界のどこかに位置する所有者と通信できるようになることである。開始当事者は、所有者がどこに位置するか、または所有者にどのようにアクセスするか知る必要はなく、サーバがこの情報を有しておりメッセージをリンクを通じてサーバに転送し、サーバから適切な媒体を通じて所有者に転送することができる。
【0055】
中央に記憶されている情報の特徴を移動装置用の容易に開発できるアプリケーションと組み合わせることによって、人が周りの世界と交信する方法に根本的な変化をもたらす広範囲の可搬式標準アプリケーションを作成することが可能になる。
【0056】
サービスのブロードキャスト
開発プラットフォーム100は、移動装置上で実行されるアプリケーション110がアプリケーションを実行する他の装置に提供するサービスについての情報をブロードキャスできるようにする機能を含んでいる。逆に、アプリケーションは、他の装置、たとえば、近距離無線通信圏内にある装置やリンク・モジュールを通してアクセスできる装置上で実行されるアプリケーションによって利用可能になるサービスを識別しそれを知ることができる。サービス・ブロードキャスト機能は、サービスを提供し使用する多数の装置(移動装置、中央サーバ、リンクなど)のファブリック(fabric)作成を可能にし、その場合、ユーザの移動装置は、他の装置が存在する世界を移動する際に利用可能なサービスを絶えず知ることができる。
【0057】
個人化
クライアント、リンク、およびサーバが、個人化情報を、中央データベース132内で見つけ、中央データベース132に記憶し、中央データベース132内で編集する基本コア機能を提供するので、各モジュール上に構築されたアプリケーションは、装置の「所有者」の個人化情報に応じた機能を提供することができる。
【0058】
保証された配信
アプリケーション開発プラットフォームから提供される他の主要コア機能は、いわゆる高レベルで保証されたメッセージ配信である。移動PDAなどの装置上で実行されるアプリケーションが世界のどこかにある他の装置への通信を開始すると、各モジュールは、他方の装置が近距離無線通信圏内にない場合でも、および他方の装置がその瞬間に使用されていない場合でも、メッセージの配信を保証する。このため、各モジュールは、目標装置の位置を判定し、適切な通信モード(たとえば、ローカル装置とのBluetooth通信を使用し、次にインターネットとのリンクを使用し、次いで目標装置との電話リンクを使用する)を判定し、配信が完了するまでメッセージを追跡する。
【0059】
インターネットは、Bluetoothに代わる透過的なメッセージ配信方法として使用することができる。装置上のアプリケーションのユーザがメッセージを他の装置に送信するのに必要な措置を講じると、各モジュールがインターネットを選択したときに、Bluetoothが使用されていないことをユーザが気付くことなくインターネットを通じてメッセージを送信することができる。
【0060】
無線装置
図2に示されているように、クライアント装置112は、無線装置が、Bluetoothプロトコルに従って他の装置内の他のチップ117(図1)との近距離無線リンク(図1のリンク115など)上で通信するのを可能にするBluetoothチップ11を持つ無線装置であってよい。装置112は、たとえば、携帯電話、パーソナル・データ・アシスタント(PDA)、ハンドヘルド・コンピュータもしくはオーガナイザ、パーソナル・コンピュータ、キャッシュ・レジスタ、パーキング・メータ、またはその他の装置であってよい。装置は、ユーザが情報を見て装置と交信するのを可能にする接触感知ディスプレイ123、キーパッド170、キーボード172、マウス174、またはユーザが装置と交信するのを可能にするその他の手段を含んでよい。
【0061】
チップ11は、個人化データベース132において装置のユーザまたは所有者にマップされる固有の識別符号180を有する。装置のユーザは、個人、車両、もしくは他の移動実体であるか、または店舗もしくはレストランのような位置が固定された実体であってもよい。
【0062】
一般に、装置112は、オペレーティング・システム118、アプリケーション110、およびクライアント・モジュール140を記憶するメモリ190、プロセッサ192、ならびにこれらのハードウェア構成要素(図1では、ハードウェア構成要素はまとめて数字120で識別されている)を相互接続する1つまたは複数の内部システム通信バス194も有している。
【0063】
Bluetoothチップを一方とし、オペレーティング・システム、クライアント・モジュール、およびアプリケーションを他方とした交信は、チップによってチップと交信する装置に提供されるBluetooth APIに従う。様々な当事者によって作成され、装置112上で実行されるアプリケーション・プログラム16は、クライアント・モジュールを通じてチップ11を呼び出すことによって、広範囲の機能を実現することができる。クライアント・モジュール140は、装置112のオペレーティング・システム118と交信することによって、オペレーティング・システムから提供される通信機能、処理機能、およびユーザ交信機能を活用することができる。
【0064】
利用可能なサービスの追跡
クライアント・モジュール140は、ローカル装置112上で実行されるアプリケーションから得られるサービス、およびローカル装置112の近距離無線の距離圏内にある装置を含む、他の装置上で実行されるアプリケーションから得られるサービスのレジストリ141を維持する。
【0065】
サービスに関連するレジストリ内のエントリは、ローカルで利用可能なサービスについては、図3Aに示されているフォーマット、他の装置上で利用可能なサービスについては、図3Bに示されているフォーマットを有することができる。他のフォーマットを使用してもよい。
【0066】
装置上で実行されるアプリケーションによって利用可能にすることができる例示的なサービスには、WMLサーバまたはインスタント・メッセージ送信クライアントが含まれる。
【0067】
プラットフォームは、アプリケーションがサービスをレジストリ141内のリストに付加する(登録)かまたは該リストから削除する(登録解除)のに用いることのできる「サービスの追加(AddService)」機能および「サービスの削除(RemoveService)」機能(図4Eおよび4F参照)を提供する。
【0068】
クライアント・モジュールは、装置のユーザ(所有者)およびこの装置から利用できるサービスに関する情報を、ローカル装置の圏内のすべての装置への周期的なブロードキャスト・ピング(ping)によって作成する。このブロードキャスト機能によって、多数の装置が、他の装置から提供される一連のサービスを絶えず知ることができる。各装置は、広範囲のサービスをユーザのために活用し使用することができる。クライアント・モジュールは、アプリケーションによってレジストリ141に記憶された情報を用いて、サービスの説明およびこれらのサービスにアクセスする方法に関する指示を他の装置に与える。
【0069】
装置上で実行されるアプリケーションには、クライアント・モジュールから提供される機能とユーザの交信、およびこのような機能の制御を可能にするコア・サービス・アプリケーションを含めてよい。
【0070】
たとえば、あるサービス・アプリケーションは、装置のユーザがレジストリの内容を修正し、装置上で利用できるサービスに対する嗜好を指定するのを可能にすることができる。たとえば、ユーザは、特定のサービスについてメッセージが受信されたときに通知を受けるかどうかを選択することができる。
【0071】
リンクを通じて転送されるメッセージ
クライアント・モジュールは、近くの無線装置と通信するだけでなく、リンク・モジュール142を実行するリンク128(図1)を通じてインターネットまたはその他の公衆網にアクセスすることができる。ローカル・ネットワーク機能129およびインターネット148接続を有するあらゆる装置がリンクとして働くことができる。リンクは、移動装置であっても、固定装置であってもよい。
【0072】
図5に示されているように、いくつかの実現態様において、リンク128は、(Bluetooth標準に定義されている)ローカル・ネットワーク機能を提供するBluetoothチップ11、リンク・モジュール142のコピー、およびインターネット148とのダイヤルアップ接続や専用接続のような、インターネット・インタフェース15を通じたインターネット接続を有する装置を含んでいる。
【0073】
通信によっては、Bluetooth技術を用いてメッセージを送信する方法に代わる透過的な方法として、インターネット上で送信することができる。リンク128は、近距離無線の距離圏内のユーザが、たとえば、サーバ・モジュール144のコピーを実行するサーバ130に、インターネットを通じてデータを送信し、かつインターネットを通じてこのサーバからデータを受信するのを可能にする。赤外線のような他の技術もリンク129用のローカル・ネットワーク機能を提供することができる。
【0074】
クライアント・モジュールは、サービス・レジストリ18に記憶された情報に基づいて、装置の圏内にリンク128が存在するかどうかを追跡する。これは、リンクがその利用可能なサービスを前述のようにブロードキャストするからである。圏外の装置宛のメッセージは、装置がリンク128の圏内に入るまで、クライアント・モジュールによってキューに記憶される。
【0075】
一例では、クライアントのメッセージ・キューに記憶されたメッセージ(Kメッセージと呼ばれる)は、図3Cに示されているフォーマットを有する。装置がリンク128の圏内に入ると、メッセージがリンクを通じてサーバ130に送信される。サーバ23は次いで、目標装置133に近い他のリンク131(図3)にこのメッセージを送信することができる。目標装置内のレジストリは、装置上の特定のサービスによって検索されるメッセージ警告を記憶する。
【0076】
「メッセージ獲得(getMessages)」および「メッセージ獲得(getMessage)」機能(図4Bおよび4C参照)は、クライアント・モジュールから提供され、クライアント装置上で実行されるアプリケーションを、他の装置から送信されたメッセージの検索に用いるのを可能にする。記憶されたメッセージは、図3Cに示されているKメッセージ構造を用いてクライアントからアプリケーションに送信される。
【0077】
モジュールのコア・サービスは、リンクの近くに位置する装置のアドホック・ネットワークに相当するものを通じてインターネット接続を可能にするように、TCP/IP(Transport Control Protocol/Internet Protocol)をサポートする。リンク・モジュールがリンクの圏内の各装置にIPアドレスを割り当てるときにIPマスカレードが用いられ、それによって、各装置はTCP/IPを用いて通信することができる。
【0078】
サーバ
サーバ130上で実行されるサーバ・モジュール144は、世界のどこかにある装置のユーザが、受信側がどこに位置しているかも、受信側がどの装置を使用しているかも知らずに互いにメッセージを送信するのを可能にする。
【0079】
図6に示されているように、サーバ・システム130は、たとえば、クライアント・モジュール14が存在する装置12と他のクライアント・モジュール56が存在する他の装置54との間で、メッセージを記憶し転送するのを可能にするサービスをサーバ・アプリケーションに提供するグローバル・ルータ60として働く。
【0080】
一般に、所与のユーザは、複数の装置の所有者であってよく、これらの装置のうちのいくつか、またはすべてに一度にログオンすることができる。サーバ・モジュールは、互いに関連する装置を追跡するデータベース62を含んでいる。サーバ・モジュールは、HTTP(Hyper Text Transfer Protocol)およびWAPと、その他の技術をサポートしてメッセージを送受信することができる。
【0081】
ある実現態様において、サーバ・モジュールは、たとえばWindows(登録商標)システムや、Solarisシステムや、Linuxシステム上で実行できるJava(登録商標)コンピュータ言語で書かれたソフトウェアを含んでいる。サーバ・モジュールは、サービスのレジストリ66内のユーザの各装置によって利用可能にされるサービスについての情報を記憶することもでき、したがって、他の装置はサービスを見つけてそれにアクセスすることができる。各装置が、他の装置のユーザのマッピングの配列およびこれらの装置上で利用できるサービスをサーバ・モジュールから得るのを可能にする(図4Dに示されている)「周囲のサービスの獲得(getSurrounding Services)」機能が、クライアント・モジュールによって、装置上で実行されるアプリケーションに提供される。
【0082】
個人化
サーバ・モジュールは、個人化システム132にインタフェース・サービスを提供し、インターネット148のような他の技術にゲートウェイ・サービス173を提供する。たとえば、一般化マークアップ言語(Generalized Markup Language)を用いるウェブ・サーバ58は、インターネット接続を持つ任意の移動装置にメッセージを配信するのを可能にする。さらに、任意のクライアント装置は、インターネットを通じてサーバからのリソースおよび情報にアクセスすることができる。
【0083】
ユーザは、サーバにログオンし、たとえば、個人化システム26にアクセスしたり、個人化された情報を入力または編集することができる。
【0084】
クライアント・モジュール14を備えたサービス・アプリケーション115(図1)の1つは、ユーザが、個人化システムによって記憶された個人情報および嗜好を修正するのを可能にする。そのために(図4Gに示されている)「個人化データの変更(changepersonalizationdata)」機能を使用することができる。ユーザは、個人化システムに記憶されており、このユーザに関連する様々なデータへの他のユーザによるアクセスを許可または拒否するインジケータを設定することもできる。
【0085】
たとえば、個人化システムに記憶されたユーザ情報を、(図4Iに示されている)「個人化許可の変更(Changepersonalizationpermissions)」機能を用いて共用または公開として指定することができる。
【0086】
あるユーザの装置上で実行されるサービス・アプリケーションの1つは、(図4Hに示されている)「個人化データの獲得(Getpersonalizationdata)」機能を用いて個人化システムから他のユーザのプロファイルにアクセスすることができる。特定のユーザが他のユーザのプロファイルにアクセスする許可を有さない場合、アクセスは拒否される。ユーザがサーバにログオンすると、個人化システムからのすべての関連するデータがリンクを通じて動的にロードされる。したがって、クライアント装置に記憶されたユーザ情報は、個人化システムに記憶されたデータと同期するように定期的に更新することができる。
【0087】
管理者がユーザ用の環境設定を手動で変更するのを可能にするように、サーバに管理グラフィカル・ユーザ・インタフェース(GUI)が関連付けられている。管理GUIは、管理者が、サーバによって使用されるリソースに対する負荷を分析し、サーバを試験およびデバッグし、かつ個人化システムに記憶されたユーザ情報へのアクセスをユーザが許可している場合には、そのようなアクセスを行うのを可能にする。
【0088】
保証された配信
一般に、クライアント・モジュールは、ある装置から他の装置へのメッセージの配信を保証する責任を負うサービスを提供する。クライアント・モジュールは、アプリケーションからメッセージを受信した後、各データ送信ごとの固有の識別番号を含む確認を返す。メッセージが配信されたことをクライアント・モジュールが保証できない場合、メッセージのテキストが、このテキストが配信不能であることを示すメッセージと共に送信側に返される。データを処理するのに必要なアプリケーションを有さない装置によって、データを含むメッセージが受信された場合、このメッセージは送信側に返される。一方、必要なアプリケーションが受信側の装置のレジストリにリストされているが、受信側の装置が現在このアプリケーションを実行していない場合、クライアント・モジュールはメッセージを記憶し、メッセージが受信されたことをユーザに通知する。
【0089】
リンクを通じてサーバから特定のユーザにメッセージが送信されると、このメッセージは、ユーザが「所有」しており、かつユーザがログオンしているすべての装置に送信される。ユーザが自分のどの装置にもログオンしていない場合、サーバ・モジュールは、メッセージをメールボックス・データベース64に記憶する。ユーザがその後ログオンすると、ユーザにメッセージが通知される。したがって、特定の装置にメッセージが送信されるとき、メッセージの送信側は、受信側がどの装置に最も近いかも、受信側がどの装置でメッセージを受信するのを望んでいるかも判定する必要がない。サーバは、メッセージを適切な装置に透過的にルーティングする。クライアント・モジュールに暗号化技術が組み込まれているので、ユーザは、個人化システムに記憶され、かつクライアント装置上に記憶された個人化モジュール143(図2参照)に記憶されたグローバル・キーを用いて通信に自動的にデジタル署名を施す。
【0090】
図7に示されているように、クライアント・モジュールは、Bluetoothチップ32、携帯電話通信を可能にする無線モデム34、赤外線ポート36、またはその他の通信チャネル38を含む通信媒体とのインタフェースを提供する転送モジュール30を含んでいる。
【0091】
転送モジュール30は、装置が利用できる各通信媒体のソケットまたはそれと同等な層を参照し、通信媒体を管理する。転送モジュール30は、受信されたメッセージを確認マネージャ40に転送し、利用可能な通信媒体に関する情報を通信マネージャに与える。転送モジュール30には、確認マネージャ40から、特定の通信媒体上でメッセージを送信するよう要求することができる。
【0092】
確認マネージャ40は、クライアント・モジュールの、メッセージの配信を保証する責任を負う部分である。確認マネージャ40は、発信メッセージのキューと、確認を待っているメッセージのキューを維持する。確認マネージャ40は、送信されたメッセージを追跡し、受信した確認を最初の発信メッセージと適合させる。指定された期間内に確認が受信されない場合、メッセージは再送信される。
【0093】
確認マネージャ40には、通信マネージャ42から、メッセージを送信するよう要求することができ、通信マネージャ40は、メッセージが配信不能である場合に通信マネージャに通知する。なぜメッセージが配信不能であるかを説明するメッセージに、通信マネージャ42への通知を付随させることができる。
【0094】
通信マネージャ42は、装置の通信圏内に他の装置が入ったか、または装置の通信圏から他の装置が出たかを検査し、メッセージの送信をサービス・アプリケーション16が要求したときに、どの通信媒体を使用すべきかを決定する。メッセージは、暗号化、およびデジタル署名の受領のためにセキュリティ・モジュール46に送信することができる。
【0095】
通信マネージャ42は、確認マネージャ40から、受信されたメッセージの通知を受け、受信されたメッセージを、デジタル署名の認証のためにセキュリティ・モジュール46に転送する。ユーザ名およびセキュリティ情報は、個人化モジュール48を通じて個人化システムから受信される。通信マネージャ42は、ローカル・レジストリ18内の設定に基づいて、受信されたメッセージをアプリケーション・マネージャ44を通じてサービス・アプリケーション16に通知する。サービス・アプリケーション16は次いで、アプリケーション・マネージャ44を通じてメッセージ・キュー内のメッセージを検索することができる。
【0096】
通信マネージャ42はまた、レジストリ要求メッセージを受信して処理し、ローカル・サービス・アプリケーション設定をレジストリ18からブロードキャストし検索する。さらに、通信マネージャは、サーバ・メッセージおよびレジストリ・ブロードキャストに基づいてレジストリ18内の他の装置に関する情報を更新する。
【0097】
アプリケーション・マネージャ44は、サーバ・アプリケーションと、クライアントの通信マネージャ42、レジストリ18、および個人化モジュール48との間のインタフェースを提供する。アプリケーション・マネージャ44は、レジストリ18に記憶されたローカル・サービス・アプリケーション設定を検索または修正することができる。アプリケーション・マネージャ44は、レジストリにおける装置12の圏内の他の装置のリスト、およびこれらのユーザの装置上で利用できるサービスに関する情報にアクセスするか、またはこれらを修正することもできる。アプリケーション・マネージャ44は、通信マネージャ42を通じてメッセージを送受信することもできる。個人化システム132に記憶された情報に対して、個人化モジュール48を通じてアクセスまたは修正を行うことができる(許可が得られていると仮定する)。
【0098】
個人化モジュール48は、個人化システム132とのインタフェースとして働き、個人化システムに記憶されたユーザの情報、ユーザの嗜好、およびユーザの許可にアクセスできようにする。個人化モジュール48は、情報を取り込み、情報を個人化システム132と同期させることができる。個人化モジュール48は、個人化システム132に記憶された情報に、情報を要求している実体に対して透過的にアクセスすることができる。個人化モジュール48は、メッセージ・ヘッダ用のユーザ名を与え、かつ通信マネージャ42を通じてセキュリティ・モジュール46に公開暗号鍵または専用暗号鍵を与える。
【0099】
セキュリティ・モジュール46は、装置12と他の装置との間で安全な通信を行う責任を負い、暗号アルゴリズムを実行する。セキュリティ・モジュール46は、通信マネージャ42からセキュリティ情報を得る。セキュリティ・マネージャ46は、メッセージを暗号化し復号し、発信メッセージにデジタル署名を施し、着信メッセージのデジタル署名を検証する。
【0100】
アプリケーションにおける「メッセージの送信(sendMessage)」命令(図4A参照)は、メッセージをチップの機能によって他の無線装置に送信するのを可能にするクライアント・モジュール・ルーチンを呼び出すことができる。
【0101】
メッセージ通信および暗号化
図8Aおよび8Bは、サービス・アプリケーション16によって開始されたメッセージを装置12からどのように送信できるかを示している。特定のサービス・アプリケーション16は、メッセージを目的の受信側の識別情報と共にアプリケーション・マネージャ44に転送する(1100)。この例では、アプリケーション・サービスが、メッセージの送信を安全にかつ確実に行うことを要求すると仮定する。アプリケーション・マネージャ44は、メッセージおよび受信側の識別情報を通信マネージャ42に転送し(1102)、メッセージを安全にかつ確実に送信することを要求する。通信マネージャ40は、メッセージおよびセキュリティ情報をセキュリティ・モジュール46に転送する(1104)。セキュリティ・モジュール46は、メッセージに対して暗号アルゴリズムを実行し、暗号化されたメッセージを通信マネージャ42に返す(1106)。通信マネージャ42は次いで、暗号化されたメッセージを確認マネージャ40に転送し(1108)、通信チャネルを指定する。
【0102】
確認マネージャ40は、メッセージ識別番号を生成し(1110)、それをメッセージ・ヘッダに添付する。確認マネージャ40は、暗号化されたメッセージを確認マネージャ40の非確認メッセージ・キューに付加する(1112)。確認マネージャ40は、暗号化されたメッセージおよび指定されたチャネルの識別情報を転送モジュール30に転送する(1114)。転送モジュール30は次いで、暗号化されたメッセージを、指定された通信チャネル上で送信する(1116)。通信マネージャ40は、指定されたタイム・フレーム内に確認を受信しなかった場合、メッセージを再送する。
【0103】
受信側装置内の転送モジュールは、暗号化されたメッセージを受信し(1118)、それを受信側装置の確認マネージャに転送する。受信側装置内の確認マネージャは、メッセージを通信マネージャに転送する(1120)。さらに、受信側装置内の確認マネージャは、その受信メッセージ・リストにメッセージ識別番号を付加し、受信側装置内の転送モジュールに転送される確認メッセージを生成する(1122)。転送モジュールは、最初のメッセージが到着したのと同じ通信チャネル上で確認メッセージを送信する(1124)。送信側装置12内の転送モジュール30は、確認メッセージを受信し、それを確認マネージャ40に転送する(1126)。確認マネージャ40は次いで、確認を待っているメッセージのキューから最初のメッセージを削除する(1128)。
【0104】
受信側装置内の通信マネージャは、暗号化されたメッセージを受信した後、ヘッダを削除し(1130)、暗号化されたデジタル署名付きのメッセージをセキュリティ・モジュールに転送する(1132)。セキュリティ・モジュールは、送信側の識別情報によって通信マネージャに応答する(1134)。受信側装置内の通信マネージャは次いで、受信側装置のレジストリ内の設定に従って、復号されたメッセージを通信マネージャのメッセージ・キューに付加し(1136)、ユーザおよびサービス・アプリケーションに通知する(1138)。
【0105】
サービス・アプリケーションは、復号されたメッセージを受信するために、受信側装置内のアプリケーション・マネージャを通じて通信マネージャにメッセージを要求する(1140)。通信マネージャは、目的のアプリケーションを示すマークが施された次のメッセージをメッセージ・キューからサービス・アプリケーションに転送する(1142)。通信マネージャは次いで、そのメッセージ・キューからこのメッセージを削除する(1144)。
【0106】
サービス・アプリケーション16は、メッセージを送受信するだけでなく、アプリケーション・マネージャ44を通じて個人化モジュールのAPIの機能を呼び出すことによって、個人化システム132に記憶されたデータおよび許可を検索または修正することができる。さらに、サービス・アプリケーション16は、アプリケーション・マネージャ44を通じてレジストリのAPIの機能を呼び出すことによって、装置の圏内のユーザおよび装置に関する情報を見ることができる。同様に、サービス・アプリケーション16は、アプリケーション・マネージャ44を通じてレジストリのAPIの機能を呼び出すことによって、ローカル装置12上のサービス・アプリケーション設定を検索または修正することができる。
【0107】
使用法
図9に示されているように、上述のシステムの一使用法では、一定の位置にある衣料品店70が潜在的な顧客に電子クーポンを与える。Bluetoothチップ15を有する装置17は店舗70内に取り付けられている。移動装置を保持するユーザがチップ15の圏内に入った場合、装置17はこの情報を検出し、装置17のクライアントのサービス・レジストリに記憶する。装置17は、個人化システム132からユーザに関する情報74を得る。このような情報74には、たとえば、ユーザの衣服のサイズや衣服の購入暦を含めてよい。このような情報へのアクセスは、ユーザの許可を得ることによって行われる。
【0108】
装置17は、Bluetoothリンクを通じて直接送信されるか、またはローカル・エリア・ネットワーク(LAN)を通じて間接的に送信される、1つまたは複数のメッセージにクーポンを組み込むことによって、ユーザの装置12に1つまたは複数の電子クーポンを送信する。クーポンを含むメッセージは、個人化システムから得られた情報に基づいてユーザが特に関心のある販売および品目をユーザに知らせることができる。電子クーポンは、LAN上で装置17と直接通信することによって提出し、店舗70から品目を購入するために用いることができる。
【0109】
ユーザが、自分の装置12にクーポンが送信されるのを待つ必要はない。たとえば、ユーザが店舗70の圏内に入った後、ユーザの装置12上に存在するクライアント・モジュールに関連するレジストリは、店舗70の識別符号を記憶する。ユーザは、店舗70から与えられる様々なクーポンを、装置12を用いて見ることができる。
【0110】
他のアプリケーションは、ユーザの嗜好を利用可能な店舗在庫に一致させるショッピング・アシスタントとして働くサービスを提供することができる。ある例では、ユーザは、商店街やショッピング・モールのような指定された領域内の店舗から特定の製品に関する情報を入手することを望んでいる。店舗は、その製品在庫に関して個人化システムに記憶された情報を更新する。ユーザは、特定の製品の様々なモデル、サイズ、費用が、指定された領域内の店舗で得られるかどうかに関する情報を、装置12を用いて個人化システムに要求する。次いで、入手可能な製品のリストおよび関連情報がユーザの装置に与えられる。後述のように使用できる識別符号を各店舗に関連付けることができる。
【0111】
ユーザは、個人化システムから得られた情報を検討した後、たとえばリストされた店舗による販売促進活動またはクーポンに関する追加の情報を個人化システムから得ることができる。ユーザは、特定の店舗を選択した後、店舗識別符号を装置12に入力し、選択された店舗のリンクに、たとえばインターネット22上でアクセスすることができる。ユーザの装置12が店舗のBluetooth対応装置の圏内に入ると、2つの装置は互いに認識する。次いで、直接またはローカル・ネットワーク上で通信が行われる。ユーザは、装置12を用いて店舗から品目を購入することができる。店舗の店員は、購入された品目を収集し、品目をまとめる準備が完了したときにユーザにメッセージを送信する。
【0112】
図10に示されているように、他のアプリケーションは、ユーザが、たとえばレストラン76で注文し、並んで待つ必要なく支払いを行うのを可能にする。ユーザは、テーブルに座った状態で、またはレストランの近くを歩きながら注文および支払いを行う。ユーザがレストラン76に到着すると、レストランのBluetooth対応装置17は、ユーザの装置の存在を認識し、個人化システムからユーザの個人情報を検索する。個人情報には、顧客の食事の嗜好またはレストラン76における顧客の通常の注文を含めてよい。レストランの装置17は、たとえば、顧客が通常の注文を望んでいるかどうかを尋ねるメッセージを顧客の装置に送信する。顧客は、装置を用いて注文および支払いを行うことができる。顧客は、個人化システムにアクセスしてレストラン76に関する情報を得ることもできる。レストランの情報80には、たとえばメニューや、おすすめ品のリストや、利用可能なクーポンを含めてよい。このような情報も、レストランのローカル・エリア・ネットワークを用いてレストランから直接得ることができる。
【0113】
レストランの装置17によって個人化システムから検索されるユーザの嗜好に関する情報には、識別された顧客に対する様々な商業実体間の取引きを容易にすることのできる情報を含めてよい。たとえば、ユーザがレストランの近くを通過すると、レストランのBluetooth対応装置17は、ユーザの装置の存在を認識し、個人化システムからユーザの個人情報78を検索する。個人情報78は、ユーザが映画好きであることを示す情報であってよい。レストランの装置は、同様にBluetooth対応装置79を所有する地元の映画館77と情報を交換し、地元の映画館77はユーザの装置上に電子映画割引を示す。
【0114】
他のアプリケーションは旅行を容易にすることができる。たとえば、ユーザが飛行機旅行を行う予定があると仮定する。図11に示されているように、空港82に到着すると、Bluetooth対応装置17は、ユーザの装置の存在を検出する。空港の装置17は、個人化システムからユーザの予定されたフライト番号および出発時間を得る。装置は次いで、ユーザの旅程に合うフライト、空港、および地上交通情報をユーザの装置に送信する。電車やバスのような他の移動手段に関して同様のアプリケーションを使用することができる。
【0115】
他のアプリケーションをパーキング・メータと共に用いて、Bluetooth対応装置を用いた支払いを容易にすることができる。ある例では、ユーザは前払いの時間単位を購入する。図12に示されているように、装置を所有するユーザがパーキング・メータ86の近くに駐車すると、パーキング・メータ内のBluetooth対応装置17がユーザの装置12の存在を検知する。装置17は、個人化システム26にアクセスすることによってユーザの口座識別番号88を検査し、ユーザがその位置に何時間駐車する予定であるかを示すことを要求するメッセージをユーザの装置に送信する。ユーザ10が応答すると、ユーザの口座から自動的に支払いを差し引くことができる。アプリケーション・プログラムは、どのくらいの時間が残っているかをメータ86上に絶えず示すことができ、ユーザが離れた位置からメータに時間を追加するのを可能にすることができる。
【0116】
無線クレジット・カード・アプリケーション・プログラムは、ユーザが装置を用いて商人90から商品を購入するのを可能にすることができる。たとえば、図13に示されているように、商人のBluetooth対応装置17はユーザの装置の存在を感知し、許可が得られた場合、ユーザの名前、口座番号、および口座満了日を含むユーザのクレジット・カード情報92を個人化システム26から得る。
【0117】
さらに、アプリケーション・プログラムは、ユーザによって設定された個人の予算を記憶することができる。ユーザが自分の予算を超えた場合、個人の予算を超えたことを示すメッセージが装置に送信される。
【0118】
パーキング・メータ、街路灯、およびその他の位置に戦略的に配置されたBluetooth対応装置のネットワークは、ユーザの装置がグローバル・ポジショニング・チップを保持する必要なしに、その厳密な位置を知るのを可能にする仮想グローバル・ポジショニング・システム(GPS)を提供することができる。図14に示されているように、いくつかのBluetooth対応装置200は、Bluetoothチップ204、ならびに装置が衛星202からグローバル・ポジショニング情報を受信することによって装置のGPS位置を判定するのを可能にするグローバル・ポジショニング・チップ206を保持する。各装置200は、そのグローバル・ポジショニング位置を定期的にブロードキャストする。1つの装置100の圏内にある他のBluetooth対応装置は、ブロードキャストを受信し、それによってBluetooth対応装置自体の位置を判定することができる。費用のかかるGPSチップを装置14上に設ける必要なしに、ユーザの位置を識別する電子マップのような、位置を基にした様々なアプリケーション16を実現することができる。
【0119】
クライアント14上で実行することのできる他のアプリケーション・プログラムは、ユーザが、他の当事者によって検索し読み取ることのできる情報を示すのを可能にする。情報をローカル装置またはサーバ上に記憶することによって、仮想情報ボードを実現することができる。たとえば、レストランは、このようなアプリケーションを用いて毎日のおすすめ品を示し、メニューのコストを減らすことができる。
【0120】
公衆情報ブースは、博物館、史跡、彫像、および特定の地理的位置内の他の関心対象の場所に関する情報を与えるBluetooth対応装置を有することができる。ユーザの装置上に存在するクライアント上でアプリケーションを実行することができる。装置同士はBluetoothプロトコルに従って交信し、かつ装置はその地域の簡単な歴史または概要をユーザに装置に送出する。アプリケーションはさらに、ユーザがその地域内の様々な場所のリストおよび概要を見るのを可能にする。ユーザが、ユーザの関心に基づいてその地域の特定の局面に関する情報のみを受信するように、自己案内ツアーを調整することができる。
【0121】
他のアプリケーションは無線識別ツールとして働くことができる。このツールは、ユーザが病院または他の官公庁内を移動するのを容易にすることができる。たとえば、病院では、ユーザは書面を完成する必要なく処方箋に署名するか、または処方箋を得ることができる。このアプリケーションは適切な情報を提供することができる。
【0122】
他のアプリケーション・プログラムは、ある位置から他の位置へ自由に移ることができる個人などの実体に関連する他の装置との通信を提供することができる。例示的なアプリケーション・プログラムには、インスタント・メッセージング、友人リスト(buddy lists)、および個人連絡カードが含まれる。
【0123】
たとえばインスタント・メッセージングでは、各装置が互いのローカル圏内に位置しているかどうかにかかわらず、Bluetooth対応装置間でメッセージを転送することができる。当事者の位置は、特定のメッセージを送信するためにどの通信手段を用いるかに影響を与える。しかし、着信メッセージが受信側の装置に対して調整されるので、メッセージの送信側が通信手段または装置の互換性の問題を気にする必要はない。たとえば、目的の受信側がインスタント・メッセージングを許容しないように自分の許可を設定しているため、または受信側装置が適切なソフトウェアを有していないために、インスタント・メッセージがその送り先に到達できない場合、送信側は、メッセージを配信できない旨の通知を受けることができる。
【0124】
装置上で実行できる他のアプリケーションは、友人リストの使用を容易にする。したがって、装置のユーザは、友人(buddy)が、ローカル・エリア・ネットワークに入るかまたはローカル・エリア・ネットワークから出たときに自動的に通知を受けることができる。ユーザは友人リストに人を追加するかまたは友人リスト上の人を削除することができる。さらなるプライバシーのために、ユーザは、ユーザが特定のネットワークに入るか、またはこのネットワークから出たことを友人リスト上の他の人に知らせないようにするオプションを、アプリケーションにおいて選択することができる。情報および通信アクセス許可を指定するリストを個人化システムに記憶することができる。このリストは、複数のアプリケーションにわたって使用することができ、個人化システムを通じて動的に更新することができる。友人リストの異なる構成員は異なる許可を有することができる。
【0125】
他のアプリケーション・プログラムは、ユーザが装置から仮想ビジネス・カードを送信するのを可能にする。状況によっては、電子ビジネス・カードは実際のビジネス・カードの画像イメージを含んでよい。
【0126】
その他の実現態様は特許請求の範囲内である。
【特許請求の範囲】
【請求項1】
移動装置上でクライアント・モジュールを実行する段階、
通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階、および
移動装置との通信チャネルを有し、通信網を通じてサーバにアクセスすることのできるリンク装置上でリンク・モジュールを実行する段階を含み、
クライアント、サーバ、およびリンク・モジュールは、移動装置、サーバ、およびリンク装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供する方法。
【請求項2】
移動装置のユーザがコア・サービスを管理するのを可能にするように、クライアント・モジュール上でサービス・アプリケーションも実行される、請求項1記載の方法。
【請求項3】
コア・サービスには、移動装置内の近距離無線トランシーバとの交信も含まれる、請求項1記載の方法。
【請求項4】
移動装置上で移動装置オペレーティング・システムも実行され、クライアント・モジュールはオペレーティング・システムのサービスを使用する、請求項1記載の方法。
【請求項5】
移動装置はパーソナル・デジタル・アシスタントまたは携帯電話を含む、請求項1記載の方法。
【請求項6】
コア・サービスには、実世界サービスに関する情報のブロードキャスト、移動装置内の無線トランシーバとの交信、保証されたメッセージ配信、および暗号化のうち少なくとも1つが含まれる、請求項1記載の方法。
【請求項7】
装置上で実行されるように設定されたクライアント・モジュールを含む移動装置、
通信網を通じてアクセスできるように設定されたサーバ・モジュールを含むサーバ、および
移動装置との通信チャネルを使用し、通信網を通じてサーバにアクセスするよう設定されたリンク・モジュールを含むリンク装置を含み、
クライアント、サーバ、およびリンク・モジュールは、移動装置、サーバ、およびリンク装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じて、コア・サービスを提供するように設定されている装置。
【請求項8】
移動装置は近距離無線トランシーバを含む、請求項7記載の装置。
【請求項9】
移動装置はパーソナル・デジタル・アシスタントまたは携帯電話を含む、請求項7記載の装置。
【請求項10】
少なくともいくつかのアプリケーションが、個人または企業によって提供される実世界サービスに関連し、装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供するクライアント・モジュールを無線装置上で実行する段階、
各実世界サービスとサービスを提供するための装置のうちの少なくとも1つとの関係を識別する情報を維持する段階を含み、
コア・サービスにより、実世界サービスと装置との関係を識別する情報を装置間で共用できる方法。
【請求項11】
各装置を通じて得られるサービスに関する情報は、コア・サービスによって他の装置にブロードキャストされる、請求項10記載の方法。
【請求項12】
装置に関連する実世界サービスは、コア・サービスによって登録される、請求項10記載の方法。
【請求項13】
実世界サービスには、通信サービス、計算サービス、商業サービス、または行政サービスのうちの少なくとも1つが含まれる、請求項10記載の方法。
【請求項14】
装置上で実行されるアプリケーションを通じて、装置のユーザから得られる実世界サービスのリストを無線装置内に維持する段階、および
無線通信チャネルを通じて、利用可能な実世界サービスを示す情報を装置からブロードキャストする段階を含む方法。
【請求項15】
情報は周期的にブロードキャストされる、請求項14記載の方法。
【請求項16】
ブロードキャスト情報を受信する他の無線装置が、利用可能な実世界サービスの1つにアクセスする、請求項14記載の方法。
【請求項17】
装置上で実行されるアプリケーションを通じて装置のユーザから得られる実世界サービスのリストを含む無線装置、
利用可能な実世界サービスに関する情報を無線装置から無線通信チャネル上でブロードキャストするように、無線装置を設定するプログラムを記憶する媒体を含む装置。
【請求項18】
識別されたユーザに関連する移動装置上でクライアント・モジュールを実行する段階、
通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階、
移動装置との通信リンクを有し、通信網を通じてサーバにアクセスすることのできるリンク装置上でリンク・モジュールを実行する段階、
クライアント・モジュールが移動装置上で実行するアプリケーションに、アプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供する段階、
装置上で実行されるアプリケーションの1つを通じて、移動装置の1つのユーザから、移動装置上の他の1つで実行されるアプリケーションの他のユーザに向けられるメッセージを受信する段階、および
メッセージをインターネットを通じて他のユーザに配信する段階を含む方法。
【請求項19】
メッセージはリンクおよびサーバを通じて送信される、請求項18記載の方法。
【請求項20】
メッセージ送信元の装置上で実行されるクライアント・モジュールは、目標移動装置が近距離無線圏内にあるかどうかを判定し、そうでない場合、クライアント・モジュールはリンク・モジュールの1つにメッセージを転送する、請求項18記載の方法。
【請求項21】
リンク・モジュールはメッセージをインターネットを通じてサーバに転送する、請求項20記載の方法。
【請求項22】
サーバ・モジュールは、目標移動装置の位置を判定し、メッセージを他のユーザに転送するための通信チャネルを識別する、請求項21記載の方法。
【請求項23】
近距離無線装置のリストを第1の近距離無線装置の圏内に維持する段階、
第1の装置の識別されたユーザからのメッセージを、通信媒体上で第2の無線装置の第2の識別されたユーザに送信する段階を含み、
通信媒体は、少なくとも部分的に、第2の装置がリストに含まれているかどうかに基づいて選択され、この選択は第1の装置のユーザに透過的である方法。
【請求項24】
第2の装置がリストに含まれている場合、メッセージは近距離無線通信リンク上で第2の装置に送信され、第2の装置がリストに含まれていない場合、メッセージは、他の通信媒体を用いて第2の装置に送信される、請求項23記載の方法。
【請求項25】
第2の装置がリストに含まれていない場合、メッセージはインターネットまたは携帯電話によって第2の装置に送信される、請求項23記載の方法。
【請求項26】
近距離無線装置の識別されたユーザからのメッセージを、他の装置の識別されたユーザに送信する段階、および
送信されたメッセージが他の装置の識別されたユーザによって受信されたかどうかを、第1の装置の識別されたユーザに対して自動的に確認する段階を含む方法。
【請求項27】
送信されたメッセージに関する情報を送信後に第1の装置に記憶する段階、および
受信した確認と装置に記憶されている送信されたメッセージが一致するかどうかを検査する段階を含む、請求項26記載の方法。
【請求項28】
送信されたメッセージに対する確認が指定された期間内に受信されない場合に、送信されたメッセージを再送信する段階を含む、請求項27記載の方法。
【請求項29】
送信されたメッセージが配信不能である場合に、第1の装置内の通信マネージャに通知する段階を含む、請求項27記載の方法。
【請求項30】
通知段階は、送信されたメッセージがなぜ配信不能であるかの説明を行う段階を含む、請求項29記載の方法。
【請求項31】
送信されたメッセージが他の装置の識別されたユーザによって受信されたことが確認された後に、送信されたメッセージを装置から削除する段階をさらに含む、請求項29記載の方法。
【請求項32】
メッセージ送信元の装置は、配信を保証する責任を負う、請求項27記載の方法。
【請求項33】
それぞれの所有実体に関連する装置上でアプリケーションを実行する段階、
開始所有実体に関連する装置上の1つで実行されるアプリケーションの1つを用いて、開始所有実体から目標所有実体にメッセージを送信する段階、
装置の1つを、目標所有実体に関連し、通信リンクによってアクセスできる装置として識別する段階、および
通信リンクを通じて目標所有実体に関連する装置にメッセージを転送する段階を含み、
各装置は、装置の所有実体に関連する公開鍵を用いてメッセージを暗号化および復号する、クライアント・モジュールを実行する方法。
【請求項34】
公開鍵は、装置、およびメッセージが通過するサーバに記憶される、請求項33
記載の方法。
【請求項35】
装置は移動装置を含む、請求項33記載の方法。
【請求項36】
所有実体は人を含む、請求項35記載の方法。
【請求項37】
所有実体は企業を含み、装置は固定装置を含む、請求項33記載の方法。
【請求項38】
サーバにおいて、実世界実体を識別し、実世界実体による分散装置を通じた交信モードを定義する情報を記憶する段階であって、各実世界が、他の実世界実体にサービスを提供し、他の実世界実体のサービスを使用する段階、
任意の1つまたは複数の分散装置を用いる任意の実世界実体がサーバにログインするのを可能にする段階、
記憶された情報の一部をサーバから使用中の装置にロードする段階、および
記憶された情報に基づいて、装置を用いる実世界実体と他の実世界実体との、他の実世界実体のサービスの使用を含む交信を調整する段階を含む方法。
【請求項39】
装置上でクライアント・モジュールを実行する段階、
通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階を含み、
クライアント・モジュールおよびサーバ・モジュールは、装置上で実行されるアプリケーションへ、アプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供し、
コア・サービスは、サーバ上に記憶される、実世界実体に関係する情報へのアクセスをさらに含む、請求項38記載の方法。
【請求項40】
記憶された情報には、識別情報、人口統計情報、および嗜好情報のうちの少なくとも1つが含まれる、請求項39記載の方法。
【請求項41】
近距離無線通信機能を有するいくつかの異なる移動装置の各々に、装置のユーザである人を関連付ける段階、
装置とユーザーの関連性に関する情報および各ユーザに関する情報を、公的にアクセスできるサーバに記憶する段階、ならびに
サーバに記憶された装置のユーザに関する情報に応じたサービスを、各移動装置で提供する段階を含む方法。
【請求項42】
ユーザに関する情報は、機能を提供する際に使用できるようにサーバから装置に通信される、請求項41記載の方法。
【請求項43】
ユーザに関する情報には、人口統計情報、識別情報、嗜好情報、または位置情報のうちの少なくとも1つが含まれる、請求項41記載の方法。
【請求項44】
ユーザに関する情報の少なくとも一部は、ユーザに関連する移動装置上に記憶される、請求項41記載の方法。
【請求項45】
近距離無線装置を所有する実体が、特定の地理領域内にあることを自動的に認識する段階、
一般にアクセスできるデータベースから実体に関する情報を得る段階、および
データベースから得られるデータに応じて装置に送信される情報を、近距離無線装置に送信する段階を含む方法。
【請求項46】
一般にアクセスできるデータベース内の実体に関するデータへのアクセスは、実体の許可を条件とする、請求項45記載の方法。
【請求項47】
実体は、一般にアクセスできるデータベース内の実体自身のデータに対して、無線装置を用いてアクセスおよび修正を行うことができる、請求項45記載の方法。
【請求項48】
第2の近距離無線装置は、実体が特定の地理領域内にあることを認識し、データを得て、情報を送信する、請求項45記載の方法。
【請求項49】
第1の装置に送信される情報は、第2の装置に関連する実体との取引きを促進する販売促進材料を含む、請求項47記載の方法。
【請求項50】
実体は、一般にアクセスできるデータベースから、第1の装置を用いて、第2の装置に関連する実体に関する情報を得る、請求項47記載の方法。
【請求項51】
実体が特定の地理領域内にあることの認識は、実体にマップされた識別符号を含む、第1の装置からのメッセージの受信に基づいて行われる、請求項47記載の方法。
【請求項52】
近距離無線通信機能を有する装置のユーザである実世界実体に関する情報を、公的にアクセスできる位置に電子的に記憶する段階、
任意の装置のユーザ間で保証されたメッセージ通信を行い、電子的に記憶された情報に基づいて装置のユーザ間の商業的な取引を可能にするように協同する装置上のクライアント・モジュールおよびサーバ・モジュールを、公的にアクセスできる位置で提供する段階を含む方法。
【請求項53】
2つの無線装置の一方は固定されており、2つの無線装置の一方は可搬式である、請求項52記載の方法。
【請求項54】
装置の1つのユーザは商業実体を含む、請求項52記載の方法。
【請求項55】
装置の1つのユーザは消費者を含む、請求項52記載の方法。
【請求項56】
取引きは、販売情報を2つの装置の一方から他方へ配信することを含む、請求項52記載の方法。
【請求項57】
取引きは、2つの装置の一方が、2つの装置の他方によって提供されるサービスを使用することを含む、請求項52記載の方法。
【請求項58】
取引きは電子メッセージ通信を含む、請求項52記載の方法。
【請求項59】
取引きは、2つの装置が互いに圏外にあるときに行われる、請求項52記載の方法。
【請求項60】
記憶された情報に対するアクセスは、この情報が関係するユーザの制御下で行われる、請求項52記載の方法。
【請求項61】
記憶された情報はユーザの位置を含む、請求項52記載の方法。
【請求項62】
記憶された情報は、消費者の消費上の嗜好を含む、請求項52記載の方法。
【請求項63】
各ユーザは、複数の装置に関連する、請求項52記載の方法。
【請求項64】
取引きは、2つの装置の圏外に位置するサーバを通じて2人のユーザ間で行われる、請求項52記載の方法。
【請求項65】
2つの装置は互いに圏内にあり、取引きは2つの装置を保持する2人のユーザ間で行われる、請求項52記載の方法。
【請求項66】
取引きは、電子ビジネス・カードを装置の1つから装置の他の1つへ送信する段階、および他方の装置上にカードを表示する段階を含む、請求項52記載の方法。
【請求項67】
取引きは、2つの装置のうちの少なくとも一方を通じて一方のユーザから他方のユーザへ、インターネット、携帯電話、および近距離無線通信からユーザに意識されることなく選択される、通信モードを含むルートによって通信される電子メッセージを含む、請求項52記載の方法。
【請求項68】
第1の装置において、GPS発信源から受信した信号に基づいて第2の装置の実際の地理的位置を識別する情報を、近距離無線通信チャネルを通じて第2の装置から受信する段階、
第2の装置から受信した情報に基づいて、第1の装置に記憶された、得られた地理的位置を更新する段階を含む方法。
【請求項69】
得られた地理的位置は、第2の装置の実際の地理的位置と同じになるように更新される、請求項68記載の方法。
【請求項70】
第1の装置は、複数の他の装置の実際のGPS地理的位置を表す情報を、これらの他の装置から長期的に受信し、かつ
得られた地理的位置は、これらの他の装置から長期的に受信された情報に基づいて時折更新される、請求項68記載の方法。
【請求項71】
第1の装置は可搬式であり、第2の装置は固定されている、請求項68記載の方法。
【請求項1】
移動装置上でクライアント・モジュールを実行する段階、
通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階、および
移動装置との通信チャネルを有し、通信網を通じてサーバにアクセスすることのできるリンク装置上でリンク・モジュールを実行する段階を含み、
クライアント、サーバ、およびリンク・モジュールは、移動装置、サーバ、およびリンク装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供する方法。
【請求項2】
移動装置のユーザがコア・サービスを管理するのを可能にするように、クライアント・モジュール上でサービス・アプリケーションも実行される、請求項1記載の方法。
【請求項3】
コア・サービスには、移動装置内の近距離無線トランシーバとの交信も含まれる、請求項1記載の方法。
【請求項4】
移動装置上で移動装置オペレーティング・システムも実行され、クライアント・モジュールはオペレーティング・システムのサービスを使用する、請求項1記載の方法。
【請求項5】
移動装置はパーソナル・デジタル・アシスタントまたは携帯電話を含む、請求項1記載の方法。
【請求項6】
コア・サービスには、実世界サービスに関する情報のブロードキャスト、移動装置内の無線トランシーバとの交信、保証されたメッセージ配信、および暗号化のうち少なくとも1つが含まれる、請求項1記載の方法。
【請求項7】
装置上で実行されるように設定されたクライアント・モジュールを含む移動装置、
通信網を通じてアクセスできるように設定されたサーバ・モジュールを含むサーバ、および
移動装置との通信チャネルを使用し、通信網を通じてサーバにアクセスするよう設定されたリンク・モジュールを含むリンク装置を含み、
クライアント、サーバ、およびリンク・モジュールは、移動装置、サーバ、およびリンク装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じて、コア・サービスを提供するように設定されている装置。
【請求項8】
移動装置は近距離無線トランシーバを含む、請求項7記載の装置。
【請求項9】
移動装置はパーソナル・デジタル・アシスタントまたは携帯電話を含む、請求項7記載の装置。
【請求項10】
少なくともいくつかのアプリケーションが、個人または企業によって提供される実世界サービスに関連し、装置上で実行されるアプリケーションへアプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供するクライアント・モジュールを無線装置上で実行する段階、
各実世界サービスとサービスを提供するための装置のうちの少なくとも1つとの関係を識別する情報を維持する段階を含み、
コア・サービスにより、実世界サービスと装置との関係を識別する情報を装置間で共用できる方法。
【請求項11】
各装置を通じて得られるサービスに関する情報は、コア・サービスによって他の装置にブロードキャストされる、請求項10記載の方法。
【請求項12】
装置に関連する実世界サービスは、コア・サービスによって登録される、請求項10記載の方法。
【請求項13】
実世界サービスには、通信サービス、計算サービス、商業サービス、または行政サービスのうちの少なくとも1つが含まれる、請求項10記載の方法。
【請求項14】
装置上で実行されるアプリケーションを通じて、装置のユーザから得られる実世界サービスのリストを無線装置内に維持する段階、および
無線通信チャネルを通じて、利用可能な実世界サービスを示す情報を装置からブロードキャストする段階を含む方法。
【請求項15】
情報は周期的にブロードキャストされる、請求項14記載の方法。
【請求項16】
ブロードキャスト情報を受信する他の無線装置が、利用可能な実世界サービスの1つにアクセスする、請求項14記載の方法。
【請求項17】
装置上で実行されるアプリケーションを通じて装置のユーザから得られる実世界サービスのリストを含む無線装置、
利用可能な実世界サービスに関する情報を無線装置から無線通信チャネル上でブロードキャストするように、無線装置を設定するプログラムを記憶する媒体を含む装置。
【請求項18】
識別されたユーザに関連する移動装置上でクライアント・モジュールを実行する段階、
通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階、
移動装置との通信リンクを有し、通信網を通じてサーバにアクセスすることのできるリンク装置上でリンク・モジュールを実行する段階、
クライアント・モジュールが移動装置上で実行するアプリケーションに、アプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供する段階、
装置上で実行されるアプリケーションの1つを通じて、移動装置の1つのユーザから、移動装置上の他の1つで実行されるアプリケーションの他のユーザに向けられるメッセージを受信する段階、および
メッセージをインターネットを通じて他のユーザに配信する段階を含む方法。
【請求項19】
メッセージはリンクおよびサーバを通じて送信される、請求項18記載の方法。
【請求項20】
メッセージ送信元の装置上で実行されるクライアント・モジュールは、目標移動装置が近距離無線圏内にあるかどうかを判定し、そうでない場合、クライアント・モジュールはリンク・モジュールの1つにメッセージを転送する、請求項18記載の方法。
【請求項21】
リンク・モジュールはメッセージをインターネットを通じてサーバに転送する、請求項20記載の方法。
【請求項22】
サーバ・モジュールは、目標移動装置の位置を判定し、メッセージを他のユーザに転送するための通信チャネルを識別する、請求項21記載の方法。
【請求項23】
近距離無線装置のリストを第1の近距離無線装置の圏内に維持する段階、
第1の装置の識別されたユーザからのメッセージを、通信媒体上で第2の無線装置の第2の識別されたユーザに送信する段階を含み、
通信媒体は、少なくとも部分的に、第2の装置がリストに含まれているかどうかに基づいて選択され、この選択は第1の装置のユーザに透過的である方法。
【請求項24】
第2の装置がリストに含まれている場合、メッセージは近距離無線通信リンク上で第2の装置に送信され、第2の装置がリストに含まれていない場合、メッセージは、他の通信媒体を用いて第2の装置に送信される、請求項23記載の方法。
【請求項25】
第2の装置がリストに含まれていない場合、メッセージはインターネットまたは携帯電話によって第2の装置に送信される、請求項23記載の方法。
【請求項26】
近距離無線装置の識別されたユーザからのメッセージを、他の装置の識別されたユーザに送信する段階、および
送信されたメッセージが他の装置の識別されたユーザによって受信されたかどうかを、第1の装置の識別されたユーザに対して自動的に確認する段階を含む方法。
【請求項27】
送信されたメッセージに関する情報を送信後に第1の装置に記憶する段階、および
受信した確認と装置に記憶されている送信されたメッセージが一致するかどうかを検査する段階を含む、請求項26記載の方法。
【請求項28】
送信されたメッセージに対する確認が指定された期間内に受信されない場合に、送信されたメッセージを再送信する段階を含む、請求項27記載の方法。
【請求項29】
送信されたメッセージが配信不能である場合に、第1の装置内の通信マネージャに通知する段階を含む、請求項27記載の方法。
【請求項30】
通知段階は、送信されたメッセージがなぜ配信不能であるかの説明を行う段階を含む、請求項29記載の方法。
【請求項31】
送信されたメッセージが他の装置の識別されたユーザによって受信されたことが確認された後に、送信されたメッセージを装置から削除する段階をさらに含む、請求項29記載の方法。
【請求項32】
メッセージ送信元の装置は、配信を保証する責任を負う、請求項27記載の方法。
【請求項33】
それぞれの所有実体に関連する装置上でアプリケーションを実行する段階、
開始所有実体に関連する装置上の1つで実行されるアプリケーションの1つを用いて、開始所有実体から目標所有実体にメッセージを送信する段階、
装置の1つを、目標所有実体に関連し、通信リンクによってアクセスできる装置として識別する段階、および
通信リンクを通じて目標所有実体に関連する装置にメッセージを転送する段階を含み、
各装置は、装置の所有実体に関連する公開鍵を用いてメッセージを暗号化および復号する、クライアント・モジュールを実行する方法。
【請求項34】
公開鍵は、装置、およびメッセージが通過するサーバに記憶される、請求項33
記載の方法。
【請求項35】
装置は移動装置を含む、請求項33記載の方法。
【請求項36】
所有実体は人を含む、請求項35記載の方法。
【請求項37】
所有実体は企業を含み、装置は固定装置を含む、請求項33記載の方法。
【請求項38】
サーバにおいて、実世界実体を識別し、実世界実体による分散装置を通じた交信モードを定義する情報を記憶する段階であって、各実世界が、他の実世界実体にサービスを提供し、他の実世界実体のサービスを使用する段階、
任意の1つまたは複数の分散装置を用いる任意の実世界実体がサーバにログインするのを可能にする段階、
記憶された情報の一部をサーバから使用中の装置にロードする段階、および
記憶された情報に基づいて、装置を用いる実世界実体と他の実世界実体との、他の実世界実体のサービスの使用を含む交信を調整する段階を含む方法。
【請求項39】
装置上でクライアント・モジュールを実行する段階、
通信網を通じてアクセスできるサーバ上でサーバ・モジュールを実行する段階を含み、
クライアント・モジュールおよびサーバ・モジュールは、装置上で実行されるアプリケーションへ、アプリケーション・プログラミング・インタフェースを通じてコア・サービスを提供し、
コア・サービスは、サーバ上に記憶される、実世界実体に関係する情報へのアクセスをさらに含む、請求項38記載の方法。
【請求項40】
記憶された情報には、識別情報、人口統計情報、および嗜好情報のうちの少なくとも1つが含まれる、請求項39記載の方法。
【請求項41】
近距離無線通信機能を有するいくつかの異なる移動装置の各々に、装置のユーザである人を関連付ける段階、
装置とユーザーの関連性に関する情報および各ユーザに関する情報を、公的にアクセスできるサーバに記憶する段階、ならびに
サーバに記憶された装置のユーザに関する情報に応じたサービスを、各移動装置で提供する段階を含む方法。
【請求項42】
ユーザに関する情報は、機能を提供する際に使用できるようにサーバから装置に通信される、請求項41記載の方法。
【請求項43】
ユーザに関する情報には、人口統計情報、識別情報、嗜好情報、または位置情報のうちの少なくとも1つが含まれる、請求項41記載の方法。
【請求項44】
ユーザに関する情報の少なくとも一部は、ユーザに関連する移動装置上に記憶される、請求項41記載の方法。
【請求項45】
近距離無線装置を所有する実体が、特定の地理領域内にあることを自動的に認識する段階、
一般にアクセスできるデータベースから実体に関する情報を得る段階、および
データベースから得られるデータに応じて装置に送信される情報を、近距離無線装置に送信する段階を含む方法。
【請求項46】
一般にアクセスできるデータベース内の実体に関するデータへのアクセスは、実体の許可を条件とする、請求項45記載の方法。
【請求項47】
実体は、一般にアクセスできるデータベース内の実体自身のデータに対して、無線装置を用いてアクセスおよび修正を行うことができる、請求項45記載の方法。
【請求項48】
第2の近距離無線装置は、実体が特定の地理領域内にあることを認識し、データを得て、情報を送信する、請求項45記載の方法。
【請求項49】
第1の装置に送信される情報は、第2の装置に関連する実体との取引きを促進する販売促進材料を含む、請求項47記載の方法。
【請求項50】
実体は、一般にアクセスできるデータベースから、第1の装置を用いて、第2の装置に関連する実体に関する情報を得る、請求項47記載の方法。
【請求項51】
実体が特定の地理領域内にあることの認識は、実体にマップされた識別符号を含む、第1の装置からのメッセージの受信に基づいて行われる、請求項47記載の方法。
【請求項52】
近距離無線通信機能を有する装置のユーザである実世界実体に関する情報を、公的にアクセスできる位置に電子的に記憶する段階、
任意の装置のユーザ間で保証されたメッセージ通信を行い、電子的に記憶された情報に基づいて装置のユーザ間の商業的な取引を可能にするように協同する装置上のクライアント・モジュールおよびサーバ・モジュールを、公的にアクセスできる位置で提供する段階を含む方法。
【請求項53】
2つの無線装置の一方は固定されており、2つの無線装置の一方は可搬式である、請求項52記載の方法。
【請求項54】
装置の1つのユーザは商業実体を含む、請求項52記載の方法。
【請求項55】
装置の1つのユーザは消費者を含む、請求項52記載の方法。
【請求項56】
取引きは、販売情報を2つの装置の一方から他方へ配信することを含む、請求項52記載の方法。
【請求項57】
取引きは、2つの装置の一方が、2つの装置の他方によって提供されるサービスを使用することを含む、請求項52記載の方法。
【請求項58】
取引きは電子メッセージ通信を含む、請求項52記載の方法。
【請求項59】
取引きは、2つの装置が互いに圏外にあるときに行われる、請求項52記載の方法。
【請求項60】
記憶された情報に対するアクセスは、この情報が関係するユーザの制御下で行われる、請求項52記載の方法。
【請求項61】
記憶された情報はユーザの位置を含む、請求項52記載の方法。
【請求項62】
記憶された情報は、消費者の消費上の嗜好を含む、請求項52記載の方法。
【請求項63】
各ユーザは、複数の装置に関連する、請求項52記載の方法。
【請求項64】
取引きは、2つの装置の圏外に位置するサーバを通じて2人のユーザ間で行われる、請求項52記載の方法。
【請求項65】
2つの装置は互いに圏内にあり、取引きは2つの装置を保持する2人のユーザ間で行われる、請求項52記載の方法。
【請求項66】
取引きは、電子ビジネス・カードを装置の1つから装置の他の1つへ送信する段階、および他方の装置上にカードを表示する段階を含む、請求項52記載の方法。
【請求項67】
取引きは、2つの装置のうちの少なくとも一方を通じて一方のユーザから他方のユーザへ、インターネット、携帯電話、および近距離無線通信からユーザに意識されることなく選択される、通信モードを含むルートによって通信される電子メッセージを含む、請求項52記載の方法。
【請求項68】
第1の装置において、GPS発信源から受信した信号に基づいて第2の装置の実際の地理的位置を識別する情報を、近距離無線通信チャネルを通じて第2の装置から受信する段階、
第2の装置から受信した情報に基づいて、第1の装置に記憶された、得られた地理的位置を更新する段階を含む方法。
【請求項69】
得られた地理的位置は、第2の装置の実際の地理的位置と同じになるように更新される、請求項68記載の方法。
【請求項70】
第1の装置は、複数の他の装置の実際のGPS地理的位置を表す情報を、これらの他の装置から長期的に受信し、かつ
得られた地理的位置は、これらの他の装置から長期的に受信された情報に基づいて時折更新される、請求項68記載の方法。
【請求項71】
第1の装置は可搬式であり、第2の装置は固定されている、請求項68記載の方法。
【図1】
【図2】
【図3】
【図4A】
【図4B】
【図4C】
【図4D】
【図4E】
【図4F】
【図4G】
【図4H】
【図4I】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4A】
【図4B】
【図4C】
【図4D】
【図4E】
【図4F】
【図4G】
【図4H】
【図4I】
【図5】
【図6】
【図7】
【図8A】
【図8B】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2009−219124(P2009−219124A)
【公開日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願番号】特願2009−88801(P2009−88801)
【出願日】平成21年4月1日(2009.4.1)
【分割の表示】特願2002−562067(P2002−562067)の分割
【原出願日】平成14年2月1日(2002.2.1)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
2.Linux
【出願人】(502309421)エーシーケー ベンチャーズ ホールディングス エルエルシー (1)
【Fターム(参考)】
【公開日】平成21年9月24日(2009.9.24)
【国際特許分類】
【出願日】平成21年4月1日(2009.4.1)
【分割の表示】特願2002−562067(P2002−562067)の分割
【原出願日】平成14年2月1日(2002.2.1)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
2.Linux
【出願人】(502309421)エーシーケー ベンチャーズ ホールディングス エルエルシー (1)
【Fターム(参考)】
[ Back to top ]