(57)【要約】【課題】シャットダウン後にワイヤレス装置の位置を決定する装置及び方法を提供する。【解決手段】周期的に非付勢状態を出て位置データを送信するワイヤレスデータ処理装置が開示される。ワイヤレスデータ処理装置は、その１つの実施形態において、ワイヤレスデータ処理装置を付勢状態又は非付勢状態に維持するための電源回路であって、ワイヤレスデータ処理装置がユーザ入力に応答して非付勢状態に入るようにさせる電源回路と、所定時間に達するのに応答してワイヤレス装置又はその一部分を周期的にパワーアップするタイマーと、１つ以上の指定の位置決定技術を使用してワイヤレスデータ処理装置の現在位置を決定する位置サービスモジュールと、１つ以上の指定の通信チャンネルを経てワイヤレス装置の現在位置を送信する送信スレッドと、を備え、前記電源回路は、現在位置が送信された後にワイヤレスデータ処理装置を２回目にパワーダウンさせる。【選択図】図１Ａ
2020074530.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレス装置の位置を自動的に送信するためのコンピュータで具現化される方法において、
ワイヤレスデータ処理装置をパワーダウンする段階と、
所定の時間に達するのに応答して前記ワイヤレスデータ処理装置又はその一部分を一時的にパワーアップする段階と、
１つ以上の指定の位置決定技術を使用して前記ワイヤレスデータ処理装置の現在位置を決定する段階と、
１つ以上の指定の通信チャンネルを経て前記ワイヤレス装置の現在位置を送信する段階と、
前記現在位置が送信された後に前記ワイヤレスデータ処理装置を２回目にパワーダウンする段階と、
を備えた方法。
【請求項２】
前記ワイヤレス装置は、前記ワイヤレスデータ処理装置の現在位置を送信するために、限定された容量でのみパワーアップされる、請求項１に記載の方法。
【請求項３】
前記限定された容量は、前記ワイヤレス装置の現在位置を決定して送信するためにワイヤレス無線及び１つ以上のソフトウェアモジュールを付勢するものである、請求項２に記載の方法。
【請求項４】
前記現在位置を決定する段階は、グローバルポジショニングシステム（ＧＰＳ）信号をＧＰＳロジックで受信して処理し、前記ワイヤレス装置の現在位置を決定することを含む、請求項１に記載の方法。
【請求項５】
前記特定の通信チャンネルの１つは、前記ワイヤレス装置がその現在位置を送信するところのサーバーアドレスを含む、請求項１に記載の方法。
【請求項６】
前記特定の通信チャンネルの１つは、前記ワイヤレス装置がその現在位置をｅ−メールメッセージで送信するところのｅ−メールアドレスを含む、請求項１に記載の方法。
【請求項７】
前記特定の通信チャンネルの１つは、前記ワイヤレス装置がその現在位置を送信するところのショートメッセージサービス（ＳＭＳ）通信チャンネルを含む、請求項１に記載の方法。
【請求項８】
前記特定の通信チャンネルの１つは、前記ワイヤレス装置がその現在位置を送信するところのインスタントメッセージを含む、請求項１に記載の方法。
【請求項９】
前記ワイヤレスデータ処理装置を最初にパワーダウンする際に、セキュリティコードをエンターする選択肢をユーザに与える段階と、
前記セキュリティコードがエンターされない場合だけ前記方法の残りの動作を遂行する段階と、
を備えた請求項１に記載の方法。
【請求項１０】
ワイヤレスデータ処理装置を付勢状態又は非付勢状態に維持するための電源回路であって、ワイヤレスデータ処理装置がユーザ入力に応答して非付勢状態に入るようにさせる電源回路と、
所定時間に達するのに応答してワイヤレス装置又はその一部分を周期的にパワーアップするタイマーと、
１つ以上の指定の位置決定技術を使用して前記ワイヤレスデータ処理装置の現在位置を決定する位置サービスモジュールと、
１つ以上の指定の通信チャンネルを経て前記ワイヤレス装置の現在位置を送信する送信スレッドと、
を備え、前記電源回路は、前記現在位置が送信された後に前記ワイヤレスデータ処理装置を２回目にパワーダウンする、ワイヤレスデータ処理装置。
【請求項１１】
前記ワイヤレス装置は、前記ワイヤレスデータ処理装置の現在位置を送信するために、限定された容量でのみパワーアップされる、請求項１０に記載のワイヤレスデータ処理装置。
【請求項１２】
前記限定された容量は、前記ワイヤレス装置の現在位置を決定して送信するためにワイヤレス無線及び１つ以上のソフトウェアモジュールを付勢するものである、請求項１１に記載のワイヤレスデータ処理装置。
【請求項１３】
前記現在位置を決定することは、グローバルポジショニングシステム（ＧＰＳ）信号をＧＰＳロジックで受信して処理し、前記ワイヤレス装置の現在位置を決定することを含む、請求項１０に記載のワイヤレスデータ処理装置。
【請求項１４】
前記特定の通信チャンネルの１つは、前記ワイヤレス装置がその現在位置を送信するところのサーバーアドレスを含む、請求項１０に記載のワイヤレスデータ処理装置。
【請求項１５】
前記特定の通信チャンネルの１つは、前記ワイヤレス装置がその現在位置をｅ−メールメッセージで送信するところのｅ−メールアドレスを含む、請求項１０に記載のワイヤレスデータ処理装置。
【請求項１６】
前記特定の通信チャンネルの１つは、前記ワイヤレス装置がその現在位置を送信するところのショートメッセージサービス（ＳＭＳ）通信チャンネルを含む、請求項１０に記載のワイヤレスデータ処理装置。
【請求項１７】
前記特定の通信チャンネルの１つは、前記ワイヤレス装置がその現在位置を送信するところのインスタントメッセージを含む、請求項１０に記載のワイヤレスデータ処理装置。
【請求項１８】
前記ワイヤレスデータ処理装置を最初にパワーダウンする際に、セキュリティコードをエンターする選択肢をユーザに与えるセキュリティロジックを更に備え、
前記送信スレッドは、前記セキュリティコードがエンターされない場合だけ前記ワイヤレスデータ処理装置の位置を送信する、請求項１０に記載のワイヤレスデータ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、コンピュータネットワーキングの分野に関するもので、より特定すれば、本発明は、シャットダウン後にワイヤレス装置の位置を決定する改良された装置及び方法に関する。
【背景技術】
【０００２】
ハンドヘルド及びポータブル装置の現在のセキュリティ特徴は、例えば、製品を紛失するか又は盗難にあった場合に、ユーザにより要求されたとき、製品の位置を識別することができる。しかしながら、この技術は、製品を紛失し／盗難にあいそしてその後に製品が（非通電状態に）スイッチオフされた場合には、制限がある。以下に述べる本発明の実施形態は、これらの状況においても装置を位置付ける付加的なセキュリティレイヤを追加するものである。
【０００３】
本発明は、添付図面を参照した以下の詳細な説明から良く理解されよう。
【図面の簡単な説明】
【０００４】
【図１Ａ】電源オフにした後にワイヤレス装置の位置を決定するための本発明の一実施形態を示す。
【図１Ｂ】シャットダウン後にワイヤレス装置の位置を決定するための本発明の別の実施形態を示す。
【図２】シャットダウン後にワイヤレス装置の位置を決定するための方法の一実施形態を示す。
【図３】本発明の一実施形態に使用されるアプリケーションプログラミングインターフェイスを示す。
【図４】本発明の一実施形態によりサービス及びオペレーティングシステムへインターフェイスする規範的なアプリケーションを示す。
【図５】本発明の実施形態が具現化されるデータ処理装置のアーキテクチャーを示す。
【図６】本発明の実施形態が具現化されるデータ処理装置の別のアーキテクチャーを示す。
【発明を実施するための形態】
【０００５】
ネットワーク上に一次及び／又はバックアップピア・ツー・ピア（Ｐ２Ｐ）通信チャンネルを確立し、維持しそして利用するための装置、方法及びマシン読み取り可能な媒体の実施形態を以下に説明する。Ｐ２Ｐセッションに対してユーザを招待し及びユーザをマッチングさせるための各々インビテーションサービス及びマッチメーカーサービスについても説明する。更に、ある指定の条件のもとでユーザがリレー接続を確立できるようにするリレーサービスも説明する。最後に、ここに述べる種々の協力的オンライン特徴の利点を取り入れるアプリケーションをアプリケーション開発者が設計できるようにするアプリケーションフレームワーク及びそれに関連したアプリケーションプログラミングインターフェイス（ＡＰＩ）について説明する。
【０００６】
本発明を完全に理解するために、説明全体を通して、説明上、多数の特定の細部について述べる。しかしながら、当業者であれば、それら特定の細部の幾つかがなくても本発明を実施できることが明らかであろう。他の点では、本発明の基本的な原理を不明瞭にしないために、良く知られた構造及び装置は図示しないか、又はブロック図形態で図示する。
【０００７】
シャットダウン後にワイヤレス装置の位置を決定する装置及び方法
以下に述べる本発明の実施形態は、（本出願の譲受人により設計された）ｉＰａｄ（登録商標）又はｉＰｈｏｎｅ（登録商標）のようなワイヤレス装置が、最初にシャットダウンされた後に、自動的にターンオン状態に戻り、それらの位置情報を送信し、そして再びターンオフすることができるようにする。本発明の１つの実施形態において、ワイヤレス装置のパワーダウンシーケンス中に（例えば、ｉＰｈｏｎｅの「ロック及びホーム」ボタンをホールドしてパワーダウンスクリーンに入った後に）ソフトウェア又はハードウェアがアクチベートし、シャットダウンセキュリティコードをエンターしてシャットダウンの前に位置セキュリティ特徴をディスエイブルするか、又はシャットダウン中にそのコードをバイパスしてそれら特徴をアクチベートするかのオプションが現れる。１つの実施形態において、指定回数の試みの後に正しいコードをエンターすることに失敗すると、ここに述べるセキュリティ特徴が自動的にアクチベートして、ワイヤレス装置をシャットダウンする。
【０００８】
１つの実施形態において、アクチベートされたときに、装置の現在位置が指定の１組の通信チャンネル（例えば、ｅ−メール、指定のネットワークアドレス、テキストメッセージ、等）を経て周期的に送信され、その後に、装置は、次の送信のための時間までパワーダウンする。装置の現在位置を送信する頻度は、エンドユーザによって指定されてもよいし、ソフトウェア／ファームウェアで自動的にセットされてもよい。又、エンドユーザには、ここに述べる特徴をディスエイブルするオプションが与えられてもよい。１つの実施形態では、位置送信は、ユニットがユーザにより手動でパワーアップされるとき、及び／又は１つの自動的パワーアップの間にセキュリティコードが入力されるとき、そのセキュリティコードが適切にエンターされるまで続けられる。
【０００９】
図１Ａは、（例えば、グローバルポジショニングシステム（ＧＰＳ）信号１１０を使用して）移動装置の現在位置を決定するための位置サービスモジュール１０５と、移動装置の位置を周期的に送信するための送信スレッド１０６と、この送信スレッド１０６を周期的にウェイクさせるタイマーモジュール１０７とを備えた移動装置１２０の一実施形態を示す。示されたように、タイマー１０７は、エンドユーザ１１２により構成された頻度で送信スレッド１０６をウェイクさせるようにプログラムされる。１つの実施形態において、装置のオペレーティングシステム１０４のセキュリティコンポーネント１１４は、周期的な送信をディスエイブルするのに要求されるセキュリティコードを管理し、そして正しいセキュリティコードがエンターされるまで送信スレッド１０６及びタイマー１０７をアクチベートする。この実施形態では、ＯＳ１０４及び全てのシステムコンポーネント１０５−１０７は、移動装置のプロセッサ１００により実行されるソフトウェアとして具現化される。
【００１０】
装置パワーダウン後に動作すると、タイマー１０７は、送信スレッド１０６を周期的にウェイクさせる。次いで、送信スレッド１０６は、位置サービスモジュール１０５から移動装置１２０の現在位置を検索し、そしてその現在位置を、ワイヤレストランシーバ１５０を経て、１つ以上の通信チャンネル１５５にわたって送信する。１つの実施形態では、通信チャンネル（これもエンドユーザにより指定される）は、ｅ−メールアドレス１５０、インスタントメッセージングアドレス１５１、ショートメッセージサービス（ＳＭＳ）メッセージ１５２、及び／又はサーバーアドレス１５３を含む。
【００１１】
例えば、ｅ−メールが使用される場合には、装置の現在位置がｅ−メールの主題行又は本体内に記憶され、そしてユーザ指定ｅ−メールアドレスへ送られる。インスタントメッセージングが使用される場合には、装置１２０は、（ユーザによって指定された）インスタントメッセージングサービスへ自動的にログインし、そしてインスタントメッセージをユーザのＩＭアカウントへ送信する。ＳＭＳが使用される場合には、送信スレッドが移動装置１２０のＳＭＳアプリケーションを呼び出し、指定の電話番号へＳＭＳメッセージを送信する。サーバーアドレスが使用される場合には、送信スレッドは、（例えば、ＸＭＬドキュメントのような）予め指定された通信フォーマットを使用してサーバーへ（例えば、特定のユニフォームリソースロケータ（ＵＲＬ）へ）装置の現在位置を送信する。ユーザは、別のワイヤレス装置又はコンピュータを使用してサーバーへログインし、移動装置の現在位置を決定する。或いは又、サーバーは、装置の現在位置をユーザの別のワイヤレス装置又はコンピュータへプッシュアウトしてもよい。
【００１２】
図１Ｂに示す本発明の別の実施形態では、位置サービスモジュール１１５、放送モジュール１１６、タイマーモジュール１１７、及びセキュリティモジュール１２４は、全て、ハードウェアとして具現化される（例えば、移動装置のプロセッサ１１０内の付加的な回路及び／又はファームウェアとして、或いは個別のサポート回路を使用して）。ハードウェアで具現化されることはさておき、これらのモジュール１１５−１１７、１２４により遂行されるファンクションは、図１Ａを参照して上述したものと同じである。種々の付加的な又は別の具現化も意図される。
【００１３】
１つの実施形態において、移動装置１２０が位置情報を送信するためにターンオンするときに、装置は、完全な通電状態に復帰しない。例えば、装置のディスプレイは、オフのままである。更に、ここに述べる特徴を具現化するのに要求されるハードウェア及び／又はソフトウェアコンポーネントだけがアクチベートされる（バッテリの電力を節約するために）。例えば、図１Ａに示すソフトウェア具現化では、位置サービスモジュール１０５、送信スレッド１０６及びタイマー１０７を実行するのに要求されるオペレーティングシステム１０４のコンポーネントだけが実行される。図１Ｂに示すハードウェア具現化では、装置の現在位置を決定しそして通信チャンネルを経てその位置情報を送信するのに要求されるファームウェア及び回路のみがアクチベートされる（例えば、セルラー又はＷｉＦｉ無線のような）。
【００１４】
１つの実施形態において、周期的な位置送信が行われることを指示するために特殊なグラフィックが移動装置のディスプレイに表示される。或いは又、装置がその位置を送信する間にディスプレイがオフのままでもよい。更に、ユーザがシャットダウンコードをエンターしてセキュリティ特徴をディスエイブルできるようにするオプションが設けられてもよい。１つの実施形態において、コードがエンターされると、スクリーンがターンオンして、位置セキュリティサービスが適切にディスエイブルされたことを示すことができる。
【００１５】
シャットダウンコードは、移動装置１２０の通常のアンロックコードと同じでもよいし又は異なってもよい。このコードは、ニューメリック又はアルファニューメリック、メカニカルコード（特定のボタン押圧シーケンス）、タッチスクリーンコード（視覚キューを伴ったり伴わなかったりしてタッチスクリーン上にパターンを描く）、ボイスアクチベートコード、或いはＱＲコード（登録商標）／２Ｄバーコード又は１Ｄバーコードの写真を撮影することを伴うカメラコードである。１つの実施形態において、上述したセキュリティ特徴は、移動装置がオンボードコンパスに対して特定の方向にある間に対象物の写真を撮ることによりディスエイブルされてもよい。
【００１６】
更に、２部分又は多部分認証が具現化されてもよい。第１の認証段階中に、スクリーンは、オフのままであるか、オンのままであるがキューを与えないか、或いはコードをエンターするためにグラフィックが表示されてもよい。第１の認証が完了した後に、ユニットは、第２の認証を要求してもよい（例えば、ディスプレイをターンオンしてグラフィックを表示するか、振動させるか、ＱＲコード（登録商標）が要求される場合にはカメラをターンオンするか、或いはスピーカを通してボイスで刺激することにより）。
【００１７】
１つの実施形態において、ここに述べる技術は、移動装置で「リモートワイプ」を遂行するハードウェア及び／又はソフトウェアと組み合わせて使用されてもよい。例えば、１つの実施形態において、移動装置１２０は、許可サーバーがウェイクアップしたときにそれにログインする。次いで、許可サーバーは、全てのユーザ繊細データを削除するようにリモート装置に命令するか（エンドユーザによりそれを行うように事前に命令された場合）、或いはここに述べるセキュリティソフトウェアをディスエイブルするように命令する。又、移動装置１２０は、自動的にパワーオンしてその位置を送信するときにはユーザからの許可をチェックする。次いで、ユーザは、セキュリティソフトウェアをリモート位置からディスエイブルするか、又はユニットがその位置情報を送信する頻度を変更してもよい。
【００１８】
上述した幾つかの実施形態では、コードが要求されるという視覚指示を与えるが、１つの実施形態では、シャットダウン後にユニットが追跡されることを当事者に警告するのを回避するために視覚指示は与えられない。誤ったコードがエンターされると、ワイヤレス装置は、（完全なシャットダウンではなくて）ディスプレイがターンオフされるが、依然位置情報を送信するサブ状態に留まり、正しいコードをエンターすることができる。ワイヤレス装置は、このサブ状態に連続的に留まってもよいし、又は特定の時間周期で（例えば、１時間ごとに最初の５−１０分に）パワーオンしてこのサブ状態に入るようにセットされてもよい。ここに述べるソフトウェア／ハードウェアは、アンロックの試みを特定回数失敗した特定の時間後に装置をロックアウトしてもよく、又、アンロックの試みを特定回数失敗した後にユーザ繊細データ（又は全てのデータ）を一掃するように構成されてもよい。
【００１９】
１つの実施形態において、位置データを捕捉するため情報が収集される。例えば、装置のカメラ（１つ又は複数）は、自動的に写真を撮って、１つ以上の通信チャンネルを経て写真を送信するように構成される。１つの実施形態において、移動装置は、その最終的な位置、及びそれにアタッチされたコンピュータのＩＰアドレスをマスターリセットの直前に（即ち、セキュリティソフトウェアが依然アクチベートされるときに）送信するように構成される。
【００２０】
パワーダウンの後にワイヤレス装置の位置を送信するための方法の１つの実施形態が図２に示されている。２０１において、タイマー、及び送信を行う通信チャンネルがユーザ入力に基づいてプログラムされる。例えば、ユーザは、パワーダウンした後に１５分ごとに装置がウェイクアップしてｅ−メールを経てサーバーへ位置メッセージを送信することを指定する。２０２において、装置がパワーダウンした後に、タイマーは、送信スレッド及び無線トランシーバをウェイクアップするためのウェイクアップ信号を発生する。２０３において、送信スレッドは、（例えば、位置サービスモジュール１１５から）その現在位置を決定し、そして２０４において、送信スレッドは、指定の通信チャンネルを経てその現在位置を送信する。
【００２１】
本発明の一実施形態は、高周波識別（ＲＦＩＤ）及び／又は近フィールド技術（ＮＦＣ）を、高い解像度で装置を位置付けるための「ホーニング(honing)」として使用する。例えば、１つの実施形態において、他の装置（図示せず）は、ＲＦＩＤ及び／又はＮＦＣを使用して、移動装置１２０と通信してそれを識別し、次いで、移動装置１２０のアイデンティティを１つ以上の通信チャンネルを経て送信する。この実施形態の移動装置１２０は、図１Ｂに示す全てのコンポーネントを完全に通電する必要がなく、バッテリが消費されるときに装置を位置付けできるようにする。
【００２２】
位置データに加えて、本発明の１つの実施形態では、ユーザ情報でエンコードされたハードウェア特有のシリアル番号が送信される（従って、例えば、サーバーは、位置情報を通信すべきユーザを識別することができる）。更に、前記概念を使用して、システムのある部分をアクチベートして、移動装置１２０を容易に位置付けることができる。例えば、ＲＦＩＤ／ＮＦＣを使用して、ハードウェア信号をアクチベートしてシステムのオーディオ部分をイネーブルし、装置を位置付ける上で役立つようにすることができる（例えば、ＲＦＩＤ／ＮＦＣを使用して通信する移動装置１２０又は他の装置からオーディオ信号を発生することにより）。
【００２３】
異なるＡＰＩ実施形態
ここに述べる異なる実施形態に含まれるアプリケーションプログラミングインターフェイス（ＡＰＩ）は、ソフトウェアコンポーネント（以下、「ＡＰＩ具現化ソフトウェアコンポーネント」）により具現化されるもので、このソフトウェアコンポーネントは、異なるソフトウェアコンポーネント（以下、「ＡＰＩコーリングソフトウェアコンポーネント」）がＡＰＩ具現化ソフトウェアコンポーネントにより与えられる１つ以上のファンクション、方法、手順、データ構造、及び／又は他のサービスにアクセスしてそれを使用できるようにするものである。例えば、ＡＰＩは、ＡＰＩコーリングソフトウェアコンポーネントの開発者（第三者の開発者）がＡＰＩ具現化ソフトウェアコンポーネントにより与えられる指定の特徴をレバレッジできるようにする。１つのＡＰＩコーリングソフトウェアコンポーネントがあってもよいし、又は２つ以上のそのようなソフトウェアコンポーネントがあってもよい。ＡＰＩは、ソフトウェアアプリケーションからのサービス要求をサポートするためにコンピュータシステム又はプログラムライブラリが与えるソースコードインターフェイスである。ＡＰＩは、データをメモリにおいてどのようにレイアウトするかの明確な低レベル記述ではなく、アプリケーションを構築するときに解釈型であるか又はコンパイル型であるプログラミング言語に関して指定することができる。
【００２４】
ＡＰＩは、ＡＰＩ具現化ソフトウェアコンポーネントの指定の特徴にアクセスしてそれを使用するときにＡＰＩコーリングソフトウェアコンポーネントが使用する言語及びパラメータを定義する。例えば、ＡＰＩコーリングソフトウェアコンポーネントは、ＡＰＩにより露出される１つ以上のＡＰＩコール（時々ファンクション又はメソッドコールと称される）を通してＡＰＩ具現化ソフトウェアコンポーネントの指定の特徴にアクセスする。ＡＰＩ具現化ソフトウェアコンポーネントは、ＡＰＩコーリングソフトウェアコンポーネントからのＡＰＩコールに応答してＡＰＩを通して値を返送する。ＡＰＩはＡＰＩコールのシンタックス及び結果（例えば、ＡＰＩコールをどのように呼び出すか及びＡＰＩコールが何を行うか）を定義するが、ＡＰＩは、典型的に、ＡＰＩコールがＡＰＩコールにより指定されたファンクションをどのように遂行するか明らかにしない。コーリングソフトウェア（ＡＰＩコーリングソフトウェアコンポーネント）とＡＰＩ具現化ソフトウェアコンポーネントとの間で１つ以上のアプリケーションプログラミングインターフェイスを経て種々のファンクションコール又はメッセージが転送される。ファンクションコール又はメッセージを転送することは、ファンクションコール又はメッセージを発行し、開始し、呼び出し、コールし、受信し、返送し、又は応答することを含む。従って、ＡＰＩコーリングソフトウェアコンポーネントは、コールを転送し、そしてＡＰＩ具現化ソフトウェアコンポーネントは、コールを転送することができる。
【００２５】
例えば、ＡＰＩ具現化ソフトウェアコンポーネント２０１０及びＡＰＩコーリングソフトウェアコンポーネントは、オペレーティングシステム、ライブラリ、装置ドライバ、ＡＰＩ、アプリケーションプログラム、又は他のソフトウェアモジュールである（ＡＰＩ具現化ソフトウェアコンポーネント及びＡＰＩコーリングソフトウェアコンポーネントは、互いに同じ形式のソフトウェアモジュールでもよいし又は異なる形式のソフトウェアモジュールでもよいことを理解されたい）。ＡＰＩコーリングソフトウェアコンポーネントは、ＡＰＩを通りネットワークを経てＡＰＩ具現化ソフトウェアコンポーネントと通信するローカルソフトウェアコンポーネント（即ち、ＡＰＩ具現化ソフトウェアコンポーネントと同じデータ処理システムにおける）又はリモートソフトウェアコンポーネント（即ち、ＡＰＩ具現化ソフトウェアコンポーネントとは異なるデータ処理システムにおける）である。又、ＡＰＩ具現化ソフトウェアコンポーネントは、ＡＰＩコーリングソフトウェアコンポーネントとして働いてもよく（即ち、異なるＡＰＩ具現化ソフトウェアコンポーネントにより露出されるＡＰＩへＡＰＩコールを行ってもよく）、そしてＡＰＩコーリングソフトウェアコンポーネントも、異なるＡＰＩコーリングソフトウェアコンポーネントに露出されるＡＰＩを具現化することによりＡＰＩ具現化ソフトウェアコンポーネントとして働いてもよいことを理解されたい。
【００２６】
ＡＰＩは、異なるプログラミング言語で書かれた複数のＡＰＩコーリングソフトウェアコンポーネントがＡＰＩ具現化ソフトウェアコンポーネントと通信できるようにする（従って、ＡＰＩは、ＡＰＩ具現化ソフトウェアコンポーネントとＡＰＩコーリングソフトウェアコンポーネントとの間でコール及び返送を変換する特徴を含む）が、ＡＰＩは、特定のプログラミング言語に関して具現化される。
【００２７】
図３は、ＡＰＩ３２０を具現化するＡＰＩ具現化ソフトウェアコンポーネント３１０（例えば、オペレーティングシステム、ライブラリ、装置ドライバ、ＡＰＩ、アプリケーションプログラム又は他のソフトウェアモジュール）を含むＡＰＩアーキテクチャーの１つの実施形態を示す。ＡＰＩ３２０は、ＡＰＩコーリングソフトウェアコンポーネント３３０により使用されるＡＰＩ具現化ソフトウェアコンポーネントの１つ以上のファンクション、メソッド、クラス、オブジェクト、プロトコル、データ構造、フォーマット、及び／又は他の特徴を指定する。ＡＰＩ３２０は、ＡＰＩ具現化ソフトウェアコンポーネントのファンクションがＡＰＩコーリングソフトウェアコンポーネントからパラメータをどのように受け取るか及びそのファンクションがＡＰＩコーリングソフトウェアコンポーネントへ結果をどのように返送するか指定する少なくとも１つのコーリング規定を指定することができる。ＡＰＩコーリングソフトウェアコンポーネント３３０（例えば、オペレーティングシステム、ライブラリ、装置ドライバ、ＡＰＩ、アプリケーションプログラム又は他のソフトウェアモジュール）は、ＡＰＩ３２０により指定されたＡＰＩ具現化ソフトウェアコンポーネント３１０の特徴にアクセスして使用するためにＡＰＩ３２０を通してＡＰＩコールを発する。ＡＰＩ具現化ソフトウェアコンポーネント３１０は、ＡＰＩコールに応答して、ＡＰＩ３２０を通してＡＰＩコーリングソフトウェアコンポーネント３３０へ値を返送する。
【００２８】
ＡＰＩ具現化ソフトウェアコンポーネント３１０は、ＡＰＩ３２０を通して指定されず且つＡＰＩコーリングソフトウェアコンポーネント３３０にも利用できない付加的なファンクション、メソッド、クラス、データ構造、及び／又は他の特徴を含むことが明らかである。ＡＰＩコーリングソフトウェアコンポーネント３３０は、ＡＰＩ具現化ソフトウェアコンポーネント３１０と同じシステムにあってもよいし、又はリモート位置にあって、ネットワークを経てＡＰＩ３２０を使用してＡＰＩ具現化ソフトウェアコンポーネント３１０にアクセスしてもよいことを理解されたい。図３は、ＡＰＩ３２０と対話する単一のＡＰＩコーリングソフトウェアコンポーネント３３０を示すが、ＡＰＩコーリングソフトウェアコンポーネント３３０とは異なる言語（又は同じ言語）で書かれた他のＡＰＩコーリングソフトウェアコンポーネントがＡＰＩ３２０を使用してもよいことを理解されたい。
【００２９】
ＡＰＩ具現化ソフトウェアコンポーネント３１０、ＡＰＩ３２０、及びＡＰＩコーリングソフトウェアコンポーネント３３０は、マシン（例えば、コンピュータ又は他のデータ処理システム）により読み取り可能な形態で情報を記憶するためのメカニズムを含むマシン読み取り可能な媒体に記憶される。例えば、マシン読み取り可能な媒体は、磁気ディスク、光学ディスク、ランダムアクセスメモリ、リードオンリメモリ、フラッシュメモリ装置、等を含む。
【００３０】
図４（「ソフトウェアスタック」）の規範的実施形態において、アプリケーションは、多数のサービスＡＰＩを使用してサービス１又は２へ及び多数のＯＳ  ＡＰＩを使用してオペレーティングシステム（ＯＳ）へコールを発する。サービス１及び２は、多数のＯＳＡＰＩを使用してＯＳへコールを発することができる。
【００３１】
サービス２は、２つのＡＰＩを有し、その一方（サービス２  ＡＰＩ  １）は、アプリケーション１からコールを受け取って値を返送し、そしてその他方（サービス２  ＡＰＩ２）は、アプリケーション２からコールを受け取って値を返送することに注意されたい。サービス１（例えば、ソフトウェアライブラリ）は、ＯＳ  ＡＰＩ  １へコールを発しそしてそこから返送値を受け取り、サービス２（例えば、ソフトウェアライブラリ）は、ＯＳ  ＡＰＩ  １及びＯＳ  ＡＰＩ  ２の両方へコールを発しそしてそこから返送値を受け取る。アプリケーション２は、ＯＳ  ＡＰＩ  ２へコールを発しそしてそこから返送値を受け取る。
【００３２】
規範的なデータ処理装置
図５は、本発明のある実施形態に使用される規範的なコンピュータシステムのブロック図である。図５は、コンピュータシステムの種々のコンポーネントを示すが、コンポーネントを相互接続する特定のアーキテクチャー又は仕方を表わすことを意図していないことを理解されたい。というのは、そのような細部は本発明にとって重要でないからである。又、より少ないコンポーネント又はより多くのコンポーネントを有する他のコンピュータシステムも本発明に使用できることが明らかである。
【００３３】
図５に示すように、ある形式のデータ処理システムであるコンピュータシステム５００は、処理システム５２０、電源５２５、メモリ５３０、及び不揮発性メモリ５４０（例えば、ハードドライブ、フラッシュメモリ、相変化メモリ（ＰＣＭ）、等）に結合されたバス５５０（１つ又は複数）を備えている。バス５５０は、この分野で良く知られた種々のブリッジ、コントローラ、及び／又はアダプタを通して互いに接続される。処理システム５２０は、メモリ５３０及び／又は不揮発性メモリ５４０からインストラクションを検索し、そしてそのインストラクションを実行して、上述した動作を遂行する。バス５５０は、前記コンポーネントを一緒に相互接続すると共に、それらのコンポーネントを、任意のドック５６０、ディスプレイコントローラ＆ディスプレイ装置５７０、入力／出力装置５８０（例えば、ＮＩＣ（ネットワークインターフェイスカード）、カーソルコントロール（例えば、マウス、タッチスクリーン、タッチパッド、等）、キーボード、等）、並びに任意のワイヤレストランシーバ５９０（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＷｉＦｉ、赤外線、等）へ相互接続もする。
【００３４】
図６は、本発明のある実施形態に使用される規範的なデータ処理システムを示すブロック図である。例えば、データ処理システム６００は、ハンドヘルドコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、移動電話、ポータブルゲームシステム、ポータブルメディアプレーヤ、タブレット、或いは移動電話、メディアプレーヤ及び／又はゲームシステムを含むハンドヘルドコンピューティング装置である。別の例として、データ処理システム６００は、ネットワークコンピュータ、又は別の装置内に埋め込まれた処理装置である。
【００３５】
本発明の１つの実施形態によれば、データ処理システム６００の規範的アーキテクチャーは、上述した移動装置に対して使用される。データ処理システム６００は、１つ以上のマイクロプロセッサ、及び／又は集積回路上のシステムを含む処理システム６２０を備えている。この処理システム６２０は、メモリ６１０、電源６２５（１つ以上のバッテリを含む）、オーディオ入力／出力６４０、ディスプレイコントローラ及びディスプレイ装置６６０、任意の入力／出力６５０、入力装置６７０、及びワイヤレストランシーバ６３０に結合される。又、図６に示されていない付加的なコンポーネントが、本発明のある実施形態では、データ処理システム６００の一部分でもよいし、又、本発明のある実施形態では、図６に示したものより少ないコンポーネントが使用されてもよいことが明らかであろう。更に、この分野で良く知られたように、図６に示されていない１つ以上のバスを使用して種々のコンポーネントを相互接続できることも明らかであろう。
【００３６】
メモリ６１０は、データ処理システム６００により実行するためのデータ及び／又はプログラムを記憶する。オーディオ入力／出力６４０は、例えば、スピーカ及びマイクロホンを通して音楽を再生し及び／又は電話機能を与えるためにマイクロホン及び／又はスピーカを備えている。ディスプレイコントローラ及びディスプレイ装置６６０は、グラフィックユーザインターフェイス（ＧＵＩ）を備えている。ワイヤレス（例えば、ＲＦ）トランシーバ６３０（例えば、ＷｉＦｉトランシーバ、赤外線トランシーバ、Ｂｌｕｅｔｏｏｔｈ（登録商標）トランシーバ、ワイヤレスセルラー電話トランシーバ、等）は、他のデータ処理システムと通信するのに使用される。１つ以上の入力装置６７０は、ユーザがシステムへ入力を与えることができるようにする。これらの入力装置は、キーパッド、キーボード、タッチパネル、マルチタッチパネル、等である。任意の他の入力／出力６５０は、ドックのコネクタである。
【００３７】
本発明の実施形態は、上述した種々のステップを含む。それらのステップは、汎用又は特殊目的プロセッサが幾つかのステップを遂行するようにさせるマシン実行可能なインストラクションにおいて実施される。或いは又、それらのステップは、ステップを遂行するためのハードワイヤードロジックを含む特定のハードウェアコンポーネントにより遂行されるか、或いはプログラムされたコンピュータコンポーネント及びカスタムハードウェアコンポーネントの組み合わせにより遂行される。
【００３８】
又、本発明の要素は、マシン実行可能なプログラムコードを記憶するためのマシン読み取り可能な媒体として提供されてもよい。マシン読み取り可能な媒体は、フロッピー（登録商標）ディスケット、光学的ディスク、ＣＤ−ＲＯＭ、磁気光学ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光学カード、或いは電子プログラムコードを記憶するのに適した他の形式の媒体／マシン読み取り可能な媒体を含むが、これに限定されない。
【００３９】
以上、本発明を完全に理解するために、多数の特定の細部について述べた。しかしながら、当業者であれば、それらの特定の細部が幾つかなくても、本発明を実施できることが明らかであろう。例えば、当業者であれば、ここに述べた機能的モジュール及び方法は、ソフトウェア、ハードウェア又はその組み合わせとして具現化できることが容易に明らかであろう。更に、本発明の実施形態は、ここでは（移動装置１２０−１２３；６０１−６０３を使用して）移動コンピューティング環境の中で説明したが、本発明の基本的な原理は、移動コンピューティング具現化に限定されない。例えば、デスクトップ又はワークステーションコンピュータを含むある実施形態では、実質上、いかなる形式のクライアント又はピアデータ処理装置が使用されてもよい。従って、本発明の範囲及び精神は、特許請求の範囲に関して判断されるべきである。
【符号の説明】
【００４０】
１００：移動装置のプロセッサ
１０５：位置サービスモジュール
１０６：送信スレッド
１０７：タイマーモジュール
１１０：ＧＰＳ信号
１１２：エンドユーザ
１１４：セキュリティコンポーネント
１１５：位置サービスモジュール
１１６：放送モジュール
１１７：タイマーモジュール
１２０：移動装置
１２４：セキュリティモジュール
１５０：ワイヤレストランシーバ
１５０：ｅ−メールアドレス
１５１：インスタントメッセージングアドレス
１５２：ショートメッセージサービス（ＳＭＳ）メッセージ
１５３：サーバーアドレス
１５５：通信チャンネル
５００：コンピュータシステム
５２０：処理システム
５２５：電源
５３０：メモリ
５４０：不揮発性メモリ
５５０：バス
５６０：ドック
５７０：ディスプレイコントローラ＆ディスプレイ装置
５８０：入力／出力装置
５９０：ワイヤレストランシーバ
６００：データ処理システム
６１０：メモリ
６２０：処理システム
６２５：電源
６３０：ワイヤレストランシーバ
６４０：オーディオ入力／出力
６６０：ディスプレイコントローラ＆ディスプレイ装置
６７０：入力装置
【図１Ａ】
2020074530.tif 000003
【図１Ｂ】
2020074530.tif 000004
【図２】
2020074530.tif 000005
【図３】
2020074530.tif 000006
【図４】
2020074530.tif 000007
【図５】
2020074530.tif 000008
【図６】
2020074530.tif 000009
【外国語明細書】
2020074530000001.pdf