JP4734240B2 - リモート装置に通知を提供するシステムと方法 - Google Patents

リモート装置に通知を提供するシステムと方法 Download PDF

Info

Publication number
JP4734240B2
JP4734240B2 JP2006517423A JP2006517423A JP4734240B2 JP 4734240 B2 JP4734240 B2 JP 4734240B2 JP 2006517423 A JP2006517423 A JP 2006517423A JP 2006517423 A JP2006517423 A JP 2006517423A JP 4734240 B2 JP4734240 B2 JP 4734240B2
Authority
JP
Japan
Prior art keywords
message
remote device
notification
transmission process
sms transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006517423A
Other languages
English (en)
Other versions
JP2007526666A (ja
Inventor
セッド モハンマディオン、
ジョン キッシュ、
エド ブライアン、
デビッド エイ. ウィトラー、
Original Assignee
インテリシンク コーポレイション
ピーターソン、 ケビン ディ.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテリシンク コーポレイション, ピーターソン、 ケビン ディ. filed Critical インテリシンク コーポレイション
Publication of JP2007526666A publication Critical patent/JP2007526666A/ja
Application granted granted Critical
Publication of JP4734240B2 publication Critical patent/JP4734240B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1874Buffer management
    • H04L1/1877Buffer management for semi-reliable protocols, e.g. for less sensitive applications like streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/188Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W68/00User notification, e.g. alerting and paging, for incoming communication, change of service or the like
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/04Network layer protocols, e.g. mobile IP [Internet Protocol]

Description

本発明は、ユーザにイベントを知らせるための方法とシステム、特に遠隔装置上の通知を提供するための方法とシステムに関する。
関連出願についてのクロス・リファレンス
本出願は、2003年6月18日に出願され、「リモート装置の通知を提供するシステムおよび方法」と題される米国特許出願の出願番号60/479,152号の便益を請求し、本願明細書において引用されるものとする。
多くのビジネス環境において、サーバは多くの従業員に関係するデータまたはビジネスのリモートユーザを格納するために用いられる。サーバは、リモートユーザに情報の可用性を増やすために一般的にリモートコンピュータ装置(「クライアント」)によってアクセスできる。リモートコンピュータ装置によってアクセスされることができるサーバ上のファイルを提供することによって、企業による情報の普及は、増加する。営業戦力または多くの従業員がオフィスから離れて作動する環境において、データに対するリモートアクセスはより重大である。例えば、リモート従業員は、在庫変動、価格付けデータおよび企業イベントが知らされる最新の情報に依存する。
無期限にサーバに接続している残り、及びコレクトのデータ通信課金または電話回線よりは、リモートユーザは、サーバ上のデータにアクセスするために、彼らのコンピュータを断続的にサーバに接続しているだけである。
これらの環境において、クライアントがサーバに接続していないときでも、リモートコンピュータ装置はリモートアプリケーションをローカルにサポートするために一般的にサーバデータを格納する。断続的接続は、そのとき、サーバに対するクライアントアプリケーションと、サーバからクライアントへの変更に関連するセットによって作成される変更だけを送信するために用いられる。この種のリモートコンピュータシステム環境は、Intermittently Connected(IC)環境と呼ばれている。
この種のコンピュータ環境のための重要な通信論点は、クライアントおよびサーバとの間の、関連情報を含む情報のタイムリかつ効率的な交換である。用語「データ転送」は、しばしば、データの整合性を維持するプロセスと、サーバファイルおよびクライアントファイル間の完全性を評するために用いられる。整合性を維持するための多くのデータ転送スキームがある。いくつかの周知のファイル転送スキームにおいて、例えば能率的にファイルを転送するための圧縮などのさまざまなプロトコルおよび方法が、使われている。
現在、リモート装置のためのデータ転送は、リモート装置でのユーザ手動によって、或いは予め定められたスケジュールで開始される。手動でデータ転送を始めるときに、ユーザは手動でダウンロードされるデータがあるかどうか知ることなく通信を始めなければならない。ユーザによるコミットに合わせて接続を開始する場合も、リモート装置にダウンロードされるべきでないときに接続する場合も、この手動の開始は高価である。更なる要因は、ユーザがデータ源に接続することが可能でないときに、クライアントがデータ転送を始める時である。これは、時間において、そして、パワー消費量において費用のかかる。
予め定められたスケジュールでのスケジューリングデータ転送に伴う問題は、転送されるべきデータがなく、最終的な理由もないのに接続されてしまう場合があることである。これは、接続時間においても電源消費においても費用がかかる。予め定められたスケジュールデータ転送に伴う更なる問題は、スケジュール接続においてより大きいインターバルを有する方がより経済的であるというコスト理由のためである。これを伴う問題は、データがそれから最もタイムリな方法でダウンロードされないということである。小入力の役割のスケジューリングデータ転送に伴う問題としては、それがより多くの接続時間(バンド幅など)と電源消費を無駄にすることである。
このように、これまで、上述したようなリモート装置に迅速かつ効率よくデータをダウンロードする問題点を対処するために、産業界において対処されていない要求が存在する。
本発明は、リモート装置上の通知を提供するためのシステムと方法を提供する。
本発明は、コンピュータデバイス上の通知システムとして概念的に説明されることができる。コンピュータ装置は、IP送信手段を利用してリモート装置にメッセージを送信するメッセージ送信モジュールと、IP送信手段によって送信されたメッセージがリモート装置によって受信されていないことを判定する判定モジュールを備える。さらに、更なるコンピュータ装置は、SMS送信手段を使用して自動的に前記メッセージを再送する再送モジュールを更に備える。
本発明は、また、リモート装置上の通知を提供する方法として考察されてもよい。方法は、(1)IP送信手段を使用して前記リモート装置にメッセージを送信し、(2)前記IP送信手段によって送信された前記メッセージが前記リモート装置によって受信されていないことを判定し、そして、(3)SMS送信手段を使用して自動的に前記メッセージを再送することによって動作される。
請求項に記載の本発明は、以下の図面を参照してよりよく理解される。図面の範囲内の構成要素は、本発明の原理を明瞭に例示するために強調されている場合があり、各々と関連して必ずしも比例しているわけではない。
後述する本発明は、予め定められたイベントのユーザへの通知を提供している本発明において、通知システムを使用している全てのリモート装置に適用できる。単一のコンピュータに関して後述すると共に、多くのコンピュータが、ローカルエリアネットワーク(LAN)を介して、ワイドエリアネットワーク(WAN)を介して、またはLAN及びWANの組み合わせを介して通信するネットワーク化されたコンピュータアレンジにおいて、リモート装置通知システムためのシステムと方法は一般的に実行される。
本発明の通知システムは、以下の便益を提供する:
(1)データキャリア(例えばデータトランスポータ)ファイアウォールに適切に機能するイベントの通知を提供する;(2)クライアントに、インターネットカフェを含むアドレス指定問題がないあらゆる場所からでも有効な接続を開始させる;及び
(3)通知システム自身がインターネットプロトコル通知タイプに形成する通知システムを提供する;(4) 抑留接続及びサーバが伝送されるデータを有する場合にだけ確立される接続を必要としている環境のために最適化される。
本発明の通知システムは、クライアントによって開始された接続のみ許可するキャリアファイアウォールと、サーバが開始した接続のみを提供するように処理する。不必要で高価なトラフィックからそれらのユーザを保護するために、クライアントが開始した接続は、いくつかのキャリアのために必要である。非使用の予め定められた量の後、キャリアが接続を終結できるよいように、クライアントが開始した接続も、キャリアバンド幅を保護する。クライアントが接続を開始するので、これらに限定されるものではないが、モバイル装置、ラップトップ、PC、これらのあらゆるタイプのコンピュータ装置を含むリモート装置のあらゆる種類に、クライアントは接続することができる。さらに、クライアントがインターネットプロトコル(IP)サーバにコンタクトを開始して、接続のためにそのIPアドレスを提示するように、本発明の通知システムは自身で設定する。いくつかの他の接続タイプを介してユーザが接続したインスタンスにおいて、通知イベントのバックアップを提供するために、ショートメッセージサービス(SMS)メッセージ技術が、利用されている。
モバイル専門家は、各装置に、特定のモバイル使用状況に独自に適切にさせるために、特定の仕様及び接続特性を有する複数のモバイルコンピューティング装置を持っている。この様々な装置が与えられている状態では、ユーザの明らかな問題は、電子メール、カレンダーの更新、および同様の問題などに限るものではないが、これらを含むイベント情報の通知である。本発明の通知システムは、リモート装置の全ての種類全体のイベントの一般的な通知を提供する。本発明の通知システムは、サーバ通知システムおよびクライアント通知システムを含む。サーバ通知システムおよびクライアント通知システムの例の説明は、次の通りである。
サーバ上の通知システムは、イベント通知登録エージェント、イベント通知収集エージェントおよびイベント通知送信エージェントの、3つの主要なサブコンポーネントを備える。通知システムが初期化するときに、これらのサブコンポーネントの各々は初期化される。サーバ上の通知システムがシャットダウンされるまで、これらのサブコンポーネントの各々は自分自身の責任に関連するイベントを処理する。
イベント通知登録エージェントは、クライアントからの登録イベントを収集して、IP通知を受信するために有効であるクライアントのリストを維持する。初期化の後、イベント通知登録エージェントは、クライアントから接続のための設定可能なポートにリスンする。それがクライアント接続を受信すると、クライアントから、クライアント装置IDを含む伝送を待つ。リンクにエラーが発生することなく、装置IDがシステムの周知の装置と一致する場合、イベント通知登録エージェントは、接続され、あらゆるIP通知を受信するために有効な装置を記録する。それから、イベント通知登録エージェントは、この装置IDに対する未解決の通知ペンディングがあるかを確かめるためにチェックする。
その場合は、それはペンディング通知を作成して、送信する。そうでない場合には、イベント通知登録エージェントは、メッセージペンディングがないことを示すメッセージを送信する。イベント通知登録エージェントはまた、それがクライアント装置に接続を再確立する能力を有する。イベント通知登録エージェントが彼がクライアント装置に接続を再確立することができると判定する場合、あなたがクライアント装置に接続を記録し、クライアント装置のアドレスを記録し、次の通信までの最大時間までクライアント装置を指示する。後で接続を再確立することが可能な場合、イベント通知登録エージェントはそれからクライアント装置との現在の接続を終了する。イベント通知登録エージェントがそれがクライアント装置を有する接続を再確立することができないと判定する場合、クライアント装置に対する接続は将来のデータ伝送のために維持される。
イベント通知収集エージェントは、さまざまなソースからの通知イベントを収集して、それらをフィルタに通して、総計して、送信のためのそれらをキューに入れる。イベント通知収集エージェントは、様々なソースからイベントを待つ。イベントに伴う装置が通知を受信するために設定される場合、イベントは、実際に通知を生じるイベントを制限することが可能ないくつかのフィルタのそれぞれに通される。一旦イベントがフィルタを通過すると、イベント通知収集エージェントは総計してイベントを待ち行列に入れる。通知イベントのターゲットであるクライアント装置のために、キューが存在しない場合、イベント通知収集エージェントはそれを作成する。イベント通知はそれから構成されて、キューに加えられ、そして、キュータイムアウトは予め定められた設定に初期化される。このタイムアウトが期限切れになるときに、キューにおいて蓄積されたいかなる通知を送信する時である。このタイムアウト周期は、予め設定された時間であってもよい。最後のデータ伝送は、スロットリングとして知られる技術で処理される。スロットリング期間は、クライアント装置への最後のデータ送信の後の期間により定められ、バンド幅を最小限にするためにあらゆる付加的期間がシステム管理者により定義される。
イベント通知送信エージェントは送信の準備ができている通知キューを検出し、送信されたこれらのイベントから通知メッセージを作成し、送信の最善の方法を選び、メッセージ送信を実行するする役割を果たす。
イベント通知送信エージェントは、タイムアウトが期限切れになったそれらを探しているイベント通知キューを監視する。キューがタイムアウトし、送信の準備が整ったことがわかると、イベント通知送信エージェントは、クライアント装置からイベント通知メッセージを構成する。予め判定された装置特定のキーによって、このメッセージは、暗号化される。一旦メッセージが開設されると、イベント通知送信エージェントはメッセージを送信するためにどの方法を用いるべきかについて判定する。イベント通知登録エージェントがIP可能として装置を登記した場合、メッセージはIPリンクを通じて送信される。一方、デバイスがSMS可能である場合、メッセージはSMTP上のSMS経由で送信される。
装置がイベント通知登録エージェントを経て登録された場合、イベント通知送信エージェントはイベント通知メッセージをIPリンクの上へ送信しようとする。送信がエラーなしで発生する場合、現在の通知メッセージの送信は終了している。エラーが発生する、または、リンクがもはや利用できない場合、装置がSMS可能であるときは、イベント通知メッセージはSMSを経て送信される。装置がSMS可能でない場合、イベント通知メッセージはキューに入れられて、装置が再登録されるときに、イベント通知登録エージェントによって後で配信される。
イベント通知送信エージェントは現在の通知メッセージのためのリトライカウントを初期化し、現在時刻で通知メッセージにタイムスタンプを押し、メッセージのシーケンス番号を次の増分に設定することにより、SMS送信を始める。メッセージは、それから装置へのSMS送信に変換される装置のためのキャリアに送信される。装置が適用範囲でない場合、送信は終了し、リトライは試みられない。装置が適用範囲である場合、イベント通知送信エージェントは可変な予め定められた期間を待つ。この期間が期限切れになったあと、イベント通知送信エージェントはクライアント装置が通知メッセージのタイムスタンプの後、サーバに接続したかことをどうか確かめるために調べる。もしそうならば、送信は承認されたと仮定され、送信は終了する。そうでない場合には、イベント通知送信エージェントは、リトライの番号がリトライ範囲を越えたかことをどうか確かめるために調べる。リトライ範囲が越えられた場合、装置は適用範囲外として記録され、送信は終了する。リトライ範囲が越えられなかった場合、リトライカウントがインクリメントされて、待機期間は増加し、イベント通知メッセージはSMTPを経て送信され、イベント通知送信エージェントは期間の期限切れを待つことに戻る。
リモート装置上のリモート通知システムは、サーバからイベント通知メッセージを受信するために役割を果たす。そして、解読して、メッセージをデコードして、クライアント装置上のメッセージにおいて特定される動作を実行する。リモート通知システムは、SMSおよび/またはIPソースからメッセージを受信することができる。SMSについては、リモート通知システムは、装置上のSMSサブシステムから、メッセージを受信する。IPについては、リモート通知システムは、サーバ自身へのリンクを確立および維持しなければならない。
スタートアップで、リモート通知システムは、予め定められたポートでサーバ上のイベント通知登録エージェントに接続する。接続が成功すると、装置は、それ自体を識別するためにサーバにその装置IDを送り出す。スタートアップの後、リモート通知システムは、期限切れになる予め定められた期間の間、SMSおよび/またはIPを解してメッセージが到着するのを待つ。期間が期限切れになる場合、リモート通知システムはIP接続のヘルスをチェックする。接続が失われた場合、接続は可能ならばサーバによって復旧される。それから、有効な接続が存在する場合、リモート通知システムはその装置IDをサーバへ再送する。
メッセージがリモート通知システムに到着するときに、サーバおよびリモート装置によって予め合意に達されたキーによって、それは解読される。メッセージは、それから送信エンベロープから削除されて、それが有効な通知メッセージであることを確認するためにチェックされる。メッセージが有効な通知メッセージである場合、メッセージのシーケンス番号はそれがすでに処理されたメッセージであるかことをどうか確かめるために調べられる。リモート装置が適用範囲外にあった場合やサーバが送信をリトライした場合、リモート通知システムは、同じシーケンス番号のメッセージを並列して受信する場合もある。一旦リモート通知システムがそれがユニークな有効な通知メッセージを有すると判定すると、それは通知メッセージに含まれる命令を実行するために起動する適当なクライアントシステムを判定する。
さて図面に関連して、個別のビューの全体にわたって各数字が各要素を示し、図1は、本発明の通知システム100を利用するコンピュータシステム(11および21)とリモート装置(15、17、18および23)を含んでいるリモート通知システム10の環境の実施例を例示しているブロック図である。
各々のリモート装置は、アプリケーションを有して、ローカルデータ記憶装置16を有してもよい。コンピュータサーバ11および21はアプリケーションを含み、サーバ11は更に、ネットワーク13の上の断続的接続14(A−D)を経てクライアントシステム15、17、18および23によってアクセスされるサーバデータベース12を含む。
サーバ11は、コンピュータネットワークのための管理上のソフトウェアを実行し、すべてのネットワークおよびその装置の一部またはすべてのアクセスを制御する。クライアントシステム15、17、18および23はデータベース12に格納されるサーバデータを共有して、これに限定されるものではないが、インターネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、モデムを利用する電話線、または岡野ネットワークのようなものなどのネットワーク13上のサーバ11にアクセスすることができる。サーバ11は、また、構成の範囲内でローカルエリアネットワーク(LAN)に接続されるかもしれない。
リモート通知システム10の構成およびオペレーションは、それとともに関連するサーバ11およびデータベース12に予め知られたシステムより能率的にクライアントを取り扱うのを可能にする。特に、本発明のリモート通知システムは、リモート装置にダウンロードするためのデータのアベイラビリティの通知を提供する方法を提供する。
クライアントシステム15、17、18および23(図1)がサーバ11に接続するときに、リモート装置と関連する識別およびIPアドレス情報は、データをリモート装置に配信するために用いられるためにサーバに送信される。クライアントシステム15、17、18および23は、各々リモートサイトに位置することができる。クライアントシステム15、17、18および23は、PC、ワークステーション、ラップトップ、PDA、ページャー、WAP装置、非WAP装置、携帯電話、パーム装置含むが、これに限定されるものではない。リモートクライアントシステム15、17、18および23のひとつのユーザがサーバ11のデータから現在の情報にアップロードされることを望むとき、サーバ11にアクセスするために、クライアントシステム15、17、18および23は、これに限られるものではないが、WAN、インターネットあるいは電話線などのネットワーク13を介して通信する。
都合よく、本発明はサーバ11からの転送の準備ができているデータがあるとリモート装置に通知することためのシステムと方法を提供する。最初に、リモート装置15は、リモート装置がデータを受信する準備ができていることを示すためにサーバ11に登録する。定期的に、サーバ11は新規なデータがリモート装置15に有効かどうか判定する。リモート装置15がサーバ11に接続するときに、リモート装置15はリモートサーバ11からそのデータをダウンロードする。
サードパーティベンダーのコンピュータシステム21およびデータベース22は、リモート装置への普及のための情報を得るためにリモート通知システムサーバ11によってアクセスされてもよい。サードパーティベンダーコンピュータシステム22およびデータベース23から得られるデータは、ユーザリモート装置15、17、18および21に、後のアクセスを提供するためにサーバ11に格納されてもよい。それは、また、リモートユーザ装置15、17、18および23がネットワーク13を直接用いているサードパーティベンダーデータにアクセスすることができる特定の種類のデータを予想しても良い。
本発明の通知システム100を利用している、図1に示すサーバ11の実施例を示しているブロック図は、図2Aにおいて例示される。本発明のリモート通知システム220のリモート部分を利用しているリモート装置を示している実施例は、図2Bにおいて例示される。リモート装置15、17、18および23は、PC、ワークステーション、ラップトップ、PDA、ページャー、WAP装置、非WAP装置、携帯電話、パーム装置などを含むが、これに限定されるものではない。リモート装置15、17、18および23のコンポーネントは、実質的にサーバ11(図2A)のための説明のそれと類似している。
しかし、ユーザのリモート装置115、17、18および23の多数のコンポーネントが、一般の機能においてより限られていてもよいことも考えられる。
通常、ハードウェアアーキテクチャに関して、図2Aに示すように、コンピュータ装置11および12は、本願明細書においてプロセッサ41、メモリ42およびたとえばデータベースまたは記憶装置48などのひとつ以上の入力および/または出力(I/O)装置を含み、これらはローカルインタフェース43を解して通信可能に接続される。ローカルインタフェース43は、たとえば、周知技術のように一つ以上のバスまたはほかの優先または無線の接続であるが、これに限られるものではない。ローカルインタフェース43は、簡潔さのために省略されているが、コントローラ、バッファ(キャッシュ)、ドライバ、リピータおよびレシーバなどの通信可能な更なる要素を有することができる。更に、ローカルインタフェース43は、上述したコンポーネントの中で、適切に通信可能にするためのアドレス、制御および/またはデータ接続を含んでもよい。
プロセッサ41は、メモリ42に格納されることができるソフトウェアを実行するためのハードウェアデバイスである。プロセッサ41は、仮想的なあらゆるカスタムメイドか、コンピュータ11および21に関連するいくつかのプロセッサの中の市販のプロセッサ、中央処理装置(CPU)または補助プロセッサ、そして、マイクロプロセッサ(マイクロチップの形状をしたもの)に基づく半導体またはマイクロプロセッサであっても良い。適切な市販の若干のマイクロプロセッサの実施例は、アメリカ合衆国のインテルから出ている80x86、Pentium、Celeron、Xeon又はItaniumシリーズマイクロプロセッサ、アメリカ合衆国のIBMから出ているPowerPCマイクロプロセッサシリーズ、サン・マイクロシステムズから出ているSparcマイクロプロセッサ、アメリカ合衆国のヒューレットパッカード社から出ているPA−RISCシリーズマイクロプロセッサ、アメリカ合衆国のモトローラ社から出ている68xxシリーズマイクロプロセッサなどがあるが、これに限定されるものではない。
メモリ42は、例えばランダムアクセスメモリ(RAM(例えばダイナミックRAM(DRAM)、スタティックRAM(SRAM)、その他)))および不揮発性素子(読取り専用メモリ(ROM)など)、消去およびプログラム可能な読取り専用メモリ(EPROM)、電子的にプログラム可能な読取り専用メモリ(EEPROM)、プログラム可能な読取り専用目盛り(PROM)、テープ、コンパクトディスク(CD−ROM)、DVD読取り専用目盛り、磁気ディスク、ディスケット、カートリッジカセットなどのあらゆるひとつ又は揮発性記憶素子の組み合わせを含むことができる。さらに、メモリ42は、電子回路、磁性物質、光学および/または他の種類の記憶媒体を取り入れることができる。メモリ42は、さまざまなコンポーネントが、他の一つと離れたところに位置する分散型のアーキテクチャを有してもよいが、プロセッサ41によってまだアクセスされる点に注意する。
メモリ42のソフトウェアは、一つ以上の独立したプログラムを含むことができ、それぞれは論理関数を実行するための実行可能命令の命じられたリストから成る。
図2Aにおいて例示される実施例において、メモリ42のソフトウェアは、適切なOS(O/S)51および本発明の通知システム100を含むが、これに限定されるものではない。通知システム100はイベント通知登録エージェント120、イベント通知収集エージェント140、イベント通知送信エージェント160を更に含む。イベント通知送信エージェント160は、SMSメッセージ送信プロセス180を更に含む。ソフトウェアコンポーネントは、図3ないし図6Bに関して更に詳細に記載されている。
適切な市販のオペレーティングシステム51の実施例の非網羅的なリストは、次の通りである:(a)マイクロソフト社からから入手可能なウィンドウズオペレーティングシステム;(b)ノベル社から入手可能なネットウェアNetwareオペレーティングシステム;(c)アップルコンピュータ株式会社から入手可能なマッキントッシュオペレーティングシステム;(e)ヒューレットパッカード社、サン・マイクロシステムズ社およびAT&Tなどの多くのベンダーから、購入で入手可能であるUNIXオペレーティングシステム;(d)インターネットで直ちに入手可能であるフリーウェアのLINUXオペレーティングシステム;(e)ウィンドリバーシステム社からのランタイムVxworksオペレーティングシステム;または(f)ハンドヘルドコンピュータまたはパーソナルデータアシスタント(PDA)などに実装される機器に基づくオペレーティングシステム(たとえば、シンビアン社から入手可能なシンビアンOS、パームコンピューティング社から入手可能なパームOS、マイクロソフト社から入手可能なウィンドウズモバイルなど)。
オペレーティングシステム51は、本質的に他のコンピュータプログラムの例えばリモート装置同期アクティビティプロセス100などの実行を制御して、スケジューリング、入出力制御、ファイルおよびデータ管理、メモリ管理および通信制御を適用し、および関連するサービスを制御する。しかし、本発明の通知システム100が市販の他の全てのオペレーティングシステムに適用できることは、発明者によって予想される。
通知システム100は、ソースプログラム、実行可能プログラム(オブジェクトコード)、スクリプトまたは実行されるべき一組の指示から成っている他のいかなる実体でもあってもよい。そのとき、ソースプログラム、そしてプログラムは、コンパイラ、アセンブラ、インタプリタ、等を経て通常翻訳され、O/S51と接続して適切に動作可能なようにO/S51と接続して適切に動作可能なようにメモリ42に含まれてもよいし含まれなくてもよい。さらに、通知システム100は、(a)データおよびメソッドのクラスを持つオブジェクト指向プログラミング言語として、または(b)これに限定されるものではないが、C、C++、Pascal、BASIC、FORTRAN、COBOL、Perl、Java、ADAなどのルーチン、サブルーチンおよび/または機能を有するプロシージャプログラミング言語として記載されてもよい。
入出力デバイスは、たとえばキーボード45、マウス44、スキャナ(図示せず)、マイクロフォン(図示せず)などの入力装置を含んでもよいが、これらの例に限られるものではない。さらに、入出力デバイスはまた、たとえばプリン(図示せず)、ディスプレイ46などの出力装置を含んでもよいが、これらの例に限られるものではない。最後に、例えば、NIC又はモデム(他のファイル、装置、システムまたはネットワークにアクセスするため)、ラジオ周波数(RF)または他のトランシーバ(図示せず)、電話のインタフェース(図示せず)、ブリッジ(図示せず)、ルーター(図示せず)などの入出力デバイスは入力および出力を伝達する装置を更に含んでもよいが、これらの例に限られるものではない。
コンピュータ11および21がPC、ワークステーション、インテリジェント装置等である場合、メモリ42のソフトウェアは基本入出力システム(BIOS)(簡潔さのために省略)を更に含んでもよい。BIOSは、起動時にハードウェアを初期化して試験して、O/S51を開始して、ハードウェア装置間のデータ転送を支援する一組の基本的なソフトウェアルーチンである。BIOSは、例えばROM、PROM、EPROM、EEPROM等の数種類の読出し専用メモリに格納され、その結果、コンピュータが起動させられるときに、BIOSは実行されることができる。
コンピュータ11および21が稼動中のときに、プロセッサ41はメモリ42内で格納されるソフトウェアを実行して、メモリ42にデータを通信して、ソフトウェアに従って一般にコンピュータの動作を制御するために設定される。全体的にあるいは部分的に、通知システム100およびO/S511はプロセッサ41によって読まれ、おそらくプロセッサ41内にバッファされて、それから実行される。
図2Aおよび2Bに示されているように、通知システム100がソフトウェアにおいて実装されるときに、通知システム100が仮想的にいかなるコンピュータ関連したシステムもまたは方法用にまたはと関連していかなるコンピュータ読み込み可能なメディアにも格納されることができる点に留意する必要がある。このドキュメントのコンテクストにおいて、コンピュータ読み込み可能なメディアは電子的な、磁気的な、光学的な、あるいは他のフィジカルデバイスまたはそれ自身によって使用されるかコンピュータ関連のシステムあるいは方法に接続して使用されるコンピュータプログラムを含みまたは記憶する手段である。通知システム100は、コンピュータによるシステム、プロセッサを含むシステムまたは命令の実行システム、装置またはデバイスからの命令をフェッチすることができて、命令を実行することができる他のシステムのような、命令の実行システム、装置またはデバイスによって、または接続されてあらゆるコンピュータ可読のメディアにも具体化されることができる。
このドキュメントのコンテクストにおいて、「コンピュータ可読のメディア」は、命令実行システム、装置またはデバイスによってまたは接続して、プログラムを格納、通信、伝播又は送信できるあらゆる手段であってもよい。コンピュータ読み込み可能なメディアは、たとえば、電子的、磁気の、光学の、電磁、赤外線の、または、半導体のシステム、装置、デバイスまたは伝搬メディアなどであるが、これに限定されるものではない。コンピュータ可読のメディアのより特有の実施例(非網羅的なリスト)は、一つ以上のワイヤを有している電気接続(電子回路)、ポータブルコンピュータディスケット(磁性)、ランダムアクセスメモリ(RAM)(電子回路)、読取り専用メモリ(ROM)(電子回路)、消去可能プログラマブルROM(EPROM、EEPROMまたはフラッシュメモリ)(電子回路)、光ファイバ(光学)および携帯型コンパクトディスク読取り専用メモリ(CDROM)(光学)、を含む。たとえば紙または他のメディアの光学式走査を経てプログラムが電子的に捕らえられ、それからコンパイルされて、インタープリトされて、または一方必要に応じて適切な方法で処理されて、それからコンピュータメモリに格納されてもよいように、コンピュータ読み取り可能なメディアが紙またはプログラムがプリントされたほかの適切なメディアであってもよいことに注意するべきである。
別の実施例において、通知システム100がハードウェアにおいて実装される場合、通知システム100は、データ信号で論理関数を実行するための論理ゲートを有している離散的な論理回路、適当な組み合わせの論理ゲートを有している用途特化集積回路(ASIC)、プログラム可能なゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)、その他などの高知技術の各々、または組み合わせによって実装されてもよい。
図1に示す本発明のリモート通知システム220を利用しているリモート装置15、17、18および23の実施例を示しているブロック図は、図2Bにおいて例示される。
図示するように、リモート装置15、17、18および23は、図2Aに関して記載されているサーバ11と同じコンポーネントの多くを含む。以下に、リモート装置は、装置15、17、18および23であって、簡潔さのためのリモート装置15として参照される。
リモート通知システム220を含むが、これに限定されるものではないリモート装置システム200は、メモリ62に位置する。リモート通知システム220を含むが、これに限定されるものではないリモート装置システム200は、メモリ62に位置する。リモート通知システム220は、クライアントリスンエージェント240およびクライアント通知処理プロシージャ260を更に含む。リモート通知システム220およびサブコンポーネントのクライアントリスンエージェント240およびクライアント通知処理プロシージャ260は、本願明細書において図7ないし図8Cに関して更に詳細に定義される。図2Bに示されているように、リモート通知システム220がソフトウェアにおいて実装される場合、それは仮想的にあらゆるコンピュータが読み込み可能なメディアに格納されて使用されてもよいし、あらゆるコンピュータに関するシステムあるいは方法で接続されてもよい。
別の実施例において、リモート装置システム200がハードウェアにおいて実装される場合、リモート通知システム220は通知システム100(図2A)に関して、上記の通りに同様に実装されてもよい。例示される実施例において、それは本発明の通知システム100と相互に作用するリモート通知システム220である。
図1および2Aに示すサーバ11上の本発明の通知システム100のオペレーションの実施例を記載しているフローチャートは、図3において例示される。通知システム100で、ユーザはリモート装置15、17、18および23へ転送されるサーバ11上のデータのアベイラビリティの通知を得ることができる。サーバ11上の通知システム100は、イベント通知登録エージェント、イベント通知収集エージェントおよびイベント通知送信エージェント160の3つのサブコンポーネントから成る。通知システム100が初期化されたあと、これらのサブコンポーネントの各々は初期化されて、バックグランドにおいて実行される。通知システム100がシャットダウンされるまで、これらのサブコンポーネントの各々は自分自身の応答性に関連するイベントを処理する。
まずステップ101で、通知システム100は、初期化される。この初期化は、スタートアップルーチンおよびサーバ11のBIOSに記憶されるプロセスを含む。初期化はまた、サーバ11および通知システム100で利用される特定のデータ構造のためのデータ値の確立を含む。ステップ102で、通知システム100は、イベント通知登録エージェントの実行を始める。イベント通知登録エージェントは、図4に関して更に詳細に本願明細書において定められる。イベント通知登録エージェントは、サーバ11からの登録イベントを収集して、サーバ11上の通知を受信するために有効であるリモート装置クライアントのリストを維持する。
ステップ103で、通知システム100は、イベント通知収集エージェントの実行を始める。イベント通知収集エージェントは、図5に関して更に詳細に本願明細書において定められる。イベント通知収集エージェントは、通知を収集して、リモート装置15に後の配信のためのそれらを告発した。
ステップ104で、通知システム100は、イベント通知送信エージェントの実行を始める。イベント通知送信エージェントは、図6に関して更に詳細に本願明細書において定められる。イベント通知送信エージェントは、様々なソースからの通知イベントを収集し、リモート装置上のクライアントに送信するためにそれらをキューに入れる。
ステップ105で、通知システム100は、通常のイベント通知処理を実行する。この通常のイベント通知処理は、通知情報の収集および送信を含む。ステップ106で、通知システム100は、続けられたオペレーションが実行されることになっているかどうか判定する。続けられたオペレーションが実行されることになっていることがステップ106で判定される場合、多くの通知システム100はステップ105および106を繰り返すために戻る。しかし、通常のイベント処理が発生しないことがステップ106で判定される場合、通知システム100はステップ109で出る。
図1ないし3に示す本発明の通知システム100で使用されているサーバ11上のイベント通知登録エージェント120のオペレーションの実施例を記載しているフローチャートは、図4において例示される。イベント通知登録エージェント120は、クライアントからの登録イベントを収集して、IP通知を受信するために有効であるクライアントのリストを維持する。初期化の後、イベント通知登録エージェント120は、クライアントからの接続のために変更可能なポートにリスンする。それがクライアント接続を受信したあと、それはクライアント装置IDを含んでいるクライアントから、送信を待つ。エラーがリンクに発生せず、装置IDがシステムの周知の装置と一致する場合、イベント通知登録エージェント120が、装置を接続され、いかなるIP通知も受信するために有効であると記録する。それから、イベント通知登録エージェント120は、この装置IDのために待機中の未解決の通知があるかどうか確かめるためにチェックする。
未解決の通知保留がある場合、イベント通知登録エージェント120はペンディング通知をつくって、送り出す。そうでない場合には、イベント通知登録エージェント120は、次のチェックへ進む。最後のチェックは、サーバ11上の通知システム100がリモート装置15上のリモート通知システム220へのリンクを再確立することが可能かどうか判定する。サーバ11がリモート装置15とのリンクを再確立することができる場合、サーバ11は、リスンメッセージを送信し、リモート装置15から切断する。
これは、リモート装置が直接アドレス指定可能な場合、バンド幅を保存するためにされる。サーバ11がリモート装置15とのリンクを再確立することができないと判定される場合、リモート装置15およびサーバ11の間リモート接続は維持される。
まずステップ121で、イベント通知登録エージェント120は、初期化される。この初期化は、スタートアップルーチンおよびサーバ11のBIOSに記憶されるプロセスを含む。初期化も、イベント通知登録エージェント120において利用される特定のデータ構造のためのデータ値の確立を含む。
ステップ122で、イベント通知登録エージェント120は、リモート装置15上のクライアントがインターネットプロトコル(IP)ソケットを経て接続するのを待つ。クライアントが接続したあと、イベント通知登録エージェント120はリモート装置IDおよびIPソケット情報を用いているクライアントを検証する。装置IDおよびIPソケットを検証した後に、イベント通知登録エージェント120は、登録のためのID、認証およびIPソケット情報をサーバ11に送信する。ステップ125で、イベントが登録エージェント120は、認証情報を解読する。好ましい実施例において、認証情報は、解読において用いられるキーと一致する所定のキーと、各メッセージの受信を一意に識別するシーケンス番号を含むあらゆるものを含む。シーケンス番号は、悪意のある個人によってリプレイされている登録メッセージと、予め処理された登録メッセージを再処理することを予防するために用いられる。
ステップ126で、イベント通知登録エージェント120は、それからクライアント情報を検証しようとする。クライアント情報は、クライアント装置ID、パスコード、シーケンス番号およびIPリンクのうち少なくとも一つの以下を含むが、規制されない。チェックされるクライアント情報のいずれかが不当であることがステップ126で判定される場合、イベント通知登録エージェント120は、ステップ127で接続を拒絶し、ステップ122で接続する次のクライアントを待機するために戻る。しかし、チェックされるクライアント情報が有効であることがステップ126で判定される場合、ステップ128で、リモート装置15上のクライアントは接続されたとして認識され、情報はまた、サーバ11に送信される。
ステップ129で、サーバ11が現在登録されているリモート装置15上のクライアントにリンクを再確立できるか判定する。サーバ11が、現在登録されているリモート装置15上のクライアントへのリンクを再確立できないと判定された場合、ステップ131で、イベント通知登録エージェント120は、PING(PINGメッセージは単にリモート装置15がまだ接続されていることを確認するためのメッセージである)を送信し、ステップ133に進む。しかし、サーバ11が、現在登録されているリモート装置15上のクライアントへのリンクを再確立できると判定された場合、イベント通知登録エージェント120は、ステップ132で、再確立可能なリンクとして記録し、IPアドレスを記録する。
ステップ133で、イベント通知登録エージェント120が送信される未解決のイベント通知メッセージが現在リモート装置15上のクライアントに登録されているかどうかを判定する。送信される未解決のイベント通知メッセージがない場合、イベント通知登録エージェント120は、ステップ135に進む。しかし、ステップ133で未解決のイベント通知メッセージがあることが判定される場合、未解決のイベント通知メッセージがステップ134で送信される。
ステップ135で、サーバ11は、現在登録されているリモート装置15上のクライアントへのリンクを再確立できるかどうかが、再び判定される。サーバ11は、現在登録されているリモート装置15上のクライアントへのリンクを再確立できないと判定する場合、イベント通知登録エージェント120は、ステップ138に進む。しかし、サーバ11は、現在登録されているリモート装置15上のクライアントへのリンクを再確立できると判定される場合、イベント通知登録エージェント120は、ステップ136で、現在登録されているリモート装置15のクライアントへLTM(listen to me)メッセージを送信する。サーバ11は、リモート装置15によって必要なときにコンタクトを開始することができるように、LTMメッセージはリモート装置15に、サーバ11との現在の接続を落とすように指示する。ステップ137で、登録されているリモート装置15上のクライアントへの接続リンクは、落とされる。
ステップ138で、イベント通知登録エージェント120は、実行されるべきイベント通知登録が更にあるかどうか判定する。処理されるべきイベント通知登録が更にあることがステップ138で判定される場合、イベント通知登録エージェント120はステップ122から138を繰り返すために戻る。しかし、処理されるべき登録がもうないと判定される場合、イベント通知登録エージェント120はステップ139で終了する。
別の実施例において、クライアントが通知を終了する、または、リモート装置が接続を落とすまで、イベント通知登録エージェント120は、リモート装置15上のクライアントへの接続を維持する。
そしてまた他の別の実施例では、イベント通知登録エージェント120は、リンクが落ちた後にリモート装置15のクライアントをアドレッシングする。クライアントへの接続が確立されていない場合、サーバ11は、リモート装置を適用範囲外で接続されていないと記録する。
図2Aないし3に示す本発明の通知システム100で使用されているイベント通知収集エージェント140のオペレーションの実施例を記載しているフローチャートは、図5において例示される。イベント通知収集エージェント140は、送信のためにさまざまなソースからの通知イベントを収集して、フィルタにそれらを通過して、集めて、それらをキューに入れる。イベントに伴うリモート装置15が通知を受信するために設定される場合、イ実際に通知を発生するイベントを制限するために設けられたいくつかの可能なフィルタのそれぞれに、イベントが通過される。一旦イベントがフィルタを通過すると、イベント通知収集エージェントはイベントをキューに入れる。通知イベントのターゲットであるクライアント装置のために、キューが存在しない場合、イベント通知収集エージェント140はそれをつくる。イベント通知はそれから構成されて、キューに加えられ、そして、キュータイムアウトは予め定められた設定に初期化される。このタイムアウトが期限切れになるときに、キューにおいて蓄積されたあらゆる通知を送信する時である。このタイムアウト周期は、最後のデータ伝送からの予め設定された期間であって、スロットリングとしての公知の技術によって処理されても良い。スロットリング期間は、クライアント装置への最後のデータ伝送からの特定の期間から判定され、バンド幅稼働率を最小化にするために、あらゆる付加的期間がシステム管理者によって処理される。
最初に、イベント通知収集エージェント140は、ステップ141でサーバ11で初期化されて、上記した通知システム100の初期化と類似した機能を実行する。初期化はまた、イベント通知収集エージェント140において利用される特定のデータ構造のためのデータ値の確立を含む。ステップ142で、イベント通知収集エージェント140は、サーバ11からイベント通知を受信するのを待つ。
ステップ143で、本発明のイベント通知収集エージェント140は、受信されたイベント通知が意図されたリモート装置15上のクライアントに使用可かどうか判定する。意図されたリモート装置15がイベント通知を受信できないことがステップ143で判定される場合、イベント通知収集エージェント140はステップ142で次のイベント通知のための待機へ戻る。意図されたリモート装置15上のクライアントがイベント通知受信できることがステップ143で判定される場合、イベント通知収集エージェント140は、ステップ144で受信されるイベント通知にフィルタをかける。
ステップ145で、受信されたイベント通知は、イベント通知フィルタを通過したことが判定される。ステップ144でイベント通知がイベントフィルタを通過しない場合、イベント通知収集エージェント140ステップ142に戻り、次のイベント通知を受信するために待機する。しかし、ステップ144で受信されるイベント通知がイベントフィルタを通過したことが判定される場合、イベント通知収集エージェント140は、ステップ151でイベントキューが意図された遠隔装置15上のクライアントのために、すでに作成されるかどうか判定する。
イベントキューが意図されたリモート装置15上のクライアントのために、すでに作成されることがステップ151で判定される場合、イベント通知収集エージェント140は、ステップ153にすすむ。しかし、現在のイベント通知についての他のいかなるキューもないことがステップ151で判定される場合、イベント通知収集エージェント140は、ステップ152で意図されたリモート装置15上のクライアントのためのイベントキューを作成する。
ステップ153で、イベント通知収集エージェント140は、それからイベント通知をリモート装置15上の意図されたクライアントのためのイベントキューに加わる。ステップ154で、イベント通知収集エージェント140は、キューのイベント通知を送信するために期間を予め定められた期間にリセットする。
ステップ155で、イベント通知収集エージェント140は、更に処理されるべきイベント通知があるかどうか判定する。更に処理されるべきイベント通知があることがステップ155で判定される場合、イベント通知収集エージェント140は、ステップ142から155を繰り返すために戻る。しかし、更に処理されるべきイベント通知がないことがステップ155で判定される場合、イベント通知収集エージェント140はステップ159で終了する。
図2Aないし3に示す本発明の通知システム100で使用されているイベント通知送信エージェント160のオペレーションの実施例を記載しているフローチャートは、図6Aにおいて例示される。イベント通知送信エージェント160は送信の準備ができている通知キューを検出し、送信されるこれらのイベントからの通知メッセージをつくって、送信の最高の方法を選んで、メッセージ伝送を実行するための役割を果たす。
イベント通知送信エージェント160は、タイムアウトが期限切れになったそれらを探しているイベント通知キューを監視する。タイムアウトし、さらに送信準備ができているキューが見つけられると、イベント通知送信エージェント160は、リモート装置15上の意図されたクライアントのためのイベント通知メッセージを構成する。好ましい実施例において、予め判定されたリモート装置特定キーによって、このメッセージは、暗号化される。装置特定キーは、異なる方法の判定された番号であることができる。好ましい実施例において、装置特定キーは、サーバ11とリモート装置15の同期している間に、決められる。リモート装置15上の情報の同期の実施例は、2002年1月3日に出願され、「リモート装置間のデータ同期方法におけるシステム」と題される米国特許出願出願番号10/037,626に記載されており、完全に本願明細書において引用したものとする。
一旦メッセージが構成されると、イベント通知送信エージェント160は、メッセージを送信するためにどの方法を使用するべきかについて判定する。イベント通知送信エージェント160がIP可能として装置を登録した場合、メッセージはIPリンクを通じて送り出される。一方、装置がSMS可能である場合、メッセージはSMTPの上のSMSを経て送り出される。
まずステップ161で、イベント通知送信エージェント160は、サーバ11で初期化されて、上記の通りに通知システム100の初期化と類似した機能を実行する。初期化はまた、イベント通知送信エージェント160において利用される特定のデータ構造のためのデータ値の確立を含む。ステップ162で、イベント通知送信エージェント160は、キューの予め定められた期間が期限切れになるのを待つ。
キューがステップ162で期限切れになると、イベント通知送信エージェント116は、それからステップ163でイベント通知メッセージを作成する。好ましい実施例において、このイベント通知メッセージは、ステップ164で予め定められた暗号化キーによって暗号化される。好ましい実施例において、予め定められた暗号化キーは、サーバ11とリモート装置15が同期している間に、決められる。しかし、別の実施例では、イベント通知メッセージは、暗号化されずに送信されてもよい。
ステップ165で、リモート装置上の意図されたクライアントがIP可能であるか(すなわち登録されているか)が判定される。意図されたクライアントがIP可能でないことがステップ165で判定される場合、イベント通知送信エージェント166はステップ173に進む。しかし、それがリモート装置15上の意図されたクライアントでIP可能であるとステップ165で判定される場合、イベント通知送信エージェント160は、ステップ166でリモート装置15上の意図されたクライアントのためのIPリンクが再確立されることが可能かどうか判定する。IPリンクが再確立されないことがステップ166で判定される場合、イベント通知送信エージェント160はステップ171に進む。しかし、リモート装置15上の意図されたクライアントのIPリンクが再接続できると判定される場合、イベント通知送信エージェント160は、それからイベント通知登録エージェント120(図4)によるイベント登録の間に得られたIPアドレスを使用してリモート装置15上の意図されたクライアントとのリンクを確率する。
ステップ171で、イベント通知メッセージは、イベント登録の間に得られたIPアドレスまたはソケット情報に送信される。ステップ172で、イベント通知送信エージェント160は、イベント通知メッセージがリモート装置15上の意図されたクライアントによって受信されたかどうか判定する。イベント通知メッセージが意図されたクライアントによって受信されたと判定される場合、イベント通知送信エージェント163は、ステップ162で次のキューが期限切れになるのを待機するために戻る。しかし、イベント通知メッセージがリモート装置15上の意図されたクライアントによって、受信されなかったことがステップ172で判定される場合、ステップ173でイベント通知送信エージェント160はリモート装置15上のクライアントがSMS可能であるかどうか判定する。
ステップ173で、リモート装置上のクライアントがSMS可能でないと判定される場合、それからイベント通知送信エージェント160は、ステップ174でイベント通知メッセージをキューに入れ、更にステップ162で次のキューが期限切れになるのを待機するために戻る。しかし、リモート装置15上の意図されたクライアントがSMS可能であることがステップ173で判定される場合、イベント通知送信エージェント160は、ステップ175でSMSメッセージ送信プロセスを実行する。SMSメッセージ送信プロセスは、本願明細書において図6Bに関して更に詳細に定められる。
ステップ176で、イベント通知送信エージェント160は、更に処理されるべきイベント通知キューがあるかどうか判定する。更に処理されるべきイベント通知キューがあることがステップ176で判定される場合、イベント通知送信エージェント160は、ステップ162から176を繰り返すために戻る。しかし、更に処理されるべきイベント通知キューがないことがステップ176で判定される場合、イベント通知送信エージェント160はステップ179で終了する。
図2Aないし6Aに示す本発明の通知システム100のイベント通知送信エージェント160によって使用されるSMSメッセージ送信プロセス180のオペレーションの実施例を記載しているフローチャートは、図6Bにおいて例示される。SMSメッセージ送信プロセス180は、現在の通知メッセージのためのリトライカウントを1に初期化し、通知メッセージを現在時刻でタイムスタンプし、メッセージのシーケンス番号を次の増分にセットすることによって、SMS送信を始める。シーケンス番号は、独自にイベント通知メッセージのイベント通知メッセージおよび命令を識別するためのものである。
シーケンス番号は、また、イベント通知メッセージが不注意に逃がされる場合を指し示してもよい。
メッセージはそれから意図されたリモート装置15のためのキャリアに送信され、ここで、それは意図されたリモート装置15にSMS送信に変換される。意図されたリモート装置15が適用範囲でない場合、送信は終了している、そして、リトライは試みられない。しかし、意図されたリモート装置15が適用範囲である場合、イベント通知送信エージェントは予め定められた可変な期間を待機する。
期間が期限切れになると、SMSメッセージ送信プロセス180は、通知メッセージのタイムスタンプの後、クライアント装置がサーバに接続したかどうか確かめるためにチェックする。もしそうならば、送信は承認されたと仮定され、送信は終了する。そうでない場合には、SMSメッセージ送信プロセス180は、リトライの番号がリトライ範囲を越えたかどうか確かめるためにチェックする。リトライ範囲が越えられた場合、装置は適用範囲外として記録され、送信は終了する。リトライ範囲が越えられなかった場合、リトライカウントがインクリメントされ、待機期間は増加し、イベント通知メッセージは再び送られ、そして、SMSメッセージ送信プロセス180が期期間が期限切れになるのを待機するために戻る。
まずステップ181で、SMSメッセージ送信プロセス180は、サーバ11で初期化されて、上記の通りに通知システム100の初期化と類似した機能を実行する。初期化はまた、SMSメッセージ送信プロセス180において利用される特定のデータ構造のためのデータ値の確立を含む。初期化はまた、リトライカウントをセットすることを含む。あらゆる数字がリトライカウントとして使用されてもよいことは理解されるが、好ましい実施の形態において、リトライカウントは3から5のリトライにセットされる。ステップ182で、SMSメッセージ送信プロセス180は、イベント通知メッセージにライムスタンプを押して、イベント通知メッセージのためのシーケンスカウンタをインクリメントする。シーケンスカウンタは、イベント通知メッセージと、イベント通知メッセージの順番を一意に識別するためのものである。シーケンスカウンタは、いつイベント通知メッセージが不注意にミスされたかを、指し示すことができる。
ステップ183で、サーバ11上のSMSメッセージ送信プロセス180は、意図されたクライアントのキャリアにSMTPを介してイベント通知メッセージを送信する。ステップ184で、SMSメッセージ送信プロセス180は、ステップ184で意図されたリモート装置15が適用範囲であるかどうか判定する。意図されたリモート装置15が適用範囲でないことがステップ184で判定される場合、SMSメッセージ送信プロセス180はステップ199で終了する。しかし、意図されたリモート装置15が適用範囲であることがステップ184で判定される場合、SMSメッセージ送信プロセス180は、ステップ185で予め定められた期間を待機する。好ましい実施例において、予め定められた期間は、システムソフトで設定される。別の実施例において、この予め定められた期間は、システム管理者によってセットされてもよい。
ステップ191で、意図されたリモート装置15上のクライアントがタイムスタンプの後に、接続するかどうか判定される。リモート装置15上の意図されたクライアントがタイムスタンプの後に接続することがステップ191で判定される場合、SMSメッセージ送信プロセス180はステップ199へ進む。しかし、リモート装置15上の意図されたクライアントがタイムスタンプの後に接続しなかったことがステップ191で判定される場合、それから、ステップ192でSMSメッセージカウントがSMSメッセージリトライ制限を越えるかどうか、更に判定される。SMSメッセージリトライ制限が越えたと判定される場合、SMSメッセージ送信プロセス180は、ステップ196に進む。しかし、リトライ制限が越えていないことがステップ1922で判定される場合、SMSメッセージ送信プロセス180はステップ193でリトライカウントを増やす。ステップ194で、SMSメッセージ送信プロセス180は、予め定められた待機期間を増やす。好ましい実施例において、リトライカウントが増える度に、予め定められた待機期間は増加する。別の実施例において、この待機期間は、一定のままであってもよいし、段階的に増加してもよいし、または指数的に増加してもよい。
ステップ195で、イベント通知メッセージは、クライアントキャリアへ再送され、それからステップ185で予め定められた期間を待機するために戻る。ステップ196で、SMSメッセージ送信プロセス180は適用範囲外であるとしてリモート装置15を記録し、ステップ199で、SMSメッセージ送信プロセスは終了する。
図1および2Bに示す本発明のリモート通知システム220で使用されているリモート装置15上のリモート装置プロセス200の実施例を記載しているフローチャートは、図7において例示される。
まずステップ201で、リモート装置15は、初期化される。この初期化は、スタートアップルーチンおよびリモート装置15のBIOSに記憶されるプロセスを含む。初期化はまた、リモート装置15において利用される特定のデータ構造のためのデータ値の確立を含む。ステップ202で、リモート装置プロセス200は、リモート通知システム200が開始されているかどうか判定する。ステップ202でリモート通知システムが開始されていないと判定されると、リモート装置プロセス200はステップ204に進む。しかし、ステップ202でリモート通知システムが開始されていると判定される場合、リモート通知システムはそれからステップ203で実行される。
ステップ204で、ユーザは通常のオペレーティングモードでリモート装置15を操作する。リモート装置15の通常のオペレーティングモードは、装置のタイプによって、変化する。
定期的に、リモート装置15は、ユーザがリモート装置15の通常動作を続けるのを望むかどうか判定する。ユーザがリモート装置15の通常動作を続けたいと判定される場合、リモート装置プロセス200はそれからステップ204およびステップ205を繰り返すために戻る。しかし、ユーザがリモート装置15のオペレーションを終了したいことがステップ205で判定される場合、リモート装置プロセス200はそれからステップ209で終了する。
図1ないし7に示す本発明の通知システム100で使用されているリモート装置15上のリモート通知システム220の実施例を記載しているフローチャートは、図8Aにおいて例示される。リモート通知システム220は、サーバ11上の通知システム100からイベント通知メッセージを受信し、メッセージを解読および出コードし、メッセージで特定される動作をクライアントリモート装置15で実行する役割を果たす。リモート通知システム220は、SMSまたはIPソースからメッセージを受信してもよい。SMSについて、クライアントは装置上のSMSサブシステムから、メッセージを受信する。
IPについて、クライアントリモート装置15は、サーバ11へのリンクを確立および維持しなければならない。スタートアップにおいて、リモート通知システム220は、サーバ11上のイベント通知登録エージェント120に接続する。好ましい実施例において、この接続は、予め定められたポートに発生する。しかし、他の種類の接続が利用されてもよいと理解される。接続が成功した後、リモート装置15は、それ自体を識別するためにサーバ11にその装置IDおよび認証情報を送信する。
スタートアップの後、リモート通知システム220は、SMSまたはIPを介してメッセージが到着するか、予め定められた期間が期限切れになるまで待機する。期間が期限切れになる場合、クライアントリモート装置15はIP接続のヘルスをチェックする。接続が失われた場合、接続は可能ならばサーバ11によって復旧される。それから、有効な接続が存在する場合、リモート装置15はその装置IDをサーバ11へ再び送信する。
メッセージがリモート通知システム220に到着するときに、サーバ11およびクライアントリモート装置15によって予め同意されたキーによって、それは解読される。メッセージは、それから送信エンベロープからリムーブされて、それが有効な通知メッセージであることを確認するためにチェックされる。メッセージが有効な通知メッセージである場合、それがすでに処理されたメッセージであるかどうか確かめるためにメッセージのシーケンス番号が調べられる。クライアントリモート装置15が適用範囲の外にあった場合、クライアントリモート装置15は同じシーケンス番号を有する並列メッセージを受信するかもしれない、そして、サーバである場合11は送信を再試行した。一旦リモート通知システム220がそれがユニークな有効な通知メッセージを有すると判定すると、通知メッセージの範囲内に含まれる命令を実行するために起動する適当なリモート装置システムを判定する。
まず、リモート通知システム220は、ステップ221で初期化されて、上記の通りにリモート装置プロセス200の初期化と同様の機能を実行する。初期化はまた、リモート通知システム220で利用される特定のデータ構造のためのデータ値の確立を含む。次に、リモート通知システム220は、ステップ222でサーバ11に接続する。ステップ223で、装置IDおよびIPアドレスは、サーバ11に送信される。ステップ224で、リモート通知システム220は、サーバ11からメッセージを受信するか、予め定められた期間が期限切れになるのを待機する。ステップ225で、リモート通知システム220は、予め定められた期間が期限切れになったかどうか判定する。予め定められた期間が期限切れにならなかったと判定される場合、リモート通知システム220はステップ231へ進む。しかし、ステップ225で予め定められた期間が期限切れになったと判定される場合、ステップ226でリモート通知システム220はIPサーバへの接続が失敗したかどうか判定する。IPサーバ11への接続がリモート通知システム220に失敗したと判定されると、それからステップ222でリモート通知システム220は、IPサーバ11への接続に戻る。しかし、IPサーバ11への接続が失敗しなかったと判定されると、リモート通知システム220は、サーバからのメッセージを待機するか、リセットされた予め定められた期間が期限切れになるのを待機するためにステップ224に戻る。
ステップ231で、リモート通知システム220は、それかIPサーバ11から受信したメッセージがPINGメッセージであるかどうか判定する。公知技術の様に、PINGメッセージは単にリモート装置15がまだ接続されていることを確認するためメッセージである。PINGメッセージが受信されなかったことがステップ231で判定される場合、リモート通知システム220はステップ233へ進む。しかし、PINGメッセージが受信されたことがステップ231で判定される場合、ステップ232でリモート通知システム220は、予め定められた期間を、新規な予め定められた期間にリセットする。好ましい実施例において、新たな予め定められた期間は、PINGメッセージのボディにおいて送信される。別の実施例において、新たな予め定められた期間は、上述したように、スタートアップの間のシステム管理者によって、最初の登録によって、またはリモート装置のデータ同期によって確立されてもよい。新たな予め定められた期間をリセットした後に、リモート通知システム220は、ステップ224で、メッセージの待機または新たな予め定められた期間が期限切れになるのを待機するために戻る。
ステップ233で、リモート通知システム220は、サーバ11から受信されるメッセージがLTM(listen to me)メッセージであったと判定する。サーバ11からのメッセージがLTMメッセージでなかったと判定される場合、リモート通知システム220はステップ235へ進む。しかし、サーバ11からのメッセージがLTMメッセージであったと判定される場合、リモート通知システム220はステップ234でクライアントリスンージェントを実行する。クライアントリスンエージェントは、本願明細書において図8に関してさらに詳細に定められる。リモート装置15が必要なときに、サーバ11はコンタクトを始められるように、LTMメッセージはリモート装置15にサーバ11との現在の接続を落とすように指示する。これができるかどうかははリモート装置15およびネットワークのタイプにより依存し、それはサーバ11である。サーバ11が配信するイベント通知メッセージを有する時に接続できることは、リモート装置15のトータル接続時間、バンド幅および電源消費を節約する。接続する能力だけデータトラフィックがあるときだけ接続できることは、リモート装置15上の現在の意図の通知システムを作動するコストを非常に減少することができる。
ステップ235で、リモート通知システム220は、クライアント通知処理プロシージャを実行する。クライアント通知処理プロシージャは、本願明細書において図8Cに関して更に詳細に定められる。クライアントリスンエージェントは、サーバ11からのイベント通知メッセージを、解読、分解、および処理する。
ステップ236で、リモート通知システム220は、さらに処理されるべきメッセージがあるかどうか判定する。さらに処理されるべきメッセージがあることがステップ236で判定される場合、リモート通知システム220はそれからステップ222から236を繰り返すために戻る。しかし、リモート装置15に処理されるべきどんなメッセージもないことがステップ236で判定されると、リモート通知システム220はステップ239で終了する。
図2Bおよび8Aに示す本発明の通知システムで使用されているリモート装置15上のリモート通知システム220によって使用されるクライアントリスンエージェント240のオペレーションの実施例を記載しているフローチャートは、図8Bにおいて例示される。クライアントリスンエージェント240は、サーバ11からイベント通知メッセージを受信するために、サーバ11にリモート装置15への再接続および待機するのを可能にする。
最初に、クライアントリスンエージェント240はステップ241で初期化されて、上記の通りにリモート装置15について、リモート装置システム200の初期化と類似した機能を実行する。初期化はまた、クライアントリスンエージェント240において利用される特定のデータ構造のためのデータ値の確立を含む。次に、リモート装置15上のクライアントリスンエージェント240は、ステップ242でサーバ11への現在の接続を落とす。現在の接続を落とした後に、クライアントリスンエージェント240はそれからステップ243でソケットリスナーを作成する。好ましい実施例において、このソケットリスナーは、予め定められたポートに作成される。
ステップ244で、クライアントリスンエージェント240は、サーバ11からのメッセージまたは、予め定められた期間が期限切れになるかのどちらかを待機する。サーバ11からのメッセージを受信するか、予め定められた期間が期限切れになるかのどちらかの後、クライアントリスンエージェント240はそれから、ステップ244を抜けるためのトリガーとなった実際のアクションを判定する。ステップ245で、クライアントリスンエージェントはクライアントリスンエージェント240をトリガーすることの理由が、予め定められた期間が期限切れになったということであるかどうか判定する。
予め定められた期間が期限切れになったことがステップ245で判定される場合、クライアントリスンエージェント240はそれからステップ249で終了する。しかし、予め定められた期間が期限切れになっていないことがステップ245で判定される場合、クライアントリスンエージェントはステップ246でクライアント通知処理プロシージャを実行する。クライアント通知処理プロシージャは、本願明細書において図8Cを参照してさらに詳細に定められる。
図2B、8Aおよび8Bに示す本発明の通知システムで使用されているリモート装置200上のリモート通知システム220によって使用されるクライアント通知処理プロシージャ260のオペレーションの実施例を記載しているフローチャートは、図8Cにおいて例示される。クライアント通知処理プロシージャ260は、リモート装置15上のサーバ11によって送信されるイベント通知メッセージを、解読、ディコンストラクションおよび処理を提供する。
最初に、クライアント通知処理プロシージャ260はステップ261で初期化されて、上記の通りにリモート装置15についてリモート装置システム200の初期化と類似した機能を実行する。初期化はまた、クライアント通知処理プロシージャ260において利用される特定のデータ構造のためのデータ値の確立を含む。次に、クライアント通知処理プロシージャ260はステップ262で予め定められたキーを用いてイベント通知メッセージを解読する。好ましい実施例において、予め判定されたリモート装置特有のキーによって、このメッセージは、解読される。装置特有のキーは、多くの異なる方法で判定されてもよい。好ましい実施例において、装置特有のキーは、サーバ11とリモート装置15の同期の間に確定される。別の実施例においては、このキーは、リモート装置15がスタートアップしている間にシステム管理者またはユーザによって判定されてもよい。ステップ263で、メッセージは解読の後、分解される。イベント通知メッセージのディコンストラクションは、単にリモート装置15による有用な内容へのメッセージの構文解析だけである。
ステップ264で、クライアント通知処理プロシージャ260は受信したメッセージがイベント通知メッセージであるかどうか判定する。処理されたメッセージがイベント通知メッセージでないとステップ264で判定される場合、クライアント通知処理プロシージャは、ステップ269に進む。しかし、メッセージがイベント通知メッセージであることがステップ264で判定される場合、クライアント通知処理プロシージャ260はそれから、イベント通知メッセージがステップ265ですでに受信されたと判定する。通信または処理のエラーによって、受信されたメッセージが送れて再送されることもありえる。
イベント通知メッセージが予め受信されたことがステップ265で判定される場合、クライアント通知処理プロシージャ260はステップ269に進む。しかし、イベント通知メッセージが予め受信されなかったことはステップ265で判定される場合、ステップ266でクライアント通知処理プロシージャ260は、イベント通知メッセージを処理する適当なシステムを判定する。ステップ267で、クライアント通知処理プロシージャはそれからイベント通知メッセージを処理する適当なシステムを実行する。
ステップ269で、クライアント通知処理プロシージャ260はリモート装置15上のオペレーションを終了する。フローチャートのあらゆるプロセス記述またはブロックは、モジュール、セグメントまたは、特有の論理関数またはプロセスにおけるステップを実行するための一つ以上の実行可能命令を含むコードの部分を表示するとして理解されなければならない。本願発明の当業者によって理解されるような、関係した機能に基づいて、いずれかの機能が、示され説明された順番と違って実行されてもよく、実質的に同時にあるいは逆の順番の場合などの他の実装も、本願発明の好ましい実施音形態の範囲内に含まれる。
実質的に本発明の原理から逸脱することなく、上述したように、多くの修正変更が本発明の実施例になされてもよいことは、当業者にとって明らかである。全てのこの種の修正変更は、あとに続く請求項に記載の、本発明の範囲内で本願明細書において含まれることを目的とする。
図1は、本発明の通知システムを利用したコンピュータシステムの環境およびリモート装置の環境の実施例を例示しているブロック図である。 図2Aは、図1に示すように、本発明の通知システムを利用しているサーバの実施例を例示しているブロック図である。 図2Bは、図2に示すように、本発明の通知システムを利用しているリモート装置の実施例を例示しているブロック図である。 図3は、図1および2Aに示すように、本発明の通知システムのサーバ上のオペレーションの実施例を例示しているフローチャートである。 図4は、図1乃至3に示すような本発明の通知システムによって利用されるイベント通知登録エージェントの動作の実施例を例示しているフローチャートである。 図5は、図3A乃至3に示すような本発明の通知システムによって利用されるイベント通知収集エージェントの動作の実施例を例示しているフローチャートである。 図6Aは、図3A乃至3に示すような本発明の通知システムによって利用されるイベント通知送出エージェントの動作の実施例を例示しているフローチャートである。 図6Bは、図2A及び6Aに示すような本発明の通知システムのイベント通知送信エージェントによって利用されるSMSメッセージ送信プロセスの動作の実施例を例示しているフローチャートである。 図7は、図1乃至6Bに示すような本発明の通知システムを利用するリモート装置のプロセスフローの実施例を例示しているフローチャートである。 図8Aは、図1乃至7に示すような本発明の通知システムにおいて利用されるリモート装置におけるリモート通知システムの実施例を例示しているフローチャートである。 図8Bは、図2B及び8Aに示すような本発明の通知システムにおいて利用されるリモート装置において、リモート通知システムによって利用されるクライアントリスンエージェントの動作の実施例を例示しているフローチャートである。 図8Cは、図2B、8A及び8Bに示すような本発明の通知システムにおいて利用されるリモート装置において、リモート通知システムによって利用されるクライアント通知処理プロシージャの動作の実施例を例示しているフローチャートである。

Claims (15)

  1. IPリンクを使用して、インターネットプロトコル(IP)およびショートメッセージサービス(SMS)が可能なリモート装置に、メッセージを送信するステップと、
    プロセッサを介して、前記IPリンクによって送信された前記メッセージが、前記リモート装置によって受信されなかったと判定するステップと、
    前記プロセッサを介して、予め定められた時間を待機するステップと、
    前記プロセッサを介して、SMS送信プロセスを使用して自動的に前記メッセージを再送するステップとを備え、
    再送するステップが、前記SMS送信プロセスによる前記メッセージの送信が成功するまでは、予め定められたリトライ数まで前記SMS送信プロセスを使用して前記メッセージを再送するための試行を継続するステップを含み、
    待機するステップが、再送するための後続の試行ごとに、再送するステップの前に予め定められた時間を待機するステップであって、前記予め定められた時間が、前記SMS送信プロセスを使用して前記メッセージを再送するための直前の試行よりも前に待機された時間より長いステップをさらに含む、方法。
  2. 前記メッセージは通知メッセージである請求項1に記載の方法。
  3. 前記メッセージは暗号化される請求項1に記載の方法。
  4. インターネットプロトコル(IP)およびショートメッセージサービス(SMS)が可能なリモート装置へ送信される第1のメッセージを取得するステップと、
    IPリンクを使用して、前記リモート装置に対して前記第1のメッセージが保留にされていることを示す第2のメッセージを送信するステップと、
    前記IPリンクによって送信された前記第2のメッセージが、前記リモート装置によって受信されなかったと判定するステップと、
    予め定められた時間を待機するステップと、
    プロセッサを介して、SMS送信プロセスを使用して、自動的に前記第2のメッセージを再送するステップであって、前記SMS送信プロセスによる前記第2のメッセージの送信が成功するまでは、前記プロセッサが、予め定められたリトライ数まで前記SMS送信プロセスによる前記第2のメッセージを再送するための試行を継続することを制御することを含むステップとを備え、
    待機するステップが、再送するための後続の試行ごとに、前記プロセッサが、再送するステップの前に予め定められた時間を待機することを制御するステップであって、前記予め定められた時間が、前記SMS送信プロセスを使用して前記第2のメッセージを再送するための直前の試行よりも前に待機された時間より長いステップをさらに含む、方法。
  5. 前記第2のメッセージは通知メッセージである請求項4に記載の方法。
  6. プロセッサおよび実行可能命令を記憶するメモリを備える装置であって、前記実行可能命令は、前記プロセッサによる実行に応じて、少なくとも、
    IPリンクを用いてインターネットプロトコル(IP)およびショートメッセージサービス(SMS)が可能なリモート装置にメッセージを送信すること、
    前記IPリンクによって送信された前記メッセージが、前記リモート装置によって受信されていないことを判定すること、
    SMS送信プロセスを使用して自動的に前記メッセージを再送すること、および
    前記SMS送信プロセスを使用して前記メッセージを再送する前に予め定められた時間を待機すること
    を前記装置に行わせ、
    前記SMS送信プロセスが、前記SMS送信プロセスによる前記メッセージの送信が成功するまでは、予め定められたリトライ数まで前記メッセージを再送するための試行を継続することを含み、
    前記命令が、前記装置に、再送するための後続の試行ごとに、再送する前に予め定められた時間を待機させ、前記予め定められた時間が、前記SMS送信プロセスを使用して前記メッセージを再送するための直前の試行よりも前に待機された時間より長い、装置。
  7. 前記メッセージは通知メッセージである請求項6に記載の装置。
  8. 前記メッセージは暗号化されている請求項6に記載の装置。
  9. プロセッサおよび実行可能命令を記憶するメモリを備える装置であって、前記実行可能命令は、前記プロセッサによる実行に応じて、少なくとも
    インターネットプロトコル(IP)およびショートメッセージサービス(SMS)が可能なリモート装置に送信される第1のメッセージを取得すること、
    IPリンクを使用して、前記リモート装置に対して前記第1のメッセージが保留にされていることを示す前記第2のメッセージを送信すること、
    前記IPリンクによって送信された前記第2のメッセージが前記リモート装置によって受信されていないことを判定すること、
    SMS送信プロセスを使用して自動的に前記第2のメッセージを再送すること、および
    前記SMS送信プロセスを使用して前記第2のメッセージを再送する前に予め定められた時間を待機すること
    を前記装置に行わせ、
    再送することが、前記SMS送信プロセスによる前記第2のメッセージの送信が成功するまでは、予め定められたリトライ数まで前記SMS送信プロセスを使用して前記第2のメッセージを再送するための試行を継続することを含み、
    前記命令が、前記装置に、再送するための後続の試行ごとに、再送する前に予め定められた時間を待機させ、前記予め定められた時間が、前記SMS送信プロセスを使用して前記第2のメッセージを再送するための直前の試行よりも前に待機された時間より長い、装置。
  10. 前記第2のメッセージは通知メッセージである請求項9に記載の装置。
  11. 前記メッセージは暗号化されている請求項9に記載の装置。
  12. プロセッサによって実行されると、インターネットプロトコル(IP)およびショートメッセージサービス(SMS)が可能なリモート装置に通知を提供する命令を記憶するための少なくとも1つの物理電子記憶メモリ装置を備えるコンピュータプログラムであって、
    IPリンクを使用して、前記リモート装置に、メッセージを送信する命令と、
    前記IPリンクによって送信された前記メッセージが、前記リモート装置によって受信されなかったと判定する命令と、
    SMS送信プロセスを使用して自動的に前記メッセージを再送する命令であって、再送が、前記SMS送信プロセスによる前記メッセージの送信が成功するまでは、予め定められたリトライ数まで前記SMS送信プロセスを使用して前記メッセージを再送するための試行を継続することを含む命令と、
    前記SMS送信プロセスを使用して、前記メッセージを再送する前に予め定められた時間を待機する命令とを備え、
    待機する命令が、再送するための後続の試行ごとに、再送する前に予め定められた時間を待機することをさらに提供し、前記予め定められた時間が、前記SMS送信プロセスを使用して前記メッセージを再送するための直前の試行よりも前に待機された時間より長い、コンピュータプログラム。
  13. 前記メッセージは通知メッセージである請求項12に記載のコンピュータプログラム。
  14. 前記メッセージは暗号化されている請求項12に記載のコンピュータプログラム。
  15. プロセッサによって実行されると、インターネットプロトコル(IP)およびショートメッセージサービス(SMS)が可能なリモート装置に通知を提供する命令を記憶するための少なくとも物理電子記憶メモリ装置を備えるコンピュータプログラムであって、
    前記リモート装置に送信される第1のメッセージを取得する命令と、
    IPリンクを使用して前記リモート装置に対して前記第1のメッセージが保留にされていることを示す第2のメッセージを送信する命令と、
    前記IPリンクによって送信された前記第2のメッセージが前記リモート装置によって受信されなかったと判定する命令と、
    SMS送信プロセスを使用して自動的に前記第2のメッセージを再送する命令であって、再送することが、前記SMS送信プロセスによる前記第2のメッセージの送信が成功するまでは、予め定められたリトライ数まで前記SMS送信プロセスを使用して前記第2のメッセージを再送するための試行を継続することを含む命令と、
    前記SMS送信プロセスを使用して前記第2のメッセージを再送する前に予め定められた時間を待機する命令とを備え、
    前記待機する命令が、再送するための後続の試行ごとに、再送する前に予め定められた時間を待機することをさらに提供し、前記予め定められた時間が、前記SMS送信プロセスを使用して前記第2のメッセージを再送するための直前の試行よりも前に待機された時間より長い、コンピュータプログラム。
JP2006517423A 2003-06-18 2004-06-18 リモート装置に通知を提供するシステムと方法 Expired - Fee Related JP4734240B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US47915203P 2003-06-18 2003-06-18
US60/479,152 2003-06-18
PCT/US2004/019578 WO2004114085A2 (en) 2003-06-18 2004-06-18 System and method for providing notification on remote devices

Publications (2)

Publication Number Publication Date
JP2007526666A JP2007526666A (ja) 2007-09-13
JP4734240B2 true JP4734240B2 (ja) 2011-07-27

Family

ID=33539153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006517423A Expired - Fee Related JP4734240B2 (ja) 2003-06-18 2004-06-18 リモート装置に通知を提供するシステムと方法

Country Status (4)

Country Link
US (1) US7881661B2 (ja)
EP (1) EP1636918B1 (ja)
JP (1) JP4734240B2 (ja)
WO (1) WO2004114085A2 (ja)

Families Citing this family (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004114085A2 (en) * 2003-06-18 2004-12-29 Intellisync Corporation System and method for providing notification on remote devices
US7664095B2 (en) * 2003-06-20 2010-02-16 Novatel Wireless, Inc. Systems and methods for registering a client device in a data communication system
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US9027135B1 (en) 2004-04-01 2015-05-05 Fireeye, Inc. Prospective client identification using malware attack detection
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8499337B1 (en) * 2004-10-06 2013-07-30 Mcafee, Inc. Systems and methods for delegation and notification of administration of internet access
EP1867161A4 (en) * 2005-03-17 2011-08-24 Videocells Ltd METHOD FOR A CIRCULATED CENTRALIZED STREAMING SYSTEM
CN100407808C (zh) * 2005-03-25 2008-07-30 华为技术有限公司 一种消息传送方法
JP4692251B2 (ja) * 2005-12-01 2011-06-01 株式会社日立製作所 アクセスを提供するコンピュータシステム及びその管理方法
US8627225B2 (en) * 2006-06-09 2014-01-07 Honeywell International Inc. Apparatus and methods for ensuring closure of displays
US8102245B2 (en) * 2006-07-14 2012-01-24 At&T Intellectual Property I, Lp Method and apparatus for transmitting notification messages
JP4994752B2 (ja) * 2006-09-08 2012-08-08 パスロジ株式会社 情報処理システム
US8161119B2 (en) * 2006-12-22 2012-04-17 Cisco Technology, Inc. Network device provided spam reporting button for instant messaging
JP4984898B2 (ja) * 2007-01-11 2012-07-25 株式会社日立製作所 機器管理装置
US8046415B2 (en) * 2007-02-09 2011-10-25 Cisco Technology, Inc. Throttling of mass mailings using network devices
KR101548959B1 (ko) * 2008-06-04 2015-09-01 삼성전자주식회사 패킷 통신 시스템에서 네트워크 주소 설정을 위한 장치 및방법
US8850571B2 (en) 2008-11-03 2014-09-30 Fireeye, Inc. Systems and methods for detecting malicious network content
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
KR101630755B1 (ko) * 2010-01-15 2016-06-15 삼성전자주식회사 모바일 디바이스 간 보안 통신 방법 및 장치
US9258201B2 (en) * 2010-02-23 2016-02-09 Trane International Inc. Active device management for use in a building automation system
DE102010009755A1 (de) * 2010-03-01 2011-09-01 Deutsche Telekom Ag Kommunikationssystem zur prozessorientierten Erfassung, Speicherung, Übermittlung und Bereitstellung von Daten
US8761017B2 (en) * 2010-05-25 2014-06-24 Red Hat, Inc. Transport cost optimization for enterprise service
US20120215880A1 (en) * 2011-02-23 2012-08-23 Vikas Lamba Forwarding data from server to device
US9110739B2 (en) 2011-06-07 2015-08-18 Microsoft Technology Licensing, Llc Subscribing to multiple resources through a common connection
US9519782B2 (en) 2012-02-24 2016-12-13 Fireeye, Inc. Detecting malicious network content
US9654604B2 (en) * 2012-11-22 2017-05-16 Intel Corporation Apparatus, system and method of controlling data flow over a communication network using a transfer response
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9824209B1 (en) 2013-02-23 2017-11-21 Fireeye, Inc. Framework for efficient security coverage of mobile software applications that is usable to harden in the field code
US8990944B1 (en) 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9009822B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for multi-phase analysis of mobile applications
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9159035B1 (en) 2013-02-23 2015-10-13 Fireeye, Inc. Framework for computer application analysis of sensitive information tracking
US9009823B1 (en) 2013-02-23 2015-04-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications installed on mobile devices
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9565202B1 (en) 2013-03-13 2017-02-07 Fireeye, Inc. System and method for detecting exfiltration content
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
US9251343B1 (en) 2013-03-15 2016-02-02 Fireeye, Inc. Detecting bootkits resident on compromised computers
US9413781B2 (en) 2013-03-15 2016-08-09 Fireeye, Inc. System and method employing structured intelligence to verify and contain threats at endpoints
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US9407669B1 (en) * 2013-05-16 2016-08-02 Ca, Inc. Communications pacing
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9536091B2 (en) 2013-06-24 2017-01-03 Fireeye, Inc. System and method for detecting time-bomb malware
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9888016B1 (en) 2013-06-28 2018-02-06 Fireeye, Inc. System and method for detecting phishing using password prediction
US10089461B1 (en) 2013-09-30 2018-10-02 Fireeye, Inc. Page replacement code injection
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US10192052B1 (en) 2013-09-30 2019-01-29 Fireeye, Inc. System, apparatus and method for classifying a file as malicious using static scanning
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9189627B1 (en) 2013-11-21 2015-11-17 Fireeye, Inc. System, apparatus and method for conducting on-the-fly decryption of encrypted objects for malware detection
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9292686B2 (en) 2014-01-16 2016-03-22 Fireeye, Inc. Micro-virtualization architecture for threat-aware microvisor deployment in a node of a network environment
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
EP3114064A4 (en) * 2014-03-04 2017-11-22 KONE Corporation Adaptive remote monitoring reporting
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US10110536B2 (en) * 2014-04-21 2018-10-23 Dropbox, Inc. System for managing event notifications to client devices
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
US11113086B1 (en) 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US9769592B2 (en) * 2015-08-24 2017-09-19 Blackberry Limited Optimized short message transport
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
CA3095689A1 (en) 2018-04-06 2019-10-10 Blackberry Limited Increasing battery performance for a device that uses power saving features
US10938949B2 (en) * 2018-05-21 2021-03-02 Sap Se Notifications based on queues
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US10838784B2 (en) * 2018-06-29 2020-11-17 Citrix Systems, Inc. Real-time file system event mapping to cloud events
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000004701A1 (en) * 1998-07-16 2000-01-27 Intervoice Limited Partnership System and method for managing prepaid wireless service
JP2001266013A (ja) * 2000-03-17 2001-09-28 Nec Corp 料金明細通知システム
JP2003087408A (ja) * 2001-09-13 2003-03-20 Nec Corp ショートメッセージ配信システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI105873B (fi) * 1997-04-03 2000-10-13 Nokia Networks Oy Lyhytsanomien välitys pakettiradioverkossa
AU9064998A (en) 1998-07-06 2000-01-24 Nokia Networks Oy Voice mail server, mobile station and method for voice mail message transmission
US6847892B2 (en) * 2001-10-29 2005-01-25 Digital Angel Corporation System for localizing and sensing objects and providing alerts
WO2002005063A2 (en) * 2000-07-06 2002-01-17 Broadbeam Corporation System and method for the remote creation of notification agents for wireless devices
US20020198946A1 (en) * 2001-01-16 2002-12-26 Yi-Min Wang Personal centralized alert delivery systems and methds of use
WO2004114085A2 (en) * 2003-06-18 2004-12-29 Intellisync Corporation System and method for providing notification on remote devices
US20070179799A1 (en) * 2005-12-31 2007-08-02 General Motors Corporation User-initiated vehicle email notification

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000004701A1 (en) * 1998-07-16 2000-01-27 Intervoice Limited Partnership System and method for managing prepaid wireless service
JP2001266013A (ja) * 2000-03-17 2001-09-28 Nec Corp 料金明細通知システム
JP2003087408A (ja) * 2001-09-13 2003-03-20 Nec Corp ショートメッセージ配信システム

Also Published As

Publication number Publication date
EP1636918B1 (en) 2016-12-28
WO2004114085A2 (en) 2004-12-29
JP2007526666A (ja) 2007-09-13
US20050050148A1 (en) 2005-03-03
EP1636918A2 (en) 2006-03-22
EP1636918A4 (en) 2011-06-15
US7881661B2 (en) 2011-02-01
WO2004114085A3 (en) 2005-03-03

Similar Documents

Publication Publication Date Title
JP4734240B2 (ja) リモート装置に通知を提供するシステムと方法
US7643825B2 (en) System and method for managing data to be pushed to a wireless device when the device may be outside of a coverage range
JP4906295B2 (ja) レートを同期させたクロックを使用した高信頼メッセージング
CN1787497B (zh) 在web服务环境可靠消息通信中验证和维持连接活跃性
US6999992B1 (en) Efficiently sending event notifications over a computer network
EP1605663B1 (en) Method for re-establishing a session of an IMPS client in a mobile terminal
CN102176715B (zh) 用于客户端-服务器系统中的动态超时的方法和装置
US8583831B2 (en) Thin client discovery
US20060069836A1 (en) Communication system and method for upgrade of user terminal software and user terminal upgraded by the same
JP2003513361A (ja) 放送データの監視されたダウンロードのためのシステム及び方法
US5935211A (en) Distributed notification
US20080163227A1 (en) Server and client, and update supporting and performing methods thereof
US20050039048A1 (en) Efficient new e-mail discovery
US8484370B1 (en) Method and system for efficient extended data communications using GPRS
US7584296B2 (en) Asynchronous network stack operation in an operating system independent environment
EP1089189A2 (en) Method of communication between a peripheral device and a client in a computer network
US20050033863A1 (en) Data link characteristic cognizant electronic mail client
US20020099828A1 (en) Time-based network connections
EP1499086B1 (en) Internet service synchronization method for mobile communication terminal
EP1715656A1 (en) Offering a push service to a wireless device using a push proxy which monitors the coverage state of the device
JP2015046706A (ja) 中継プログラム、中継装置、及び中継方法
KR20000042800A (ko) 에스엔엠피를 이용한 네트워크 장비의 시스템코드 다운로드방법
JP2002290442A (ja) 通信装置、プログラム、情報記憶媒体および通信制御方法
JPH1132084A (ja) 通信接続制御方式
JP2004254038A (ja) メール通信中継システム、メール通信中継装置、メール通信中継方法及びメール通信中継用プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070606

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100405

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101215

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110315

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110322

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110405

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4734240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees