(57)【要約】状況に応じたウェブサービス方法により、携帯電話又は無線装置（１００）は、状況推定技法を使用してユーザーの環境を感知し、これに応答して、感知されたユーザー環境に適した有用な情報をユーザーに提供することができる。この方法は、無線装置（１００）の現在の環境を特徴付けるセンサ信号（１２２〜１３４）を受信するステップと、状況推定エンジン（１４２）によってセンサ信号を処理するステップと、状況推定エンジン（１４２）による処理によって生成された現在の状況に関する結果を出力するステップと、この現在の状況に関する結果に応答して有用な情報をユーザーに提供するステップと、を含んでいる。【選択図】図１
2004535000.tif 000002
【特許請求の範囲】
【請求項１】
無線装置が、該装置の現在の環境に適した有用な情報をそのユーザーに提供できるようにする方法であって、
前記無線装置の現在の環境を特徴付けるセンサ信号を受信するステップと、
前記センサ信号を状況推定エンジンによって処理するステップと、
前記状況推定エンジンによる処理によって生成された現在の状況に関する結果を出力するステップと、
前記現在の状況に関する結果に応答し、前記ユーザーに有用な情報を提供するステップと、
を有する方法。
【請求項２】
前記状況推定エンジンによるセンサ信号の処理は、前記ユーザーの無線装置内で稼動するプログラムされた命令として実施される請求項１記載の方法。
【請求項３】
前記状況推定エンジンによるセンサ信号の処理は、前記ユーザーの無線装置からの信号に応答し、別個のネットワークサーバー内で稼動するプログラムされた命令として実行される請求項１記載の方法。
【請求項４】
前記サーバーは、前記ユーザーの無線装置に対して選択的に転送するべく、ウェブサーバーのファイルにアクセスする請求項３記載の方法。
【請求項５】
前記無線装置は、前記状況推定エンジンによるセンサ信号の処理の一部を前記サーバーに負荷分散する請求項３記載の方法。
【請求項６】
前記ユーザーのパーソナルプロファイルを前記サーバーが保持する請求項３記載の方法。
【請求項７】
アプリケーションプログラムによる前記ユーザープライベートデータに対するアクセスのユーザー制御を提供するステップを更に有する請求項１記載の方法。
【請求項８】
アプリケーションプログラムによる前記サーバー内の前記ユーザープライベートデータに対するアクセスのユーザー制御を提供するステップを更に有する請求項３記載の方法。
【請求項９】
ウェブサーバー内のアプリケーションプログラムによる前記ユーザープライベートデータに対するアクセスのユーザー制御を提供するステップを更に有する請求項１記載の方法。
【請求項１０】
前記現在の状況に関する結果をアプリケーションプログラムに提供するステップと、
前記アプリケーションプログラムから前記ユーザーに対する有用な情報を受信するステップと、
を更に有する請求項１記載の方法。
【請求項１１】
アプリケーションプログラムによる前記現在の状況に関する結果に対するアクセスのユーザー制御を提供するステップと、
前記ユーザー制御に応答し、前記現在の状況に関する結果を前記アプリケーションプログラムに提供するステップと、
前記アプリケーションプログラムから前記有用な情報を受信するステップと、
を更に有する請求項１記載の方法。
【請求項１２】
プライバシープロファイル内に保存された前記ユーザーのデータに基づいて、前記現在の状況に関する結果にアクセスするためのアクセス許可を前記アプリケーションプログラムに対して付与するステップを更に有する請求項１１記載の方法。
【請求項１３】
前記アクセスのユーザー制御を提供するステップが、前記ユーザーの無線装置からの信号に応答し、別個のネットワークサーバー内で稼動するプログラムされた命令として実施される請求項１１記載の方法。
【請求項１４】
前記サーバーは、前記ユーザーの無線装置に対して選択的に転送するべく、ウェブサーバーのファイルにアクセスする請求項１３記載の方法。
【請求項１５】
前記無線装置は、前記アクセスのユーザー制御を提供するステップの処理の一部を前記サーバーに負荷分散する請求項１３記載の方法。
【請求項１６】
前記ユーザーのパーソナルプロファイルを前記サーバーが保持する請求項１３記載の方法。
【請求項１７】
アプリケーションプログラムによる前記ユーザーパーソナルプロファイルに対するアクセスのユーザー制御を提供するステップを更に有する請求項１６記載の方法。
【請求項１８】
アプリケーションプログラムによる前記サーバー内の前記ユーザーパーソナルプロファイルに対するアクセスのユーザー制御を提供するステップを更に有する請求項１３記載の方法。
【請求項１９】
ウェブサーバー内のアプリケーションプログラムによる前記ユーザープライベートデータに対するアクセスのユーザー制御を提供するステップを更に有する請求項１１記載の方法。
【請求項２０】
前記プライベートなユーザーの現在の状況に関する結果に対するユーザー制御を提供しつつ、前記無線装置内の状況に応じたアプリケーション及びサービスを実現するステップを更に有する請求項１９記載の方法。
【請求項２１】
前記プライベートなユーザーの現在の状況に関する結果に対するユーザー制御を提供しつつ、前記ネットワークサーバー内の状況に応じたアプリケーション及びサービスを実現するステップを更に有する請求項１９記載の方法。
【請求項２２】
無線装置が、該装置の現在の環境に適した有用な情報をそのユーザーに対して提供できるようにする装置であって、
プロセッサと；
前記プロセッサに接続されたメモリであって、
前記無線装置の現在の環境を特徴付けるセンサ信号を受信するステップと、
前記センサ信号を状況推定エンジンによって処理するステップと、
前記状況推定エンジンによる処理によって生成された現在の状況に関する結果を出力するステップと、
前記現在の状況に関する結果に応答し、前記ユーザーに対して有用な情報を提供するステップと、
を実行するべくプログラムされたメモリと；
を有する装置。
【請求項２３】
前記状況推定エンジンによるセンサ信号の処理は、前記ユーザーの無線装置内で稼動するプログラムされた命令として実施される請求項２２記載の装置。
【請求項２４】
前記状況推定エンジンによるセンサ信号の処理は、前記ユーザーの無線装置からの信号に応答し、別個のネットワークサーバー内で稼動するプログラムされた命令として実施される請求項２２記載の装置。
【請求項２５】
前記サーバーは、前記ユーザーの無線装置に対して選択的に転送するべく、ウェブサーバーのファイルにアクセスする請求項２４記載の装置。
【請求項２６】
無線装置の現在の環境に適した有用な情報をそのユーザーに提供する前記無線装置であって、
前記無線装置の現在の環境を特徴付けるセンサ信号を供給するセンサと、
前記センサに接続され、前記センサ信号を処理し、前記処理によって生成された現在の状況に関する結果を提供する状況推定エンジンと、
前記状況推定エンジンに接続され、前記現在の状況に関する結果に応答し、有用な情報を前記ユーザーに提供する出力装置と、
を有する無線装置。
【請求項２７】
無線装置の現在の環境に適した有用な情報をそのユーザーに提供する前記無線装置であって、
アプリケーションプログラムによる前記ユーザーのプライベートデータに対するアクセスのユーザー制御を提供するプライバシー制御と、
前記無線装置の現在の環境を特徴付けるセンサ信号を供給するセンサと、
前記センサに接続され、前記センサ信号を処理する状況推定エンジンであって、前記プライバシー制御にも接続されており、前記処理によって生成された現在の状況に関する結果を前記アプリケーションプログラムに提供する状況推定エンジンと、
前記プライバシー制御に接続され、前記アプリケーションプログラムに応答し、有用な情報を前記ユーザーに提供する出力装置と、
を有する無線装置。
【請求項２８】
無線装置の現在の環境に適した有用な情報を前記無線装置のユーザーに提供するシステムであって、
前記無線装置からユーザープライバシープロファイルを受信し、アプリケーションプログラムによる前記ユーザーのプライベートデータに対するアクセスのユーザー制御を提供するサーバー内のプライバシー制御と、
前記無線装置の現在の環境を特徴付けるセンサ信号を供給する前記無線装置内のセンサと、
前記無線装置に接続され、前記センサ信号から導出されたセンサ情報を処理する前記サーバー内の状況推定エンジンであって、前記プライバシー制御にも接続されており、前記処理によって生成された現在の状況に関する結果を前記アプリケーションプログラムに提供する状況推定エンジンと、
前記プライバシー制御に接続され、前記アプリケーションプログラムに応答し、有用な情報を前記無線装置に送信する出力装置と、
を有するシステム。
【請求項２９】
無線装置が、該装置の現在の環境に適した有用な情報をそのユーザーに提供できるようにする方法であって、
アプリケーションデータを前記無線装置に供給するプログラムを実行するステップと、
前記無線装置の現在の環境を特徴付けるセンサ信号を受信するステップと、
前記センサ信号と前記アプリケーションデータを状況推定エンジンによって処理するステップと、
前記状況推定エンジンによる処理によって生成された現在の状況に関する結果を出力するステップと、
前記現在の状況に関する結果に応答し、前記ユーザーに有用な情報を提供するステップと、
を有する方法。
【請求項３０】
前記状況推定エンジンによるセンサ信号の処理は、前記ユーザーの無線装置内で稼動するプログラムされた命令として実施される請求項２９記載の方法。
【請求項３１】
前記プログラムを実行するステップは、前記無線装置において実行される請求項３０記載の方法。
【請求項３２】
前記状況推定エンジンによるセンサ信号の処理は、前記ユーザーの無線装置からの信号に応答し、別個のネットワークサーバー内で稼動するプログラムされた命令として実施される請求項２９記載の方法。
【請求項３３】
前記プログラムを実行するステップは、前記ネットワークサーバーに接続されたウェブサーバーにおいて実行される請求項３２記載の方法。
【請求項３４】
無線装置が、該装置の現在の環境に適した有用な情報をそのユーザーに提供できるようにするシステムであって、
プロセッサと；
前記プロセッサに接続されたメモリであって、
アプリケーションデータを前記無線装置に供給するプログラムを実行するステップと、
前記無線装置の現在の環境を特徴付けるセンサ信号を受信するステップと、
前記センサ信号と前記アプリケーションデータを状況推定エンジンによって処理するステップと、
前記状況推定エンジンによる処理によって生成された現在の状況に関する結果を出力するステップと、
前記現在の状況に関する結果に応答し、前記ユーザーに有用な情報を提供するステップと、
を実行するべくプログラムされたメモリと；
を有するシステム。
【請求項３５】
前記状況推定エンジンによる前記センサ信号と前記アプリケーションデータの処理は、前記ユーザーの無線装置内で稼動するプログラムされた命令として実施される請求項３４記載のシステム。
【請求項３６】
前記プログラムを実行するステップは、前記無線装置において実行される請求項３５記載のシステム。
【請求項３７】
前記状況推定エンジンによる前記センサ信号と前記アプリケーションデータの処理は、前記ユーザーの無線装置からの信号に応答し、別個のネットワークサーバー内で稼動するプログラムされた命令として実施される請求項３４記載のシステム。
【請求項３８】
前記プログラムを実行するステップは、前記ネットワークサーバーに接続されたウェブサーバーにおいて実行される請求項３７記載のシステム。
【請求項３９】
無線装置が、該装置の現在の環境に適した有用な情報をそのユーザーに提供できるようにする方法であって、
前記無線装置の現在の環境を特徴付けるセンサ信号を受信するステップと、
前記ユーザーの無線装置内の第１状況推定エンジンによって前記センサ信号を部分的に処理するステップと、
前記部分的に処理されたセンサ信号を別個のネットワークサーバー内の第２状況推定エンジンに送信するステップと、
前記第２状況推定エンジンによって前記信号の処理を完了させるステップと、
前記第２状況推定エンジンによって生成された現在の状況に関する結果を前記無線装置に送信するステップと、
前記現在の状況に関する結果に応答し、前記ユーザーに有用な情報を提供するステップと、
を有する方法。
【請求項４０】
無線装置が、該装置の現在の環境に適した有用な情報をそのユーザーに提供できるようにするシステムであって、
前記無線装置の現在の環境を特徴付けるセンサ信号を受信する無線装置と、
前記センサ信号を部分的に処理する前記ユーザーの無線装置内の第１状況推定エンジンと、
前記無線装置から送信された前記部分的に処理されたセンサ信号を受信し、前記センサ信号の処理を完了させる別個のネットワークサーバー内の第２状況推定エンジンと、
を有し、
前記第２状況推定エンジンは、現在の状況に関する結果を前記第２推定エンジンから前記無線装置に送信し、
前記無線装置は、前記現在の状況に関する結果に応答し、有用な情報を前記ユーザーに提供するシステム。
【請求項４１】
無線装置が、該装置の現在の環境に適した有用な情報をそのユーザーに提供できるようにする方法であって、
前記無線装置の現在の環境を特徴付けるセンサ信号を受信するステップと、
前記ユーザーの無線装置内の第１状況推定エンジンによって前記センサ信号を部分的に処理するステップと、
前記部分的に処理されたセンサ信号を別個のネットワークサーバー内の第２状況推定エンジンに送信するステップと、
前記第２状況推定エンジンによって前記センサ信号の処理を完了させるステップと、
現在の状況に関する結果を前記ネットワークサーバーから第２サーバーに転送するステップと、
前記現在の状況に関する結果に応答し、前記第２サーバーから前記ユーザーの無線装置に、有用な情報を送信するステップと、
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願に対する参照）
本出願は、２００１年５月１５日付けの「状況に応じたウェブサービス（Context Sensitive Web Services）」という名称の米国特許出願第０９／８５７，６２８号に対する優先権を主張するものであり、本引用により、その開示内容は本明細書に包含される。
【０００２】
本発明は、インターネットサービスの提供方法に関し、更に詳しくは、インターネットサービスへのモバイル装置によるアクセスの改善に関するものである。
【背景技術】
【０００３】
携帯電話及び無線携帯情報端末（ＰＤＡ）は、ＷＡＰ（Wireless Application Protocol）を使用してインターネットにアクセスすることができる。現在では、ＷＡＰに対応した無線装置により、ヘッドラインニュース、為替レート、スポーツの結果、株式市況、天気予報、多国語熟語辞書、パーソナルオンラインカレンダ、オンライン旅行、又はバンキングサービスなどのインターネットアプリケーションにアクセスしたり、独自の着信メロディをダウンロードすることができる。ＷＡＰに対応した無線装置は、広帯域無線ネットワークを使用し、一般的なテキストに、写真、画像、音声クリップ、又はビデオクリップなどの格段に内容の豊富なコンテンツタイプを組み合わせたマルチメディアメッセージを交換可能である。ＷＡＰに対応した無線装置を使用すれば、無線装置を仮想的な財布として使用し、オンライン上で支払いを済ませることができる。ＷＡＰに対応した無線装置は、オンライン販売業者からの有用且つ有益な広告と取引サービスを提供可能である。更に、ＷＡＰに対応した無線装置により、現在では、対話型のアドベンチャゲーム、クイズ、又はチェスのトーナメントなどのエンターテイメントサービスも提供されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
現在、携帯電話や無線ＰＤＡに求められているのは、状況推定技法（context inference techniques）を使用してモバイルユーザーの環境を感知し、これに応答して、感知したユーザー環境に適した有用な情報をユーザーに提供する機能である。状況推定技法に必要となる演算集約的な処理の一部をモバイルユーザーの無線装置からサーバーやインターネット上のウェブサイトに負荷分散（off load）すれば、更に有用であろう。又、モバイルユーザーの個人的な嗜好に関するパーソナルプロファイルをオンラインサーバーやウェブサイトに保持すれば有益であろう。更には、このユーザーのプロファイルに対するオンラインサーバーやウェブサイトからのアクセスを制御する機能をモバイルユーザーに提供することが重要であろう。
【課題を解決するための手段】
【０００５】
状況に応じたウェブサービスに関する本発明は、携帯電話又は無線ＰＤＡが状況推定技法を使用してユーザーの環境を感知し、これに応答して、感知されたユーザー環境に適した有用な情報をユーザーに提供できるようにするものである。
【０００６】
本発明の一態様は、無線装置が当該装置の現在の環境に適した有用な情報をそのユーザーに提供できるようにする方法である。この方法は、無線装置の現在の環境を特徴付けるセンサ信号を受信するステップと；センサ信号を状況推定エンジンによって処理するステップと、状況推定エンジンによる処理によって生成された現在の状況に関する結果を出力するステップと；現在の状況に関する結果に応答して有用な情報をユーザーに提供するステップと；を含んでいる。状況推定エンジンによるセンサ信号の処理は、ユーザーの無線装置内で稼動するプログラムされた命令として実施される。一方、本発明の別の態様においては、この状況推定エンジンによるセンサ信号の処理は、ユーザーの無線装置からの信号に応答し、別個のネットワークサーバー内で稼動するプログラムされた命令として実施される。このサーバーは、ウェブサーバーのファイルにアクセスし、ユーザーの無線装置に対して選択的に転送することができる。このサーバーは、ユーザーのパーソナルプロファイルを保持することができる。
【０００７】
本発明の更なる態様によれば、ユーザーのプライベートデータへのアプリケーションプログラムによるアクセスに対してユーザー制御が提供される。これには、サーバー内のユーザーのプライベートデータへのアプリケーションプログラムによるアクセスに対するユーザー制御の提供も含まれる。更に、これには、ユーザーのプライベートデータへのウェブサーバー内のアプリケーションプログラムによるアクセスに対するユーザー制御の提供も含まれている。
【０００８】
本発明の別の態様によれば、ユーザー制御に応答して現在の状況に関する結果をアプリケーションプログラムに提供し、アプリケーションプログラムから有用な情報を受信する。本発明によれば、ユーザーは、現在の状況に関する結果にアクセスするためのアクセス許可をアプリケーションプログラムに付与することができる。これは、ユーザーの無線装置において、或いはネットワークサーバーにおいて、実行可能である。ネットワークサーバーは、ユーザーの無線装置から受信したユーザーのプライバシープロファイルに応答し、ウェブサーバー内のアプリケーションプログラムによるアクセスを制御することができる。
【０００９】
状況に応じたウェブサービス（context sensitive web service）に関する本発明は、携帯電話又は無線ＰＤＡが状況推定技法を使用してユーザーの環境を感知し、これに応答して、感知されたユーザー環境に適した有用な情報をユーザーに提供できるようにするものである。本発明によれば、状況推定技法に必要となる演算集約的な処理の一部がモバイルユーザーの無線装置からサーバー及びインターネット上のウェブサイトに負荷分散される。状況に応じたウェブサービスに関する本発明によれば、モバイルユーザーの個人的な嗜好に関するパーソナルプロファイルがオンラインサーバー又はウェブサイト内に保持される。そして、このユーザーのプライベートデータに対する無線装置内のアプリケーションプログラムによるアクセスを制御する機能がモバイルユーザーに提供される。又、状況に応じたウェブサービスに関する本発明によれば、モバイルユーザーには、このユーザーのプロファイルに対するオンラインサーバー又はウェブサイトによるアクセスを制御する機能も提供される。
【００１０】
モバイルユーザーの無線装置は、サードパーティのアプリケーションを含むアプリケーションプログラムに対してモバイルユーザーの状況に関する識別内容を提供する状況推定エンジン（context inference engine）を備えている。通常の無線装置の場合、処理能力と記憶容量が限られているため、状況推定エンジンの演算負荷及び記憶要件を状況データの処理能力を有する状況推定サーバーに分散させる。本発明によれば、モバイルユーザーは、無線装置内のどのアプリケーションプログラムにユーザーのプライベートな状況情報へのアクセスを許可するかを制御することができる。プライバシープロファイル内に保存されているモバイルユーザーの嗜好に基づいて、無線装置内のプライバシー制御ブロックが、プライベートな状況情報へのアプリケーションプログラムによるアクセスを許可したり、取り消したりするのである。この同じプライバシー制御とプライバシープロファイルを状況推定サーバーに拡張することにより、状況推定サーバーに接続されたウェブサーバーにユーザーのプライバシー制御を拡張可能である。従って、本発明によれば、プライベートなユーザーの状況情報に対する制御をモバイルユーザーに提供しつつ、無線装置及びサーバー内において、状況に応じたアプリケーション及びサービスのインフラストラクチャを構築可能である。
【発明を実施するための最良の形態】
【００１１】
本発明を適用する対象は、ＷＡＰ（Wireless Application Protocol）規格を実装した無線電話と無線携帯情報端末（ＰＤＡ）である。図１は、本発明の一実施例のネットワーク図であり、ユーザーのＷＡＰ（Wireless Application Protocol）対応携帯型無線装置１００、ＷＡＰプロトコルゲートウェイ１２０、及びサーバー１４０間の関係の一例を示している。ユーザーのＷＡＰ対応携帯型無線装置１００は、無線携帯電話、ポケットベル、双方向無線送受信機（two-way radio）、スマートフォン、パーソナルコミュニケータ、又はこれらに類似のものであってよい。ユーザーのＷＡＰ対応携帯型無線装置１００は、デックと呼ばれる小さなファイルにアクセスするが、このデックは、当該装置のマイクロブラウザ１０２の表示領域内に十分フィットする小さなカードと呼ばれる複数の小さな頁から構成されている。このマイクロブラウザ１０２の小さなサイズと小さなファイルサイズは、携帯型無線装置１００のメモリ及び無線ネットワーク１１６の帯域幅に伴う厳しい制約に対応したものである。カードは、小さな画面とキーボードなしの片手によるナビゲーション用に特に考案されたＷＭＬ（Wireless Markup Language）で作成される。このＷＭＬ言語は、携帯電話のマイクロブラウザ１０２上の２行分のテキストディスプレイからスマートフォンやパーソナルコミュニケータが備える大きなＬＣＤ画面までをカバーする拡張性を備えている。ＷＭＬ言語で作成されたカードには、ＷＭＬＳｃｒｉｐｔで作成されたプログラムを含めることができる。ＷＭＬＳｃｒｉｐｔは、ＪａｖａＳｃｒｉｐｔに類似しているが、その他のスクリプト言語が備えている多くの不必要な機能を省いているため、装置１００に要求されるメモリとＣＰＵの処理能力は最小限のものになっている。
【００１２】
Nokia WAP Client Version 2.0は、無線装置１００上でＷＡＰクライアント１０８を実装するのに必要なコンポーネントを含むソフトウェアプロダクトである。これらのコンポーネントには、ＷＭＬ（Wireless Markup Language）ブラウザ、ＷＭＬScriptエンジン、プッシュサブシステム、及び無線プロトコルスタックが含まれている。このNokia WAP Clientは、携帯電話や無線ＰＤＡなどの無線装置へのポーティング及び組み込みが可能なソースコードプロダクトである。無線装置１００内に保存されているアプリケーションプログラム１０６は、ＷＡＰクライアント１０８とやり取りして様々な通信アプリケーションを実装する。尚、Nokia WAP Client Version 2.0の詳細については、www.nokia.com/corporate/wapに所在する「Nokia WAP Client Version 2.0:製品概説書（Product Overview)」（ノキア・インターネット・コミュニケーションズ社（Nokia Internet Communications)、２０００年）という名称のオンラインペーパーを参照されたい。
【００１３】
ＷＡＰクライアント１０８には、サーバー及び無線クライアントの認証とデジタル署名に必要なインフラストラクチャ及び手順を提供する無線ＰＫＩ（Public Key infrastructure）機能が含まれている。無線ＰＫＩとは、モバイルトランザクションに関係する各当事者に関連付けられたパブリック／プライベートキーペアを利用する証明書に基づいたシステムである。ＷＩＭ（Wireless Identity Module）は、ＷＡＰクライアント１０８のセキュリティトークン機能であり、ユーザー認証とデジタル署名に必要なパブリック及びプライベートキーとサービス証明書などのセキュリティ機能が含まれている。又、ＷＩＭは、暗号化処理を実行しメッセージの暗号化／復号を行う能力をも備えている。
【００１４】
図１の無線装置１００には、モバイルユーザーの周辺条件を感知する複数のセンサも具備されている。図示のセンサには、位置センサ１２２、接触センサ１２４、オーディオセンサ１２５、コンパスセンサ１２６、周辺光センサ１２８、周辺温度センサ１３２、及び３軸加速度センサ１３４が含まれている。オーディオセンサ１２５は、例えば、音声又は環境音響を検出可能なマイクであってよい。位置センサは、例えば、装置に内蔵されたＧＰＳ受信機であってよい。或いは、この位置センサは、例えば、「移動局測位システム（Mobile Station Positioning System）」という名称のノキア社（Nokia）の欧州特許第0,767,594A2号明細書に記述されているものなどのラジオビーコン、基地局、又はアクセスポイントのネットワークを利用した無線装置の位置を判定するラジオビーコン三角測量センサであってもよい。これらのセンサは、後述するように、現在の状況を推定するべく無線装置１００がサンプリングする入力を供給する。
【００１５】
ＷＡＰプロトコルゲートウェイ１２０は、インターネット１３０と無線ネットワーク１１６をリンクしている。このＷＡＰプロトコルゲートウェイ１２０には、無線装置１００に対する安全なインターネット接続の提供を支援する無線ＰＫＩ（Public Key infrastructure）が含まれている。ＷＡＰプロトコルゲートウェイ１２０により、ＷＡＰ対応無線装置１００は、ヘッドラインニュース、為替レート、スポーツの結果、株式市況、オンライン旅行、又やバンキングサービスにアクセスしたり、独自の着信メロディをダウンロードすることができる。
【００１６】
ユーザーのＷＡＰ対応携帯型無線装置１００は、無線塔１１４と通信し、最高数キロメートルの距離においてメッセージを交換することができる。ＷＡＰ規格がサポートしている無線ネットワーク１１６のタイプには、ＣＤＰＤ（Cellular Digital Packet Data）、ＣＤＭＡ（Code-Division Multiple Access）、ＧＳＭ（Global System for Mobile Communications）、ＴＤＭＡ（Time Division Multiple Access）、GPRS、3G-Broadband、又はこれらに類似のものが含まれる。
【００１７】
ユーザーのＷＡＰ対応無線装置（クライアント）１００とサーバー１４０間におけるＷＡＰプロトコルゲートウェイ１２０を介した通信の全体的なプロセスは、次のように、ＨＴＴＰ（HyperText Transfer Protocol）、即ち、ワールドワイドウェブプロトコルを使用してインターネット上でウェブ頁をサービスする方法と類似している。
【００１８】
（１）ユーザーは、サーバー１４０のＵＲＬ（Uniform Resource Locator）に関連付けられたユーザー装置（１００)上の電話キーを押す。
【００１９】
（２）ユーザー装置（１００）は、ＷＡＰプロトコルを使用し、無線塔１１４及び無線ネットワーク１１６を介してＵＲＬをゲートウェイ１２０に送信する。
【００２０】
（３）ゲートウェイ１２０は、このＷＡＰ要求をＨＴＴＰ要求に変換し、それをＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）インターフェイスにより、インターネット１３０を介してサーバー１４０に送信する。
【００２１】
（４）サーバー１４０は、インターネットを介して受信されるその他のＨＴＴＰ要求とまったく同様に、この要求を取り扱う。サーバー１４０は、例えば、ＣＧＩ（Common Gateway Interface）プログラム、Ｊａｖａサーブレット、又はこれらに類似のものなどによって作成された標準的なサーバープログラムを使用し、ＷＭＬデック又はＨＴＭＬ（HyperTest Markup Language）頁のいずれかをゲートウェイ１２０に返す。
【００２２】
（５）ゲートウェイ１２０は、ユーザー装置（１００）に代わって、このサーバー１４０からの応答を受信する。この応答がＨＴＭＬ頁の場合には、必要に応じて、ＷＭＬに符号変換される。そして、このＷＭＬ及びＷＭＬＳｃｒｉｐｔコードは、バイトコードに符号化された後に、ユーザー装置１００に送信される。
【００２３】
（６）ユーザー装置１００は、このＷＭＬバイトコード化された応答を受信し、ユーザーに対して、マイクロブラウザ１０２上のデックに第１カードを表示する。
【００２４】
図１において、プロトコルゲートウェイ１２０は、５つの異なるレイヤに編成されたＷＡＰプロトコルスタックを含んでいる。アプリケーションレイヤは、無線アプリケーション環境であり、携帯型アプリケーション及びサービスを実行する。セッションレイヤは、無線セッションプロトコルであり、クライアント／サーバーアプリケーション間においてコンテンツを組織的に交換する方法を提供する。トランザクションレイヤは、無線トランザクションプロトコルであり、信頼性の高いトランザクションを実行する方法を提供する。セキュリティレイヤは、無線トランスポートレイヤのセキュリティ機能であり、アプリケーション間における認証、プライバシー、及び安全な接続を提供する。トランスポートレイヤは、無線データグラムプロトコルであり、ＣＤＰＤ、ＣＤＭＡ、ＧＳＭなどの様々な無線ネットワークプロトコルの固有要件から上位レイヤを保護している。尚、ＷＡＰ規格及びＷＡＰプロトコルスタックに関する更なる情報については、２０００年にロックス・プレス社（Wrox Press Ltd.）から出版されたチャールズ・アレハート（Charles Arehart）他による「プロのＷＡＰ（Professional WAP）」という名称の書籍（ISBN 1-861004-04-1）を参照されたい。
【００２５】
図１において、ユーザーの携帯型無線装置１００には、「状況に応じたサービス」メニューを表示するマイクロブラウザ１０２が含まれており、これにより、ユーザーは、表示されたカードをナビゲートし、アプリケーションプログラム１０６によってプログラムされたオプションを選択することができる。又、ユーザーの装置１００には、前述のＷＡＰクライアントプログラム１０８も含まれている。
【００２６】
図１のマイクロブラウザ１０２に表示されている「状況に応じたサービス」メニューは、図２及び図２Ａに示されているアプリケーションプログラム１０６の制御下において、ＷＡＰクライアントプログラム１０８によってレンダリングされる。この「状況に応じたサービス」メニューにより、ユーザーは、（Ａ）「プライバシー機能の更新」、又は（Ｂ）「アプリケーションの実行」といういずれかのセッションタイプを選択可能である。そして、ユーザーが「プライバシー機能の更新」セッションタイプを選択した場合には、図１の「状況に応じたサービス」メニューは、ユーザーに対して「プライバシー機能の更新」サブメニューを提示し、ユーザーは、このサブメニューから次のオプションを選択することができる。
【００２７】
（Ａ）プライバシー機能の更新
（１）あなたのプライバシープロファイルの更新
（２）あなたのパーソナルデータの更新
（３）プログラムの認証
【００２８】
オプション（１）の「あなたのプライバシープロファイルの更新」を選択すると、図１Ａに示されている第２のサブメニューが表示され、これは次のオプションを備えている。
【００２９】
（１）あなたのプライバシープロファイルの更新
（ａ）許可リストへのローカルプログラムの追加
（ｂ）リストからのローカルプログラムの削除
（ｃ）許可リストへのサーバープログラムの追加
（ｄ）リストからのサーバープログラムの削除
（ｅ）許可リストへのネットワークプログラムの追加
（ｆ）リストからのネットワークプログラムの削除
【００３０】
オプション（２）「あなたのパーソナルデータの更新」を選択すると、図１Ａに示されている別のサブメニューが表示され、これは次のオプションを備えている。
【００３１】
（２）あなたのパーソナルデータの更新
（ａ）サーバーデータベースの更新
（ｂ）ネットワークデータベースの更新
【００３２】
オプション（３）の「プログラムの認証」を選択すると、図１Ｂに示されている別のサブメニューが表示され、これは次のオプションを備えている。
【００３３】
（３）プログラムの認証
（ａ）プログラムのパブリックキー証明書の要求
（ｂ）証明書の署名の検証
（ｃ）有効期間の検証
（ｄ）取り消し状態の検証
（ｅ）認証局が信用リストに含まれているかどうかのチェック
（ｆ）プログラムへの認証フラグの設定
【００３４】
この「プログラムの認証」オプションにより、図２の無線装置１００のプライバシー制御１５０が呼び出される。信頼できる機関によるアプリケーションプログラムＡ、Ｂ、Ｘ、又はＹの妥当性の検証が完了している場合には、その信頼できる機関により、アプリケーションプログラムに対して算出されたＭＡＣ（message authentication code）に関するデジタル証明書が発行されており、プライバシー制御１５０はその証明書をチェックすることができる。プライバシー制御１５０が、そのデジタル証明書を発行した信頼できる機関を信頼している場合には、そのアプリケーションプログラムの認証は簡単である。
【００３５】
プログラムのデジタル署名を検証し、そのアプリケーションプログラムがユーザーのプライベートデータの完全性又は信頼性を損なわないと判断した場合には、ユーザーは、そのプログラムを登録することができる。この「登録」とは、ユーザーの無線装置の現在の状況及び／又はユーザーのプライベートデータのその他の部分に対してアクセスするためのアクセス許可をユーザーがプログラムに付与することを意味している。ユーザーが付与可能な許可には、（ａ）「いつアクセス可能か」、及び（ｂ）「どのデータにアクセス可能か」という２つのカテゴリにおいて複数レベルが存在する。
【００３６】
オプション（４）の「プログラムの登録」を選択すると、図１Ｂに示されている別のサブメニューが表示され、これは次のオプションを備えている。
【００３７】
（４）プログラムの登録
（ａ）いつアクセス可能か
（ｂ）どのデータにアクセス可能か
【００３８】
第１カテゴリである（ａ）「いつアクセス可能か」の場合、許可の最高レベルは、「通知なしにいつでもアクセス可能」というものである。一方、このカテゴリにおける許可の最低レベルは、「指定された時点又は指定された条件であり、且つユーザーに通知しユーザーによる個別認可の後でのみアクセス可能」というものである。第２のカテゴリの（ｂ）「どのデータにアクセス可能か」の場合には、許可の最高レベルは、「現在の状況情報、ユーザーが入力したパーソナルデータ、ユーザーのインターネット利用履歴データ、ユーザーのインターネットクッキーデータ、及びユーザーのアプリケーションプログラム使用状況データを含むユーザーのプライベートデータ内のデータセットに対する無制限のアクセス」である。このカテゴリにおける許可の最低レベルは、「ユーザーに通知しユーザーによる個別認可の後でのみデータにアクセス可能」というものである。ユーザーは、最高と最低の間のどのような許可レベルでも設定可能であり、それを登録の基準にすることができる。ユーザーは、ユーザーが署名しアプリケーションプログラムに添付するデジタル証明書の中に、この登録条件を含めることができる。要求するアクセスイベントの前に、この登録証明書をプログラムからプライバシー制御１５０に対して提示することにより、プライバシー制御１５０はプログラムの登録状態を自動的に検証可能である。この登録証明書は、次のように作成することができる。
【００３９】
プライバシー制御１５０は、ＭＡＣ（message authentication code）及び独自のデジタル署名を算出し、受け入れ可能なアプリケーションプログラムＡ、Ｂ、Ｘ、又はＹに対して証明書として添付する。プライバシー制御１５０は、このデジタル証明書の中に登録条件を含めることができる。この結果、プライバシー制御１５０は、プログラムがユーザーのプライベートデータへのアクセスを要求した際に、ＭＡＣ及び独自のデジタル署名を自動的にチェックし、プログラムが変更されていないことを検証することができる。又、プライバシー制御１５０は、プログラムの登録状態を自動的に検証することもできる。即ち、プライバシー制御１５０は、アプリケーションプログラムＡ、Ｂ、Ｘ、又はＹの全体（又はその一部）及び登録条件のハッシュ値を算出した後に、このハッシュ値からＭＡＣ（message authentication code）を形成することにより、これを実現する。次いで、プライバシー制御（１５０）は、自分のＰＫＩプライベートキーを使用してＭＡＣ（message authentication code）にデジタル署名する。そして、これら登録条件、ＭＡＣ、及びプライバシー制御のデジタル署名が、アプリケーションプログラムＡ、Ｂ、Ｘ、又はＹに登録証明書として添付されるのである。
【００４０】
この結果、プライバシー制御１５０は、アプリケーションプログラムＡ、Ｂ、Ｘ、又はＹがユーザーの状況データ又はプライベートデータへのアクセスを要求した際に、提示されたＭＡＣが算出されたＭＡＣと一致すること、並びに提示されたデジタル署名が本物であることをチェックできるよう、アプリケーションプログラムに対して登録証明書の提示を要求する。そして、プライバシー制御１５０は、その登録条件に従って、アプリケーションプログラムに対してアクセス許可を自動的に付与するのである。
【００４１】
ＭＡＣ（message authentication code）を生成及び評価しデータの完全性を保証する方法については、２０００年にジョン・ワイリー・アンド・サンズ社（John Wiley and Sons）から出版されたステファン・トーマス（Stephen Thomas）による「ＳＳＬとＴＬＳ（SSL and TLS）」という名称の書籍に記述されている。メッセージ認証用のアルゴリズムの例としては、ＲＳＡのＭＤ５（Message Digest）及びＳＨＡ（Secure Hash Algorithm）の２つを挙げることができ、これらについては、いずれも前述のステファン・トーマスによる書籍に記述されている。データの完全性を確保する方法の更なる詳細については、１９９６年にジョン・ワイリー・アンド・サンズ社（John Wiley and Sons）から出版されたブルース・シュナイア（Bruce Schneier）による「応用暗号法−第２版（Applied Cryptography-2nd Edition）」という名称の書籍を参照されたい。デジタル署名を生成及び評価してデジタルプログラムのソースを保証する方法については、１９９７年にアディソン・ウェスリー社（Addison Wesley）から出版されたリチャード  Ｅ．スミス（Richard E. Smith）による「インターネット暗号法（Internet Cryptography）」という名称の書籍に記述されている。
【００４２】
前述の無線装置１００内のプライバシー制御１５０に関する説明内容は、図２Ａのネットワークサーバー１４０内のプライバシー制御１６４に対しても同様に適用される。ネットワークサーバー１４０内のプライバシー制御１６４は、ＭＡＣ（message authentication code）と独自のデジタル署名を算出し、登録条件と共に、ウェブサーバー１６０内の受け入れ可能なアプリケーションプログラムに対して登録証明書として添付することができる。プライバシー制御１６４は、無線装置１００のプライバシープロファイル１５２のキャッシュされた複写１４４を備えている。この結果、ネットワークサーバー１４０において、ウェブサーバー１６０からのアクセス要求に対するプライバシーチェックを自動的に処理可能である。即ち、ウェブサーバー１６０内のアプリケーションプログラムがネットワークサーバー１４０内又は無線装置１００内のユーザープライベートデータへのアクセスを要求すると、ネットワークサーバー１４０内のプライバシー制御１６４は、ＭＡＣ及び独自のデジタル署名をチェックしてアプリケーションプログラムが変更されていないことを検証できるよう、そのウェブサーバー１６０内のアプリケーションプログラムに対して登録証明書の提示を要求する。この結果、プライバシー制御１６４は、登録条件に従い、そのウェブサーバー１６０内のアプリケーションプログラムに対してアクセス許可を自動的に付与することができる。
【００４３】
ユーザーが（Ｂ）「アプリケーションの実行」というセッションタイプを選択した場合には、図１Ｃの「状況に応じたサービス」メニューは、ユーザーに対して「アプリケーションの実行」サブメニューを提示し、これは次のオプションを備えている。
【００４４】
（１）メッセージング
（ａ）マルチメディアメッセージの交換
（２）モバイルコマース
（ａ）パーソナルオンラインカレンダ
（ｂ）為替レート
（ｃ）バンキングサービス
（ｄ）仮想財布によるオンライン上での支払い
（ｅ）有用且つ有益な広告
（ｆ）オンライン販売業者との取引サービス
【００４５】
図１Ｄの「状況に応じたサービス」メニューは、ユーザーに対して「アプリケーションの実行」サブメニューを提示しており、これは次のオプションを備えている。
【００４６】
（３）エンターテイメント
（ａ）ヘッドラインニュース
（ｂ）スポーツの結果
（ｃ）株式市況
（ｄ）天気予報
（ｅ）多国語熟語辞書
（ｆ）オンライン旅行
（ｇ）独自の着信メロディのダウンロード
（ｈ）対話型ゲーム
【００４７】
この「アプリケーションの実行」オプションにより、図２の無線装置１００のアプリケーションプログラムＡ、Ｂ、Ｘ、又はＹの中の１つが呼び出される。
【００４８】
図２は、無線装置１００の機能ブロックダイアグラムであり、その様々なコンポーネント及びプログラムが示されている。無線装置１００は、ダウンロードするか或いはファームウェアの状態にある状況に応じたアプリケーションＡ、Ｂ、Ｘ、及びＹを備えている。この無線装置１００は、センサ入力の初期サンプリング及びデジタル化の際には、ネットワーク内の外部機能を利用する必要はない。このセンサ入力からサンプリングされデジタル化される値は、位置メタデータ１２２’、接触メタデータ１２４’、オーディオメタデータ１２５’、コンパスメタデータ１２６’、周辺光メタデータ１２８’、周辺温度メタデータ１３２’、及び３軸加速度メタデータ１３４’である。これらのセンサ入力からサンプリングされデジタル化された値は、メタデータベクトル１３８内に読み込まれる。
【００４９】
図２は、キーパッド１０４、送受信機２０６、センサインターフェイス２０８、中央プロセッサ２１０、及びディスプレイ２１２にバス２０４によって接続された無線装置１００のメモリ２０２を示している。このメモリ２０２は、プロセッサ２１０によって実行された際に、本発明の方法を実行する実行形式命令のシーケンスであるプログラムを保存している。即ち、メモリ２０２は、ＷＡＰクライアントプログラム１０８、状況推定エンジン１３６、プライバシー制御１５０、プライバシープロファイル１５２、状況識別ＡＰＩ１５４、動作／ジェスチャＡＰＩ１５６、位置ＡＰＩ１５８、及びその他ＡＰＩ１６２を保存している。状況推定エンジン１３６は、メタデータベクトル１３８を処理して現在の状況を生成する。メモリ２０２内に保存されているアプリケーションプログラム１０６には、ソフトウェアシステムＳＳ１の一部であるアプリケーションプログラムＡ及びＢと、実行環境「Ｅｘｅｃ．Ｅｎｖ．」に格納されているアプリケーションプログラムＸ及びＹと、が含まれている。
【００５０】
無線装置１００に十分な演算能力と記憶容量が提供されておれば、現在の状況に関する推定結果の生成という最終目的を完了する時点まで、状況推定エンジン１３６によってメタデータベクトル１３８の処理を継続実行可能である。しかしながら、演算の途中で、ネットワークサーバー１４０に提供されている処理能力又は記憶容量を状況推定エンジン１３６が必要とする場合には、無線装置１００から図２Ａのネットワークサーバー１４０内の状況推定エンジン１４２にメタデータベクトル１３８が送信される。そして、ネットワークサーバー１４０内の状況推定エンジン１４２は、必要な処理をメタデータベクトル１３８に対して実行した後に、現在の状況に関する推定結果を完成させるべく、処理結果を無線装置１００内の状況推定エンジン１３５に返す。或いは、この代わりに、ネットワークサーバー１４０内の状況推定エンジン１４２は、必要な処理をすべて完了させた後に、生成された現在の状況に関する推定結果を無線装置１００に返す。
【００５１】
図２には、状況の識別をサポートする無線装置のアーキテクチャが示されている。この状況の識別は、図１に示されているハンドセット内に物理的に位置している様々なタイプのセンサから受信したセンサ情報の上に構築されるものである。図示のセンサには、位置センサ１２２、接触センサ１２４、オーディオセンサ１２５、コンパスセンサ１２６、周辺光センサ１２８、周辺温度センサ１３２、及び３軸加速度センサ１３４が含まれている。これらのセンサは、アクセサリのような電話機カバーの内部やブルートゥース対応装置などの無線アクセサリの内部に配置することも可能である。又、センサは、ユーザーの部屋や車両の内部などの環境内に配置することもできる。又、状況識別サービスにおいては、これらのセンサデータと共に、電話機の使用時間やその他の入手可能な情報を使用することも可能である。
【００５２】
図２には、センサ１２２、１２４、１２５、１２６、１２８、１３２、及び１３４から受信され、状況推測エンジン１３６によって処理されるセンサデータが示されている。無線装置１００で稼動中のアプリケーションプログラムＡ、Ｂ、Ｘ、又はＹは、任意選択により、現在の状況に対する要求と共に、アプリケーションデータを状況推定エンジン１３６に提供することも可能である。状況推定エンジン１３６も、任意選択により、これらセンサ信号及びアプリケーションデータを処理し、現在の状況を生成可能である。そして、状況推定エンジン１３６は、様々なＡＰＩ１５４、１５６、１５８、及び１６２を介して、現在の状況をアプリケーションＡ、Ｂ、Ｘ、及びＹに提供する。アプリケーションプログラムは、現在の状況又は状況の変化を受信するべく、自分自身をアプリケーションプログラムインターフェイス１５４に登録することができる。この結果、そのアプリケーションプログラムは、状況を感知できるようになる。
【００５３】
図２には、無線装置１００の第１ソフトウェアシステムＳＳ１において稼動する「ネイティブ」のアプリケーションプログラムＡ及びＢが示されている。本明細書において使用されているこの「ソフトウェアシステム」という用語は、実行能力を有するあらゆる環境を意味している。第１ソフトウェアシステムは、ＮＯＳ、ＩＳＡ、ＥＰＯＣ、ＪＡＶＡ（登録商標）、又はＷＡＰなどのプロプライエタリなものや市販されているリアルタイムオペレーションシステムに基づいたものであってよい。サードパーティアプリケーションプログラムＸ及びは実行環境において稼動する。この実行環境においては、ＡＰＩに対するアクセスなどのアプリケーションに提供されるシステム機能を制限（固定又は動的な動作）することができる。
【００５４】
図２には、モバイルユーザーのプライバシー制御機能が示されている。このプライバシー制御機能により、ユーザーは、状況推定エンジン１３６によって生成された現在の状況情報を利用するべく、どのアプリケーションプログラムに状況識別ＡＰＩ１５４へのアクセスを許可するかを指定することができる。状況推定エンジン１３６にアクセスするためのアプリケーションプログラムＡ、Ｂ、Ｘ、及びＹによる要求又は登録は、すべて最初にプライバシー制御ブロック１５０を通過しなければならない。プライバシー制御ブロック１５０は、プライバシープロファイル１５２内に保存されているユーザーのセキュリティデータチェックを使用して要求元のアプリケーションプログラムにアクセス権を付与する。ユーザーは、ユーザーインターフェイスを介してユーザーが入力するユーザーセキュリティデータにより、このアクセス権の付与を制御する。ユーザーセキュリティデータには、許可リスト１５５、ＰＫＩ（Public Key Infrastructure）証明書１５７、ＰＫＩによって信頼することができる機関の信用リスト１５９、及びＰＫＩ手順によって認証済みのアプリケーションプログラムにユーザーが設定したフラグであるデータセット１６１が含まれている。ユーザーは、図１Ａ及び図１Ｂに示されている無線装置１００が表示する「プライバシー機能の更新」サブメニューにより、このユーザーセキュリティデータを更新することができる。アクセスは、デジタル署名に基づいてアプリケーションプログラムに許可されるが、これは、システムアプリケーションの一部、或いは当技術分野における周知のその他の手段によって実行される。又、プライバシー制御１５０に対して、別個のシステム全体を対象としたプライバシーユーザーインターフェイスを提供することも可能であり、モバイルユーザーは、これを使用してプライバシーポリシーを設定し、アプリケーションプログラムがユーザーのプライベートな状況識別情報を受信するべく登録しようとしていることに関する警告を受信可能である。プライバシー制御１５０及びプライバシープロファイル１５２により、モバイルユーザーは、アクセスの許可、拒否、又は取り消しを行ったり、時間を限定してアクセスを許可したり、或いは、ユーザーがアクセスを許可する前に、アプリケーションプログラムが常に登録を要求するように求めることができる。
【００５５】
図２において、無線装置１００内の状況推定エンジン１３６は、その無線装置がユーザーによって配置されている場所に基づいたすべてのセンサ入力をもとにして推定を実行する。推定対象の装置１００の現在の状況は、例えば、特定のセンサの組から値が特定の範囲内にある信号の特定の組み合わせが入力された場合に、「ユーザーのポケットの中に位置している」と判断される。一例として、状況推定エンジン１３６による現在の状況の推定結果は、ＸＭＬ言語により、次のように表現可能である。
【００５６】
＜Context Inference Engine in Device＞
＜device placement＞ポケット＜/device placement＞
＜User Interface state＞スリープモード＜/User Interface state＞
＜device location＞ビル１の２階のエレベータ５の中＜/device location＞
＜API active actions＞３階の３２２号室で会議が始まる＜/API active actions＞
＜/Context Inference Engine in Device＞
【００５７】
無線装置１００内の状況推定エンジン１３６は、いくつかの方法により、状況推定プロセスを実行可能である。分析対象のそれぞれの環境条件又は状況に適した重要度の相対値により、それぞれのセンサからの入力情報を重み付けすることができる。各センサは、その独自の重み付け値を備えている。或いは、この代わりに、それぞれの環境条件用の各センサの重み付け値を、例えば、人工ニューラルネットワーク（ＡＮＮ）、自己組織化マップ（ＳＯＭ）、意思決定樹状図、ファジー規則に基づいたシステム、或いは、隠れ（Hidden）マルコフモデル（ＨＭＭ）などのモデルに基づいたシステムを使用し、トレーニングセッションから学習することも可能である。更には、アプリケーションに応じて、複数の代替方法の組み合わせを使用することもできる。
【００５８】
状況推定エンジン１３６は、適応的且つ継続的な学習法により、その重みを継続的に適合させることができ、その際には、ユーザーは、無線装置１００に対して新しい環境条件について教え、それらに名前を付ける。例えば、隠れマルコフモデル（ＨＭＭ）を使用して、状況推定エンジン１３６用の適応的且つ継続的な学習法を実装可能である。この代わりに、既知の場面と比較することにより、変化した場面を自発的に認識するように無線装置１００をプログラムすることもできる。ユーザーは、ニューラルネットワークの適応的且つ自動的な学習能力を使用し、無線装置に対して新しい環境条件について教え、それらに名前を付けることができる。適応的且つ継続的な学習法は演算集約的であり、後述するように、無線装置１００を支援するネットワークサーバー１４０上に配置するのに適当な候補である。
【００５９】
状況推定の分野においては、自動パターン認識の原理が様々なタイプのセンサ入力に適用されている。音声信号の処理には音声認識が適用されており、手の力及び加速度計信号の処理には手書き認識が適用されている。ロボット工学の分野においては、デジタル化された静止画及び動画の処理に画像認識が適用され、レーザー及びソナー測距機信号の処理に機械的な位置認識が適用されると共に、慣性、加速度、及び方位信号の処理に機械的動作認識が適用されている。義肢装置の分野においては、触覚センサ信号の処理に接触認識が適用されている。医学の分野では、伝統的な脈拍、呼吸速度、及び体温信号と共に、生体電場信号を処理することにより、自動診断プログラムが様々な病状を認識している。これらの様々な信号認識プロセスは、サンプリングした信号とそれらの信号の統計的なモデルを同等視する初期トレーニングステップを実施する、という共通的な特徴を備えている。
【００６０】
これらの様々なセンサ入力を自動的にパターン認識する原理について、音声パターンを認識する技法を使用し以下に例示することとする。音声認識に使用されている一般的な技法は、隠れマルコフモデル（ＨＭＭ）である。この「隠れ」という用語は、音声信号の基礎をなしている確率論的であって直接的に観測できないイベントを意味している。ＨＭＭ音声認識システムにおいては、通常、トレーニングサンプルの組から推定されたパラメータを備える音声セグメントの統計モデルである音素を構成して使用する。音声セグメントの適切な統計モデルを鎖状連結又はリンクすることにより、単語のモデルを作成する。これらの統計モデルは、認識対象の未知の音声信号とマッチングするための基準として機能する。
【００６１】
未知の音声信号を認識するには、発話者が発した音素をサンプリングしデジタル化することが必要になる。次いで、これらのデジタル化された音素を処理してメタデータにする。そして、このメタデータを音素の基準である統計モデルと比較する。この結果、最もよくマッチしたものが音声認識の推定結果となる。
【００６２】
認識は、入力音声信号用の単語モデルの組において最も可能性の高い経路を検出するステップによって構成されている。ＨＭＭ音声認識デコードシステムは、最初に、反復プロセスによってトレーニングする必要がある。即ち、システムに、トレーニングサンプル、即ち、特定の発話者の音声による単語を学習させなければならないのである。トレーニング用の単語を分析し、フレーム化された音響パラメータのシーケンス、即ち、統計モデルを生成する。このトレーニング用単語の単語モデルの組における最も可能性が高い経路が正しいトレーニング用単語を認識するようになった場合に、その認識は、有効な、即ち、「優れた」ものとなる。
【００６３】
隠れマルコフモデルの原理について記述した有用な参照資料としては、L.R.ラビナー（L. R. Rabiner）による「隠れマルコフモデルに関するチュートリアルと音声認識における選択されたアプリケーション（A tutorial on hidden Markov models and selected applications in speech recognition）」（Proceedings of the IEEE、１９８９年、第７７巻、第２号、２５７〜２８６頁）、L.R.ラビナー（L. R. Rabiner）及びB.H.チュアン（B. H. Juang）による「隠れマルコフモデル入門（An introduction to hidden Markov models）」（IEEE ASSP Magazine、１９８６年１月、４〜１５頁）、１９９４年にアディソン・ウェスリー社（Addison Wesley）から出版されたアンドレアスＳ．ワイゲント（Andreas S. Weigend）及びネイルＡ．ガーシェンフェルト（Neil A. Gershenfeld）監修による「時系列予測：未来の予測と過去の理解（Time Series Prediction:Forecasting the Future and Understanding the Past）」のアンドリューＭ．フレーザー（Andrew M. Fraser）及びアレクシス・ディミトリアディス（Alexis Dimitriadis）による「混合状態を有する隠れマルコフモデルを使用した確率密度の予測（Forecasting Probability Densities by Using Hidden markov Models with Mixed States）」、及び１９９３年にマサチューセッツ州ケンブリッジに所在するＭＩＴプレス社（MIT Press, Cambridge, Massachusetts）から出版されたユージン・チャーニアック（Eugene Charniak）による「統計的な言語学習（Statistical Language Learning）」がある。
【００６４】
隠れマルコフモデルを音声認識以外にどのように拡張可能であるかを示すべく、次に、接触認識の例について説明する。接触認識のトレーニングステップにおいて、例えば、サンドペーパーなどの粗い組織に触覚トランスデューサを接触させることにより、触覚センサ信号を入力する。そして、この触覚センサ信号を入力信号の統計モデルに変換し、この統計モデルを「粗い＿組織」（rough_texture）というハンドルでコンピュータメモリに基準として保存する。次いで、「粗い＿組織」のモデルに含まれているセンサ信号の範囲を拡張するべく、サンドペーパーに接触させる方向又は圧力がそれぞれ異なる複数のトレーニングセッションを実施し、これによって、統計モデルの複数の異なるサンプルが生成される。そして、これらの統計モデルのサンプルの組を「粗い＿組織」というハンドルで基準として保存する。次いで、その他のトレーニングセッションをガラスなどの滑らかな組織によって実施する。触覚トランスデューサを滑らかな組織に接触させることによって入力される触覚センサ信号を入力信号の統計的モデルに変換し、「滑らかな＿組織」（smooth_texture）というハンドルで基準として保存する。後に、認識モードにおいて、触覚トランスデューサを未知の物体に接触させ、サンプルの触覚センサ信号を生成する。未知の接触信号を認識するには、接触トランスデューサ信号のサンプリングとデジタル化が必要となる。次いで、これらのデジタル化されたセンサ信号を処理してメダデータを生成する。そして、このメタデータを「粗い＿組織」及び「滑らかな＿組織」の基準統計モデルと比較する。この結果、最もよく一致したものが接触認識の推定結果となる。
【００６５】
複数のタイプのセンサを組み合わせることにより、それらの信号を合成サンプリングイベントを特徴付ける入力メタデータに合成可能である。隠れマルコフモデル（ＨＭＭ）の原理を使用し、この合成サンプリングイベントを認識することができる。無線装置１００のユーザーの健康及び疲労の状態が、この合成サンプリングイベントの一例である。無線装置１００は、例えば、無線装置１００を掴んでいるユーザーの手の力と脈拍に応答して触覚センサ信号を出力する触覚トランスデューサを備えることができる。又、無線装置１００は、無線装置１００を掴んでいるユーザーに応答し、体温信号を出力する温度センサを備えることもできる。隠れマルコフモデル（ＨＭＭ）を使用し、サンプリングイベントの結果生成される手の力及び温度センサ信号の組み合わせを特徴付ける力／温度入力メタデータベクトルを認識することができる。尚、この例における合成サンプリングイベントには、一定期間にわたってユーザーの脈拍を力センサが信号変換できるよう、期間を設定可能である。
【００６６】
トレーニングステップにおいて、ユーザーが良好な健康状態にあり普通に休息している際に、触覚センサ信号及び力センサ信号を出力させる。そして、これらの触覚センサ信号及び力センサ信号を力／温度入力メタデータベクトルに合成し、このメタデータベクトルを入力信号の統計モデルに変換する。次いで、この統計的モデルを無線装置１００のコンピュータメモリに基準として「良好な＿健康状態＿普通に＿休息している」（good_health_resting_normally）というハンドルで保存する。次いで、異なる健康及び疲労状態にあるユーザーを対象にして、その他のトレーニングセッションを実施する。例えば、ユーザーが職場で夜遅くに働いている際に、無線装置１００をトレーニングする。無線装置１００を保持することによって生成される触覚センサ信号及び力センサ信号を「健康状態は良好であるが疲労した状態にあるユーザー」の力／温度入力メタデータベクトルとして合成する。この力／温度入力メタデータベクトルを入力信号の統計モデルに変換し、「良好な＿健康状態＿疲労している」（good_health_fatigued）というハンドルで基準として保存する。
【００６７】
後に、認識モードにおいて、ユーザーが無線装置１００を保持した際に、触覚センサ信号及び力センサ信号をサンプリングする。この健康／疲労状態の認識は、接触トランスデューサ信号のサンプリング及びデジタル化ステップによって構成される。次いで、これらのデジタル化されたセンサ信号を処理し、メタデータベクトルを生成する。そして、このメタデータベクトルを「良好な＿健康状態＿普通に＿休息している」及び「良好な＿健康状態＿疲労している」というハンドルを有する基準統計モデルと比較する。この結果、最もよくマッチしたものが接触認識の推定結果となる。
【００６８】
本発明による無線装置１００内の健康維持アプリケーションプログラムは、この認識結果を使用し、有用且つ適切な情報をユーザーに提供することができる。例えば、健康維持プログラムは、この認識結果を処理し、それに応答して、ユーザーに警告を発すると共に、感知された疲労を緩和するための薬剤について通知することができる。自動認識プログラムに伴う問題点の１つは、それらのプログラム自体が無線装置１００のメモリ容量と比べて大きかったり、それらのプログラムが呼び出すデータベースがメモリ容量と比べて大きかったりすることである。
【００６９】
本発明の別の態様においては、この認識結果を使用し、リモートサーバー内の補助的なアプリケーションプログラムが更なる詳細且つ有用で適切な情報をユーザーに提供可能である。例えば、このサーバーは、感知されたユーザーの疲労を緩和する薬剤情報に関する大きなデータベースにアクセスすることができる。そして、データベースの検索結果を無線装置１００に返すことができる。又、このサーバーは、ユーザーの特性と嗜好に関するパーソナルプロファイルを保持することもでき、データベースに対する問い合わせを自動生成する際に、このプロファイルを使用可能である。即ち、例えば、通知した薬剤によってユーザーにアレルギー反応が生じることのないように、ユーザーの薬剤アレルギー情報をサーバーのデータベースに保存することができるのである。
【００７０】
図２Ａは、無線装置１００、サーバー１４０、ウェブサーバー１６０の機能ブロックダイアグラムであり、これらの間でメタデータベクトル１３８及びプライバシー制御データ１５０’を交換する際のやり取りが示されている。これらの交換は、ＤＥＳ（Data Encryption Standard）などの対称セッションキーによってバルク暗号化されており、データのプライバシーが保護されている。メタデータベクトル１３８とプライバシー制御データ１５０’の完全性を保証するべく、前出のジョン・ワイリー・アンド・サンズ社（John Wiley and Sons）から２０００年に出版されたステファン・トーマス（Stephen Thomas）による「ＳＳＬとＴＬＳ（SSL and TLS）」という名称の書籍に記述されているように、ＭＡＣ（message authentication code）を算出し、データに添付することができる。メタデータベクトル１３８及びプライバシー制御データ１５０’のソースを保証するべく、前出のアディソン・ウェスリー社（Addison Wesley）から１９９７年に出版されたリチャードＥ．スミス（Richard E. Smith）による「インターネット暗号法（Internet Cryptography）」という名称の書籍に記述されているように、デジタル署名をデータに添付可能である。
【００７１】
図２Ａには、状況識別の実装を分散させたものが示されている。無線装置１００は、ダウンロードされるか或いはファームウェアの状態にある状況に応じたアプリケーションＡ、Ｂ、Ｘ、及びＹを備えている。この無線装置１００は、ネットワークサーバー１４０内の状況推定エンジン１４２（これは、データを処理し、生成された現在の状況を返送する能力を有している）に送信する前に、メタデータベクトル１３８内の状況情報の一部をローカルに事前処理することができる。又、無線装置１００は、状況に応じたサービスをモバイルユーザーに提供するためにウェブサービスサーバー１６０へのアクセスを必要とするアプリケーションプログラムを実行することも可能である。
【００７２】
図２Ａには、センサからのセンサデータの無線装置１００における処理を無線装置とネットワークサーバー１４０間で分散させる方法が示されている。この図２Ａの動作は、次のとおりである。
【００７３】
（１）センサがセンサデータを無線装置１００内の状況推定エンジン１３６に継続的に供給する。
【００７４】
（２）アプリケーションプログラムが状況識別ＡＰＩ１５４を利用して最新の状況情報を要求する（即ち、特定の状況情報の変化を受信するべく、アプリケーションプログラムを登録することができる）。
【００７５】
（３）状況推定エンジン１３６は、ネットワークサーバー１４０の状況推定エンジン１４２と安全にコンタクトし、メタデータベクトル１３８をサーバー１４０に送信する。センサ及び実装の詳細に応じて、状況推定エンジン１３６は、この送信の前に、メタデータベクトル１３８内のセンサデータの一部を事前処理することができる。又、センサと処理インターバルに応じて、状況推定エンジン１３６と状況推定エンジン１４２間に頻繁なデータ交換用の仮想的な接続を設けることも可能である。ネットワークサーバー１４０内の状況推定エンジン１４２は、メタデータベクトル１３８内の事前処理されたセンサデータの演算集約的及び／又はメモリ集約的な処理を実行して現在の状況に関する結果情報を生成するための処理能力とメモリ容量を備えている。
【００７６】
（４）ネットワークサーバー１４０内の状況推定エンジン１４２は、モバイルユーザーの現在の状況をより正確に判定するべく、ユーザーデータベース１４６内に保存されているローカルユーザー情報（履歴情報、顧客に関する詳細情報）を利用することができる。
【００７７】
（５）ネットワークサーバー１４０内の状況推定エンジン１４２は、無線装置１００内の状況推定エンジン１３６に現在の状況に関する識別情報を安全に返す。
【００７８】
（６）無線装置１００内の状況推定エンジン１３６は、情報を受信するべく登録されているアプリケーションプログラムに対し、この現在の状況に関する識別情報を状況識別ＡＰＩ１５４を介して提供する。
【００７９】
図２Ａには、ウェブサービスサーバー１６０内のウェブサービスが無線装置１００の現在の状況の推定結果を受信できるようにする方法が示されている。ウェブサービスサーバー１６０は、図２に示されている無線装置１００内のソフトウェアシステムＳＳＩ及び実行環境（Exec.Env.）に類似したサーバーアプリケーションプログラムＡ用のソフトウェアシステムとサーバーアプリケーションプログラムＸ及びＹ用の実行環境を備えている。これらのウェブサービスサーバー１６０内のサーバーアプリケーションプログラムＡ、Ｘ、及びＹは、無線装置１００の現在の状況をウェブサービスに提供するために状況識別ＡＰＩを介したアクセスを必要とすることがある。
【００８０】
図２Ａにおいて、ウェブサービスサーバー１６０は、状況推定クライアント１７６を使用してネットワークサーバー１４０内の状況推定サーバー１７４にコンタクトする。状況推定クライアント１７６は、データベース１８４内の顧客データベース情報を利用してウェブサーバー１６０の状況感知能力を向上させることができる。このネットワークサーバー１４０へのコンタクトは、ネットワークサーバー１４０内の状況推定サーバー１７４に対する状況識別インターフェイス１８６を介して実行される。
【００８１】
状況推定サーバー１７４は、ネットワークサーバー１４０のプライバシー制御１６４を介して、ウェブサーバー１６０のウェブサービスを状況推定エンジン１４２に登録する。プライバシー制御１６４は、無線装置１００のプライバシープロファイル１５２のキャッシュされた複写１４４を備えている。これにより、ネットワークサーバー１４０において、ウェブサーバー１６０からのアクセス要求に対するプライバシーチェック処理を実行することができる。ウェブサーバー１６０とネットワークサーバー１４０間の通信は、ＨＴＴＰＳやＳＳＬなどのインターネット保護プロトコルによって保護されている。状況推定サーバー１７４は、独自のサービスをウェブサービスとしてインターネット上のその他のウェブサーバーに公開可能であり、この場合に、ウェブサーバー１６０とネットワークサーバー１４０間のインターフェイス１８６は、ＳＯＡＰ（Simple Object Access Protocol）メッセージングプロトコルで搬送されるＸＭＬ（Extensible Markup Language）メッセージによって実装可能である。
【００８２】
ネットワークサーバー１４０内の状況推定エンジン１４２は、処理済のセンサメタデータベクトル１３８と、場合によっては、多少のアプリケーションＡＰＩ情報と、を無線装置１００の状況推定エンジン１３６から受信する。このネットワークサーバーの状況推定エンジン１４２は、ユーザーの行動と無線装置の過去の使用状況に関するユーザーデータベース１４６情報を備えている。又、このネットワークサーバーの状況推定エンジン１４２は、潜在的なユーザーに提供するべく、サードパーティのサービス（コンテンツ及び／又はサービスを提供するものなど）を備えることもできる。又、ユーザーに提供する内容をユーザープロファイル１４４によって変化させることも可能である。無線装置１００の状況推定エンジン１３６からネットワークの状況推定エンジン１４２に伝達される情報の特性は、無線装置１００のユーザーが管理するプライバシー制御１５０によって制御可能である。従って、ユーザーは、ネットワークの状況推定エンジン１４２を完全に又は部分的に無効にして、サードパーティのサービスが使用可能な彼／彼女の情報量を制御することができる。即ち、ユーザーは、プライバシー制御１５０により、彼／彼女のプライベート情報に対する第三者のアクセスを制御できるのである。
【００８３】
無線装置の状況推定エンジン１３６は、無線装置１００内に位置しているアプリケーションＡ、Ｂ、Ｘ、又はＹからＡＰＩインターフェイス１５４を介して入力を受信する。２５分後に会議が始まることを示すカレンダアプリケーションプログラムからの入力が、この一例である。更なる例としては、カレンダアプリケーションプグラムは、あなたが参加する予定のリサの誕生日が明日であることも通知してくれる。無線装置の状況推定エンジン１３６は、ネットワークサーバーの状況推定エンジン１４２に対し、処理済の結果情報を伝達することができる。この場合に、無線装置の状況推定エンジン１３６の意思決定においては、センサ情報に加えて、アプリケーションＡ、Ｂ、Ｘ、又はＹからの情報を使用することもできる。即ち、センサ情報とアプリケーションプログラムＡ、Ｂ、Ｘ、又はＹからの情報の組み合わせを状況推定エンジン１３６によって処理できるのである。アプリケーションプログラムの使用状況に関連し、ユーザーの行動又は使用パターンをセンサから検出してユーザーデータベースに記録することができる。前述のように、このセンサ及びアプリケーションプログラムからの情報の組み合わせの処理を状況推定エンジン１３６と状況推定エンジン１４２間で分担することができる。無線装置１００で稼動中のアプリケーションＡ、Ｂ、Ｘ、及びＹ、或いはウェブサーバー１６０において稼動中のサーバーアプリケーションプログラムＡ、Ｘ、及びＹは、任意選択により、ネットワークサーバー１４０内の状況推定エンジン１４２にもアプリケーションデータを提供することができる。状況推定エンジン１４２は、任意選択により、メタデータベクトル１３８及びアプリケーションデータを処理して現在の状況を生成可能である。
【００８４】
無線装置の状況推定エンジン１３６からネットワークサーバーの状況推定エンジン１４２への情報の転送は、複数の代替方法によって実行可能である。無線装置１００及びネットワークサーバー１４０間における現在の使用状況と転送容量を考慮し、システムを管理することができる。状況情報は、常に頻繁に収集する必要はない（例えば、数秒ごとに定期的にネットワーク側１４０に転送しなければならないというものではない）。アプリケーションに応じて、無線装置１００の状況推定エンジン１３６からサーバー１４０の状況推定エンジン１４２への情報転送に適用するタイミングウィンドウを秒単位のものから分単位のものに変化させることができる。無線装置１００の環境にイベントや状態の変化がない場合には、サーバー１４０の状況推定エンジン１４２に情報を転送する必要はない。又、情報を無線装置１００内のバッファ内に一時保存しておき、この情報を低頻度でネットワークの状況推定エンジン１４２に転送することも可能である。パケットベースのＧＰＲＳ及びＵＭＴＳは、低頻度の情報転送レートをサポート可能である。又、無線装置１００からネットワークの方向に実行されたその他のシグナリングに続いてネットワークの状況推定エンジン１４２用の情報を無線装置１００から添付として送信することにより、状況推定エンジン１３６の情報のネットワークサーバー１４０への別途の転送用の無線装置１００の無線送信機の別途の電源投入を省略することが有利である。
【００８５】
図１を再度参照すれば、ネットワークサーバー１４０、ＵＤＤＩ（Universal Desription、Discovery and Integration）レジストリ１７０、及ぶ複数のウェブサイトサーバー１６０間の関係が示されている。ＵＤＤＩは、インターネットベースのレジストリの実質的な業界標準である。このＵＤＤＩレジストリ１７０により、ネットワークサーバー１４０は、インターネット上のサービス及びビジネス用の新規のウェブサイトを発見することができる。このようなサービス及びビジネスがＵＤＤＩレジストリ１７０によって識別された場合には、ネットワークサーバー１４０は、それら新規に発見されたウェブサイト上のアプリケーションプログラムによるユーザープライベートデータへの非認可のアクセスを防止するべく、図２Ａのモバイルユーザーのキャッシュされているプライバシープロファイル１４４を適用しなければならない。
【００８６】
図３は、無線装置１００の現在の状況を判定する際の無線装置１００（左の列）、ネットワークサーバー１４０（中央の列）、及びウェブサーバー１６０（右の列）間のやり取りを示すネットワークプロセスフローチャートである。このプロセスは、無線装置１００のステップ３０２から始まっている。
【００８７】
（ステップ３０２）無線装置１００内のプライバシー制御１５０は、更新済みのプライバシープロファイルをネットワークサーバー１４０に送信する。
【００８８】
次いで、ネットワークサーバー１４０がステップ３０４を実行する。
【００８９】
（ステップ３０４）ネットワークサーバー１４０は、キャッシュされているプライバシープロファイル１４４を更新する。
【００９０】
次いで、無線装置１００は、後続のステップ３０６、３０８、及び３１０を実行する。
【００９１】
（ステップ３０６）センサが、無線装置１００内の状況推定エンジン１３６に対してセンサデータを継続的に供給する。
【００９２】
（ステップ３０８）アプリケーションプログラムは、状況識別ＡＰＩ１５４を使用して最新の状況情報を要求する。
【００９３】
（ステップ３１０）状況推定エンジン１３６は、ネットワークサーバー１４０の状況推定エンジン１４２とコンタクトし、メタデータベクトル１３８をサーバー１４０に送信する。
【００９４】
次いで、ネットワークサーバー１４０は、ステップ３１２及び３１４を実行する。
【００９５】
（ステップ３１２）ネットワークサーバー１４０内の状況推定エンジン１４２は、ユーザーデータベース１４６内に保存されているローカルユーザー情報を使用し、モバイルユーザーの現在の状況をより正確に判定する。
【００９６】
（ステップ３１４）ネットワークサーバー１４０は、ウェブサーバー１６０に対してデータを要求する。
【００９７】
このネットワークサーバーのアクセスは、ネットワークサーバー内にキャッシュされているプライバシープロファイル１４４によって認可される。
【００９８】
次いで、ウェブサーバー１６０は、ステップ３１６を実行する。
【００９９】
（ステップ３１６）ウェブサーバーは、データベース１８４内に保存されているユーザー情報をネットワークサーバー１４０に提供する。
【０１００】
次いで、ネットワークサーバー１４０は、ステップ３１８を実行する。
【０１０１】
（ステップ３１８）ネットワークサーバー１４０内の状況推定エンジン１４２は、無線装置１００内の状況推定エンジン１３６に対して現在の状況認識情報を安全に返す。
【０１０２】
次いで、無線装置１００は、ステップ３２０において終了する。
【０１０３】
（ステップ３１８）無線装置１００内の状況推定エンジン１３６は、情報を受信するべく登録されているアプリケーションプログラムに対し、状況識別ＡＰＩ１５４を介して現在の状況識別情報を提供する。
【０１０４】
図４は、ネットワークサーバー１４０の機能ブロックダイアグラムであり、本発明の動作の実行に必要なアプリケーションサービスソフトウェアプログラムを保存するメモリ４０２が示されている。このメモリは、バス４０４により、キャッシュ１４４、ユーザーデータベース１４６、ＴＣＰ／ＩＰネットワークアダプタ４０６、及び中央プロセッサ４１０に接続されている。メモリ４０２は、プロセッサ４１０によって実行された際に本発明の方法を実行する実行形式命令のシーケンスであるプログラムを保存している。
【０１０５】
図４は、ネットワークサーバーの機能ブロックダイアグラムであり、本発明の実施例の動作の実行に必要なアプリケーションサービスソフトウェアプログラムを保存するメモリが示されている。図４には、オブジェクトモデルとして構成された模範的なネットワークサーバー１４０の機能コンポーネントが開示されている。オブジェクトモデルとは、オブジェクト指向のソフトウェアプログラムをネットワークサーバー１４０内の主要機能及びアプリケーションを実行するコンポーネントにグループ化したものである。このネットワークサーバー１４０のメモリ４０２のオブジェクトモデルにおいては、プレゼンテーションティア４１５、インフラストラクチャオブジェクトパーティション４２２、及びビジネスロジックティア４１４からなる３つのティアアーキテクチャが採用されている。そして、このオブジェクトモデルでは、ビジネスロジックティア４１４が、アプリケーションオブジェクトパーティション４２２とデータオブジェクトパーティション４２６という２つのパーティションに更に分割されている。
【０１０６】
プレゼンテーションティア４１５は、ネットワークサーバー１４０に対する装置インターフェイスを管理するプログラムを保持している。図４においては、プレゼンテーションティア４１５は、ネットワークインターフェイス４２０を含んでいる。このプレゼンテーションティア４１５の好適な実装は、Ｊａｖａ（登録商標）サーブレットを使用し、ＨＴＴＰ（Hypertext Transfer Protocol）を介してＷＡＰプロトコルゲートウェイ１２０とやり取りするものである。これらのＪａｖａ（登録商標）サーブレットは、ＷＡＰプロトコルゲートウェイ１２０とネットワークサーバー１４０間におけるメッセージ交換を管理する要求／応答サーバー内で稼動する。Ｊａｖａ（登録商標）サーブレットとは、Ｗｅｂサーバー環境内で稼動するＪａｖａプログラムのことである。Ｊａｖａ（登録商標）サーブレットは、要求を入力として取得してそのデータを解析し、論理演算を実行した後に、応答をＷＡＰプロトコルゲートウェイ１２０に返す。Ｊａｖａ（登録商標）ランタイムプラットフォームは、複数のＪａｖａ（登録商標）サーブレットをプールしておき、多数の要求に対して同時にサービスする。ネットワークインターフェイス４２０は、ＷＡＰプロトコルゲートウェイ１２０から要求メッセージを受信し、更なる処理を実行するべく、要求内の情報をビジットオブジェクト４２８に渡す。ビジットオブジェクト４２８は、ＷＡＰプロトコルゲートウェイ１２０に返送するべく、処理結果をネットワークインターフェイス４２０に渡す。又、ネットワークインターフェイス４２０は、ネットワークアダプタ４０６を使用して別のユーザー装置とデータ交換することも可能である。
【０１０７】
インフラストラクチャオブジェクトパーティション４２２は、ビジネスロジックティア４１４に代わって管理及びシステム機能を実行するプログラムを保持している。このインフラストラクチャオブジェクトパーティション４２２には、オペレーティングシステム４２５、データベースサーバーインターフェイス用のオブジェクト指向ソフトウェアプログラムコンポーネント４３０、及びシステム管理者インターフェイス４３２が含まれている。
【０１０８】
図４のビジネスロジックティア４１４には、ビジットオブジェクトの複数のインスタンス４２８、４２８’、４２８’’が含まれている。ビジットオブジェクト４２８の別個の各インスタンスは、それぞれのネットワークインターフェイス４２０のセッションごとに存在している。それぞれのビジットオブジェクト４２８は、１回のやり取りやメソッド呼び出しの際だけでなく、セッションの開始から終了に至るまで持続的な記憶領域を含むステートフルなセッションオブジェクトである。この持続的な記憶領域には、セッションに関連する情報が保持される。
【０１０９】
ＷＡＰプロトコルゲートウェイ１２０がメタデータベクトル１３８メッセージをネットワークサーバー１４０に送信すると、このメッセージは、ネットワークインターフェイス４２０に送信され、ビジットオブジェクト４２８を作成し接続情報を状態としてビジットオブジェクト４２８に保存するメソッドが呼び出される。そして、ビジットオブジェクト４２８は、状況推定エンジン１４２のアプリケーション４４０内のメソッドを呼び出してメタデータベクトルに基づいて状況推定を実行し、現在の状況に関する結果を返すことができる。
【０１１０】
ＷＡＰプロトコルゲートウェイ１２０がプライバシー制御データ１５０’メッセージをネットワークサーバー１４０に送信すると、このメッセージは、ネットワークインターフェイス４２０に送信され、ビジットオブジェクト４２８を生成し接続情報を状態としてビジットオブジェクト４２８に保存するメソッドが呼び出される。そして、ビジットオブジェクト４２８は、プライバシー制御１６４のアプリケーション４４２内のメソッドを呼び出し、キャッシュされているプライバシープロファイル１４４を更新することができる。アプリケーション４４２は、プライバシープロファイル更新アプリケーション４４８に対してメソッド呼び出しを実行し、更新済みのデータ１５０’をキャッシュ１４４内に保存する。
【０１１１】
ＷＡＰプロトコルゲートウェイ１２０がユーザーデータ更新メッセージをネットワークサーバー１４０に送信すると、このメッセージは、ネットワークインターフェイス４２０に送信され、ビジットオブジェクト４２８を生成し接続情報を状態としてビジットオブジェクト４２８に保存するメソッドが呼び出される。そして、ビジットオブジェクト４２８は、ユーザーデータベースアプリケーション４４６内のメソッドを呼び出し、ユーザーデータをデータベース１４６内に保存することができる。
【０１１２】
Enterprise Java Beansによって開発されたサーバープログラミングアプリケーションについては、１９９９年にジョン・ワイリー・アンド・サンズ社（John Wiley and Sons）から出版されたエド・ロマン（Ed Roman）による「Enterprise Java Beansの習得（Mastering Enterprise Java Beans）」という名称の書籍に記述されている。サーバーアプリケーションの設計におけるオブジェクトモデルの使用法については、２０００年にロックス・プレス社（Wrox Press Inc.）から出版されたマシュー・レイノルズ（Matthew Reynolds）による「Ｅコマースを始める（Beginning E-Commerce）」という名称の書籍（ISBN:1861003986）に記述されている。Ｊａｖａ（登録商標）サーブレットとウェブサイトサーバーの開発については、２０００年にマニング・パブリケーションズ社（Manning Publications Co.）から出版されたデュアンＫ．フィールズ（Duane K. Fields）他による「Ｊａｖａ（登録商標）サーバー頁によるウェブ開発（Web Developments with Java Server Pages）」という書籍に記述されている。
【０１１３】
状況に応じたウェブサービスに関する本発明により、携帯電話又は無線装置１００は、状況推定技法を使用してユーザーの環境を感知し、これに応答し、感知されたユーザー環境に適した有用な情報をユーザーに提供することができる。そして、モバイルユーザーには、ネットワーク内に存在するアプリケーションプログラムによるユーザープライベートデータへのアクセスを制御する機能が提供される。
以上、本発明の特定の実施例について開示したが、当業者であれば、本発明の精神と範囲を逸脱することなく、これらの特定の実施例に変更を加えることが可能であることを理解するであろう。
【図面の簡単な説明】
【０１１４】
【図１】本発明のネットワーク図であり、ユーザーのＷＡＰ（Wireless Application Protocol）に対応した携帯型無線装置、インターネットに対するＷＡＰプロトコルゲートウェイ、ネットワークサーバー、ＵＤＤＩ（Universal Description, Discovery and Integration）レジストリ、及び複数のウェブサイト間の関係の一例を示している。
【図１Ａ】「状況に応じたサービス」メニューのサブメニューである「プライバシー機能の更新」を有するユーザーの無線装置を示しており、ユーザーは、このサブメニューにより、「あなたのプライバシープロファイルの更新」と「あなたの個人情報の更新」を実行することができる。
【図１Ｂ】「状況に応じたサービス」メニューのサブメニューである「プライバシー機能の更新」を有するユーザーの無線装置を示しており、ユーザーは、このサブメニューにより、「プログラムの認証」と「プログラムの登録」を実行することができる。
【図１Ｃ−１Ｄ】「状況に応じたサービス」メニューのサブメニューである「アプリケーションの実行」を有するユーザーの無線装置を示しており、ユーザーは、このサブメニューにより、「アプリケーションの実行」を行うことができる。
【図２】無線装置１００の機能ブロックダイアグラムであり、その様々なコンポーネントとプログラムが示されている。
【図２Ａ】無線装置１００、サーバー１４０、及びウェブサーバー１６０の機能ブロックダイアグラムであり、メタデータベクトル１３８及びプライバシー制御データ１５０を交換する際のそれらの間のやり取りが示されている。
【図３】無線装置１００の現在の状況に関する判定を実行する際の無線装置１００、ネットワークサーバー１４０、及びウェブサーバー１６０間のやり取りを示すネットワークプロセスフローチャートである。
【図４】ネットワークサーバー１４０の機能ブロックダイアグラムであり、本発明の動作を実行するのに必要なアプリケーションサービスソフトウェアプログラムを保存するメモリを示している。
【図１】
2004535000.tif 000003
【図１Ａ】
2004535000.tif 000004
【図１Ｂ】
2004535000.tif 000005
【図１Ｃ】
2004535000.tif 000006
【図１Ｄ】
2004535000.tif 000007
【図２】
2004535000.tif 000008
【図２Ａ】
2004535000.tif 000009
【図３】
2004535000.tif 000010
【図４】
2004535000.tif 000011
【国際公開パンフレット】
2004535000.tif 000012
2004535000.tif 000013
2004535000.tif 000014
2004535000.tif 000015
2004535000.tif 000016
2004535000.tif 000017
2004535000.tif 000018
2004535000.tif 000019
2004535000.tif 000020
2004535000.tif 000021
2004535000.tif 000022
2004535000.tif 000023
2004535000.tif 000024
2004535000.tif 000025
2004535000.tif 000026
2004535000.tif 000027
2004535000.tif 000028
2004535000.tif 000029
2004535000.tif 000030
2004535000.tif 000031
2004535000.tif 000032
2004535000.tif 000033
2004535000.tif 000034
2004535000.tif 000035
2004535000.tif 000036
2004535000.tif 000037
2004535000.tif 000038
2004535000.tif 000039
2004535000.tif 000040
2004535000.tif 000041
2004535000.tif 000042
2004535000.tif 000043
2004535000.tif 000044
2004535000.tif 000045
2004535000.tif 000046
2004535000.tif 000047
2004535000.tif 000048
2004535000.tif 000049
2004535000.tif 000050
2004535000.tif 000051
2004535000.tif 000052
2004535000.tif 000053
2004535000.tif 000054
2004535000.tif 000055
2004535000.tif 000056
【国際調査報告】
2004535000.tif 000057