(57)【要約】  コンピュータベースのアプリケーションの遠隔起動のための方法およびシステムは、アプリケーションが起動されるべきことを遠隔コンピュータに通知するために、シンプルメッセージサービス(SMS)メッセージを使用する。SMSメッセージは、携帯電話によってまたはコンピュータから送ることができる。遠隔コンピュータは、SMSメッセージを受け取り、そのメッセージを構文解析してアプリケーションが始動されるべきことを決定し、指示されたアプリケーションを始動する。遠隔コンピュータがオフにされた場合、SMSメッセージは、アプリケーションを起動することができるように、コンピュータを始動するように構成されうるモデム内のSMS受信機によって受け取ることができる。
2012524953.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータベースのアプリケーションを起動するための方法であって、
コンピュータでシンプルメッセージサービス(SMS)メッセージを受け取る段階と、
前記SMSメッセージを構文解析する段階と、
アプリケーションが始動されるべきことを前記SMSメッセージ内のデータから決定する段階と、
前記SMSメッセージ内のアプリケーション識別子を、前記コンピュータで使用可能なアプリケーションに対する識別子と比較して、どのアプリケーションが始動されるべきかを決定する段階と、
前記アプリケーションを起動する段階とを含む、方法。
【請求項２】
前記アプリケーションを起動するより前に前記コンピュータを始動する段階をさらに含む、請求項1に記載の方法。
【請求項３】
前記SMSメッセージ内の送信された認証値を、前記コンピュータのメモリ内の格納された認証値と比較することによって、前記SMSメッセージを認証する段階をさらに含み、前記SMSメッセージが認証された場合にのみ前記アプリケーションを起動する段階が行われる、請求項1に記載の方法。
【請求項４】
前記SMSメッセージ内の前記アプリケーション識別子、メモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成する段階と、
前記生成した認証ハッシュを前記SMSメッセージ内の送信された認証値と比較する段階とによって、前記SMSメッセージを認証する段階をさらに含み、
前記SMSメッセージが認証された場合にのみ前記アプリケーションを起動する段階が行われる、請求項1に記載の方法。
【請求項５】
前記SMSメッセージ内のデータを前記起動されたアプリケーションに提供する段階をさらに含む、請求項1に記載の方法。
【請求項６】
SMSメッセージを送るユーザによる遠隔起動を行うことができるコンピュータであって、
プロセッサと、
シンプルメッセージサービス(SMS)受信機を含むモデムとを備え、
前記モデムは、SMSメッセージを受け取り、前記SMSメッセージを構文解析し、アプリケーションが起動されるべきことを前記SMSメッセージ内のデータから決定するように構成され、
前記プロセッサは、
前記SMSメッセージ内のアプリケーション識別子を前記コンピュータで使用可能なアプリケーションに対する識別子と比較して、どのアプリケーションが始動されるべきかを決定し、
前記アプリケーションを起動するように構成される、コンピュータ。
【請求項７】
前記モデムはさらに、前記コンピュータがシャットダウンしており、前記モデムが前記SMSメッセージ内のデータからアプリケーションが始動されるべきことを決定した場合、前記コンピュータを始動するように構成される、請求項6に記載のコンピュータ。
【請求項８】
前記モデムはさらに、前記SMSメッセージ内の送信された認証値を前記モデムのメモリ内の格納された認証値と比較することによって、前記SMSメッセージを認証するように構成され、前記SMSメッセージが認証された場合にのみ前記アプリケーションを起動することが行われる、請求項6に記載のコンピュータ。
【請求項９】
前記プロセッサはさらに、前記SMSメッセージ内の送信された認証値を前記コンピュータのメモリ内の格納された認証値と比較することによって、前記SMSメッセージを認証するように構成され、前記SMSメッセージが認証された場合にのみ前記アプリケーションを起動することが行われる、請求項6に記載のコンピュータ。
【請求項１０】
前記モデムはさらに、
前記SMSメッセージ内の前記アプリケーション識別子、メモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成すること、および、
前記生成した認証ハッシュを前記SMSメッセージ内の送信された認証値と比較することによって、前記SMSメッセージを認証するように構成され、
前記SMSメッセージが認証された場合にのみ前記アプリケーションを起動することが行われる、請求項6に記載のコンピュータ。
【請求項１１】
前記モデムはさらに、
前記SMSメッセージ内の前記アプリケーション識別子、モデムメモリ内の格納された認証値、および暗号化鍵に基づいて、前記モデム内に認証ハッシュを生成すること、および、
前記生成した認証ハッシュを前記SMSメッセージ内の送信された認証値と比較することによって、前記SMSメッセージを認証するように構成され、
前記SMSメッセージが認証された場合にのみ前記コンピュータの始動が行われる、請求項6に記載のコンピュータ。
【請求項１２】
前記コンピュータはさらに、前記SMSメッセージ内のデータを前記起動されたアプリケーションに提供するように構成された、請求項6に記載のコンピュータ。
【請求項１３】
SMSメッセージを送るユーザによる遠隔起動を行うことができるコンピュータであって、
前記コンピュータでシンプルメッセージサービス(SMS)メッセージを受け取るための手段と、
前記SMSメッセージを構文解析するための手段と、
前記SMSメッセージ内のデータに基づいて、アプリケーションが始動されるべきことを決定するための手段と、
前記SMSメッセージ内のアプリケーション識別子を、前記コンピュータで使用可能なアプリケーションに対する識別子と比較して、どのアプリケーションが始動されるべきかを決定するための手段と、
前記アプリケーションを起動するための手段とを含む、コンピュータ。
【請求項１４】
アプリケーションが始動されるべきことを決定するための前記手段による決定に応答して前記コンピュータを始動するための手段をさらに含む、請求項13に記載のコンピュータ。
【請求項１５】
前記SMSメッセージ内の送信された認証値を前記コンピュータのメモリ内の格納された認証値と比較することによって、前記SMSメッセージを認証するための手段をさらに含み、前記SMSメッセージが認証された場合にのみ前記アプリケーションを起動することが行われる、請求項13に記載のコンピュータ。
【請求項１６】
前記SMSメッセージ内の前記アプリケーション識別子、メモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成するための手段と、
前記生成した認証ハッシュを前記SMSメッセージ内の送信された認証値と比較するための手段とをさらに含み、
前記アプリケーションを起動するための前記手段は、前記生成した認証ハッシュを前記SMSメッセージ内の送信された認証値と比較するための前記手段から信号を受け取るように構成された、請求項13に記載のコンピュータ。
【請求項１７】
前記SMSメッセージ内のデータを前記起動されたアプリケーションに提供するための手段をさらに含む、請求項13に記載のコンピュータ。
【請求項１８】
コンピュータ実行可能命令を格納したコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、コンピュータが、
シンプルメッセージサービス(SMS)メッセージを受け取り、
前記SMSメッセージを構文解析し、
アプリケーションが始動されるべきことを前記SMSメッセージ内のデータから決定し、
前記SMSメッセージ内のアプリケーション識別子を前記コンピュータで使用可能なアプリケーションに対する識別子と比較して、どのアプリケーションが始動されるべきかを決定し、
前記アプリケーションを起動するようにする、コンピュータ可読記憶媒体。
【請求項１９】
前記コンピュータ可読媒体に格納された前記コンピュータ命令はさらに、前記コンピュータが、前記SMSメッセージ内の送信された認証値を前記コンピュータのメモリ内の格納された認証値と比較することによって、前記SMSメッセージを認証するようにする、請求項18に記載のコンピュータ可読媒体。
【請求項２０】
前記コンピュータ可読媒体に格納された前記コンピュータ命令はさらに、前記コンピュータが、
前記SMSメッセージ内の前記アプリケーション識別子、メモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成すること、および、
前記生成した認証ハッシュを前記SMSメッセージ内の送信された認証値と比較することによって、前記SMSメッセージを認証するようにする、請求項18に記載のコンピュータ可読媒体。
【請求項２１】
前記コンピュータ可読媒体に格納された前記コンピュータ命令はさらに、前記コンピュータが、前記SMSメッセージ内のデータを前記起動されたアプリケーションに提供するようにする、請求項18に記載のコンピュータ可読媒体。
【請求項２２】
ユーザが遠隔コンピュータ上のアプリケーションを起動することを可能にするための方法であって、
前記遠隔コンピュータを指し示し前記起動されるべきアプリケーションを特定するメッセージを前記ユーザから受け取る段階と、
前記遠隔コンピュータに結合されたSMSメッセージ受信機の電話番号をメモリから呼び出す段階と、
前記起動されるべきアプリケーションに対する識別子を含むSMSメッセージを生成する段階と、
前記SMSメッセージを、前記遠隔コンピュータに結合されたSMSメッセージ受信機の前記電話番号に、セルラ電話ネットワークを介して送る段階とを含む、方法。
【請求項２３】
前記起動されるべきアプリケーションに対する前記識別子をメモリから呼び出す段階をさらに含む、請求項22に記載の方法。
【請求項２４】
インターネットでアクセス可能なウェブページであって、前記遠隔コンピュータおよび起動されるべきアプリケーションをユーザが特定することを可能にするユーザインターフェースを提供するウェブページを生成する段階をさらに含み、
前記ユーザから前記メッセージを受け取る段階は、前記ウェブページに提供された前記ユーザインターフェースに対する応答を受け取る段階を含む、請求項22に記載の方法。
【請求項２５】
前記ユーザから前記メッセージを受け取る段階は、前記遠隔コンピュータを指し示し前記起動されるべきアプリケーションを特定するSMSメッセージを、セルラ電話から受け取る段階を含む、請求項22に記載の方法。
【請求項２６】
前記ユーザから前記メッセージを受け取る段階は、前記ユーザから電子メールを受け取る段階を含み、前記電子メールメッセージは、前記遠隔コンピュータおよび前記起動されるべきアプリケーションを特定する、請求項22に記載の方法。
【請求項２７】
送信された認証値を前記SMSメッセージに含める段階をさらに含む、請求項22に記載の方法。
【請求項２８】
前記起動されるべきアプリケーションの前記識別子、メモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成する段階と、
前記認証ハッシュを前記SMSメッセージに含める段階とをさらに含む、請求項22に記載の方法。
【請求項２９】
前記ユーザに認証資格情報を提供するように要求する段階と、
前記ユーザによって提供された認証資格情報を受け取る段階と、
前記ユーザによって提供された認証資格情報を前記SMSメッセージに含める段階とをさらに含む、請求項22に記載の方法。
【請求項３０】
ユーザが遠隔コンピュータ上のアプリケーションを起動することを可能にするためのサーバであって、
インターネット接続およびセルラ電話ネットワークに結合されたプロセッサと、
前記プロセッサに結合されたコンピュータ可読メモリとを備え、
前記プロセッサは、ソフトウェアにより、
前記遠隔コンピュータを特定し前記起動されるべきアプリケーションを特定するメッセージを前記ユーザから受け取り、
前記遠隔コンピュータに結合されたSMSメッセージ受信機の電話番号を、前記コンピュータ可読媒体メモリから呼び出し、
前記起動されるべきアプリケーションに対する識別子を含むシンプルメッセージシステム(SMS)メッセージを生成し、
前記SMSメッセージを、前記遠隔コンピュータに結合されたSMSメッセージ受信機の前記電話番号に、前記セルラ電話ネットワークを介して送るように構成された、サーバ。
【請求項３１】
前記プロセッサはさらに、前記起動されるべきアプリケーションに対する前記識別子を前記コンピュータ可読媒体メモリから呼び出すように構成された、請求項30に記載のサーバ。
【請求項３２】
前記プロセッサはさらに、インターネットでアクセス可能なウェブページであって、前記遠隔コンピュータおよび起動されるべきアプリケーションをユーザが特定することを可能にするユーザインターフェースを提供するウェブページを生成するようにソフトウェアにより構成され、
前記ユーザから受け取った前記メッセージは、前記ウェブページに提供された前記ユーザインターフェースに対する応答を含む、請求項30に記載のサーバ。
【請求項３３】
前記プロセッサはさらに、前記遠隔コンピュータを特定し前記起動されるべきアプリケーションを特定するSMSメッセージを、セルラ電話から受け取るようにソフトウェアにより構成された、請求項30に記載のサーバ。
【請求項３４】
前記プロセッサはさらに、前記ユーザから電子メールを受け取るようにソフトウェアにより構成され、前記電子メールメッセージは、前記遠隔コンピュータを特定し前記起動されるべきアプリケーションを特定する、請求項30に記載のサーバ。
【請求項３５】
前記プロセッサはさらに、送信された認証値を前記SMSメッセージに含めるようにソフトウェアにより構成された、請求項30に記載のサーバ。
【請求項３６】
前記プロセッサはさらに、ソフトウェアにより、
前記起動されるべきアプリケーションの前記識別子、メモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成し、
前記認証ハッシュを前記SMSメッセージに含めるように構成された、請求項30に記載のサーバ。
【請求項３７】
前記プロセッサはさらに、ソフトウェアにより、
前記ユーザに認証資格情報を提供するように要求し、
前記ユーザによって提供された認証資格情報を受け取り、
前記ユーザによって提供された認証資格情報を前記SMSメッセージに含めるように構成された、請求項30に記載のサーバ。
【請求項３８】
ユーザが遠隔コンピュータ上のアプリケーションを起動することを可能にするためのサーバであって、
前記遠隔コンピュータを指し示し前記起動されるべきアプリケーションを特定するメッセージを前記ユーザから受け取るための手段と、
前記遠隔コンピュータに結合されたSMSメッセージ受信機の電話番号を格納するための手段と、
前記遠隔コンピュータに結合された前記SMSメッセージ受信機の前記電話番号をメモリから呼び出すための手段と、
前記起動されるべきアプリケーションに対する識別子を含むSMSメッセージを生成するための手段と、
前記SMSメッセージを、前記遠隔コンピュータに結合されたSMSメッセージ受信機の前記電話番号に、セルラ電話ネットワークを介して送るための手段とを含む、サーバ。
【請求項３９】
インターネットでアクセス可能なウェブページであって、前記遠隔コンピュータおよび起動されるべきアプリケーションをユーザが特定することを可能にするユーザインターフェースを提供するウェブページを生成するための手段をさらに含み、
前記ユーザから前記メッセージを受け取るための手段は、前記ウェブページに提供された前記ユーザインターフェースに対する応答を受け取る、請求項38に記載のサーバ。
【請求項４０】
前記遠隔コンピュータを特定し前記起動されるべきアプリケーションを特定するSMSメッセージを、セルラ電話から受け取るための手段をさらに含む、請求項38に記載のサーバ。
【請求項４１】
前記ユーザから電子メールメッセージを受け取るための手段をさらに含み、前記電子メールメッセージは、前記遠隔コンピュータを特定し前記起動されるべきアプリケーションを特定する、請求項38に記載のサーバ。
【請求項４２】
送信された認証値を前記SMSメッセージに含めるための手段をさらに含む、請求項38に記載のサーバ。
【請求項４３】
前記起動されるべきアプリケーションの前記識別子、メモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成するための手段と、
前記認証ハッシュを前記SMSメッセージに含めるための手段とをさらに含む、請求項38に記載のサーバ。
【請求項４４】
前記ユーザに認証資格情報を提供するように要求するための手段と、
前記ユーザによって提供された認証資格情報を受け取るための手段と、
前記ユーザによって提供された認証資格情報を前記SMSメッセージに含めるための手段とをさらに含む、請求項38に記載のサーバ。
【請求項４５】
コンピュータ実行可能命令を格納するコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、サーバシステムが、
前記遠隔コンピュータを特定し前記起動されるべきアプリケーションを特定するメッセージを前記ユーザからメッセージを受け取り、
前記遠隔コンピュータに結合されたSMSメッセージ受信機の電話番号をメモリから呼び出し、
前記起動されるべきアプリケーションに対する識別子を含むSMSメッセージを生成し、
前記SMSメッセージを、前記遠隔コンピュータに結合されたSMSメッセージ受信機の前記電話番号に、セルラ電話ネットワークを介して送るようにする、コンピュータ可読記憶媒体。
【請求項４６】
前記コンピュータ可読記憶媒体に格納された前記コンピュータ命令はさらに、サーバシステムが、前記起動されるべきアプリケーションに対する前記識別子をメモリから呼び出すようにする、請求項45に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記コンピュータ可読記憶媒体に格納された前記コンピュータ命令はさらに、サーバシステムが、インターネットでアクセス可能なウェブページであって、前記遠隔コンピュータおよび起動されるべきアプリケーションをユーザが特定することを可能にするユーザインターフェースを提供するウェブページを生成するようにし、
前記ユーザから受け取った前記メッセージは、前記ウェブページに提供された前記ユーザインターフェースに対する応答を含む、請求項45に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記コンピュータ可読記憶媒体に格納された前記コンピュータ命令はさらに、サーバシステムが、前記遠隔コンピュータを特定し前記起動されるべきアプリケーションを特定するSMSメッセージをセルラ電話から受け取るようにする、請求項45に記載のコンピュータ可読記憶媒体。
【請求項４９】
前記コンピュータ可読記憶媒体に格納された前記コンピュータ命令はさらに、サーバシステムが、前記ユーザから電子メールを受け取るようにし、前記電子メールメッセージは、前記遠隔コンピュータを特定し前記起動されるべきアプリケーションを特定する、請求項45に記載のコンピュータ可読記憶媒体。
【請求項５０】
前記コンピュータ可読記憶媒体に格納された前記コンピュータ命令はさらに、サーバシステムが、送信された認証値を前記SMSメッセージに含めるようにする、請求項45に記載のコンピュータ可読記憶媒体。
【請求項５１】
前記コンピュータ可読記憶媒体に格納された前記コンピュータ命令はさらに、サーバシステムが、
前記起動されるべきアプリケーションの前記識別子、メモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成し、
前記SMSメッセージに前記認証ハッシュを含めるようにする、請求項45に記載のコンピュータ可読記憶媒体。
【請求項５２】
前記コンピュータ可読記憶媒体に格納された前記コンピュータ命令はさらに、サーバシステムが、
前記ユーザに認証資格情報を提供するように要求し、
前記ユーザによって提供された認証資格情報を受け取り、
前記ユーザによって提供された認証資格情報を前記SMSメッセージに含めるようにする、請求項45に記載のコンピュータ可読記憶媒体。
【請求項５３】
セルラ電話を使用して遠隔コンピュータ上のアプリケーションを起動するための方法であって、
前記セルラ電話上でシンプルメッセージサービス(SMS)メッセージを生成する段階であって、前記SMSメッセージは、前記起動されるべきアプリケーションに対する識別子を含む段階と、
前記SMSメッセージを、前記遠隔コンピュータに結合されたSMS受信機の電話番号に送る段階とを含む、方法。
【請求項５４】
前記起動されるべきアプリケーションに対する識別子を前記セルラ電話のメモリから呼び出す段階をさらに含む、請求項53に記載の方法。
【請求項５５】
前記起動されるべきアプリケーションの前記識別子、前記セルラ電話のメモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成する段階と、
前記SMSメッセージに前記認証ハッシュを含める段階とをさらに含む、請求項53に記載の方法。
【請求項５６】
前記セルラ電話のユーザに認証資格情報を提供するように促す段階と、
前記ユーザによって提供された認証資格情報を受け取る段階と、
前記ユーザによって提供された認証資格情報を前記SMSメッセージに含める段階とをさらに含む、請求項53に記載の方法。
【請求項５７】
リモートで起動されうるコンピュータアプリケーションのメニューをユーザに提示するユーザインターフェースを前記セルラ電話のディスプレイ上に表示する段階と、
前記ユーザから入力を受け取る段階と、
前記ユーザ入力、および前記ユーザインターフェースに提示されたメニューオプションに基づいて、前記SMSメッセージを生成する段階とをさらに含む、請求項53に記載の方法。
【請求項５８】
前記コンピュータに結合された前記SMS受信機の前記電話番号を前記セルラ電話のメモリから呼び出す段階をさらに含む、請求項57に記載の方法。
【請求項５９】
遠隔コンピュータ上のアプリケーションを起動することができるセルラ電話であって、
プロセッサと、
前記プロセッサに結合されたメモリ装置と、
前記プロセッサに結合された無線トランシーバとを備え、
前記プロセッサは、ソフトウェアにより、
前記起動されるべきアプリケーションに対する識別子を前記メモリ装置から呼び出し、
前記起動されるべきアプリケーションに対する前記識別子を含むシンプルメッセージサービス(SMS)メッセージを、前記セルラ電話上で生成し、
前記SMSメッセージを、前記遠隔コンピュータに結合されたSMS受信機の電話番号に、前記無線トランシーバを介して送るように構成された、セルラ電話。
【請求項６０】
前記プロセッサはさらに、ソフトウェアにより、
前記起動されるべきアプリケーションの前記識別子、前記セルラ電話のメモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成し、
前記SMSメッセージに前記認証ハッシュを含めるように構成された、請求項59に記載のセルラ電話。
【請求項６１】
前記プロセッサはさらに、ソフトウェアにより、
前記セルラ電話のユーザに認証資格情報を提供するように促し、
前記ユーザによって提供された認証資格情報を受け取り、
前記ユーザによって提供された認証資格情報を前記SMSメッセージに含めるように構成された、請求項59に記載のセルラ電話。
【請求項６２】
ディスプレイをさらに備え、
前記プロセッサはさらに、ソフトウェアにより、
リモートで起動されうるコンピュータアプリケーションのメニューをユーザに提示するユーザインターフェースを前記セルラ電話の前記ディスプレイ上に表示し、
前記ユーザから入力を受け取り、
前記ユーザ入力、および前記ユーザインターフェースに提示されたメニューオプションに基づいて、前記SMSメッセージを生成するように構成された、請求項59に記載のセルラ電話。
【請求項６３】
ディスプレイをさらに備え、
前記プロセッサはさらに、前記遠隔コンピュータに結合された前記SMS受信機の前記電話番号を前記メモリ装置から呼び出すようにソフトウェアにより構成された、請求項59に記載のセルラ電話。
【請求項６４】
プロセッサ実行可能命令を格納したプロセッサ可読記憶媒体であって、前記プロセッサ実行可能命令は、セルラ電話プロセッサが、
遠隔コンピュータ上で起動されるべきアプリケーションに対する識別子を含むシンプルメッセージサービス(SMS)メッセージを、前記セルラ電話上で生成し、
前記SMSメッセージを、前記遠隔コンピュータに結合されたSMS受信機の電話番号に送るようにする、プロセッサ可読記憶媒体。
【請求項６５】
前記プロセッサ可読記憶媒体に格納された前記プロセッサ命令はさらに、セルラ電話プロセッサが、前記起動されるべきアプリケーションに対する前記識別子を前記セルラ電話のメモリから呼び出すようにする、請求項64に記載のプロセッサ可読記憶媒体。
【請求項６６】
前記プロセッサ可読記憶媒体に格納された前記プロセッサ命令はさらに、セルラ電話プロセッサが、
前記起動されるべきアプリケーションの前記識別子、前記セルラ電話のメモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成し、
前記認証ハッシュを前記SMSメッセージに含めるようにする、請求項64に記載のプロセッサ可読記憶媒体。
【請求項６７】
前記プロセッサ可読記憶媒体に格納された前記プロセッサ命令はさらに、セルラ電話プロセッサが、
前記セルラ電話のユーザに認証資格情報を提供するように促し、
前記ユーザによって提供された認証資格情報を受け取り、
前記ユーザによって提供された認証資格情報を前記SMSメッセージに含めるようにする、請求項64に記載のプロセッサ可読記憶媒体。
【請求項６８】
前記プロセッサ可読記憶媒体に格納された前記プロセッサ命令はさらに、セルラ電話プロセッサが、
リモートで起動されうるコンピュータアプリケーションのメニューをユーザに提示するユーザインターフェースを前記セルラ電話のディスプレイ上に表示し、
前記ユーザから入力を受け取り、
前記ユーザ入力、および前記ユーザインターフェースに提示されたメニューオプションに基づいて、前記SMSメッセージを生成するようにする、請求項64に記載のプロセッサ可読記憶媒体。
【請求項６９】
前記プロセッサ可読記憶媒体に格納された前記プロセッサ命令はさらに、セルラ電話プロセッサが、前記遠隔コンピュータに結合された前記SMS受信機の前記電話番号を前記セルラ電話のメモリから呼び出す、請求項64に記載のプロセッサ可読記憶媒体。
【請求項７０】
セルラ電話であって、
前記セルラ電話上でシンプルメッセージサービス(SMS)メッセージを生成するための手段であって、前記SMSメッセージは、遠隔コンピュータ上で起動されるべきアプリケーションに対する識別子を含む手段と、
前記SMSメッセージを、前記遠隔コンピュータに結合されたSMS受信機の電話番号に送るための手段とを含む、セルラ電話。
【請求項７１】
前記起動されるべきアプリケーションに対する前記識別子を前記セルラ電話のメモリから呼び出すための手段をさらに含む、請求項70に記載のセルラ電話。
【請求項７２】
前記起動されるべきアプリケーションの前記識別子、前記セルラ電話のメモリ内の格納された認証値、および暗号化鍵に基づいて認証ハッシュを生成するための手段と、
前記SMSメッセージに前記認証ハッシュを含めるための手段とをさらに含む、請求項70に記載のセルラ電話。
【請求項７３】
前記セルラ電話のユーザに認証資格情報を提供するように促すための手段と、
前記ユーザによって提供された認証資格情報を受け取るための手段と、
前記ユーザによって提供された認証資格情報を前記SMSメッセージに含めるための手段とをさらに含む、請求項70に記載のセルラ電話。
【請求項７４】
リモートで起動されうるコンピュータアプリケーションのメニューをユーザに提示するユーザインターフェースを表示するための手段と、
前記ユーザから入力を受け取るための手段と、
前記ユーザ入力、および前記ユーザインターフェースに提示されたメニューオプションに基づいて、前記SMSメッセージを生成するための手段とをさらに含む、請求項70に記載のセルラ電話。
【請求項７５】
前記遠隔コンピュータに結合された前記SMS受信機の前記電話番号を前記セルラ電話のメモリから呼び出すための手段をさらに含む、請求項70に記載のセルラ電話。
【請求項７６】
シンプルメッセージサービス(SMS)受信機回路を備えるコンピュータモデム。
【請求項７７】
前記SMS受信機回路は、EVDO/CDMAモデムチップを備える、請求項76に記載のコンピュータモデム。
【請求項７８】
前記SMS受信機回路は、GSMモデムチップを備える、請求項76に記載のコンピュータモデム。
【請求項７９】
前記SMS受信機回路は、UMTSモデムチップを備える、請求項76に記載のコンピュータモデム。
【請求項８０】
前記SMS受信機回路は、SMSメッセージを受け取るように構成された無線ネットワーク受信モデム備える、請求項76に記載のコンピュータモデム。
【請求項８１】
受け取ったSMSメッセージを構文解析するようにソフトウェアにより構成されたプロセッサをさらに備える、請求項76に記載のコンピュータモデム。
【請求項８２】
受け取ったSMSメッセージを認証するようにソフトウェアにより構成されたプロセッサをさらに備える、請求項76に記載のコンピュータモデム。
【請求項８３】
前記プロセッサはさらに、アプリケーションが起動されるべきことを前記SMSメッセージ内のデータから決定するようにソフトウェアにより構成された、請求項81に記載のコンピュータモデム。
【請求項８４】
前記プロセッサは、ソフトウェアおよび回路により、さらに、アプリケーションが起動されるべきことを前記SMSメッセージ内のデータから前記プロセッサが決定した場合に、前記モデムが接続されたコンピュータを始動するように構成された、請求項83に記載のコンピュータモデム。
【請求項８５】
前記プロセッサに結合されたGPS受信機をさらに備え、前記プロセッサはさらに、ソフトウェアにより、
前記コンピュータモデムがその位置を報告すべきであることを前記SMSメッセージ内のデータから決定し、
前記GPS受信機から位置情報を受け取り、
接続されたコンピュータを起動することなく、前記位置情報を遠隔の宛先に報告するメッセージを送信するように構成された、請求項81に記載のコンピュータモデム。
【請求項８６】
前記プロセッサはさらに、更新された位置情報を前記遠隔の宛先に定期的に報告するようにソフトウェアにより構成された、請求項85に記載のコンピュータモデム。
【請求項８７】
前記プロセッサはさらに、SMSメッセージで前記位置情報を報告する前記メッセージを送信するようにソフトウェアにより構成された、請求項85に記載のコンピュータモデム。
【請求項８８】
前記遠隔の宛先は、前記受け取ったSMSメッセージに含まれる電話番号である、請求項85に記載のコンピュータモデム。
【請求項８９】
シンプルメッセージサービス(SMS)メッセージを受け取るための手段を含むコンピュータモデム。
【請求項９０】
受け取ったSMSメッセージを構文解析するための手段をさらに含む、請求項89に記載のコンピュータモデム。
【請求項９１】
アプリケーションが起動されるべきかどうかを前記SMSメッセージ内のデータから決定するための手段をさらに含む、請求項89に記載のコンピュータモデム。
【請求項９２】
アプリケーションが起動されるべきかどうかを決定するための前記手段が、アプリケーションが起動されるべきことを決定した場合に、前記モデムが接続されたコンピュータを始動するための手段をさらに含む、請求項91に記載のコンピュータモデム。
【請求項９３】
前記SMSメッセージを認証するための手段をさらに含む、請求項89に記載のコンピュータモデム。
【請求項９４】
前記コンピュータモデムがその位置を報告すべきであることを前記SMSメッセージ内のデータから決定するための手段と、
前記コンピュータモデムの位置情報を決定するための手段と、
接続されたコンピュータを起動することなく、遠隔の宛先に前記位置情報を報告するメッセージを送信するための手段とをさらに含む、請求項89に記載のコンピュータモデム。
【請求項９５】
前記位置情報を報告するメッセージを送信するための前記手段は、SMSメッセージで前記情報を送信する、請求項94に記載のコンピュータモデム。
【請求項９６】
前記遠隔の宛先は、前記受け取ったSMSメッセージに含まれる電話番号である、請求項95に記載のコンピュータモデム。
【請求項９７】
コンピュータ実行可能方法であって、
コンピュータでシンプルメッセージサービス(SMS)メッセージを受け取る段階と、
前記SMSメッセージを構文解析する段階と、
アプリケーションが始動されるべきことを前記SMSメッセージ内のデータから決定する段階と
前記SMSメッセージ内のアプリケーション識別子を、前記コンピュータで使用可能なアプリケーションに対する識別子と比較して、どのアプリケーションが始動されるべきかを決定する段階とを含む、コンピュータ実行可能方法。
【請求項９８】
前記始動されるべきアプリケーションはソフトウェア更新をダウンロードするためのプログラムを含み、
インターネットとの接続を確立する段階と、
ソフトウェア更新のダウンロードを要求するメッセージをサーバに送る段階と、
前記ソフトウェア更新のダウンロードを受け取る段階と、
前記ソフトウェア更新を完了する段階と、
ソフトウェア更新をダウンロードするための前記プログラムをシャットダウンする段階とをさらに含む、請求項97に記載のコンピュータ実行可能方法。
【請求項９９】
前記始動されるべきアプリケーションはファイルをサーバに転送するためのファイル転送プログラムを含み、
インターネット接続を確立する段階と、
転送されるべきファイルを前記サーバに通知するメッセージを前記サーバに送る段階と、
前記ファイルを前記サーバに転送する段階と、
前記ファイル転送プログラムをシャットダウンする段階とをさらに含む、請求項97に記載のコンピュータ実行可能方法。
【請求項１００】
前記始動されるべきアプリケーションは位置報告プログラムを含み、
インターネット接続を確立する段階と、
全地球測位システム(GPS)受信機から緯度および経度座標を取得する段階と、
前記緯度および経度座標を提供するメッセージをインターネットを介してサーバに送る段階と、
前記位置報告プログラムをシャットダウンする段階とをさらに含む、請求項97に記載のコンピュータ実行可能方法。
【請求項１０１】
前記始動されるべきアプリケーションは位置報告プログラムを含み、
全地球測位システム(GPS)受信機から緯度および経度座標を取得する段階と、
前記緯度および経度座標を提供するSMSメッセージを送る段階と、
前記位置報告プログラムをシャットダウンする段階とをさらに含む、請求項97に記載のコンピュータ実行可能方法。
【請求項１０２】
前記始動されるべきアプリケーションはファイル削除プログラムを含み、
コンピュータハードドライブ上に格納されたファイルを削除する段階と、
前記コンピュータをシャットダウンする段階とをさらに含む、請求項97に記載のコンピュータ実行可能方法。
【請求項１０３】
ファイルが削除されたという完了を報告するメッセージを送信する段階をさらに含む、請求項102に記載のコンピュータ実行可能方法。
【請求項１０４】
前記始動されるべきアプリケーションはファイル暗号化プログラムを含み、
コンピュータハードドライブ上に格納されたファイルを暗号化する段階と、
前記コンピュータをシャットダウンする段階とをさらに含む、請求項97に記載のコンピュータ実行可能方法。
【請求項１０５】
ファイルが暗号化されたという完了を報告するメッセージを送信する段階をさらに含む、請求項104に記載のコンピュータ実行可能方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔ユーザによるコンピュータ制御の分野に関し、より詳細にはSMSメッセージングによりコンピュータアプリケーションを起動することに関する。
【背景技術】
【０００２】
現在、遠隔地からパーソナルコンピュータにアクセスするためには、コンピュータが動作中であってインターネットなどのネットワークにアクティブに接続されていなければならない。同様に、コンピュータアプリケーションをリモートで使用可能にする場合、コンピュータは電源がオンのままでなければならず、アプリケーションはまれにしか使用されていなくても呼び出されるまで待機して動作していなければならない。また、コンピュータデータファイルにリモートでアクセスする場合、コンピュータは電源がオンのままで、遠隔ファイルアクセスプログラムは実行中のままでなければならない。これは、頻繁に使用されていないアプリケーションまたはデータファイルに関して、コンピュータ資源の非効率的な使用およびネットワークの不必要な利用を意味することになる。
【発明の概要】
【課題を解決するための手段】
【０００３】
種々の実施形態が、セルラ電話ネットワークを介してショートメッセージサービス(SMS)を送信することによって、パーソナルコンピュータなどのコンピュータおよびそのコンピュータ上で実行されるアプリケーションをリモートで起動することができるシステムおよび方法を提供する。SMSメッセージは、携帯電話から遠隔コンピュータに送られることにより、必要に応じて遠隔コンピュータをオンにすることを含めて、遠隔コンピュータ上の指定されたアプリケーションまたはコンピュータ自体を起動させることができる。また、SMSメッセージは、セルラ電話ネットワークに接続されたサーバによって、携帯電話またはインターネットなどのネットワークに接続されたコンピュータからサーバに送られたメッセージに応答して送信することが可能である。SMSメッセージは、コンピュータまたはコンピュータのモデムによって受け取られたとき、コンピュータを始動すべきかどうか、およびどのアプリケーションを起動すべきかを決定するために解釈される。アプリケーションをリモートで起動することにより、様々な動作が実行されうる。例えば、データファイルをコンピュータへ送信するまたはコンピュータから送信することが可能であり、あるいは、GPSセンサを使用したコンピュータの位置の決定および報告、ファイルの削除もしくは暗号化、または電子メールのダウンロードなどの動作を行うようにコンピュータに指示することが可能である。
【０００４】
添付の図面は、本明細書に組み込まれ本明細書の一部分を成すものであり、本発明の例示的実施形態を図示するとともに、以上の概略的説明および以下の詳細な説明と併せて本発明の特徴を説明する役割をする。
【図面の簡単な説明】
【０００５】
【図１】一実施形態の最上位の流れ図である。
【図２】一実施形態のシステム図である。
【図３】代替システムの実施形態を示す図である。
【図４】一実施形態によるコンピュータシステムブロック図である。
【図５】一実施形態によるモデムカードのシステムブロック図である。
【図６】一実施形態によるコンピュータソフトウェアおよびモデムソフトウェアのソフトウェアアーキテクチャ図である。
【図７】一実施形態によるメッセージフロー図である。
【図８】一実施形態によるシステムを初期化するための方法のプロセスフロー図である。
【図９】一実施形態の動作の一部分のプロセスフロー図である。
【図１０】一実施形態の通常の動作のプロセスフロー図である。
【図１１】遠隔コンピュータの電子メールアプリケーションを起動するための実施形態のプロセスフロー図である。
【図１２Ａ】休止状態のコンピュータへのソフトウェア更新ダウンロードを開始するための主たる実施形態のプロセスフロー図である。
【図１２Ｂ】休止状態のコンピュータへのソフトウェア更新ダウンロードを開始するための主たる実施形態のプロセスフロー図である。
【図１３Ａ】コンピュータがSMSメッセージによってファイルを削除または暗号化するように指示されうる実施形態のプロセスフロー図である。
【図１３Ｂ】コンピュータがSMSメッセージによってファイルを削除または暗号化するように指示されうる実施形態のプロセスフロー図である。
【図１４Ａ】コンピュータがそのGPS位置を報告するために起動されうる実施形態のプロセスフロー図である。
【図１４Ｂ】コンピュータがそのGPS位置を報告するために起動されうる実施形態のプロセスフロー図である。
【図１５】ユーザが休止状態のコンピュータとインスタントメッセージング(IM)セッションを開始することができる実施形態のプロセスフロー図である。
【図１６Ａ】ユーザが休止状態のコンピュータに接続されたビデオカメラを起動することができる実施形態のプロセスフロー図である。
【図１６Ｂ】ユーザが休止状態のコンピュータに接続されたビデオカメラを起動することができる実施形態のプロセスフロー図である。
【図１７Ａ】ユーザが休止状態のコンピュータからファイルをダウンロードすることができる実施形態のプロセスフロー図である。
【図１７Ｂ】ユーザが休止状態のコンピュータからファイルをダウンロードすることができる実施形態のプロセスフロー図である。
【図１８Ａ】種々の実施形態による代替SMSメッセージ構成を示すSMSメッセージ内容図である。
【図１８Ｂ】種々の実施形態による代替SMSメッセージ構成を示すSMSメッセージ内容図である。
【図１８Ｃ】種々の実施形態による代替SMSメッセージ構成を示すSMSメッセージ内容図である。
【図１９Ａ】種々の実施形態で有用な例示的データ構造を示す図である。
【図１９Ｂ】種々の実施形態で有用な例示的データ構造を示す図である。
【図２０】一実施形態による例示的メッセージ認証技術のプロセスフロー図である。
【図２１】一実施形態によるコンピュータプログラムをリモートで起動するための携帯電話アプリケーションのメニューが表示された携帯電話の透視図である。
【図２２】一実施形態によるコンピュータプログラムをリモートで起動するための携帯電話アプリケーションのプロセスフロー図である。
【発明を実施するための形態】
【０００６】
添付の図面を参照して種々の実施形態を詳細に説明する。可能な限り、同一または同様の部分を参照するために図面を通して同じ参照番号を使用する。本明細書および図面における「コンピュータ」、「ラップトップ」、「ラップトップコンピュータ」、および「PC」への言及は、例示が目的であり、本発明の範囲または特許請求の範囲をコンピュータの特定の型、モデル、または構成に限定するものではない。したがって、「コンピュータ」への言及は、ラップトップコンピュータおよびデスクトップコンピュータを含むことができ、「ラップトップコンピュータ」への言及は、デスクトップコンピュータを含むことができる。
【０００７】
パーソナルコンピュータなどのコンピュータがオフにされているか、または所望のアプリケーションが実行されていないとき、たいていの場合、データファイル、アプリケーション、またはコンピュータにアクセスするために遠隔のユーザができることはほとんどない。マシン、そのアプリケーション、またはマシンに格納されたデータファイルに対するアクセスを遠隔のユーザに提供するために、コンピュータを稼働させたままネットワーク(例えば、インターネット)に接続しておくことができる。しかし、そうすることは、コンピュータ資源の非効率的使用、ならびにネットワーク資源および通信費用の不必要な使用となるおそれがある。多くの日常的状況では、アプリケーションにアクセスする必要があるかもしれないというわずかな見込みに備えてコンピュータを稼働させインターネットに接続したままにすることは、とても実用的とはいえない。しかし、コンピュータがネットワークから切断されかつ/またはシャットダウンされた場合、誰かに物理的にマシンを操作してもらうほかに、遠隔のユーザがコンピュータをオンにするまたは特定のアプリケーションを起動するための実用的な方法がない。
【０００８】
この問題を解消するために、コンピュータをオンにするための命令および/または現在実行されていないアプリケーションを起動するための命令を含んでセルラ電話ネットワークを介して無線で送られたショートメッセージサービス(SMS)を、コンピュータが受け取ることができるメカニズムが、種々の実施形態により提供される。SMSは、最大160文字(5ビットモードを使用する場合は224文字)のメッセージをセルラ電話ネットワークを介して移動電話に送るためのサービスである。SMSは、ポケットベルに似ているが、SMSメッセージは、移動電話がアクティブかつ有効範囲内であることを必要としない。というのは、移動電話がアクティブかつ範囲内になるまで、メッセージが記憶装置に何日間か保持され、移動電話がアクティブかつ有効範囲内のときにメッセージが送信されるからである。
【０００９】
種々の実施形態のプロセスの概略を示す図1を参照すると、ユーザが、アプリケーションおよび必要な場合はコンピュータ自体を起動(すなわち、「ウェークアップ」)するために、SMSメッセージを送ることにより(ステップ1)、コンピュータアプリケーションの遠隔起動を開始する。このSMSメッセージは、単純なテキストメッセージを構成することで携帯電話から送ることができる。代替として、セルラ電話ネットワークに接続されたサーバにメッセージを送ることにより、例えば、サーバにホストされたウェブページにアクセスしSMSメッセージをコンピュータに送るように要求することによって、SMSメッセージを送ることもできる。SMSメッセージは、コンピュータ内またはコンピュータに結合された特別に構成されたモデムによって受け取られ、このモデムが、メッセージを構文解析して始動すべきアプリケーションを決定し、アプリケーションが使用する情報を取り出す(ステップ2)。コンピュータが現在オフの場合、モデムは、コンピュータを始動しそのブートシーケンスを開始させるための始動信号を生成することができる(ステップ3)。コンピュータが既に稼働している場合、またはコンピュータがその起動プロセスを完了した後に、オペレーティングシステムがアプリケーションを開始し、SMSメッセージデータは、指示されたアプリケーションに送られる(ステップ4)。最後に、指示されたアプリケーションが立ち上げられ、SMSメッセージペイロードに含まれうるデータを使用する(ステップ5)。
【００１０】
コンピュータアプリケーションおよび必要な場合はコンピュータ自体を始動するための要求を、SMSメッセージ機能を使用して送信することにより、多くの利点がもたらされる。SMSメッセージはセルラ電話ネットワークを介して無線で送信されるため、コンピュータは、メッセージを受け取るためにアクティブネットワークまたはインターネットに接続される必要がない。SMSメッセージは完全に非同期であり、標準的な無線データ網と同様に、オープン通信リンク、IPアドレス、または他の継続的通信インフラストラクチャを必要としない。SMSメッセージは、最終的に送達が達成されるまで数日間にわたりブロードキャストが繰り返されるので、移動する可能性があるコンピュータと通信するための信頼できる機構を提供する。種々の実施形態は、一般に既存のセルラ電話ネットワーク基盤を利用するので、高い費用を必要とせずに展開されうる。SMS受信機は、低電力消費のために最適化されたセルラ電話チップセットから借用されうる。これにより、SMS受信機にバッテリ電力を供給するモデム設計が可能になり、したがって、他のコンピュータがオフにされているときでも、回路が動作を続けることができる。最終的に、SMSメッセージは、ユーザがセルラ電話または類似の携帯ハンドセット(例えば、PDA、Blackberry(登録商標)など)のみを使用してコンピュータをリモートで制御するための便利な方法を提供する。
【００１１】
一実施形態の典型的システムおよび実装形態の例を図2に示す。このシステムアーキテクチャでは、セルラ電話20が、最も近いセルラ電話タワー21を経てセルラ電話ネットワーク22と通信を行う。周知のように、現在のセルラ電話は、電話呼、SMSメッセージ、電子メール、およびインターネットウェブページデータなどのデータパケットを送受信することができる。このようなデータはセルラ電話20とセルタワー21の間を無線で移動するが、全体的には、従来の電話網および他のデータネットワークを経由して対象とする受信機に搬送される。対象とする受信機が別の無線セルラ電話である場合、データは、セルラ電話20からセルラ電話20の範囲内のセルタワー21に移動し、次いで、対象とする受信機の範囲内の別のセルタワー23に到達するまで一般的に従来の電話網を通り、セルタワー23に到達するとデータは対象とする受信機まで無線で移動する。種々の実施形態の場合において、対象とする受信機は、コンピュータ26に結合または内蔵された無線モデム25である。種々の実施形態では、モデム25は、モデムのアンテナ24を介してローカルセルタワー23からSMSメッセージを受け取ることができる(図5Aに示す)SMS受信機回路52を備える。典型的な実装形態では、コンピュータモデム25は、コンピュータ26が、(イーサネット（登録商標）ケーブル28などの)ケーブルおよび/またはWiFi基地局などの無線ルータ29への無線データリンクを介して、ネットワークルータ27などのインターネットアクセスポイントと通信することを可能にする。ネットワークルータ27は、しばしば、電話線(例えば、DSLサービス)、同軸ケーブル(例えば、ケーブルインターネットサービス)、または光ファイバ線(例えば、VerizonのFiOSインターネットサービス)のような有線接続30によって、インターネット31に接続される。インターネット31にアクセスすることにより、コンピュータは、インターネット31およびセルラ電話ネットワーク22に接続されたサーバ32のような他のコンピュータにデータ接続することができる。
【００１２】
図3は、図2に示したアーキテクチャと基本的に同様の他の典型的アーキテクチャを示す。このアーキテクチャは、WiFiモデム33を使用してインターネット31に接続するラップトップコンピュータ34のようなモバイルコンピュータを特徴とし、WiFiモデム33が、インターネット31に接続されたWiFiサーバ36に結合されたWiFiアンテナ35とのWiFiデータリンクを確立する。WiFiモデム33は、(図5Aに示すような)SMS受信機回路52を備えるか、または、(図5Bに示すような)SMSメッセージを受け取って解釈するように構成され、それにより、モデムのアンテナ24を介してローカルセルタワー23からSMSメッセージを受け取ることができる。
【００１３】
種々の実施形態を構成する要素の機能は、図1、2、および3を一緒に参照することによって理解することができる。ユーザが遠隔コンピュータ26、34上のアプリケーションを起動したいとき、ユーザはセルラ電話20からSMSメッセージを送ることができる(ステップ1)。セルラ電話20は、セルラ電話ネットワーク22に結合された最も近いセルタワー21にSMSメッセージを送る。SMSメッセージは、遠隔コンピュータ26、34の近くに配置されたセルタワー23に到達するまでセルラ電話ネットワークを通してルーティングされる。そして、セルタワー23から、SMSメッセージが、遠隔コンピュータ26、34に接続されたモデム25、33内のSMS受信機に送信される。モデム25、33および/またはコンピュータ26、34は、SMSメッセージを受け取り、構文解析してその構成要素を得る(ステップ2)。コンピュータ26、34がその時点でオフにされている場合、バッテリ電力で稼働しているモデム25、33が、メッセージを受け取り、コンピュータを始動すべきことを決定し、始動およびブートプロセスを開始するためにコンピュータに電子信号を送る(ステップ3)。コンピュータ26、34が稼働すると、SMSメッセージの内容が指示されたアプリケーションに送られ(ステップ4)、指示されたアプリケーションが立ち上げられる(ステップ5)。指示されたアプリケーションを立ち上げることにより、有線28、30または無線29、35、36データリンクによってインターネットアクセスルータ27、36に接続しているモデム25、33を介して、コンピュータにインターネット31への接続を確立させることができる。インターネット31と接続がなされると、コンピュータアプリケーションは、ユーザと通信可能なサーバ32とのデータ接続を確立することができる。
【００１４】
コンピュータ26、34のアーキテクチャの例示的実施形態を図4に示す。コンピュータの中心部に、任意のマイクロプロセッサまたはマイクロコンピュータとすることができるコンピュータのプロセッサ45がある。メモリ46は、プロセッサ45と接続されており、例えば、ハードドライブ、ROMチップ、およびRAMチップ(すなわち、揮発性コンピュータメモリ)であるが、これらはすべて本明細書ではメモリ46と呼ばれる。メモリ46は、アプリケーションソフトウェア47、48、49を格納する。典型的なコンピュータでは、プロセッサ45で現在実行されていないアプリケーションソフトウェアは、ハードドライブコンピュータ可読メモリ46に格納される。実行中または待機中のアプリケーションソフトウェアもまた、揮発性コンピュータメモリ46に読み込むことができる。外界との通信は、モデムドライバ43を介してプロセッサ45と通信することができるモデム40によって達成される。モデムドライバ43は、プロセッサ45上で動作するソフトウェア、ハードウェア(回路)、または後述のようなハードウェアとソフトウェアの組合せであってよい。種々の実施形態による無線モデム40は、SMS受信機41および従来のWiFi送信機42を備える。種々の実施形態による有線モデムは、WiFi送信機42の代わりにネットワークインターフェース回路を備えてもよいが、やはりSMS受信機41は備えている。
【００１５】
モデムドライバ43は、別個の回路またはチップセットとしてもよく、また、コンピュータプロセッサ45内またはモデム40におけるプロセッサ56内で動作するソフトウェアとして実装しても、ソフトウェアと回路の組合せとして実装してもよい。モデムドライバ43の目的は、プロセッサ45とモデム40の間のデータおよびコマンドインターフェースを提供することである。モデムドライバ43はまた、モデム40から受信したデータをプロセッサ45が受け取る準備ができるまで受信データを一時的に格納するためのキャッシュメモリと、プロセッサ45から受信したコマンドに応答してモデム40を動作させるためのロジックとを含むことができる。モデムドライバ43は、(ハードウェア、ソフトウェア、または両方に実装されるかに関わらず、)SMSメッセージを構文解析してその構成要素を得るための構文解析回路または機能44を含むこともできる。
【００１６】
図5Aに示す実施形態のような種々の実施形態と共に使用するのに適切な無線モデム40は、セルラ電話に使用されるトランシーバチップセットに類似する回路であるSMSメッセージ受信機回路52を備える。一実施形態では、一般にSMSメッセージを受信できる携帯電話EVDO/CDMA(エボリューションデータ最適化(Evolution Data Optimized)/符号分割多重接続)モデムチップを、SMSメッセージ受信機52として使用することができる。他の実施形態では、SMSメッセージ受信機52は、GSMモデムチップとすることができる。さらに他の実施形態では、SMSメッセージ受信機52は、UMTSモデムチップとすることができる。さらに、アプリケーションインターフェースソフトウェアを含むセルラ電話アプリケーションソフトウェアが、SMS受信機52をプログラミングし構成することを容易にするために使用されてもよい。
【００１７】
汎用アンテナ51は、SMS受信機52、全地球測位システム(GPS)受信機53、およびWiFiトランシーバ54に結合されうる。アンテナ51で捕捉されたSMS信号の周波数範囲内の電磁信号は、SMS受信機52により受け取られ処理されてデジタルデータに変換される。同様に、GPS信号の周波数範囲内の電磁信号は、GPS受信機53により受け取られ、モデムの位置の緯度および経度座標に対応するデジタルデータに加工される。同様に、WiFiデータリンクの周波数範囲内の信号は、WiFiトランシーバ54により受け取られ、モデム55に適合するデジタル信号に変換される。SMS受信機52からの出力は、モデムチップ55および/または別個のモデムプロセッサ56へ提供することができる。同様に、GPS受信機53からのデジタル出力は、モデムチップ55またはモデムプロセッサ56へ送ることができる。WiFiトランシーバ54からの信号は、モデム55へ提供することができる。WiFiトランシーバ54およびモデム55は、同じ集積回路の一部分としてもよいことは理解されよう。さらに、図5に示す要素の一部または全部が、1つの集積回路またはチップセットに統合されてもよい。したがって、本明細書で説明し図5に示すモデム40の回路要素間の区別は、単に例示が目的であり、本発明の範囲を限定するものではない。
【００１８】
モデム40は、種々の実施形態で必要とされる機能のいくつかを実行するための別個のプロセッサ56を備えることができる。モデムプロセッサ56は、マイクロプロセッサまたはマイクロコントローラの任意の形態またはモデルとすることができ、アプリケーションソフトウェアおよびデータ処理の一時的結果を格納するために、内部メモリを有しかつ/またはメモリチップ57に結合することができる。さらに、モデム40は、コンピュータがオフにされたときでもモデム回路の一部または全部を通電したままにするために、バッテリやコンピュータの(バッテリでありうる)電源装置のような専用の電源から電力を受け取ることができる。最後に、モデム40は、イーサネット（登録商標）などに接続するための外部ネットワークインターフェース回路58、および、モデム40をコンピュータに接続するための内部インターフェース回路59を備えることもできる。
【００１９】
図5Bに示す代替実施形態では、SMSメッセージを受け取るための回路は、WiFiトランシーバ54に含まれるかまたはその固有部分とすることができ、また、SMSメッセージを受信し処理する能力は、モデム55内のSMSメッセージ受信機機能52として提供することができる。WiFiトランシーバ54は、その無線受信機回路内でSMSメッセージの周波数を受信するように構成されうる。同様に、モデム55は、受信したSMSメッセージの電気信号を符号化デジタルデータに変換するためにSMSメッセージプロトコルを解読するようにソフトウェアまたは回路によって構成されうる。この実施形態では、別個のSMS受信機回路が存在しないが、SMS受信機能力は、モデム33によって提供される追加機能となっている。現在および将来の大規模集積回路技術により、複数の無線トランシーバ、モデム回路、プロセッサ回路、およびメモリを単一の集積回路内に配置することが可能になる。したがって、SMS受信機52、WiFiトランシーバ54、モデム55、およびプロセッサ56が図5Aおよび5Bにおいて別々の要素ブロックとして示されているのは、単に例示のためである。
【００２０】
図6では、種々の実施形態で使用される遠隔コンピュータの例示的ソフトウェアアーキテクチャを示す。通常と同様に、ソフトウェアアーキテクチャ60は、コンピュータの全体的機能を実現するために、互いにインターフェースをとるソフトウェア機能の複数の層から構成される。機械層61は、最も基本的なレベルにあり、プロセッサ回路およびその中で動作するファームウェアから構成される。オペレーティングシステム層62は、機械層の上にあり、コンピュータ上で実行されているアプリケーションソフトウェアのコーディネータおよびスーパバイザとして機能する。オペレーティングシステム層62より上には、様々なアプリケーション層63、64、65、66がある。これらのアプリケーション層は、コンピュータに実装された特定の機能を実行するソフトウェアモジュールである。オペレーティングシステム層62は、一方でオペレーティングシステムとアプリケーションの間のインターフェースとして機能し他方でモデム40として機能するモデムドライバ43を介して外界と通信する。モデムを対象としたデータおよび命令は、モデムドライバ43に送られ、モデムドライバ43は、モデム40に適した様式でそれらのデータおよび命令をフォーマットする。
【００２１】
同様に、モデムソフトウェアは、複数の層から構成されうる。モデム層67は、有線および無線のデータリンクを介する送信に向けてデータを符号化するために電子信号を変調および復調するモデムの基本的機能を提供する。WiFiトランシーバ54は、底層に結合することができ、電磁信号を外部WiFi送信機から受け取り、これらの信号を、モデム55またはモデム層67ソフトウェアによって復調されうる電気信号に変換する。コンピュータおよびそのモデムドライバ43と通信するために必要な処理機能を実行するソフトウェアのインターフェース層68は、モデム層67の上にすることができる。SMS受信機52とインターフェース層68の間のインターフェースとして機能するソフトウェアのSMS層69は、インターフェース68層の上にすることができる。また、SMS層69は、種々の実施形態のアプリケーション始動機能を実現するためにSMSメッセージを処理することに関連する本明細書に記載のような機能を実行することもできる。
【００２２】
種々の実施形態において、遠隔コンピュータ26、34と通信する少なくとも2つの方法がありうる。図7に示すように、1つの方法は、セルラ電話ネットワークのSMSメッセージングインフラストラクチャを使用して、SMSメッセージ71をセルラ電話20から遠隔コンピュータ26に直接送ることである。そうしたSMSメッセージは、コンピュータのモデム26、33におけるSMS受信機52に割り当てられたセルラ電話番号に送られる。
【００２３】
SMSメッセージを遠隔コンピュータ26、34に送るもう1つの方法は、セルラ電話ネットワークに接続されたサーバ32から送るものである。このサーバ32は、セルラ電話ネットワークの一部分とすることができ、あるいは、種々の実施形態のSMS遠隔始動能力を与えるサービスを提供する別個のサービスプロバイダに所有され運用されるものとしてもよい。そうしたサーバ32を使用してメッセージを送るために、ユーザは、SMSメッセージ、電子メール、またはデータ送信を送ることや、セルラ電話20のウェブブラウザ機能を用いてサーバ32がホストするウェブページにアクセスすることなどによって、セルラ電話20からサーバ32にメッセージ72を送ることができる。代わりに、ユーザは、インターネット31に接続された他のコンピュータ70を使用して、サーバ32によって生成されたウェブページにアクセスしてもよい。サーバ32にセルラ電話20によって接続するか他のコンピュータ70によって接続するかを問わず、ユーザは、所望の内容を有するSMSメッセージを生成するために、ウェブページフォームに記入をする、メッセージを打ち込む、または、ハイパーリンクを備えたサーバがホストするウェブページ上のメニューインターフェースと対話することができる。メッセージが生成されると、サーバ32は、データを通常のSMSメッセージ73としてセルラ電話ネットワークを介して送る。上述のように、SMSメッセージ73は、コンピュータモデム26、33におけるSMS受信機52に割り当てられたセルラ電話番号に送られる。
【００２４】
遠隔コンピュータ26、34にSMSメッセージを送るためのこれら2つの異なる方法が、遠隔コンピュータ26、34を制御する柔軟かつ便利な方法をユーザに提供する。ユーザがセルラ電話だけを使用可能なときに、遠隔コンピュータ26、34上のアプリケーションを起動する必要が生じた場合、セルラ電話SMSメッセージオプションを使用することができる。しかし、ユーザがインターネットに接続されたコンピュータにアクセスできる場合は、そのコンピュータおよびインターネットのすべての能力を使用して、アプリケーションを起動したり他の形で遠隔コンピュータ26、34を制御することができる。
【００２５】
種々の実施形態を活用するために、遠隔コンピュータ26、34、セルラ電話20、およびサーバ32は、基本的なデータのセットによって設定される必要がある。図8は、そのようなデータが遠隔コンピュータ26、34、セルラ電話20、およびサーバ32のそれぞれに使用可能であることを保証する初期化またはセットアップルーチンの実施形態を示す。セットアップルーチンは、遠隔コンピュータ26、34上で、まず、SMSメッセージで開始される各アプリケーションに関するデータをコンピュータメモリ、モデムドライバ43、および/またはモデム40内に格納することから開始することができる(ステップ80)。そのために、リモートで起動できるように構成されるアプリケーションをユーザが特定する。これは、選択するアプリケーションのリストを含むユーザインターフェースをユーザに提示するソフトウェアアプリケーションによって実現されうる。場合によっては、アプリケーションは、SMSメッセージで始動されたとき、起動の際に特定のデータおよびパラメータを必要することがある。SMSメッセージのペイロードは限られているため、必要な動作データおよびパラメータの大部分を前もってアプリケーションに知られた位置でメモリに準備し格納しておくことが有益でありうる。そのようにして、SMSメッセージによる起動の際に、アプリケーションが、その所期の機能を実現するためにアプリケーションが必要とするすべてのデータにアクセスすることができる。ユーザがSMS起動のためにアプリケーションの準備をするのを支援するソフトウェアは、選択されたアプリケーションが始動時に必要とする任意のデータが、アプリケーションに知られたデータ記憶位置で使用可能であること、または、そうしたデータが、アプリケーションによって始動時にアクセスできるデータテーブルに(ポインタなどで)格納されることを保証するように構成されうる。
【００２６】
SMSメッセージによる遠隔始動のためのアプリケーションの準備の一部として、アプリケーションに対する識別子を、コンピュータ内のアプリケーションIDのレジスタに格納することができる(ステップ81)。SMSメッセージの長さが比較的短いことを考慮すると、始動すべきアプリケーションを決定するためにコンピュータが使用することができる比較的短い識別子をアプリケーションに対し与えることが好ましい。SMSメッセージにアプリケーションのファイル名全体が含まれる場合、アプリケーションまたはメッセージ認証情報によって必要とされる追加のデータに対してメッセージペイロード内に残された空間は小さすぎる可能性がある。アプリケーション識別子レジスタは、アプリケーションIDをコンピュータのハードディスク内のアプリケーション実行可能ファイルの名前または記憶位置にリンクする単純なデータテーブルとすることができる。さらに、アプリケーション番号レジスタが、セキュリティおよび認証パラメータを含むことができ、セキュリティおよび認証パラメータは、適切な権限のあるユーザがSMSメッセージを送ったことを確認するためにSMSメッセージを認証するのに使用できる。
【００２７】
セルラ電話20がSMSメッセージコマンドを遠隔コンピュータ26、34に直接送るために使用されることになる場合、セルラ電話20は、コンピュータのSMS受信機52の電話番号、およびコンピュータのアプリケーション番号レジスタに格納されたアプリケーション番号がプログラムされる必要がある。これは、単純な電話帳タイプのエントリであっても、また、アプリケーション番号および電話番号がメニュー表示を介してアクセスされるように格納されたより洗練されたセルラ電話アプリケーションであってもよい。最も単純な実装形態では、ユーザは、SMS受信機52電話番号、アプリケーション番号、およびリモートで起動可能なアプリケーションの説明または名前を含むセルラ電話の電話帳に、連絡エントリを記録する。このような連絡エントリを使用して、ユーザは、テキストメッセージに情報をコピーアンドペーストしてSMSメッセージを生成することができる。
【００２８】
一実施形態では、アプリケーション情報の収集を自動化しセルラ電話の内部メモリ内の適切なデータテーブルに情報を格納する、セルラ電話アプリケーション(すなわち、セルラ電話のプロセッサ上で実行されるソフトウェア)が提供されうる。そのようなセルラ電話アプリケーションは、多数のデータ転送プロトコルおよび通信接続のいずれか、例えば、有線データ接続(例えば、セルラ電話とコンピュータの間に接続されたUSBまたはFireWireデータケーブル)、無線データリンク(例えば、BluetoothまたはWiFi)、赤外線データリンク、あるいは、(例えば、SMSメッセージ、電子メール、またはデータパケット送信などによる)セルラ電話ネットワークを介するデータ送信などを使用して、コンピュータ26、34からデータを直接受け取ることができる。
【００２９】
コンピュータ26、34はまた、アプリケーション(すなわち、アプリケーションの名前)と、コンピュータのモデム25、33内にSMS受信機52の電話番号と共にSMSによって遠隔起動のために設定されているアプリケーションに対応する番号とを、サーバ32に通知することができる(ステップ82)。この情報は、遠隔アプリケーション起動のためにコンピュータ26、34にSMSメッセージを送ることを可能にするために、サーバ32にとって必要となる。さらに、コンピュータ26、34は、SMSメッセージに含まれるべき、またはコンピュータ26、34がSMSメッセージコマンドを認証するために使用するSMSメッセージに含まれる認証値を作成するために使用されるべきアプリケーション認証情報を、サーバ32に通知することができる。コンピュータ26、34は、この情報を、電子メール、FTP、http、XML、および他のデータ転送プロトコルを含むいくつかの既知のデータ転送プロトコルによって、サーバ32に送ることができる。
【００３０】
サーバ32は、SMS受信機52の電話番号およびアプリケーションID情報を受け取ると(ステップ84)、この情報を将来のアクセスのためにレジスタまたはデータベースに格納する(ステップ85)。そうした情報を格納するための適切なデータ構造に関するさらなる詳細については、図19Aおよび19Bを参照して後で述べる。サーバ32はまた、この時に、インターフェースウェブページを生成するためのHTML、XML、またはＪＡＶＡ（登録商標）スクリプトファイルを生成することもでき、インターフェースウェブページによって、ユーザは、インターネット31を介してサーバにアクセスすることにより起動コマンドSMSメッセージを開始することができる。最後に、サーバ32は、SMS受信機52の電話番号、アプリケーション番号、およびセキュリティコード情報とともに、アプリケーションをユーザのセルラ電話20にダウンロードすることができる(ステップ87)。そうしたアプリケーションおよび実装情報は、セルラ電話20においてダウンロードおよびアセンブルされると(ステップ88)、ユーザがサーバ32との通信なしに容易にSMSコマンドを遠隔コンピュータに送ることを可能にできる。セルラ電話20は、アプリケーションおよび関連するデータがロードされ使用できるようになったことをユーザに通知することもできる(ステップ89)。
【００３１】
SMSメッセージを用いてアプリケーションが遠隔起動のために登録されると、そのアプリケーションおよびコンピュータ26、34それ自体は、他の活動に必要されない場合はシャットダウンされてよい。アプリケーションまたはコンピュータ自体をシャットダウンするプロセスで、コンピュータ26、34は、そのコンピュータの状態またはシャットダウンされているアプリケーションをサーバ32に通知することができる。種々の実施形態は、サーバ32がアプリケーションまたは遠隔コンピュータの現在の状態を保持することを必須としないが、アプリケーションまたはコンピュータがシャットダウンされようとするときにサーバ32に通知をすることには利点がある。遠隔コンピュータ上のアプリケーションの実行およびシャットダウンの状態を保持することによって、サーバ32は、その状態をユーザに通知することができ、それにより、既に実行されているアプリケーションを起動するために不必要なSMSメッセージを送ることを回避できる。また、各アプリケーション(または遠隔コンピュータ自体)がシャットダウンの準備をするとき、アプリケーション情報およびセキュリティコードを更新することが可能で、それにより、システム全体の信頼性およびセキュリティを改善することができる。
【００３２】
図9は、アプリケーション47、48、49など(またはコンピュータ自体)がシャットダウンしようとし、またSMSメッセージによる起動のためにアプリケーション(例えば、47、48、49)および/またはコンピュータ26、34の準備をしようとしていることを、遠隔コンピュータ26、34がサーバ32に通知する例示的方法を示す。まず、コンピュータ26、34は、アプリケーション(またはコンピュータ自体)がシャットダウンされるべきことを決定することができる(ステップ90)。この決定は、いくつかの要因に基づくことができる。第1に、コンピュータ26、34は、アプリケーションが所定量の時間内に使用されていなくてしたがって現在の動作に影響を与えずにシャットダウンできることをタイマから決定することなどにより、内部情報に基づいてアプリケーションをシャットダウンする必要があることを決定することができる。タイマに加えて、シャットダウンは、アプリケーションおよびコンピュータ26、34の用途に応じて、時刻、曜日、または暦日に基づいてもよい。第2に、ユーザは、電子メールを他のコンピュータ70などから遠隔コンピュータに送るかまたはSMSメッセージを携帯電話20などからコンピュータのSMS受信機52に送ることにより、アプリケーション(またはコンピュータ自体)をシャットダウンすべきことをコンピュータ26、34に命じることができる。同様に、ユーザは、サーバがホストするウェブページにアクセスしてコマンドオプションのメニューから選択をすることなどにより、そのようなメッセージをサーバ32を介して送ることもできる。そうしたユーザ選択に応答して、サーバは、http、電子メール、XML、またはSMSメッセージを遠隔コンピュータ26、34に送ることができる。
【００３３】
アプリケーション(例えば、47、48、49)がシャットダウンするものとして選択されると、コンピュータは、起動時に必要となるデータを指定された記憶位置に格納することにより、アプリケーション(例えば、47、48、49)またはコンピュータ26、34それ自体をシャットダウンのために準備する(ステップ91)。この準備は、パーソナルコンピュータ上に実装されたハイバネーション準備ルーチンに似ていることがある。このプロセスで、ハードドライブのアプリケーションに知られた位置に情報を格納して、SMSメッセージによる起動時にその迅速な回復を可能にすることができる。
【００３４】
アプリケーション(例えば、47、48、49)またはコンピュータ26、34をシャットダウンのために準備するのと並行して、コンピュータは、サーバ32にシャットダウンが行われようとしていることを通知し、アプリケーション番号および関連する情報を提供することができる(ステップ92)。この通知およびデータは、httpメッセージまたは電子メールメッセージを送ることなどにより、インターネット接続を含むサーバへの任意の使用可能な接続を使用して送ることができる。
【００３５】
シャットダウンのためのアプリケーション(例えば、47、48、49)またはコンピュータ26、34の準備をし目下のシャットダウンをサーバ32に通知すると、コンピュータ26、34は、サーバ32への任意のソケット接続を終了し、インターネット31へのアクセスを終了することができる(ステップ93)。インターネット31からの切断により、そうした通信が必要でない間、データ通信コストが削減される。節約の可能性に加えて、インターネット31からのコンピュータの切断により、コンピュータ26、34を外部ネットワークおよび潜在的なハッカーから隔離することでコンピュータセキュリティを向上することもできる。
【００３６】
最後に、アプリケーション(例えば、47、48、49)および/またはコンピュータがシャットダウンされ、無線モデムは、無線モデムがそれ自体に宛てられるSMSメッセージをモニタする状態になる(ステップ94)。
【００３７】
サーバ32が、アプリケーション(例えば、47、48、49)またはコンピュータ26、34がシャットダウンされているという通知をコンピュータ26、34から受け取ると(ステップ95)、サーバ32は、コンピュータとの任意のオープンソケットの接続を終了し(ステップ96)、アプリケーション番号をデータベース内に格納する(ステップ97)。サーバ32はまた、アプリケーションおよび/またはコンピュータがシャットダウンされたことを反映するように状態追跡データベースを更新することができる。サーバ32はまた、コンピュータ26、34が提供する更新されたまたは新しいセキュリティ情報(例えば、アプリケーション認証値)を受け取ることもでき、そうしたセキュリティ情報は、より完全に後で説明するように、SMS始動メッセージを認証するために使用することができる。
【００３８】
任意選択で、サーバ32は、コンピュータの状態の変更をユーザに通知するために1つまたは複数のメッセージを送ってもよい(ステップ98)。そのような通知メッセージは、SMSメッセージまたは電子メールメッセージとしてユーザのセルラ電話20に送ることができる。同様に、通知メッセージは、電子メールメッセージなどでパーソナルコンピュータ70のユーザへ送ることもできる。そうような通知メッセージをどこに送るかを知るために、サーバ32は、SMS起動サービスに登録されたコンピュータに関連したユーザのデータベースを格納することができ、このデータベースは、ユーザの携帯電話番号、電子メールアドレス、および、ユーザ名、パスワード、指紋テンプレート、声紋テンプレートなどのような認証情報を含む。あるいは、SMS起動サービスに登録されたコンピュータを記録するために使用されるデータベースは、データフィールド内に、関連したユーザの連絡先、経歴、および認証情報を含んでもよい。
【００３９】
最後に、サーバ32は、それにアプリケーションまたはコンピュータをウェークアップさせるように要求するメッセージをユーザから受け取るために待機をする(ステップ99)。
【００４０】
図10に、ユーザが遠隔コンピュータ上のアプリケーションを開始することができる例示的方法を示す。第1の選択肢として、ユーザは、SMSメッセージをユーザのセルラ電話20から遠隔コンピュータ26、34に送ることができる(ステップ160)。これを行うために、ユーザは、遠隔コンピュータ26のモデム25、33内のSMS受信機52の電話番号、始動すべきアプリケーション(例えば、47、48、49)のアプリケーション番号、およびそのアプリケーションによって使用される任意のデータを打ち込んでから、他の任意のSMSメッセージのようにメッセージを送ることができる。代わりに、ユーザは、様々なアプリケーション番号および関連するデータを含む電話帳から遠隔コンピュータ電話番号を選択し、携帯電話上で実行されているSMSメッセージ生成アプリケーションで選択を行ってSMSメッセージを構成してもよい。一実施形態では、図21および22を参照してより完全に後で説明するが、ユーザは、セルラ電話表示に提示されたメニューからのユーザの選択に応答して自動的に所望のSMSメッセージを生成するセルラ電話20上で実行されているアプリケーションと対話することができる。
【００４１】
第2の選択肢として、ユーザは、インターネット31を介してアクセス可能なサーバ32によって提供されるSMS起動サービスを利用することができる。この選択肢では、ユーザは、サーバ32によってホストされコンピュータアプリケーションを遠隔で起動するためのメニューオプションを提供するウェブページに、アクセスすることができる(ステップ170)。このアクセスは、インターネット31と通信する他のコンピュータ70を介して行うことができる。このようなウェブサイトは、ユーザがログインし自身を認証し遠隔で起動すべきコンピュータを特定することを可能にするように構成されうる。サーバ32は、このウェブページに、遠隔制御されうるアプリケーション(すなわち、遠隔起動のためにサーバ32に登録されているアプリケーション)の名前または説明を投入することができる。このウェブページにアクセスすることによって、ユーザは、ハイパーリンクメニューを選択しデータ入力ウィンドウにデータを入力することによって、始動すべき特定の1つまたは複数のアプリケーションを選択し、こうしたアプリケーションによって使用されうる任意のデータを入力することができる。ユーザの入力およびメニュー選択に基づいて、コンピュータ70は、サーバ32に送られる必要な情報を提供するメッセージを生成することができる(ステップ171)。このようなメッセージは、http、HTML、XML、電子メール、または他のコンピュータ間データ転送プロトコルで送ることができる。
【００４２】
第3の選択肢として、ユーザは、遠隔コンピュータ26、34上のアプリケーション(例えば、47、48、49)を起動するようにサーバに要求するメッセージを、ユーザのセルラ電話20からサーバ32に送ることができる(ステップ161)。そのようなメッセージは、サーバ32に送られるSMSメッセージ、サーバに送られる電子メールまたはデータメッセージ、あるいは、サーバ32により生成されセルラ電話20上に表示されたウェブサイト上のデータ入力およびハイパーリンクメニューオプションに対する応答とすることができる。セルラ電話ネットワークはセルラ電話上でインターネットウェブサイトにアクセスすることを可能にするので、ユーザは、セルラ電話20またはインターネットに接続されたコンピュータ70のいずれでも、サーバ32によって掲示された同一(または類似)のウェブサイトにアクセスすることができる。
【００４３】
コンピュータ識別子またはコンピュータのSMS受信機の電話番号を提供することなどによって、サーバ32に送られたメッセージにより、アプリケーション(例えば、47、48、49)がウェークアップさせるべき遠隔コンピュータ26、34を特定的に識別することができる。コンピュータ識別子は、ユーザがサービスに加入したときにSMS起動サービスプロバイダによってユーザに与えられるシリアル番号またはアカウント番号とすることができる。代替として、ユーザがSMS起動サービスに1つのコンピュータを登録しただけの場合は、ユーザの識別子が、遠隔で起動されるべきコンピュータ26、34を示してもよい。ユーザの識別子、ひいては遠隔コンピュータを示す指示が、メッセージヘッダまたはパケットヘッダから取得されうるメッセージ(SMSメッセージ、電子メール、またはhttpパケット)の送信アドレスから決定することができる。
【００４４】
ユーザのセルラ電話20からであるかコンピュータ70からであるかを問わず、サーバ32がユーザからのメッセージを受け取ると(ステップ140)、サーバ32は、メッセージ内の情報を使用して、遠隔コンピュータのモデムのセルラ電話番号、アプリケーション番号、任意のアプリケーション認証値、および任意の追加の要件を検索する(ステップ141)。前述のように、また図19A、19Bを参照してより完全に後で説明するように、そのような情報は、サーバ32が保持するデータベースに格納されうる。次いで、サーバ32は、始動すべきコンピュータ26、34およびアプリケーション(例えば、47、48、49)に関する取得情報をSMSメッセージとして組み立て、そのSMSメッセージを遠隔コンピュータに送る(ステップ142)。
【００４５】
SMSメッセージは、セルラ電話20から送られたかSMS始動サービスプロバイダのサーバ32から送られたかに関わらず、コンピュータのモデム40内のSMS受信機52によって受け取られる(ステップ100)。SMSメッセージは構文解析されてその構成要素が得られる(ステップ101)。構文解析動作は、モデム40(例えば、モデムのプロセッサ56により実行される)、モデムドライバ43、または他のコンピュータソフトウェアにおいて実行されうる。SMSメッセージの構文解析の際に、メッセージ識別子、始動すべきアプリケーションを特定するアプリケーション番号、任意の認証値および任意のペイロードデータが切り離され、モデムプロセッサ56および/またはコンピュータプロセッサ45によって処理するためにメモリに格納される。認証値は、接続されたコンピュータ26、34をウェークアップさせる、または他の方法でコンピュータに通知するのに先立って、SMSメッセージを認証するためにモデム40によって(モデムのプロセッサ56により実行されるアルゴリズムなどで)使用されうる。
【００４６】
一実施形態では、SMSメッセージの部分が、処理すべきメッセージがアプリケーション始動コマンドであることを示すフラグとして機能することができる。この実施形態では、SMSメッセージ内のデータフィールドは、SMSメッセージがアプリケーション始動命令として解釈されるべきであることを伝達する特定パターンのビットを含むことができる。例えば、メッセージペイロード内の最初の4ビットは、送信されているメッセージのタイプを示すために使用されうる。この能力は、他のハウスキーピング用途、例えば、コンピュータ26、34に情報を送信する、コンピュータ26、34にその状態を報告するよう要求する、コンピュータ26、34にシャットダウンするよう要求するなどのために、SMSメッセージを使用することを可能にする。したがって、メッセージが構文解析された後、モデムプロセッサ56、モデムドライバソフトウェア、またはコンピュータソフトウェアは、このデータフィールドを検査して、メッセージがアプリケーション始動コマンドであるかどうかを決定することができる(ステップ102)。
【００４７】
SMSメッセージが受信されたときにコンピュータ26、34がシャットダウンされていて、メッセージがアプリケーションの起動を要求していることをモデムプロセッサ56が認識した場合、モデムプロセッサは、コンピュータをオンにしブートシーケンスを開始するためにコンピュータに信号を送ることができる(ステップ103)。このコンピュータ26、34をオンにするための信号は、コンピュータ内の始動信号リード線(例えば、コンピュータの起動ボタンに結合されたリード線)に接続された追加のリード線を含みうる内部インターフェース回路59を介して、モデムプロセッサ56によって送ることができる。次いで、モデムプロセッサ56は、コンピュータメモリにフラグが設定されるか、または、コンピュータ26、34がオンでありブートシーケンスが完了したことを示す他のある種の信号が受信されるまで待機することができる。
【００４８】
コンピュータ26、34が稼働している状態で、立ち上げるべき特定のアプリケーション(例えば、47、48、49)を決定するために、SMSメッセージペイロードの一部分に含まれるアプリケーション番号をアプリケーション識別子のデータテーブルと比較することができる(ステップ104)。このデータテーブル比較は、コンピュータ26、34上で実行されているソフトウェア、モデムドライバ43、モデムドライバ内のソフトウェアモジュール(例えば、SMSパーサ)、またはモデム40内のプロセッサ56によって達成することができる。
【００４９】
始動すべきアプリケーション(例えば、47、48、49)を決定するために遠隔コンピュータ26、34またはそのモデム40でデータテーブル検索手順を用いるのは、コンピュータまたはモデムがSMSメッセージの内容から始動すべきアプリケーションを決定することができるやり方の一例にすぎない。例えば、SMSメッセージにファイル名および/またはファイル位置全体を含めるなど他の方法を用いてもよい。しかし、データテーブル検索手順では、SMSメッセージペイロードの大部分を占めることがない短いアプリケーション番号によって、アプリケーションを特定することができる。このことは、アプリケーションファイル名および/または記憶位置全体がSMSメッセージの長さに比べて非常に長い文字列になることがあるため、好都合でありうる。アプリケーション番号は、任意の英数字値または文字としてよく、遠隔コンピュータ26、34における1つのアプリケーションに対して固有でありさえすればよい。例えば、アプリケーション番号は、1から始まり、特定のコンピュータ26、34におけるSMS起動のために設定されたアプリケーションの個数までの単純な順序数とすることができる。SMSサービスプロバイダデータベースは、サービスによってサポートされる各遠隔コンピュータ26、34に固有の識別子(ID)(例えば、SMS受信機携帯電話番号)を含む。したがって、コンピュータIDとアプリケーション番号の組合せは、SMS起動のためにサーバ32に登録された各コンピュータ-アプリケーションに対して固有のIDを与える。
【００５０】
SMSメッセージから回復されたアプリケーションデータによって、コンピュータ26、34は、対応するアプリケーションを起動することができる(ステップ105)。起動されたアプリケーションによっては、SMSメッセージのペイロード内に提供されうるデータまたはパラメータを使用することがある。そのような場合、ペイロードデータは、アプリケーションの始動時または始動直後にアプリケーションに送られる。例えば、始動されるアプリケーションがファイルを別のコンピュータにダウンロードすることになる場合、SMSメッセージペイロードは、ダウンロードされるファイルの名前と、ファイルが送られる宛先アドレス(例えば、電子メールアドレス)とを含むことができる。この例では、ファイル名および宛先アドレスは、アプリケーションの起動時または起動直後にアプリケーションに提供される。
【００５１】
図10に示す動作方法を用いることにより、任意の数の異なるアプリケーションが、ユーザによってリモートで起動されるように設定されうる。現在使用されている任意のアプリケーションがリモートで起動されうるが、この能力は、様々な新規のアプリケーションおよび用途を可能にする。その非限定的例について図11から17を参照して以下に説明する。
【００５２】
図11は、電子メールサーバに格納された電子メールのダウンロードなどのために遠隔コンピュータの電子メールシステムを起動するための方法を示す。ユーザが休暇のときなど長期間にわたりパーソナルコンピュータ26、34がシャットダウンされている状態では、到来する電子メールは、コンピュータ電子メールプログラムによってダウンロードされるまで、電子メールサーバに保持されることになる。いずれ、ユーザの電子メールサーバアカウントが満杯になり、その後、さらなる電子メールは拒否され、送信者はユーザの受信ボックスが「いっぱい」であるというメッセージを受け取る可能性がある。ユーザは遠隔電子メールアクセス装置またはセルラ電話を使用して電子メールを読むことができるかもしれないが、電子メールのコピーを保有している間は電子メールサーバアカウントを空にできないことがある。したがって、コンピュータ26、34をリモートで起動して電子メールをダウンロードする能力により、ユーザが電子メールを受信し続けることができるようにユーザの電子メールサーバアカウントをクリアするための便利な方法がユーザに提供される。
【００５３】
図10に示した一般的方法と同様に、ユーザは、SMSメッセージをユーザのセルラ電話20からコンピュータ26、34に送ることによって(ステップ160)、または、電子メールアプリケーションの起動を要求するメッセージをサーバ32に送ることによって(ステップ161)、電子メールアプリケーションをリモートで起動することができる。ユーザが(例えば、インターネットカフェで)インターネットに接続されたコンピュータ70にアクセスできる場合、ユーザは、サーバ32がホストするウェブページにアクセスし、電子メールアカウントの起動を要求するメッセージをサーバに送ることができる(ステップ170、171)。付随して、ユーザは、新しい電子メールが拒否されるかどうか確かめるため、または情報を転送して保持するために、ユーザの電子メールアカウントに電子メールを送ること(ステップ172)を望むこともできる。
【００５４】
遠隔コンピュータのモデムがユーザのセルラ電話20またはサーバ32からSMSメッセージを受け取ると、コンピュータ26、34は、メッセージを構文解析し(ステップ101)、メッセージがコンピュータ26、34およびアプリケーション(例えば、47、48、49)の起動を要求していることを認識し(ステップ102)、必要に応じてコンピュータをオンにし(ステップ103)、SMSメッセージペイロード内のアプリケーション番号をアプリケーションIDデータテーブルと比較して、電子メールアプリケーションが起動されるべきことを決定する(ステップ104)。次いで、コンピュータは、電子メールアプリケーションを始動し(ステップ106)、インターネット接続を確立する(ステップ107)。その後、電子メールアプリケーションが、電子メールサーバと交信し、受信ボックスに保留中の電子メールをダウンロードする(ステップ108)。さらに処理が必要でないかまたは所定の期間内にさらにSMSメッセージが受信されない場合、図9を参照して先に説明したのと同様の方法に従って、コンピュータは、シャットダウンを開始することができる(ステップ90)。
【００５５】
図12は、ユーザが、遠隔コンピュータ26、34にSMSメッセージを送って、保留中のソフトウェアまたはデータの更新をダウンロードするようにコンピュータ26、34に指示することができる方法を示す。そのような能力は、ユーザがソフトウェア更新が利用可能なことを知り更新をインストールしたいと望むがその時にコンピュータ26、34が近くにない場合に役立つことがある。
【００５６】
ユーザは、ソフトウェア更新が利用可能であることを報道記事や電子メールなど様々な経路で知ることができる。SMS起動サービスプロバイダサーバ32を介して利用可能なソフトウェアの場合、サーバは、更新が利用できることをユーザに通知するSMSメッセージまたは電子メールをユーザに送ることができる(ステップ143)。
【００５７】
あるいは、ユーザが、データまたは新しいソフトウェアを、それを遠隔コンピュータ26、34にダウンロードするために保持すべきという命令とともにサーバ32にアップロードすることによって、更新を作成してもよい(ステップ173)。更新のアップロードは、インターネットに接続されたコンピュータ70を使用し、FTP、http、電子メールなど様々な任意のデータ転送プロトコルを用いてデータをサーバ32に送ることによって達成されうる。サーバが更新を受け取ると、サーバは、その後の遠隔コンピュータへのダウンロードのためにソフトウェアまたはデータをメモリに格納する(ステップ144)。任意選択で、更新をサーバ32にアップロードするプロセス(ステップ173)が、コンピュータ26、34をリモートで起動して更新をダウンロードする(ステップ140)ようにサーバ32に命令することもできる。
【００５８】
ユーザが、更新が利用可能なことを知ると、または、サーバ32に格納された情報により遠隔コンピュータ26、34を更新するプロセスを完了したいとき、ユーザは、図10を参照して先に説明したのと同じ方法を用いて、セルラ電話20またはコンピュータ70によってSMSメッセージを送ることができる。
【００５９】
コンピュータのモデム25、33がユーザのセルラ電話20またはサーバ32からSMSメッセージを受け取ると、コンピュータは、メッセージを構文解析し(ステップ101)、メッセージがコンピュータ26、34およびアプリケーション(例えば、47、48、49)の起動を要求していることを認識し(ステップ102)、必要に応じてコンピュータをオンにし(ステップ103)、SMSメッセージペイロードをアプリケーションIDデータテーブルと比較して、更新ダウンロードアプリケーションが起動されるべきことを決定する(ステップ104)。次いで、コンピュータ26、34は、更新ダウンロードアプリケーションを始動し(ステップ109)、インターネットへの接続を確立する(ステップ107)。ダウンロードを達成するために、コンピュータ26、34は、保留中の更新のダウンロードを要求するメッセージをサーバ32に送ることができる(ステップ110)。このメッセージを送ることによって、インターネットソケット通信接続がサーバ32との間に確立されて、ダウンロードプロセスが促進される。サーバ32では、ダウンロードの要求の受信(ステップ145)が、メモリから格納された更新を呼び出して現在のオープンソケットを介して更新を送信する準備をするようにサーバに促す。サーバ32は、任意の様々なコンピュータ間データ転送プロトコルを用いて遠隔コンピュータ26、34にダウンロードを送信する(ステップ146)。ダウンロードが完了すると、サーバ32は、ユーザにダウンロードが完了したことを通知することができる(ステップ147)。そうした通知は、ユーザのセルラ電話20へのSMSメッセージの形態としても、セルラ電話20またはコンピュータ70への電子メールによるものであってもよい。遠隔コンピュータ26、34では、ダウンロードされたファイルを受け取り、更新プロセスを更新ダウンロードアプリケーションによって完了する(ステップ111)。更新プロセスが完了すると、遠隔コンピュータ26、34は、図9を参照して先に説明したのと同様のやり方で、ダウンロード更新アプリケーションのシャットダウンおよび場合によってはコンピュータ自体のシャットダウンを開始することができる(ステップ90)。
【００６０】
図13は、ラップトップコンピュータ34を紛失したまたは盗まれた事態で所望されうるような、コンピュータ34上の大部分または全部のファイルを削除または暗号化するSMS遠隔アプリケーション始動能力の使用を示す。このアプリケーションは、コンピュータ34がそのハードドライブ上に格納されたデータを使い物にならなくするため、本明細書では参照を容易にするために「シアン化物アプリケーション(cyanide application)」と呼ぶことにする。シアン化物アプリケーションは、機密情報を含むラップトップコンピュータ34を完全に紛失したり盗まれた場合に、ユーザがそうした情報を破壊できるようにするために有用でありうる。起動されると直ちに、例えば、窃盗犯がデータをダウンロードしたりハードウェアを取り去る以前に、機密データは、危険にさらされるより前に保護されるかまたは破壊されうる。SMSメッセージは、セルラ電話ネットワークを介して送られ、送達に成功するまで(少なくとも数日間)セルラ電話事業者によって保持され、ラップトップコンピュータ34がオフのときでさえ電源を入れられるSMS受信機52によって受信されるため、シアン化物アプリケーションを起動するためにコンピュータをオンにするまたはインターネットに接続する必要がない。また、ラップトップコンピュータ34が、セルラ電話信号の範囲外またはセルラ電話信号から遮蔽されている場合、SMSメッセージは、ラップトップコンピュータ34がメッセージを受信できる位置に移動するまで数日間送られ続ける。
【００６１】
ユーザがラップトップコンピュータ34を紛失したまたは盗まれたことに気付いた場合、ユーザは、図10を参照して先に説明した方法を用いて、ラップトップコンピュータ34にシアン化物アプリケーションを起動するように命令するSMSメッセージをラップトップコンピュータ34へ送ることができる。これらの方法は、ユーザのセルラ電話20からSMSメッセージを送ること(ステップ160)、および、シアン化合物アプリケーションの起動を要求するために、サーバ32によって掲示されたウェブサイトにアクセスすること(ステップ170)を含む。
【００６２】
ラップトップコンピュータ34上の大部分または全部のファイルの削除または暗号化は、悪意または偶発的に行われる場合にコストが高くつく非常手段であるので、このアプリケーションの起動は、追加的なユーザ認証および確認を必要とすることができる。例えば、サーバウェブページ上でのシアン化物アプリケーションの選択(ステップ170、171)により、ユーザにある種の認証資格情報の入力を要求する認証ウェブページによってサーバ32が応答すること(ステップ162、174)を促すことができる。そうしたユーザ認証資格情報は、単純なユーザ名およびパスワードの組合せであってもよい。認証資格情報は、コンピュータ70またはセルラ電話20に接続された指紋または網膜スキャナのような生体計測スキャナによって入力されうる生体計測データを含んでもよい。さらに、サーバ32は、プロセスを取り消すことができないという警告とともに、ユーザがシアン化物アプリケーションの起動を希望することの確認を要求することができる。そのようなユーザ認証および確認情報は、サーバ32によって、シアン化物アプリケーション起動メッセージを送る(ステップ142)かどうかを決定するために使用されうる。また、ラップトップコンピュータ34がユーザを認証しシアン化物アプリケーションの起動の要求を検証することができるように、ユーザ認証情報の一部または全部をSMSメッセージペイロードに含むことができる。
【００６３】
ラップトップコンピュータ34がSMSメッセージを受け取ると、図10を参照して先に説明した様式で、メッセージが処理され、コンピュータおよびアプリケーションが起動される(ステップ100〜104)。コンピュータがシアン化物アプリケーションを起動すると(ステップ112)、ユーザを認証しユーザの要求を検証するために、そのアプリケーションは、メッセージペイロード内に含まれるユーザ認証資格情報をメモリ内に格納された資格情報と比較する(ステップ113)。ユーザが認証されると、シアン化物アプリケーションは、データファイルおよび/またはソフトウェアアプリケーションを削除または暗号化するプロセスを実行する(ステップ114)。ラップトップコンピュータ34はまた、(例えば、WiFiネットワークにアクセスすることによって)インターネットへの接続を開き、ファイルが削除または暗号化されたことを確認するメッセージをサーバ32に送ることができる(ステップ115)。サーバ32がラップトップコンピュータ34から確認メッセージ受け取ると(ステップ145)、サーバは、電子メールまたはSMSメッセージによって、シアン化物アプリケーションが完了したことをユーザに通知するメッセージを、ユーザのセルラ電話20またはコンピュータ70に送ることができる。
【００６４】
最後の処置として、シアン化物アプリケーションは、ラップトップコンピュータ34がユーザ以外の者に容易に使用できないように、コンピュータ上にパスワードを設定しコンピュータをシャットダウンすることができる(ステップ116)。
【００６５】
シアン化物アプリケーションは、データファイルを暗号化するまたはハードドライブからファイルを回復不可能に削除するための多くの利用可能なルーチンのうち任意のものを採用することができる。また、このアプリケーションは、コンピュータがファイルを削除または暗号化するプロセスの最中であることを窃盗犯に気付かせないために、動作中に暗い画面を表示し動作灯を点灯しないように構成されうる。あるいは、アプリケーションは、プロセスが完了するまでファイルが暗号化または削除されていることをラップトップコンピュータのユーザが気付かないように、バックグラウンドで動作するように構成されてもよい。
【００６６】
図14は、コンピュータ26、34がその位置を報告することを可能にするためにSMSメッセージによるコンピュータアプリケーションの遠隔起動が使用されるアプリケーションを示す。このアプリケーションは、特に、その可搬性のゆえに置き間違え、紛失、または盗難がたやすく起こりうるラップトップコンピュータ34に有用でありうる。ラップトップコンピュータ34が稼働しているかどうかに関わらず、ユーザは、ラップトップコンピュータ34をウェークアップさせ、ラップトップコンピュータ34にその位置をモデム内のGPS受信機を使用して決定させ、(例えば、地理座標の形式で)その位置を報告するメッセージを送信させるためのSMS起動メッセージを送ることができる。参照を容易にするために、本明細書では、このアプリケーションをラップトップロケータアプリケーション(Laptop Locator application)と呼ぶ。アプリケーションの技術、機能、および方法はかなり異なるが、起動時の位置の自己報告については、LoJack(登録商標)として知られる自動車盗難防止システムと似ている。
【００６７】
SMSメッセージはセルラ電話ネットワークを介して送達され、ラップトップコンピュータ34がオフにされかつ/またはインターネットから切断されているときであってもラップトップコンピュータモデム33内のSMS受信機は通電されるため、この能力は、ラップトップコンピュータ34にその位置または状態に関わらずそれ自体を起動しその位置を報告することを促すための機構を提供する。注目すべきことに、ラップトップのユーザは、ラップトップロケータアプリケーションがシアン化物アプリケーションと組み合わせて有用であることを見出すことができる。つまり、ユーザは、ハードドライブ上のファイルを削除するかどうか決める前に、まず、ラップトップコンピュータ34を単に置き間違えただけなのかどうかを決定することができる。
【００６８】
図14を参照すると、ユーザがラップトップコンピュータ34が紛失していることに気付き次第、ユーザは、セルラ電話20から(ステップ160、161)、または、インターネットにアクセス可能なコンピュータ70を使用して(ステップ170)、SMSメッセージを送ることができる。そのようなSMSメッセージの送信に関するステップは、直接でもサーバ32を介しても、図10を参照して先に説明した同じステップと基本的に同様である。同様に、遠隔ラップトップコンピュータ34がSMSメッセージを受け取ると(ステップ100)、メッセージは、図10を参照して先に説明した処理と同様に処理される(ステップ101〜104)。
【００６９】
SMSメッセージがラップトップロケータアプリケーションの起動を要求していることをラップトップコンピュータ34が認識すると(ステップ104)、そのアプリケーションが開始される(ステップ117)。コンピュータは、モデム40内のGPS受信機回路53を通電し、GPS受信機がその位置を決定するために十分な信号を取得できるようにし、GPS座標をダウンロードする(ステップ118)。コンピュータは、メッセージペイロード内にまたは添付としてGPS座標を含む1つまたは複数のメッセージをユーザに送信するようにフォーマットし(ステップ119)、次いで、メッセージを1つまたは複数の利用可能な通信路を介してユーザに送信する(ステップ120)。位置メッセージを送信するために、ラップトップコンピュータ34は、WiFiネットワークまたは接続されたネットワークケーブルなどを介して、インターネット接続の確立を試みることができる。インターネット接続が確立された場合、ラップトップコンピュータ34は、電子メールをユーザに送ることによってその位置を報告することができ、ユーザは、インターネットに接続された任意のコンピュータ70で電子メールを受け取ることができる(ステップ175)。代わりに、ラップトップコンピュータ34は、サーバ32へ電子メール、http、またはXMLメッセージを送ることによって、そのGPS座標を送信することもでき、サーバ32は、その情報を受け取り、SMSまたは電子メールメッセージの形式でユーザに転送することができる(ステップ147)。一実施形態では、モデム40内のSMS受信機52は、例えば典型的にはセルラ電話において双方向通信の能力を有することができる。そのようなモデムを使用して、ラップトップコンピュータは、メッセージペイロード内にGPS座標を含むSMSメッセージをユーザのセルラ電話20またはサーバ32に送ることによって、その位置を報告することもできる(ステップ163)。ラップトップコンピュータ34がその位置をSMSメッセージによってユーザのセルラ電話20に報告することを可能にするために、起動SMSメッセージは、報告SMSメッセージが宛てられるセルラ電話番号をメッセージペイロードに含むことができる。
【００７０】
ラップトップロケータアプリケーションは、ラップトップコンピュータ34がバッテリ電力を使い果たすかまたは報告を中止するためのメッセージを受け取るまで、定期的にそのGPS座標をダウンロードし、ユーザにGPS座標を報告するメッセージをフォーマットして送信し続けることができる。ユーザは、ユーザのセルラ電話20からSMSメッセージを送ることによって(ステップ164)、または、コンピュータ70からサーバ32へアプリケーションの動作停止を要求するメッセージを送ることによって(ステップ176)、遠隔コンピュータ34にラップトップロケータアプリケーションを休止するように命令することができる。そのような要求がサーバ32に受け取られると、サーバ32は、ラップトップコンピュータ34へラップトップロケータアプリケーションのシャットダウンを要求するSMSメッセージをフォーマットして送る。
【００７１】
ラップトップコンピュータ34が、それにラップトップロケータアプリケーションをシャットダウンするよう命令するSMSメッセージを受け取ると、そのメッセージは、すべての着信SMSメッセージの処理(ステップ100〜104)と同様に処理されうる。代替として、ラップトップロケータアプリケーションが、シャットダウンメッセージを待って、そうしたメッセージに直接基づいて動作してもよい(ステップ121)。ラップトップロケータアプリケーションは、図9を参照して先に説明したのと同様のやり方でシャットダウンされうる(ステップ90)。しかし、盗難が疑われるときなどでラップトップロケータが起動されうる状況である場合、ラップトップロケータアプリケーションは、将来または定期的にユーザによって再び起動できるようにバッテリ電力を節約するため、コンピュータを単純にシャットダウンすることもできる。
【００７２】
前述のシアン化物アプリケーションと同様に、ラップトップロケータアプリケーションは、コンピュータがその位置を報告するプロセスの最中であることを窃盗犯に気付かせないために、報告動作中に暗い画面を表示し動作灯を点灯しないように構成されうる。あるいは、アプリケーションは、ラップトップコンピュータが正当な所有者にその位置を報告していることをそのコンピュータの不正なユーザが気付かないように、バックグラウンドで動作するように構成されてもよい。
【００７３】
一実施形態では、ラップトップコンピュータ34またはサーバ32は、GPS受信機から(または位置報告メッセージのペイロードから)緯度および経度座標を受け取り、所在地住所として位置を決定するマッピングソフトウェアアプリケーションを含むことができる。次いで、この所在地住所を上述の任意の報告メッセージ形式でユーザに報告することができる。また、ラップトップコンピュータ34の位置は、(例えば、コンピュータ70またはセルラ電話ウェブブラウザを介して)ユーザがアクセスするためのサーバ32によって掲示されたウェブページに提示される市街地図上に表示することもできる。そのようなマッピングソフトウェアアプリケーションは、コンピュータ技術分野において周知である。
【００７４】
代替実施形態では、コンピュータモデム40は、メモリ57に格納されたプロセッサに実行可能なソフトウェアにより、SMSメッセージを受け取り、ラップトップコンピュータ34をウェークアップさせることなくその位置を決定して報告するように構成されうる。この実施形態では、(図5Aまたは5Bに示されるような)コンピュータモデム40が、プロセッサ56で実行するソフトウェアにより、ラップトップコンピュータ34から電力以外の入力なしに、図14に示される位置決定および報告機能を実行するように構成される。ラップトップコンピュータ34が起動されないため、不正なユーザは、その位置が報告されていることに気付かされることがない。さらに、電力がモデム40に予備バッテリ(例えば、モデム40自体にあるバッテリ(図示せず))によって供給される場合は、ラップトップコンピュータのバッテリが除去されたとしても位置報告機能を実施することができる。
【００７５】
この代替実施形態では、モデムプロセッサ56が、ソフトウェアによって、コンピュータをウェークアップさせる(ステップ103)ことなしに図14のステップ100〜102および104〜120に示された機能を実行するように構成される。この実施形態では、LOJACKアプリケーションがモデムメモリ57に存在し、単にモデムプロセッサ56上で実行される。したがって、モデムプロセッサ56は、ソフトウェアにより、SMSメッセージを構文解析してLOJACKアプリケーションが起動されるべきことを認識し(ステップ101、104)、次いで、メモリ57からLOJACKアプリケーションを呼び出しモデムプロセッサ56内で起動するように構成される。モデムプロセッサ56は、宛先に位置報告メッセージをフォーマットして送る(ステップ119、120)前に、GPS受信機53を起動しGPS座標をダウンロードする(ステップ118)。一実施形態では、プロセッサ56は、ソフトウェアにより、位置報告メッセージを、WiFiトランシーバ54を介して宛先の電子メールまたはインターネットアドレスへ送るように構成される。別の実施形態では、プロセッサ56は、ソフトウェアにより、宛先電話番号に(WiFiトランシーバ54を介して)送られるSMSメッセージとして、位置報告メッセージを送るように構成される。いずれの場合も、宛先アドレス(例えば、httpアドレスまたは電話番号)は、メモリ57に格納されてもSMSメッセージに含まれてもよい。したがって、種々の実施形態において、モデム40は、プロセッサが実行可能なソフトウェアにより、LOJACKアプリケーションが起動されているかどうかに関わらずその位置をメモリ57に格納された特定の宛先へ報告する、SMSメッセージペイロードから宛先アドレス(例えば、httpアドレスまたはSMS電話番号)を取得する、または、SMSメッセージヘッダ(すなわち、SMS電話番号)から宛先アドレスを取得するように構成されうる。他の実施形態では、モデム40は、GPS座標をダウンロードするステップ(ステップ118)と、位置報告メッセージをフォーマットし送るステップ(ステップ119、120)とを定期的に繰り返し、それによって、電力がモデム40に供給され続ける限り受信機がコンピュータ26、34の位置および移動を追跡することを可能にするように構成されうる。
【００７６】
コンピュータモデム40に内蔵の能力としてLOJACKを提供することにより、コンピュータをウェークアップさせることなしに、または他の形で、不正ユーザの注意を惹き付ける可能性がある指示を生成することなしに位置報告を行うことが可能になる。また、モデム40の電力消費は、起動されたコンピュータよりはるかに少なくなるため、この実施形態では、LOJACK機能が所定のバッテリ充電でより長い時間実行できるようになる。
【００７７】
図15は、SMSメッセージによるコンピュータアプリケーションの遠隔起動を使用して、インスタントメッセージ(IM)アプリケーションを実行していないコンピュータ26、34へインスタントメッセージ(IM)をユーザが送ることを可能にする、アプリケーションを示す。これは、宛先のコンピュータ26、34がオフであるかまたはIMアプリケーションを現在実行していないときに、IMを送るまたはIMメッセージングセッションを開始するために便利な方法でありうる。
【００７８】
IMメッセージを遠隔コンピュータ26、34に送りたいユーザは、携帯電話で通常のやり方でIMメッセージを書くことができる(ステップ165)。ユーザが宛先コンピュータ26、34はIMメッセージを受信していないことを知っている場合、IMメッセージは、携帯電話アプリケーションなどによってセルラ電話20において準備されるSMSメッセージのペイロードに埋め込むことができる(ステップ166)。SMSメッセージはまた、遠隔コンピュータ26、34におけるIMアプリケーションのアプリケーション識別子を含むように構成される。SMSメッセージは、遠隔コンピュータ26、34へ送られて、遠隔コンピュータ26、34にIMアプリケーションを開始するよう命令する(ステップ160)。
【００７９】
ユーザがコンピュータ70からIMを送りたい場合、ユーザは通常のやり方でIMメッセージを書くことができ(ステップ177)、その後、コンピュータソフトウェアが、IMメッセージを電子メール、HTML、またはXMLメッセージに埋め込み(ステップ178)、このメッセージをサーバ32に送ることができる(ステップ171)。同様に、ユーザは、コンピュータ26、34に送られることになるIMメッセージを含むメッセージを、セルラ電話20からサーバ32に送ることもできる(ステップ161)。サーバ32は、図10を参照して先に説明したのと同様のやり方で、受け取った要求を処理し、遠隔コンピュータ26、34に送られるSMSメッセージをフォーマットする(ステップ140〜142)。
【００８０】
遠隔コンピュータ26、34が、それにIMアプリケーションを起動するよう命令するSMSメッセージを受け取ると(ステップ100)、そのメッセージは、すべての着信SMSメッセージの処理(ステップ100〜104)と同様に処理されうる。コンピュータ26、34がIMアプリケーションを起動すると(ステップ122)、SMSメッセージのデータペイロードは、通常のやり方で表示されるIMメッセージに変換される(ステップ123)。追加の通信がない場合は、IMアプリケーションは、図9を参照して先に述べたやり方でシャットダウンされうる(ステップ90)。代替方法として、コンピュータ26、34は、インターネット接続を確立し(ステップ107)、ユーザとのIMセッションを開始することができる(ステップ124、179)。この代替方法は、そのコンピュータ26、34がオフであるかまたはIMアプリケーションを実行していない他の人物と、ユーザがIMセッションを開始できるようにするために有用でありうる。コンピュータがオンになりユーザのIMメッセージを表示したとき、その人物は、ユーザがIMを望みインターネット接続を確立するための行動を取る(例えば、WiFiネットワークサービスが利用可能な場所に移動する)可能性があることを通知される。
【００８１】
図16は、遠隔コンピュータ26に接続されたビデオカメラ260をリモートで起動し、ユーザのセルラ電話20など他の場所に画像を送信するために、SMSメッセージによるコンピュータアプリケーションの遠隔起動を使用するアプリケーションを示す。このアプリケーションは、セキュリティ監視の目的に、あるいは、ユーザが稼働中かつ/またはインターネットに接続されたコンピュータ26、34から離れずにユーザの家の状態を確認したいときに有用でありうる。
【００８２】
ビデオカメラアプリケーションを起動するために、ユーザは、図10を参照して先に述べた技術のいずれかを用いて、SMSメッセージを送ることができる(ステップ160、161、170、171、140〜142)。同様に、遠隔コンピュータ26がSMSメッセージを受け取ると(ステップ100)、メッセージは、図10を参照して先に説明したのと同様のやり方で処理される(100〜104)。
【００８３】
コンピュータがビデオカメラアプリケーションを起動すると(ステップ125)、映像を宛先に送るためのインターネット接続を開き(ステップ107)、ビデオカメラ260をオンにして画像の受信を開始することができる(ステップ126)。SMSメッセージペイロードに含まれるアドレスに応じて、コンピュータ26、34は、受信したビデオストリームを、種々のファイル転送プロトコルを使用してユーザに送信することができる(ステップ127)。例えば、コンピュータ26、34は、サーバ32または別のコンピュータ70に、あるいは直接ユーザのセルラ電話20にビデオをストリーミングすることができる。代わりに、ビデオのセグメントが、ユーザに定期的に送信される映像ファイル、例えば、電子メールメッセージに封入される映像ファイルに記録されてもよい。ビデオの送信は、コンピュータ26、34がビデオカメラアプリケーションを終了するよう命令されるまで継続される。そのような命令は、画像が記録されるべき期間などとして独自のSMSメッセージのペイロードに含めることができる。代わりに、コンピュータ26、34は、コンピュータにビデオアプリケーションをシャットダウンするよう命令する第2のSMSメッセージを受け取るまで(ステップ121)、ビデオ画像の送信を継続してもよい。ユーザは、そうしたSMSメッセージを、図14を参照して先に説明したのと同様のやり方で、ユーザのセルラ電話20から直接送る(ステップ164)、または、インターネットに接続されたコンピュータ70から送ることができる(ステップ176)。コンピュータ26、34にビデオカメラアプリケーションを停止するように命令するSMSメッセージを受け取ると、コンピュータ26、34は、図9を参照して先に述べた方法に従って、アプリケーションのシャットダウンを開始することができる(ステップ90)。
【００８４】
図17は、ユーザが遠隔コンピュータ26、34からファイルをダウンロードすることを可能にするために、SMSメッセージによるコンピュータアプリケーションの遠隔起動を使用するアプリケーションを示す。このアプリケーションは、現在稼働していないかまたは遠隔ファイル転送動作を設定されていない遠隔コンピュータ26、34上のファイルのコピーをユーザが欲しいときに有用でありうる。セルラ電話20、またはインターネットに接続されたコンピュータ70を使用して、ユーザは、遠隔コンピュータ26、34を始動し、コンピュータにファイルをサーバ32にコピーさせることができ、サーバ32から、そのファイルを、インターネットを介してコンピュータ70にダウンロードするか、または直接ユーザのセルラ電話20に送達することができる。
【００８５】
ファイルダウンロードアプリケーションを起動するために、ユーザは、図10を参照して先に述べた技術のいずれかを用いて、SMSメッセージを送ることができる(ステップ160、161、170、171、140〜142)。その際に、送信されるファイルの名前をSMSメッセージペイロードに含めることができる。同様に、遠隔コンピュータ26、34がSMSメッセージを受け取ると(ステップ100)、SMSメッセージは、図10を参照して先に説明したのと同様のやり方で処理される(ステップ100〜104)。
【００８６】
コンピュータ26、34がファイルダウンロードアプリケーションを起動すると(ステップ125)、アプリケーションは、SMSメッセージペイロードに含まれたファイル名を読み取ることにより、転送すべきファイルを決定する(ステップ129)。メッセージペイロードには、ファイル名およびディレクトリ位置を明示的に含めることもできる。あるいは、ペイロードにファイル名のみを含めることもでき、アプリケーションが、そのファイルの該当するディレクトリ位置を特定するために、ハードディスクディレクトリを検索するように構成されうる。第3の選択肢として、メッセージペイロード内にファイル識別子を提供することもできる。コンピュータは、このファイル識別子を使用して、ファイルダウンロードアプリケーションのために設定されたデータフィルのレジストリにおいて該当するファイル名およびディレクトリ位置を検索することができる。
【００８７】
ファイルをダウンロードするために、コンピュータは、インターネット接続を確立し(ステップ107)、http(または他のプロトコル)メッセージをサーバ32に送って、サーバにファイルを転送するためのソケットを開く(ステップ130)。このプロセスでは、ファイルを安全な方法で転送するためにセキュアソケット(SSL)接続を開いてもよい。遠隔コンピュータ26、34からのメッセージに応答して、サーバ32は、データを受け取るためにメモリにおける一時ファイルを開くことなどによって、1つまたは複数のファイルを受け取る準備をする(ステップ149)。次いで、遠隔コンピュータ26、34は、適切なデータ転送プロトコルを使用してファイルをサーバに転送する(ステップ131)。ファイル転送が完了すると、図9を参照して先に説明したやり方で、コンピュータ26、34は、ファイルダウンロードアプリケーションをシャットダウンする(ステップ90)。
【００８８】
サーバ32は、1つまたは複数のファイルを受け取ると、その情報を、ユーザがアクセスできるかまたはユーザへの転送に使用できる位置に格納する(ステップ150)。次いで、サーバ32は、ファイルがダウンロードのために準備されたことをユーザに通知することができる(ステップ151)。サーバは、SMSメッセージをユーザのセルラ電話20に送ることにより、あるいは、コンピュータ70またはユーザのセルラ電話20で受け取ることが可能な電子メールを送ることにより、そうした通知を行うことができる。最後に、サーバ32は、ファイルを要求されたときにユーザへダウンロードする(ステップ152)。ユーザは、サーバ32に連絡する、例えば、サーバがホストするウェブページにアクセスしてダウンロード起動ハイパーリンクをクリックすることなどよって、転送されたファイルのダウンロードを要求することができる。コンピュータ70を使用してのファイルのユーザへのダウンロードは、電子メール、FTP、HTML、または他のデータ転送プロトコルによって達成されうる。ユーザのセルラ電話20へのファイルのダウンロードは、SMSメッセージ、データ転送、(ウェブブラウザを使用した)HTML、または、セルラ電話ネットワークを介して利用可能な他のデータ転送プロトコルによって達成されうる。
【００８９】
種々の実施形態において、様々なフォーマットに必要なデータを含めることが可能なSMSメッセージパケットの柔軟な構造が活用される。図18Aは、SMSメッセージはアプリケーションを始動するコマンドであることを示すシンボルと、始動すべきアプリケーションをコンピュータに通知するアプリケーション番号(またはID)とを含むSMSメッセージのための1つのフォーマットを示す。これらのデータフィールドは、SMSメッセージのSMSヘッダおよびアドレス部分の直後に配置することができる。アプリケーション識別子フィールドの後に、SMSメッセージペイロードの残りの部分に含まれうるアプリケーションに関係する追加データを続けてもよい。
【００９０】
上述のように、シンボルは、SMSメッセージが(図では「ウェークアップメッセージID」フィールドとして示す)アプリケーション起動コマンドであることを、コンピュータ26、34またはそのモデム25、33に示す。このシンボルは、数ビットのメッセージにおける任意の認識可能なビットパターンとすることができる。また、「ウェークアップメッセージID」およびアプリケーションIDフィールドは、最初の数ビットが同じパターンを有する単一の値として組み合わせてもよい。そのようなシンボルを含むことにより、SMSメッセージを起動コマンドとして認識できるモデムハードウェアおよびソフトウェアの設計を簡略化することができる。しかし、実施形態では、そのようなシンボルをSMSメッセージに含むことを必須とはしない。代わりに、モデム、モデムドライバ、またはコンピュータは、アプリケーション番号または他のデータフィールドから、SMSメッセージがアプリケーション起動コマンドであることを認識するように構成されてもよい。例えば、アプリケーション番号が、データテーブル検索手順において、SMSメッセージの性質と起動すべきアプリケーションの両方を決定するために使用されうる。受信されるSMSメッセージごとにデータテーブル検索手順を行うことにより複雑さが増す可能性があるが、そうすることにより、SMSメッセージが他の種々のコマンドを遠隔ユーザから搬送することを可能にすることで、より大きな柔軟性を実現することができる。そのような他の種々のコマンドとしては、シャットダウンコマンド(例えば、図14および16を参照して本明細書に説明したコマンド)、状態問合せ、追加データ(例えば、第1のSMSメッセージによって起動されるアプリケーションに対する追加のデータを提供するための第2のSMSメッセージ)などがあり、これらすべては、データテーブル内のエントリに基づいて解釈されうる。
【００９１】
いくつかの実施形態またはアプリケーションは、認証されたサーバまたはユーザによってメッセージが送られたことをコンピュータが確認することを可能にするためにSMSメッセージ内にメッセージ認証フィールドを含む。図18Bは、そのようなSMSメッセージにおいて、認証ハッシュがアプリケーション番号(「アプリケーションID」)の後であって残りのメッセージペイロードの前に含まれているSMSメッセージのあり得る構成を示す。認証ハッシュの性質については、図20を参照して後でより完全に説明する。コンピュータ26、34が図18Bに示すようなSMSメッセージを受け取ると、メッセージを認証するために、認証ハッシュが、アプリケーション番号(または遠隔コンピュータ26、34およびサーバ32に知られている他のある種の値)と組み合わされて使用される。メッセージが認証された場合、特定されたアプリケーションが始動され、残りのペイロード部分にあるデータがアプリケーションによって使用される。
【００９２】
いくつかのアプリケーションでは、認証されたユーザが処理を要求したことを確認するために、ユーザを認証する必要もある。例えば、図13を参照して先に説明したように、シアン化物アプリケーションを始動する前に、コンピュータが、認証されたユーザによって処理が要求されていてハッカーまたは偶然による要求ではないことを確認するように構成されうる。そのような場合、ユーザ認証データは、図18Aおよび18Bに示されるメッセージペイロードに含めることができる。そのようなユーザ認証は、ユーザ名とパスワードの組合せ、または他のある種の形式の認証とすることができる。
【００９３】
図18Cは、ユーザ認証情報がSMSメッセージに含まれうる形式の他の例を示す。この例では、ユーザ認証情報は、ユーザ資格情報および暗号化鍵によって作成されたハッシュの形式で提供される。ユーザ名およびパスワードを暗号化鍵とともにコンピュータが知ることができるので、コンピュータは、受け取ったユーザ認証ハッシュをこの内部情報から生成されたハッシュと比較して、認証されたユーザがSMSメッセージを送ったことを確認することができる。
【００９４】
サーバ32が種々の実施形態およびアプリケーションに関して上記に説明したサービスを提供するために、サーバ32は、遠隔コンピュータ、およびSMSメッセージによってリモートで開始されるそれらのアプリケーションに関する情報のデータベースを保持することができる。データ構造およびフィールドの任意の組合せが、そのような情報を格納するために使用されうる。例えば、図19Aは、各レコードが、コンピュータの識別子のようなキー、および必要な情報のすべてを一連のデータフィールドに含んでいるデータ構造を示す。これらのデータフィールドは、例えば、SMS受信機電話番号、コンピュータの状態(オンまたはオフ)、第1のアプリケーションのID、第1のアプリケーションの認証値、第1のアプリケーションの状態、第2のアプリケーションのIDなどを含むことができる。SMSメッセージを生成するために、サーバ32は、単に、(コンピュータ番号に対しキー設定されたデータレコードを呼び出すことなどによって)指示された遠隔コンピュータについてデータフィールドを呼び出して、該当するデータフィールドから、アプリケーションIDおよびアプリケーション認証番号のような必要なデータを選択する。
【００９５】
他の例として、SMS始動のために登録されたコンピュータおよびアプリケーションごとに状態および重要なデータを効率的に追跡するために、サーバは、いくつかの別個であるが相互相関するデータテーブルを含むデータベースを保持することができる。図19Bは、そのような用途の例示的データベース構造を示す。データ構造は、コンピュータレジストリファイル191、コンピュータアプリケーションレジストリ192、およびアプリケーション状態ファイル193を含むことができる。
【００９６】
コンピュータレジストリファイル191は、SMS起動サービスに登録された各コンピュータに固有の情報、例えば、キーまたはコンピュータ番号、コンピュータのSMS受信機電話番号、および、コンピュータの所有者またはSMS始動サービスの購入者に関する情報を記録するために使用されうる。この例では、遠隔コンピュータの番号は、データベース全体においてデータレコードを相互に関連付ける独立キーとして使用される。
【００９７】
SMS始動のために登録されたすべてのアプリケーションを追跡するために、コンピュータアプリケーションレジストリ192をデータベースに含めることができる。このデータレコードまたはデータテーブルは、SMS始動のために登録された各コンピュータにおけるアプリケーションごとのレコードを含む。コンピュータ番号は、各アプリケーションをその関連するコンピュータに関係付けるための独立キーを提供し、コンピュータ番号(またはキー)とアプリケーション番号の組合せがデータベース内で一意になるようにする。各アプリケーションレコードは、SMSメッセージを形成するときに実装する必要があるアプリケーション認証値および任意の特別な要件に関する情報など、関連するアプリケーションを始動するために必要な情報を含む。例えば、一部のアプリケーションは、ユーザ認証を必要とするが、他のアプリケーションでは必要としないことがある。
【００９８】
また、図19Bにはアプリケーション状態ファイル193も示されている。サーバ32は、SMS始動のために登録された各コンピュータ26、34およびアプリケーションの現在の状態を記録するために、このファイルを保持することができる。この状態は、単純な「1」(動作中)または「0」(シャットダウン)の状態フラグとして、あるいは、より完全な状態の記述として保持されうる。他のフィールドは、アプリケーションおよびコンピュータの状態に関係する追加データ、例えば、状態情報がサーバに報告された最終日を記録することができる。サーバ32は、図9を参照して先に説明したように自身がアプリケーションをシャットダウンしようとしていることを遠隔コンピュータが報告するたびに、状態エントリを記録することによって、コンピュータアプリケーション状態の記録を保持することができる。
【００９９】
多くの既知の技術が、受信コンピュータ26、34へのSMSメッセージを認証するために使用されうる。図20は、メッセージを認証するためにコンピュータ26、34で比較されうる(ステップ205)認証ハッシュのサーバ32またはセルラ電話20における生成(ステップ200)を含む例示的方法を示す。生成されたハッシュと受信したハッシュの一致を確かめることによって、コンピュータ26、34は、SMSメッセージが適正に受け取られ、また認証されたユーザまたはサーバによって作成されたことを確かめることができる
【０１００】
サーバまたはセルラ電話で実行される方法の部分において、サーバ32またはセルラ電話20は、メモリから、例えば、図19Aまたは19Bに示したデータレコードの該当するフィールドから、アプリケーション認証値を呼び出す(ステップ201)。サーバ32またはセルラ電話20はまた、メモリから暗号化鍵を呼び出す(ステップ202)。暗号化鍵は、SMS始動サービスに登録された各コンピュータおよび/またはSMS始動サービスに登録された各アプリケーションごとに異なることができる。また、「リプレイアタック」を打ち負かすために、いくつかの実施形態において、受信者が冗長メッセージを識別できるようにタイムスタンプ(または他のランダムで非循環の固有識別子)を含めることができる。そのような実施形態では、アプリケーション認証値および暗号化鍵の呼び出し(ステップ201、202)の一部として、現在の(例えば、時または分までの)日付および時刻をメモリから呼び出すこともできる。そのような実施形態では、アプリケーション認証値とタイムスタンプ(またはランダムな固有の番号)の組合せにより、図20に示した方法を用いてメッセージを認証するために使用されうる非循環認証値が与えられる。
【０１０１】
アプリケーション番号(または他のデータ)、アプリケーション認証値、(いくつかの実施形態における)タイムスタンプまたはランダムな固有(すなわち一度のみ使用される)番号、および適切な暗号化鍵を使用して、コンピュータは、これらの値のハッシュを任意の公知の暗号化ハッシュアルゴリズムを用いて生成する(ステップ203)。次いで、このハッシュ値は、図18Bまたは18Cに示されるようなSMSペイロードに付加される(ステップ204)。
【０１０２】
SMSメッセージが遠隔コンピュータ26、34によって受け取られると、コンピュータ(あるいはモデムまたはモデムドライバ)は、メッセージが構文解析されるときアプリケーション番号およびハッシュ値を取り出す(ステップ206)。次いで、コンピュータ(あるいはモデムまたはモデムドライバ)は、受け取ったアプリケーション番号、受信の日付/時刻、格納された認証番号および暗号化鍵を入力として使用して、自身のハッシュを同じハッシュアルゴリズムを用いて生成する(ステップ207)。ランダムな固有番号が送信者によって別個に送信される実施形態では、コンピュータは、以前に受信した番号を呼び出し、その値をハッシュアルゴリズムで使用する。次いで、コンピュータ(あるいはモデムまたはモデムドライバ)は、受信したハッシュを生成したハッシュと比較する(ステップ208)。2つのハッシュ値が一致する場合は、メッセージが認証される(ステップ209)。しかし、2つのハッシュ値が一致しない場合、このことは、SMSメッセージあるいはこのメッセージを生成したユーザまたはサーバに何らかの問題があることを示しており、したがって、コンピュータ26、34は、メッセージを拒否または無視することができる(ステップ210)。リプレイされたSMSメッセージは、正しくないタイムスタンプまたは以前に使用されたランダム固有番号に基づくハッシュ値を含むため、ハッシュで固有またはタイムスタンプ値を使用することにより、コンピュータ26、34が「リプレイアタック」を拒否または無視することも可能になる。
【０１０３】
先に説明したように、SMSメッセージはユーザのセルラ電話20から直接送信されうるので、サーバ32は、すべての実施形態で必要とされるわけではない。サーバ32が存在しない実施形態を可能にするために、携帯電話アプリケーションが、アプリケーション番号、アプリケーション認証値、およびSMS起動メッセージを生成するために必要とされる他の情報を追跡または記録するために使用されうる。さらに、セルラ電話アプリケーションは、ユーザがSMSメッセージデータを直接入力する必要がないように、単純なユーザインターフェースを提供するように構成されうる。例えば、図21は、メニュー選択をすることによりユーザがコンピュータアプリケーションをリモートで起動することを可能にするアプリケーションディスプレイ211を有するセルラ電話20を示す。この例では、3つのソフトウェアアプリケーションがディスプレイ上に示され、これらのアプリケーションは、メニューアクチュエータ212またはセルラ電話ボタン213を押すことによって簡単にリモートで起動されうる。
【０１０４】
図22に、例示的な携帯電話遠隔起動アプリケーションを示す。このアプリケーションは、携帯電話ソフトウェアアーキテクチャにおいて、携帯電話のルートアプリケーションメニューに表示され、それにより、ユーザが、メニューアクチュエータ212を使用してアプリケーションを選択することで、このアプリケーションが起動できる(ステップ220および221)ように構成されうる。これに応答して、携帯電話遠隔起動アプリケーションは、携帯電話から起動可能な遠隔コンピュータアプリケーションのメニューを生成する(ステップ222)。ユーザは、セルラ電話20上のボタンを押すことなどによって、メニューから所望のアプリケーションを選択する(ステップ223)。携帯電話アプリケーションは、ユーザの選択を受け取り(ステップ224)、選択されたコンピュータアプリケーションに関連したデータ、例えば、アプリケーション番号、アプリケーション認証値、および任意の追加的要件を含むデータを、メモリから呼び出す(ステップ225)。選択されたコンピュータアプリケーションが、ユーザを認証するためのユーザ名およびパスワードのエントリなど追加のユーザ入力を必要とする場合、補足入力表示を携帯電話上に生成することができる(ステップ226)。ユーザが携帯電話ボタンを使用して追加データを入力し(ステップ227)、その入力は携帯電話アプリケーションソフトウェアによって受け取られる(ステップ228)。次いで、メモリから取り出されたデータ、および任意選択でユーザにより入力された認証資格情報を使用して、携帯電話アプリケーションは、SMSメッセージをフォーマットする(ステップ229)。最後に、携帯電話20は、標準的なSMSメッセージ転送方法を用いて、SMSメッセージを遠隔コンピュータ26、34に送信する(ステップ230)。
【０１０５】
このような携帯電話アプリケーションは、携帯電話のメモリに組み込まれてよく、アプリケーションサーバからダウンロードされてもよく、リモートで制御されるコンピュータにインストールされたソフトウェア(例えば、遠隔コンピュータにインストールされたソフトウェアの一部分)から読み込まれてもよく、あるいは、SMS起動サービスへの加入時などにSMS起動サービスプロバイダサーバ32からダウンロードされてもよい。
【０１０６】
上述の各実施形態において、携帯電話20、サーバ32、および遠隔コンピュータ26、34の機能は、ソフトウェアで提供されうる。そのようなソフトウェアは、ハードディスクドライブ、読取り専用コンパクトディスク、予めプログラムされたメモリチップ(例えば、携帯電話のSIMチップ)、RAMなど任意のコンピュータ可読媒体上に、格納および配布するまたは他の方法で駐在することができる。また、そのようなソフトウェアは、使用または格納のためにソフトウェアを受け取るためにモデムまたはコンピュータが理解できる電気または電磁信号の形態で、ネットワークを介してまたは無線で送信されうる。
【０１０７】
上述の実施形態の方法のステップを実装するために使用されるハードウェアは、一組の命令を実行するように構成された処理要素および記憶要素とすることができ、ここで、一組の命令とは、上述のイベントに対応する方法ステップを実行するためのものである。また、いくつかのイベントは、所定の機能に専用の回路によって行われてもよい。例えば、認証ハッシュの生成は、ハッシュ機能または他の暗号化アルゴリズムを実装するように構成された線形フィードバックシフトレジスタおよび加算器によって行われてもよい。
【０１０８】
本明細書に開示の実施形態に関連して説明した種々の例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両者の組合せとして実装されうることは当業者には理解されよう。このハードウェアとソフトウェアの交換可能性は明確に示すために、種々の例示的なコンポーネント、ブロック、モジュール、回路、およびステップは、それらの機能の観点から一般的に上記に説明されている。そのような機能がハードウェアとして実装されるかそれともソフトウェアとして実装されるかは、システム全体に与えられる具体的なアプリケーションおよび設計制約に応じて変わる。当業者は、個々のアプリケーションごとに異なるやり方で上記の機能を実装してもよいが、そうした実装上の決定は、本発明の範囲からの逸脱を生じるものとして解釈されるべきではない。
【０１０９】
本明細書に開示の実施形態に関連して説明した種々の例示的な論理ブロック、モジュール、回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラム可能論理デバイス、ディスクリートゲートまたはトランジスタロジック、個別ハードウェア要素、あるいは、本明細書に記載の機能を実行するように設計されたこれらの任意の組合せにより実装または実施されうる。汎用プロセッサは、マイクロプロセッサとすることができるが、代替として、任意の従来のプロセッサ、制御装置、マイクロコントローラ、または状態機械としてもよい。プロセッサは、コンピューティングデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連動する1つまたは複数のマイクロプロセッサ、あるいは他の任意のこのような構成として実装されうる。
【０１１０】
本明細書に開示の実施形態に関連して説明した方法およびアルゴリズムのステップは、直接ハードウェアで、プロセッサによって実行されるソフトウェアモジュールで、または両者の組合せで実施されうる。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られる他の任意の形態の記憶媒体に存在しうる。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み取りまた記憶媒体へ情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサに一体化されてもよい。プロセッサおよび記憶媒体は、ASIC内に存在することもできる。ASICは、ユーザ端末内に存在することができる。代替として、プロセッサおよび記憶媒体は、ユーザ端末における個別部品として存在することもできる。
【０１１１】
種々の実施形態についての以上の説明は、当業者ならば本発明を作製または利用することができるように示された。これらの実施形態に対する様々な修正は、当業者には容易に理解され、本明細書に定義された一般的原理は、本発明の精神または範囲から逸脱することなく他の実施形態に適用されうる。したがって、本発明は、本明細書に示した実施形態に限定されるものではなく、特許請求の範囲には、本明細書に開示の原理および新規の特徴と一致する最も広い範囲が与えられるべきである。
【符号の説明】
【０１１２】
20  セルラ電話
22  セルラ電話ネットワーク
26  遠隔コンピュータ
31  インターネット
32  サーバ
34  遠隔コンピュータ
40  モデム
43  モデムドライバ
45  プロセッサ
46  メモリ
47  アプリケーション
48  アプリケーション
49  アプリケーション
52  SMSメッセージ受信機
53  GPS受信機
54  WiFiトランシーバ
55  モデム
56  プロセッサ
57  メモリ
70  コンピュータ
【図２２】
2012524953.tif 000003
【図１】
2012524953.tif 000004
【図２】
2012524953.tif 000005
【図３】
2012524953.tif 000006
【図４】
2012524953.tif 000007
【図５】
2012524953.tif 000008
【図６】
2012524953.tif 000009
【図７】
2012524953.tif 000010
【図８】
2012524953.tif 000011
【図９】
2012524953.tif 000012
【図１０】
2012524953.tif 000013
【図１１】
2012524953.tif 000014
【図１２Ａ】
2012524953.tif 000015
【図１２Ｂ】
2012524953.tif 000016
【図１３Ａ】
2012524953.tif 000017
【図１３Ｂ】
2012524953.tif 000018
【図１４Ａ】
2012524953.tif 000019
【図１４Ｂ】
2012524953.tif 000020
【図１５】
2012524953.tif 000021
【図１６Ａ】
2012524953.tif 000022
【図１６Ｂ】
2012524953.tif 000023
【図１７Ａ】
2012524953.tif 000024
【図１７Ｂ】
2012524953.tif 000025
【図１８Ａ】
2012524953.tif 000026
【図１８Ｂ】
2012524953.tif 000027
【図１８Ｃ】
2012524953.tif 000028
【図１９Ａ】
2012524953.tif 000029
【図１９Ｂ】
2012524953.tif 000030
【図２０】
2012524953.tif 000031
【図２１】
2012524953.tif 000032
【国際調査報告】
2012524953.tif 000033
2012524953.tif 000034
2012524953.tif 000035