JP2007527557A - 分散ソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システム - Google Patents

分散ソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システム Download PDF

Info

Publication number
JP2007527557A
JP2007527557A JP2006506148A JP2006506148A JP2007527557A JP 2007527557 A JP2007527557 A JP 2007527557A JP 2006506148 A JP2006506148 A JP 2006506148A JP 2006506148 A JP2006506148 A JP 2006506148A JP 2007527557 A JP2007527557 A JP 2007527557A
Authority
JP
Japan
Prior art keywords
server
terminal
message
data
side component
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.)
Pending
Application number
JP2006506148A
Other languages
English (en)
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 JP2007527557A publication Critical patent/JP2007527557A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • 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/58Message adaptation for wireless communication
    • 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
    • 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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明は、端末上で実行される端末側の構成要素とサーバ側の構成要素とに分散されるソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システムであって、前記端末側構成要素とサーバ側構成要素とが(i)共にサーバへのクライアントを構成し、(ii)ネットワーク上でメッセージ・キューイング・システムを用いてメッセージを送信することで協働するシステムを想定している。したがって、クライアント−サーバ構成内のクライアントとして機能するアプリケーションの機能は、メッセージ指向ミドルウェアなどのメッセージ・キューイング・システムを用いたネットワーク接続上で相互に通信する複数の物理デバイス上で実行される構成要素部分に分割(分散)される。構成要素部分はまとめてより大きいクライアント−サーバ構成内のクライアントとして機能し、例えば、サーバはメール・サーバである。これを「分散クライアント」モデルと呼ぶ。分散クライアント・モデルの基本的な利点は、処理容量、処理能力、コネクティビティが限られた移動体デバイスなどの端末が、通常はクライアントに関連する機能の一部をそれほどリソースの制約がないサーバ側に分散することで移動体デバイス上の最小のリソースを用いてサーバ環境へのフル装備のクライアント・アクセスを享受する。

Description

本発明は、分散ソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システムに関する。
スマートホン、携帯電話、無線PDAなどの無線端末は、通常、メモリ、処理能力、バッテリの制約が厳しい。その結果、この種の端末を用いてデータにアクセスし、複製し、または通信することが重大な課題を提起する。例えば、無線端末を用いて連絡先やカレンダを記憶し、Eメールを送受信する場合、従来、データセットをリモート・サーバ上のマスタ・データセットに同期させる必要が生じた。サーバと移動体デバイスとの間での同期化は、従来、比較的高い帯域幅、低い待ち時間、計測されないコネクティビティ(例えば、USBまたはIR)を用いて実行される。その結果、同期化システムは大量のデータを送信し、送信中にデータ損失が発生したり基本伝送が中断した時にあまり堅牢でない方法を使用することが多い。例えば、サーバ・ベースのデータセット同期化は、通常、すべての接続されたデバイスがその全データセット(例えば、すべてのEメール、すべての連絡先など)を単一のセッションでサーバにダウンロードすることを要求し、サーバは、マスタ、すなわち、すべてのその他のデータセットを更新するために最後の完全に同期化されたデータセットのマスタ・コピーとの比較を実行できる。この手法は、必要な消費電力、潜在的に長い接続時間、高コストのデータ転送が理由で、無線デバイスの同期化にとっては魅力的でない。
本発明は、端末上で実行される端末側の構成要素とサーバ側の構成要素とに分散されるソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システムであって、
前記端末側構成要素とサーバ側構成要素とが(i)共にサーバへのクライアントを構成し、(ii)ネットワーク上でメッセージ・キューイング・システムを用いてメッセージを送信することで協働するシステムである。
したがって、クライアント−サーバ構成内(例えば、Microsoft ExchangeのEメール環境内)のクライアントとして機能するアプリケーションの機能は、メッセージ指向ミドルウェアなどのメッセージ・キューイング・システムを用いたネットワーク接続上で相互に通信する複数の物理デバイス上で実行される構成要素部分に分割(分散)される。構成要素部分はまとめられると、より大きいクライアント−サーバ構成内のクライアントとして機能する。例えば、サーバはExchangeのメール・サーバである。これを「分散クライアント」モデルと呼ぶ。分散クライアント・モデルの基本的な利点は、処理容量、処理能力、コネクティビティが限られた移動体デバイスなどの端末が、通常はクライアントに関連する機能の一部をそれほどリソースの制約がないサーバ側に分散することで移動体デバイス上の最小のリソースを用いてサーバ環境へのフル装備のクライアント・アクセスを享受することができる。(したがって、本発明は端末が無線端末(例えば、スマートホン)でネットワークが無線ネットワーク(例えば、GPRS)の特定のユーティリティを有する一方、本発明はこれらの実施態様に限定されない。例えば、本発明は有線ネットワーク上でリモート・サーバと通信するデスクトップPCである端末をカバーする。)
他の分散モデルとは異なり、本発明の一実施態様では、各構成要素部分は、ネットワーク接続がない時でも他方から独立して機能(キャッシュされた/記憶されたータにアクセスする機能に留まらない)を提供できる。例えば、Microsoft Exchangeメール・サーバにアクセスするウェブ・ブラウザやウェブ・サーバ分散クライアントを用いたEメール・ウェブ・アクセスなどの従来の分散クライアントでは、ブラウザとウェブ・サーバとの接続を切断すると、ブラウザはキャッシュされたEメールの表示を継続する以外の機能を持たなくなる。
ただし、本発明の一実施態様では、端末側構成要素は、ネットワーク上の接続が接続を再確立する準備が出来た状態でメッセージをキューイングすることによって切断される場合に、端末プログラム(例えば連絡先、カレンダ、Eメールなど)が影響を受けるのを防止できる。この結果、端末プログラムは次のタスクに移行できる。したがって、EメールまたはPIMアプリケーションを端末(スマートホン、PCなど)上で使用するユーザの経験は接続のあるなしに関わらず全く同じである。ユーザはその端末上でEメールを作成し連絡先を編集するなどの作業ができる。端末は接続が再確立され、自動的にメッセージを送信できる時点まで、メッセージ・キューイング・システムを用いてメッセージをキューイングできるので、ユーザはネットワーク接続の状態から隔離されている。同様に、サーバ側の構成要素は、ネットワーク上の接続が接続を再確立する準備が出来た状態でメッセージをキューイングすることで切断される場合に、サーバ・プログラムが影響を受けるのを防止できる。この結果、サーバ・プログラムは次のタスクに移行できる。
この手法は、メッセージ・キューイング・プラットフォームをネットワーク内に挿入することでネットワーク・パフォーマンスの気まぐれから端末を隔離することを容易にするため、ネットワークが極めて予測不可能な帯域幅、通信可能範囲、可用性を備えた無線ネットワークである時にもより優れている。したがって、分散クライアント・モデルは、端末に重大なリソースの制約があり接続に重大な制約があっても、端末で優れたユーザ経験を提供するという問題に直接対処する(例えば、エンド・ユーザはネットワーク通信範囲に関わらず、常にそのPIM、カレンダ、Eメール・アプリケーションと対話できる)。
分散クライアントのために最適化された一実施態様の詳細は、各々のキューイングされたメッセージが「イベント」の一部または全部を定義し、メッセージ内でイベントは端末またはサーバに記憶されたデータの変更を詳細に記述し、従来の同期化エンジンを必要とせずにデータ複製を実行する。こうして、データ複製は、同期化のための記憶されたデータのデータセット一式(またはデータセットのサブセット)ではなく、「イベント」を送信することで達成される。端末側構成要素はイベントを作成して自らおよび/またはメッセージ・キューイング・システム内にキューイングできる。こうして、ネットワーク接続が切断されていても端末側構成要素は次のタスクに移行できる。同様に、サーバ側構成要素もイベントを作成して自らおよび/またはメッセージ・キューイング・システム内にキューイングできる。こうして、ネットワーク接続が切断されていてもサーバ側構成要素は次のタスクに移行できる。キューイングされたイベントは無線端末の電源がオフになっても端末の不揮発性メモリ内に存続できる。同様に、キューイングされたイベントはサーバの電源がオフになってもサーバ側構成要素を実行するホストの不揮発性メモリ内に存続できる(サーバ側構成要素を実行するホストはサーバを実行するホストと同じ場合もあるが違うことが多いことに注目されたい)。
端末側構成要素とサーバ側構成要素は、無線端末上で実行されている端末プログラムとサーバ上で実行されているサーバ・プログラムとの間のミドルウェアを集合的に構成している。
アプリケーションはまたメッセージ・キューイング機能を提供する分散通信プラットフォームを呼び出し、それによって、通信プラットフォームが「セッション非依存」方式で動作する不確実なプロトコルが使用されている場合であっても、通信プラットフォームはネットワーク上のメッセージを確実に配信することができる。
詳細説明
1.序論
本発明をVisto Corporationの一実施形態に関連して説明する。この実施形態はMobileMQ(商標)と呼ばれるミドルウェア通信プラットフォームとTranscend Mail(商標)と呼ばれる分散アプリケーション・レイヤとを含む。
Transcend MailはSymbianOS(商標)スマートホン無線端末とWindows 2000サーバ上で実行される(すなわち、これらに分散される)エンドツーエンドのGPRS接続アプリケーションである。これによって、SymbianOSスマートホン上のEメール、連絡先、カレンダ・アプリケーションはMobileMQプラットフォームを用いてMicrosoft Exchange(商標)メール・サーバでGPRS上に自動データ複製を実行することができる。MobileMQはスマートホンとサーバ間に分散されたメッセージ指向ミドルウェア・プラットフォームである。MobileMQは、Transcend Mailのユーザ経験の多くの態様を可能にするGPRSが有効な、確実で安全な通信手段を提供する。MobileMQは、ネットワーク(有線、無線を問わず)上でリモート・データ・アクセス、複製または通信の要求がある場所のどこでも使用できる。MobileMQは不確実な、セッションから独立した基本トランスポート・プロトコルを使用する。
Transcend Mailを用いて移動体利用者は、SymbianベースのGPRSスマートホンからその会社のEメール、連絡先、カレンダ項目にアクセスできる。Transcend Mailは以下の3つの移動体利用者のニーズを満たすように構成されている。
1.離席していても「連絡」が可能で、顧客、市場、ビジネス・ニーズに応答できる。
2.同僚との協働が可能なように連絡先やカレンダを常に「更新」しておく。
3.アポイントメント、移動待機、または出張中の「空き時間」を有効活用できる。
Transcend Mailは以下の機能を実現する。
・端末デバイスのユーザ・インタフェースがローカル・データを処理してGPRSレイテンシ、貴重な低帯域幅、断続する通信可能範囲によってEメール、連絡先、カレンダ・アプリケーションが常時利用可能で応答できるようにする。
・ローカル・データとサーバ側データの変更をタイムリにかつユーザを邪魔しないようにバックグランドで自動複製する。
・顧客がネットワーク運用会社のGPRS料金から適当な値を得て「ビル・ショック」とも呼ばれるものを得ないようにGPRSの使用を少なくする。
・顧客の組織が従業員のGPRS携帯電話を企業LANに接続する方法の柔軟性を確保する。
・ユーザが新しいシステムを学習しないで済むように携帯電話のアプリケーション・スイートと可能な限りシームレスに統合する。
・ITアドミニストレータが快適でありユーザ経験が良好なようにバック・エンドのEメール・サーバと可能な限りシームレスに統合する。
・端末デバイス上の異なるアプリケーションは個別に送受信が可能なため、大容量のEメール添付ファイルをダウンロードしていてもカレンダの更新が可能である。
2.基本設計原理
本発明の一実施形態では、クライアント−サーバ構成(例えば、Microsoft Exchange環境の)のクライアントとして機能するTranscend Mailアプリケーションの機能が、MobileMQメッセージ指向ミドルウェアを用いてワイド・エリア接続を介して相互に通信する複数の物理デバイス上で実行される構成要素部分に分割(分散)される。構成要素部分は、サーバがExchangeのメール・サーバである、より大規模のクライアント−サーバ構成内で集合的に動作する。これを「分散クライアント」モデルと呼ぶ。分散クライアント・モデルの基本的な利点は、処理容量、処理能力、コネクティビティが限られた移動体デバイスなどの端末が、通常はクライアントに関連する機能の一部をそれほどリソースの制約がないサーバ側に分散することで移動体デバイス上の最小のリソースを用いてサーバ環境へのフル装備のクライアント・アクセスを享受することを可能にするという点である。
ただし、他の分散モデルとは異なり、Transcend Mailでは、各構成要素部分はネットワーク接続がない時でも他方から独立して機能(キャッシュされた/記憶されたデータにアクセスする機能に留まらない)を提供できる。例えば、Microsoft Exchangeメール・サーバにアクセスするウェブ・ブラウザとウェブ・サーバ分散クライアントを用いたEメール・ウェブ・アクセスなどの従来の分散クライアントでは、ブラウザとウェブ・サーバとの接続を切断すると、ブラウザはキャッシュされたEメールの表示を継続する以外の機能を持たなくなる。Transcend Mailでは、スマートホンでEメールまたはPIM(連絡先、カレンダ)アプリケーションを使用するユーザ経験は接続のあるなしに関わらず同じである。ユーザは依然としてスマートホンでEメールを作成し、連絡先を編集するなどの作業ができる。接続が再確立され、次のキューイングされたメッセージを自動送信できる時までMobileMQを用いて(またMobileMQが満杯の場合は端末キューを用いて)端末はメッセージをキューイングできるのでユーザはネットワーク接続の状態から隔離されている。同様に、サーバ側に記憶された次のキューイングされたメッセージは接続が再確立されると自動的に送信できる。
この手法は、メッセージ・キューイング・プラットフォーム(つまりMobile MQ)をネットワーク内に挿入することでネットワーク・パフォーマンスの不安定さから端末を隔離することを容易にするため、ネットワークが極めて予測不可能な帯域幅、通信可能範囲、可用性を備えた無線ネットワークである時にもより優れている。したがって、分散クライアント・モデルは、端末に重大なリソースの制約があり接続に重大な制約があっても、端末で優れたユーザ経験を提供するという問題だけでなくその他の問題に直接対処する(例えば、エンド・ユーザはネットワーク通信範囲に関わらず、常にその連絡先、カレンダ、Eメール・アプリケーションと対話できる)。この概略を図1に示す。
MobileMQメッセージ指向ミドルウェア(MOM)通信プラットフォームによって、構成要素部分は構成要素部分の間で送信するメッセージを効果的かつ効率的に記憶し、実際に確実に送信することができる。基本トランスポート・プログラムの確実性いかんに関わらず、またいかなるセッションにも依存せずに、MobileMQ MOMはネットワーク上のメッセージ送信を確実に実行する。このためトランスポート・プロトコルは「セッション非依存」と呼ばれる。このことは、セッション・ベースのWAPなどの通常のネットワーキング・プロトコルからの大きな前進である。したがって、「セッション非依存」(上記の)はセッション・ベースとは対照的である。セッション・ベースのプロトコルはデータ転送速度がしきい値を下回るか、タイムアウト発生時にセッションを終了する。新しいセッションの開始時には、データ・トラヒックの交換が必要である。このことは、(a)ユーザが送信データ量に対して課金される無線システムではコスト高であり、かつ(b)無線ネットワークに関連する極めて貴重な帯域幅のために頻発する。セッション非依存プロトコルは接続の終了をうまく回避する。(ここでは、基本PDPコンテキストが他のアプリケーションが使用するために解放されたか再割り当てされた、あるいは現在の基本PDPコンテキストが失われ、またはその他タイムアウトになったケースを区別する。これらのタイプのケースでは、上位レイヤのセッション非依存プロトコルは通信アクティビティのPDPコンテキストの再獲得をペンディング状態にする−したがって、「セッション」を再確立する必要はない。)
図2に示すように、MobileMQ MOMとセッション非依存との組み合わせは多数の接続規制の問題を扱うことになる。
さらに、セッション非依存プロトコルでは、セッションの再確立はない。送信側構成要素はメッセージを分散クライアントの受信側構成要素に宛てる方法が分かるとすぐに送信を再開する。無線デバイスは全くIPアドレスを有せず(IPv6が利用可能でないか利用可能になるまで)、頻繁に変更される任意の選択したIPアドレスを介してしかIPベースのメッセージを受信できないので、この方法は無線デバイスに時に有用である。したがって、セッション非依存は、一時的なアドレスを有するが、これらの変動するアドレスに対処するオーバヘッドが最小である無線デバイスにメッセージを送信する要件によく適合する。これはセッション再確立のオーバヘッドがないためである。
またTranscend Mailは「イベント」ベースのデータ複製を採用する。すなわち、クライアントまたはサーバ側に記憶されたデータの変更を定義するすべての新しいイベントの記録が保存される。これらのイベントはログにキューイングされる。分散クライアントの各々の側の間に接続が再確立されると各々のキューイングされたイベント(イベントの複雑さに応じて1つまたは複数のメッセージで表される)が送信され、1つのメッセージが1つまたは複数のパケットによって搬送される。MobileMQによってメッセージの効率的で確実な転送が可能になったので、メッセージの効率的で確実な転送のみを要求するイベント・ベースのデータ複製システムにはよく適合する。
MOMを用いた上位レベル・アプリケーションは接続ステータスを認識していない。すなわち、MobileMQは、MobileMQを使用するアプリケーションを基本接続(アクティブなPDPコンテキストなど)の存否を認識する必要から隔離するMOMレイヤである。アプリケーション・レイヤで、システムは「接続非依存」である。したがって、「セッション非依存」という用語は、接続が中断後に再確立されると、アプリケーションが停止した全く同じ場所からメッセージ転送を再開できる、すなわち、アプリケーションが送信する次のメッセージは接続中断がなければ送信されたはずのメッセージであるという意味で、アプリケーション・レイヤでは、実際の接続が確立されているか否かに関わらず存続する単一のセッションがあるシステムに概念的に相当する。セッション・ベースのシステムでは、これは起こらない。逆に、セッションを再確立するためのかなりのオーバヘッドが最初にかかる。セッションが再確立されると、メッセージ転送の再開が、さらに非生産的なデータ転送である以前に送信した大量のメッセージ・データの送信を含むとしても、メッセージ転送が再開する。
MobileMQでは確実性(すなわち、メッセージが受信されたことを保証できること)がオーバヘッドが高いセッション・べースのプロトコルに頼らずに達成される。本発明では、送信側デバイスで、別のメッセージが送信できるまでに受信側デバイスで個々のメッセージが受信されて正しく処理されたという確認を受信することが要求される。この「メッセージ・レベル」の確実性は、セッション・べース・システムと対照的に接続が中断した場合に通信を再開する際のオーバヘッドが最小であるために、はるかにデータ効率がよい。これは、接続の中断がまれでない無線ネットワークでは特に重要な利点である。
従来技術では、認証はセッション開始時に高いデータ転送オーバヘッドを伴って達成される。MobileMQ MOMはセッション非依存のため、メッセージごとの認証(「メッセージ・レベル」認証)を提供する。これはデバイス再ブート時に常にカウントアップするセッション番号に基いて、セッション・レベル認証と組み合わすことができる。
Transcend Mailと組み合わされたMobileMQは、図3に示すように、端末リソースと接続の制約を効率的に扱うという双子の問題の包括的で有効な解決策である。
図4は、この組み合わされた構成によって、セッション・べースのシステムが通常提供するMOMによって提供されるセッション非依存機能を、スマートホンなどのリソースが限られた端末に適した方法で配備することができる様子を示す。これらの特徴は以下を含む。
(a)メッセージ配信の確実性
(b)送信側の認証
(c)メッセージのセキュリティ
(d)データ速度のフロー制御
(e)パケット・ルーティング
同様に、図4は、この組み合わされた構成が分散クライアントの目的に適するように構成された機能が接続の制約を扱う様子を示す。主要な特徴は「イベント」べースのデータの使用であり、このために、セッション非依存の性格を帯びる。
3.基本設計原理の詳細
3.1 分散クライアント
分散クライアントの目的は、処理容量、処理能力、コネクティビティが限られた移動体デバイスが、通常はクライアントに関連する機能の一部をそれほどリソースの制約がないサーバ側に分散することで移動体デバイス上の最小のリソースを用いてサーバ環境へのフル装備のクライアント・アクセスを享受することを可能にするという点である。クライアント・アプリケーションはPIM(カレンダ、アドレス帳など)やメッセージング(Eメール、MMS、ファックス、SMSなど)である。
実際、本発明では、より大規模なクライアント−サーバ・アプリケーション内で集合してクライアントとして機能するようにクライアント−サーバ・アプリケーションの機能が分割される。代表的な構成は、スマートホン(スモール・クライアント)などの移動体デバイスにソフトウェアをインストールし、対応するソフトウェアをサーバ・デバイス(スモール・サーバ)にインストールする方法である。これら2つのソフトウェアは、MobileMQなどのMOMを介して、GPRSまたはUMTSなどの高レイテンシ、低帯域幅、計測される無線コネクティビティを通常用いて互いに通信する。スモール・クライアントとスモール・サーバは従来のクライアント−サーバ環境内で集合してクライアント(「ラージ・クライアント」または「分散クライアント」として動作する)として機能する。次いで、ラージ・クライアントは標準としてもMicrosoft Exchange(ラージ・サーバ)などの関連するサーバと通信する。したがって、ラージ・サーバはラージ・クライアントと通信していることしか認識していない。ラージ・サーバ側からはラージ・クライアントは普通に通信している相手の他のどのクライアントとも区別がつかない。このため、ラージ・サーバからはラージ・クライアントの分散的な性質は見えない。(代表的な構成では、スモール・サーバはラージ・サーバが常駐する同じデバイス上またはその付近に常駐する)。図5は以上の概略を示す。
分散クライアント内の機能はスモール・サーバとスモール・クライアントとに分割される。この分割は移動体デバイスの限られたリソースへの影響を抑えつつ移動体デバイスの「スマートな」性質を利用するように最適化されている。
したがって、移動体デバイス上に常駐するスモール・クライアント(すなわち、この例ではローカル・Eメール・アプリケーションと連携して動作するTranscend Mail)は、一般に移動体ユーザのユーザ・インタフェースとして動作し、ローカル・データ記憶として動作し、ある種のデータ処理タスクをローカルに引き受ける。スモール・クライアントはとりわけ以下の機能を引き受ける。
・移動体インボックス内のEメールのリストを表示する。
・Eメール・テキストの本文のビューワとして機能する。
・Eメール送信、作成または応答のユーザ要求を受け付ける。
・新しいEメール・テキストのユーザ入力を受け付ける、
・ユーザ入力に応答して移動体デバイスのメモリからだけEメールを解放する(解放動作)
・ユーザ入力に応答して移動体デバイスのメモリからEメールを解放し、同じEメールをラージ・サーバから解放する通知を生成する(削除動作)。
・ラージ・サーバのログオン・パスワードのエンド・ユーザ入力を受け付けてこれをスモール・サーバに渡す(「分散ログオン」の説明については以下を参照)。
・データの変更(新規、変更または削除エントリなど)についてローカル・データ記憶をモニタし、変更を詳述するイベントを作成し、これらをスモール・サーバに送信する。
・スモール・サーバからイベントを受信し、変更データの詳細を用いてローカル・データ記憶を更新する。
スモール・クライアントが、PIMと非Eメール(例えば、他の種類のメッセージング)機能を処理し、統合する場合、同等のまたは類似のPIMと非Eメール機能が処理される。
同様に、スモール・サーバは他の媒体(通常、ラージ・サーバに接続されたLAN)に常駐し、無線インフラストラクチャ(例えば、GPRS)を横断するデータ・ネットワーク接続を介して移動体デバイスと通信し、一般にラージ・サーバ(Microsoft Exchangeなどの)への直接のインタフェースとして機能し、ラージ・クライアントに普通関連する多数のデータ処理タスクを引き受ける。スモール・サーバはとりわけ以下の機能を引き受ける。
・必要に応じてスモール・クライアント、スモール・サーバ、ラージ・サーバから受信した構成要素を取り出してラージ・サーバAPIに従って移動体ユーザが要求したEメールの構成を完成する。
・ラージ・サーバからEメールを受け取り、これらを構成要素部分に分割し、スモール・クライアントにとって絶対に必要な部分のみを送信する。
・スモール・クライアントからの要求に応じて追加のEメール・コンテンツ(例えば、長文Eメールの追加テキストおよび/または添付ファイル)を配信する。
・ログオン・パスワード・データ(スモール・クライアントを介してエンド・ユーザが供給した)を受け取り、これをローカル・メモリ内に保存し、ラージ・サーバへの拡張ログオンを可能にする(分散ログオンの説明については以下を参照)。
・データの変更(新規、変更または削除エントリなど)についてラージ・サーバのローカル・データ記憶をモニタし、変更を詳述するイベントを作成し、これらをスモール・クライアントに送信する。
・スモール・クライアントからイベントを受信し、変更データの詳細を用いてラージ・サーバのローカル・データ記憶の更新を処理する。
スモール・クライアントが、PIMと非Eメール(例えば、他の種類のメッセージング)機能を処理し、統合する場合、同等のまたは類似のPIMと非Eメール機能が処理される。
この手法の1つの結果は、ラージ・サーバ上のメールは従来のプッシュ・Eメール方式のやり方でデバイスに「送信」または「リダイレクト」されるとは言えないということである。デバイス(スモール・サーバが常駐する)とスモール・サーバとはメール・サーバにとっては別のクライアントにすぎない(また、そのクライアントも単なる無線デバイス・クライアントではない)。
Transcend Mailのスモール・サーバとスモール・クライアントはMobileMQ MOMを介して相互に通信する。上記のように、これによって、スモール・サーバとスモール・クライアント(共に分散クライアント−サーバ・システム内のラージ・クライアントを構成する)が互いに非同期で動作することができる。
スモール・クライアントはさまざまに並べ替えられる。例えば、図6に示すように、スモール・クライアントは、クライアント側MOMを含むかこれと通信する端末側構成要素として実装できる。スモール・サーバは、サーバ側MOMを含むかこれと通信するサーバ側構成要素として実装できる。
図7は、スモール・クライアントがプログラム−例えば、Eメール・アプリケーション、プラスそれを端末側構成要素にプラグイン・リンクすること−を含む方法を示す。
図8は、スモール・クライアントが連絡先プログラムなどのプログラムも除外できることを示す。端末側構成要素は連絡先データベースを介して連絡先プログラムと通信する(そのデータベースからのイベント・トリガは端末側構成要素に送信される)。図9はこれがミドルウェア・アーキテクチャと概念的に等しいことを示す。
3.2 分散ログイン
分散クライアントはログイン機能をスモール・クライアントとスモール・サーバとに分割する。スモール・クライアントはエンド・ユーザ入力からユーザ・パスワードを入手する。パスワード入力を受信すると、スモール・クライアントはこのデータをスモール・サーバに送信する。スモール・サーバはこのデータをメモリ内にローカルに保持し、ラージ・サーバにログインを送信する。
したがって、Transcend Mailはサーバ上の無線端末ユーザのエージェントとして動作する。Transcend Mailはパスワードをキャッシュに入れ、メール・サーバとの通信時にユーザが通常実行するその他のログイン関連動作を実行する。パスワードがメール・サーバ・アドミニストレータによって満了させられた時だけは、ユーザは新しいパスワードで自分でログインしなければならない。これは、すべてのEメール・アカウントにアクセス可能なスーパユーザとしてのログインを必要とする他のメール・リダイレクト方法と比較してセキュリティの面で大幅な進歩である。
このようにログインを分散する別の利点は、スモール・サーバとスモール・クライアントとの間の通信が中断しても、これによって分散クライアントが追加のログイン動作(および関連する無線データ・トラヒック)なしにラージ・サーバとの通信を継続できるということである。また、これにより移動体デバイスの所有と使用(自身用のセキュリティ・プロトコルがあってよい)が追加のラージ・サーバのログイン動作の代理として機能することができる。スモール・サーバがパスワード情報を有すると、移動体デバイスの制御がログイン情報の一種の代理として働くという前提に基いて、ラージ・サーバへのログインを複製することが可能になる。これによって分散クライアントはユーザに追加のパスワード・データを促すことなくサービス中断後にラージ・サーバにアクセスすることができる。その結果、ログイン動作に関連するデータ・トラヒックを低減することで利点を提供し、特にパスワード・データを入力するのが不便な小型キーボードを備えた移動体デバイス上での、エンド・ユーザからのラージ・サーバへのアクセスが高速化される。
3.3 リモート・メッセージ構成
また、Transcend Mailはリモート側でメッセージを構成する方法を使用して無線伝送の使用を最小限にする。分散クライアントがラージ・サーバからメッセージを「受信」すると、このデータの一部はスモール・サーバでキューイングされ、スモール・サーバはこのデータのどの程度の量をスモール・クライアントに送信するか決定する。スモール・クライアントに送信する特定のデータ量はエンド・ユーザ構成と特定の要求に影響される。例えば、エンド・ユーザは最大行数のEメール・テキストをスモール・クライアントに配信するよう指定でき、ついで、スモール・サーバが追加のテキストおよび/または添付ファイルを送信するよう要求できる。リモート・メッセージ構成は、エンド・ユーザがEメールに応答するか転送するなどの動作を指示する時に有効になる。添付ファイルを変更せずにEメールを転送する時には、スモール・サーバはスモール・クライアントから全体を伝送することなく大量のEメール・メッセージをローカルに構成できる。キューイングされたメッセージはラージ・サーバ(この例では添付ファイル)上に保持された関連する変更されていないデータを参照するだけである。実際、スモール・クライアントはスモール・クライアント・デバイスでユーザが変更したメッセージ部分のみを送信すれば済む。同じ原理がEメールの応答にも適用される。スモール・クライアントは元のメッセージの本文すべてを送信する必要はない。スモール・サーバは、スモール・クライアントからスモール・サーバに送信される新しいテキストを受信し、これを、ラージ・サーバに記憶されているためにスモール・サーバが認識している元のEメール・テキストと組み合わせることで応答全体を構成する。実際、スモール・クライアントはスモール・サーバがスモール・クライアントとラージ・サーバとからの全メッセージ受信部分を組み立てる命令を発行している。小型キーボードのスマートホンにとって不要なキー入力がないことは貴重である。これらは両方ともスモール・クライアントとスモール・サーバ間のデータ・トラヒック量を大幅に低減する方法である。
3.4 整頓プロセス
Transcend Mailは自動メモリ「整頓」プロセスを用いて移動体デバイス上のメモリを保守する手助けをする。スモール・クライアントは移動体デバイス上の不揮発性メモリの使用をモニタする。使用中の不揮発性メモリがトリガ量(例えば、使用中のメモリの80%)を超えると、デバイス上のEメール情報に関連するローカル・データの「整頓」を自動的に開始する。これは長期間アクセスされなかったある種のEメールを選択してこれらのEメールに関連するデータ(例えば、添付ファイルとメッセージ・テキスト)の大半をローカル・メモリから解放し、Eメールのヘッダ情報をローカル・メモリに保存するステップからなる。ローカル・メモリから解放されるデータは関連するEメール・メッセージの古さなどのプリセット判定基準(先入れ先出し)またはこのEメールへのユーザのアクセス履歴を用いて選択される。長期間アクセスされなかったEメール・メッセージはより新しいまたは最近アクセスされたEメール・メッセージより先にローカル・メモリから削除される。
関連するメッセージに未読の印が付いているか、ユーザの閲覧または操作のためにのみ開ける、またはラージ・サーバからの追加データを要求するEメールに関連するペンディング操作がある場合、メッセージ・データはメモリから解放されない。
この削除プロセスはスモール・クライアントが使用中の不揮発性メモリがプリセットの「安全」レベル(例えば、使用中のメモリの70%)を下回ったと判定するまで継続する。ラージ・サーバはすべてのEメール・データを保持し、スモール・クライアントはEメール・ヘッダ・データを保持するため、Eメール・データは「削除」されない。
削除されたデータは、ユーザ要求(「取り出し」動作)があればサーバから移動体デバイスに再びダウンロードすることでローカル・メモリ内に戻すことができる。ユーザはそのような取り出しが実行される前に明示的に警告される。これでユーザはメッセージ・データの取り出しがコスト効率が高いか否かを判断できる。
整頓機能は、特に大量のEメールまたは添付ファイルがダウンロード内容を確認する機会がないのに、整頓のトリガポイントを超えて移動体デバイスから押し出すかもしれない状況を処理する安全機構をさらに備える。言い換えれば、移動体デバイスがEメール・データをそれが読まれる前に削除する状況を回避する設計になっている。この場合、システムは一時的にメモリ使用のトリガ・レベルと安全レベルを調整して、エンド・ユーザに大量の着信Eメールを確認する機会を与える。
3.5 変換された添付ファイルのダウンロード・オプション
複製データをサーバと共用する移動体デバイス内の恒常的な困難は、ユーザがいかにして移動体デバイスの限られたメモリと処理能力とを最大限に利用するかである。移動体Eメール・アプリケーションでは、この問題は従来、(MS ActiveSyncその他で)移動体デバイスと共用するEメール・データの量を制限することで対処されてきた。この制限は普通、限られた日数のEメール・データのみを複製し、共用するEメール・データのサイズを制限するという形式をとる。複製するデータの量を制限する1つの一般的な方法は、移動体デバイス上の複製からEメール添付ファイルを除くことである。通常、エンド・ユーザは、含まれた配信時間とメモリ・オーバヘッドを受忍すると考えるならば、添付ファイルを要求することができる。その他のシステムも、簡単なビューワ・プログラム上で使用できる制限された形式の添付ファイルのみをユーザに送信する方法を作成している。
Transcend MailはEメール添付ファイルを移動体デバイスにダウンロードする2つのオプションをエンド・ユーザに提供する。ユーザが添付ファイルをダウンロードしたい場合は、以下のいずれかをダウンロードできる。
(1)無線端末に常駐する簡単なビューワ・プログラムを用いた表示専用の、元の形式から変換されたより小さいバージョン(例えば、MS WordまたはPDFファイルのテキスト・バージョン)、
(2)元の変更されていない添付ファイル、
Transcend Mailではこれらのオプションはメニュー階層の同じレベルでユーザに提示される。
3.6 ワンタッチ解放
従来の移動体デバイスに古いEメールがたまり始めると問題が発生する。ユーザが移動体デバイスからこれらのEメールを「削除」しようとすると、Eメールは次の同期化でサーバからも削除される。これは、移動体デバイスのメモリを解放し、サーバにはEメールを保存しておきたいというユーザの希望を直接に公然と打ち砕く可能性がある。これに対処するため、いくつかの同期化システムはエンド・ユーザに以下のいずれかのオプションを提供する。
(1)移動体デバイスとサーバからEメールを完全に削除する(本発明では「削除」命令と呼ぶ)
(2)移動体デバイス上に常駐しているEメールだけを削除し、サーバに変更は加えない(本発明では「解放」命令と呼ぶ)。
Transcend Mailでは。これらのオプションはメニュー階層の同じレベルで提示される。システムによっては、一連の異なるメニュー・レベル内にこれらのオプションを隠すか、削除要求があるたびにエンド・ユーザが実際に完全に削除したいのかまたはローカル・メモリだけを削除したいのかをユーザに尋ねることでこの問題に対処するものがある。これらの解決策は、移動体メールボックスを管理する際の柔軟性が低下し、達成するのに複数のキーの入力が必要なため、いずれもユーザ・フレンドリではない。
3.7 セッション非依存
GPRSなどの技術を用いた移動体通信デバイスとのデータ通信は、高レイテンシ、間欠的で中断する通信可能範囲、計測される帯域幅のコストのために、極めて困難になっている。従来の通信方法やプロトコルは、このタイプの環境に十分適してはいない。例えば、GPRSなど、無線リンク上でのネットワーク接続を必要とするアプリケーションは、普通、確実なセッション・ベースの接続を提供するTCP接続を使用する。ただし、TCPアルゴリズムは有線の比較的低レイテンシの接続用に開発され、「無線フレンドリ」ではない。通信が届きにくい領域では、利用可能な帯域幅が低減し、これが、ネットワークが輻輳し、「バックオフ」であると考えるTCPによって構成される。この純粋な結果は、セルラ無線ネットワーク上のTCP接続は効率的なトランスポートでないということである。その結果、再送パケットの大きいオーバヘッドが発生し、低速でコスト高のデータ転送となる。さらに、TCPなどのプロトコルはサーバとの通信「セッション」という概念に依存する。セッションは通常、定義された期間にトラヒックが通過しないと(タイムアウト)、期限切れになる。各々の新しいセッションを確立するには追加のデータ・トラヒックの使用が必要で、また時間を消費する。
MobileMQは生のUDPパケット転送のみを用いるTCPの無線最適化された代替方式を想定する。MobileMQは(1)無線ネットワークを用いる移動体デバイスと(2)そのデバイスと通信するサーバ(無線ネットワークに接続されているか否かを問わず)との間でUDPベースのメッセージを配信し、高レイテンシの間欠的な接続の結果として浪費されたデータ・トラヒックを最小化する。MobileMQはメッセージ伝送プロセス内に高レベルの弾力性を提供し、効果的にメッセージ配信を保証することに主眼を置く。
これは従来の「セッション」という概念に依存しないデータ通信を管理するシステムを採用することで達成される。このシステムは「セッション非依存」である。さらに、本発明はメッセージは宛先デバイスと宛先アプリケーションの両方に正しく配信され、一方で送信されるデータ・トラヒックを最小限にする。これは最小のデータ・トラヒックで高度な弾力性を確保するという新たな利点を有する。
MobileMQは、送信側デバイスと受信側デバイスの両方に常駐するという分散方式で、通常、同じハードウェア・プラットフォーム上の別のシステムからのメッセージ・トラヒックが容易になる。
基本送信ユニットである送信側デバイスは送信側アプリケーション(例えば、Eメール・プログラム)からメッセージを入手する。各メッセージはデータ・トラヒックを最適化するためにサイズが制限される。送信側アプリケーションがシステムにメッセージを送信するよう依頼すると、システムは最初にメッセージを送信側デバイスのローカルの不揮発性メモリ内に存続させる(記憶する)。これで送信側デバイスがリセットされても、メッセージは生き残る。次いでメッセージは圧縮されて任意選択として暗号化される。
次いでメッセージは送信のためにセグメント化される。各セグメントは各々のパケットが、低帯域幅で高レイテンシのネットワークの基本トランスポート・プロトコルに関連する比較的短いバイト長を越えないという意図でUDPパケット内に配置される。GPRS環境内の通常の実施形態では、UDPパケット長はGPRSパケットの通常の最大ペイロードである1500バイトに制限される。そうでなく、UDPパケットが例えば2GPRSフラグメントを占めるとした場合、1つのGPRSパケットの障害があると両方のGPRSパケットを再送しなければならない。MobileMQはメッセージをスケーリングしてベアラ・パケットのメッセージに合わせることでこれを回避する。
3.8 フロー制御
セグメント・サイズと伝送速度の両方は送信側デバイスの着信と発信トラヒックを分析し、伝送のコスト効果を上げるために伝送速度と伝送ビットの最大数を平衡させるフロー制御によって制御される。UDPパケットは受信側デバイスによってどの順序でも受信でき、受信側デバイスは各パケットの受信に続けてパケット確認応答を送信する。送信側デバイスがパケットのパケット確認応答を受信しない場合、フロー制御システムは合理的な期間が経過するまでパケット伝送を遅延させる。遅延の正確な長さは、送信側デバイスでフロー制御システムが観察するネットワーク応答時間に依存する。遅延期間とパケット・サイズは両方共観察された返送時間の変化に基いて連続的に再計算される。パケット確認が事前定義された時間内に受信されると、フロー制御はデータ速度を最大まで漸進的に増加させる。
また、フロー制御システムはデータ伝送デバイスでしばしば使用される「セッション」と「タイムアウト」の通常の概念の代替物としても機能する。通信デバイスの1つが重大なコネクティビティ障害(例えば、無線基地局の範囲外に移動する場合、またはローミング・ネットワーク間を移動する場合)に陥った場合、フロー制御機構はこれを徐々に遅くなるネットワーク応答と解釈し、それに応じて伝送速度を逓減する。サービス停止が継続する場合、フロー制御は「再試行」間の期間を長くし続ける。この純粋な効果は、送信側デバイスが受信側デバイスから返送トラヒックの受信を開始するまで伝送努力がほぼ完全に停止するということである。受信側デバイスから送信側デバイスに戻る応答パケットの数が増えるにつれ、プロセスは逆転する。すなわち、フロー制御システムは「ウェークアップ」を開始し、パケット送信をより積極的に行おうとする。接続がより堅固に再確立されると、伝送速度は合理的に理想的なレベルに達するまで再び増加し、パケット損失を厳格に制限する必要と共に全体の速度を平衡させる(損失パケットはネットワーク送信料金を引き起こすおそれがある)。こうして、MobileMQは「セッション」の概念に依存せず、「タイムアウト」という概念を認識しない。
メッセージを構成する全パケットの受信に続いて、受信側デバイスは全メッセージを受信した旨の短い確認応答を送信する。このメッセージ確認応答が送信側デバイスに到達すると、送信側デバイスは、個々のパケット確認応答が送信側デバイスに送信または送信側デバイスで受信されなくでも、メッセージを構成するパケットの再送を以後行わない。これは主としてデータ・トラヒックの量を制限するためである。メッセージ配信シーケンスはまだ完了していない。
メッセージ受信の確認応答を送信すると、受信側デバイスはメッセージを関連する宛先アプリケーション(Eメールなど)に渡す。次いで受信側デバイスは該当メッセージが受信され、受信側アプリケーションによって採用された規則のセットに従って処理されたことを示す宛先アプリケーションからの信号を待つ。本発明では、受信側アプリケーションは受信メッセージを処理してシステム・リセットなどの受信側デバイスの停止があっても消失しないようにする。MobileMQからメッセージを取り出せない状態で受信したことに受信側アプリケーションが満足すると、受信側アプリケーションはメッセージ「消費」という最終確認で応答する。受信側アプリケーションからのこの最終確認によって、MobileMQの受信側デバイスは送信側デバイスに短い「メッセージ消費」確認応答を送信する。
送信側デバイスは、「メッセージ消費」確認応答を受信すると、この情報を送信側アプリケーションに転送し、送信側アプリケーションから次の利用可能なメッセージを送信する準備をする。こうして、MobileMQは送信側アプリケーションからの追加のメッセージ・トラヒックを受け付ける前の全メッセージの配信を保証する。
MobileMQは複数のアプリケーションからのメッセージを同時に処理できるが、同じアプリケーションからのメッセージは一度に1つのメッセージしか処理しない。
3.9 イベント・ベースのデータ複製
サーバと移動体デバイスとの間の同期化は、従来、比較的高い帯域幅、低レイテンシ、計測されないコネクティビティ(例えば、USBまたはIR)を用いて実行されている。その結果、同期化システムは大量のデータを送信し、送信中にデータ損失が発生したり基本伝送が中断した時にあまり堅牢でない方法を使用することが多い。例えば、サーバ・ベースのデータセット同期化は、通常、すべての接続されたデバイスがその全データセット(例えば、すべてのEメール、すべての連絡先など)を単一のセッションでサーバにダウンロードすることを要求し、サーバは、マスタ、すなわち、すべてのその他のデータセットを更新するために最後の完全に同期化されたデータセットのマスタ・コピーとの比較を実行できる。この手法は、必要な消費電力、潜在的に長い接続時間、高コストのデータ転送が理由で、無線デバイスの同期化にとっては魅力的でない。
Transcend Mailでは、無線デバイスがその全データセットをダウンロードする代わりに、データセットの変更(または新しい「イベント」)のみをログ(これに限定はされないが、好ましくは時間シーケンスの)に記録し、サーバ接続時にこれらのイベントのログをサーバに送信する。イベントは従来の同期化エンジンを必要とせずにデータ複製を実行できるための詳細を提供する。データ複製は、同期化のためのスモール・サーバの同期化エンジンによって記憶されたデータのデータセット一式(またはデータセットのサブセット)ではなく、「イベント」を送信することで簡単に達成される。
デバイス上のレコードの変更がなされる場合(例えば、新しいメールが作成されてデバイスから送信される、古いメールが削除される、新しい連絡先が作成されるなど)、このイベントまたは変更を定義するエントリがデバイスのタイム・シーケンシャル・ログ内に記憶される。このイベント・ログは、接続が存在するまで記憶される。接続がなされると、ログのコンテンツはサーバに送信され、サーバは該当データセットのマスタ・コピーを更新する。例えば、イベントは「削除レコードno.x」またはレコード「z」の削除フィールド「y」である。これは受信者がイベントを生成した送信側での変更を複製するのに十分な情報である。
デバイスは、データセット全体が送受信されている間に変更されたレコードを決定するか単一のセッションの保守を確実にするためにデータセット全体を検索する必要はない。サーバ上のデータセットのいかなる変更(例えば、新しいメールの受信)もイベント・ログとして記憶され、ログはMobileMQを用いて無線デバイスに送信される。比較的小さいイベント・ログだけが生成され交換されるので、CPUやデータ転送のオーバヘッドは従来の同期化機構よりはるかに小さい。
したがって、複製するデータが入力、変更、または削除されると(ラージ・サーバまたはスモール・クライアント上で)、送信側デバイスは「イベント」を作成し、送信側デバイス上に記憶する。
イベントは受信側デバイスに1つまたは複数のメッセージとして送信される。メッセージは、より前からあるTCPではなくUDPパケット転送を用いて送信される。TCPが確実な接続を提供し、現在商業活動の中心にある一方、無線通信が届きにくい時によく起こり、再送パケットの大きいオーバヘッドが発生し、低速でコスト高のデータ転送となる観測されたネットワーク輻輳時に宣言されたバックオフのため、TCPは(上記に説明したように)効率的な無線トランスポートではない。効率化のため、UDPが使用され(上記を参照)、UDPパケット・サイズはGPRSで利用可能な伝送パケット・サイズのすぐ下の1400バイトに制限される。
受信側デバイスはイベントを定義する個々のメッセージを該当する宛先アプリケーション(Eメール・プログラムなどの)に渡す。次いで送信側デバイスはイベントを定義する該当メッセージが受信され、受信側アプリケーションによって採用された規則のセットに従って処理されたことを示す宛先アプリケーションからの信号を待つ。本発明では、受信側アプリケーションは受信メッセージを処理してシステム・リセットなどの受信側デバイスの停止があっても消失しないようにする。メッセージを取り出せない状態で受信したことに受信側アプリケーションが満足すると、受信側アプリケーションはメッセージ「消費」という最終確認で応答する。受信側アプリケーションからのこの最終確認によって、受信側デバイスは送信側デバイスに短い「メッセージ消費」確認応答を送信する。
送信側デバイスは、「メッセージ消費」確認応答を受信すると、イベントが受信側デバイスで安全に受信され「消費される」までイベントを定義するすべてのメッセージの処理を繰り返す。次いで送信側デバイスは送信側デバイスのメモリから[イベント命令情報?]を削除することで「イベント」プロセスを終了する。送信側デバイスはイベント・ログまたはキュー内のすべての他のイベントについてこのプロセスを繰り返す。
こうして、Transcend Mailは、送信側アプリケーションからの追加のメモリ・トラヒックを受け付ける前のメッセージ全体の配信を保証する。複数のアプリケーションからのメッセージは同時に処理できるが、同じアプリケーションからのメッセージは一度に1つのメッセージしか処理しない。
こうして、不確実なUDPを使用していても、イベント全体を無線リンク上で確実に送信できる。
3.10 A/B/Xフラグ
システムはまた、各メッセージを3つの状態オプション、すなわち、A,B、またはXを備えたフラグで符号化することでメッセージ送信の複製を防止する。通常動作では、[アプリケーションからの]各メッセージは送信側デバイスによってAまたはBフラグを交互に立てて送信される。受信側デバイスがメッセージの受信を開始すると、受信側デバイスはローカル・メモリ内にAまたはBフラグを書き込む。送信側デバイスからメッセージ全体を受信し、消費信号を宛先アプリケーションから受信すると、受信側デバイスは処理したばかりのメッセージの識別をローカル・メモリ内に書き込み、次いでメッセージ終了/消費確認応答を送信する。受信側デバイスがメッセージ終了/消費確認応答信号の送信後、返送される確認応答の受信前にリセットすると、メッセージ消費が受信されたか否かを確認できない。ただし、所与のメッセージに関連する確認応答のシーケンスに1つのタイプのフラグを付与すると、該当確認のため返送される確認応答がフラグに一致しなければならないことを認識する。異なるフラグの確認応答は次のメッセージに関連しなければならず、したがって、実行してはならない。
フラグXはこのフラグを無視するように受信側デバイスに知らせる。受信側デバイスのメモリ内にはフラグは書き込まれない。これは、送信側アプリケーションが複製メッセージ送信の危険に関心がない場合に送信側アプリケーションがXフラグを使用するためである。
3.11 クライアント・デバイス・アドレッシングとネットワーク更新
多数の現在の移動体データ・ネットワーク(GPRSを用いるネットワークなど)上の移動体デバイスにデータを送信することは移動体デバイスが固定IPアドレスを有しないために困難である。移動体デバイスがネットワーク(ホーム・ネットワークまたはローミング・ネットワーク)に接続する時には、ネットワーク運用会社はIPアドレスを動的にデバイスに割り当てる。さらに、この動的に割り当てられたアドレスは、普通、私設IPアドレスであり、公衆インターネット上で直接使用できない。デバイスからのデータ・トラヒックはネットワーク運用会社によってネットワーク・アドレス変換機能(NAT)にルーティングされ、NATは私設IPアドレスを公衆IPアドレスと、公衆アドレスの極めて制限されたリストから引き出された一時ポート番号と、ネットワーク運用会社が使用できるより大きいブロックの一時ポート番号(普通、数千件)とに割り当てる。
したがって、移動体デバイスが同じ動的に割り当てられたIPアドレスと一時ポート番号とを長い期間(例えば、何時間も)保持している場合でも、移動体デバイスはネットワーク運用会社によって割り当てられた複数の「公衆」IPアドレスと一時ポート番号を利用することができる。さらに、移動体デバイスはネットワーク運用会社によって割り当てられた私設IPアドレスを認識しているが、NATによって割り当てられた公衆IPアドレスと一時ポート番号のレコードの記録を有しない。移動体デバイスと通信している任意の相手側からは、NATによって割り当てられた公衆IPアドレスと一時ポート番号しか「認識」できない。所与のデバイスに関連する最後に知られている公衆IPアドレスと一時ポート番号が数分間を超えて有効である保証はないので、そのようなネットワークを使用する移動体デバイスに送信するデータ・メッセージを発信して送信しようとする当事者にとって、これは重大な課題である。
MobileMQはスモール・サーバにネットワーク・アドレス・データを定期的に提供してスモール・サーバから移動体デバイスへの定期的なメッセージ送信を可能にする。実施形態の例はオフィスのEメール・サーバが移動体ユーザの介入なしに移動体ユーザにEメール・トラヒックを送信できるようにする処理を含む。
この方法は、以下のイベントのいずれかが発生すると移動体デバイスからスモール・サーバに極めて短いメッセージ(「ネットワーク更新」)を送信するステップを含む。
・移動体デバイスが最初に電源オンになり移動体ネットワーク運用会社からアドレスを獲得した時
・移動体デバイスが移動体ネットワーク運用会社から新しいアドレスを獲得した時(おそらくは、移動体デバイスをホーム・ネットワークメッセージ通信範囲からローミング・ネットワークに移動した結果、またはローミング・ネットワーク間で移動した結果)
・介入NATによって割り当てられている可能性がある新しい公衆アドレスと一時ポート番号を獲得する努力で定期的に移動体デバイスに新しいアドレスが割り当てられているか否かに関わらず、この新しい公衆アドレスと一時ポート番号をスモール・サーバに通知する。
短いネットワーク更新メッセージを受信すると、スモール・サーバはパケットの発信IPアドレスと一時ポート番号(関係する当事者が同じ私設IPネットワークに直接接続されていないという前提で、NATからの割り当てられた公衆IPアドレスと一時ポート番号)とを書き止め、この情報を逆ルックアップ・テーブルに入力する。
ネットワーク更新メッセージはデータ・トラヒックが計測ベースで課金されるという前提で意図的に短くなっている。代表的な実施形態は移動体デバイスによって送信されるわずか17バイトのデータと各ネットワーク更新メッセージ周期で返送される5バイト(パケット損失がないものとして)とを含む。
これらのメッセージ周期の各々は、以下を確認する。
(1)公衆ネットワーク・アドレスの連続する有効性
(2)移動体デバイスを用いてトラヒックを受信できること
次いでスモール・サーバは、割り当てられた公衆IPアドレスと一時ポート番号がネットワーク更新メッセージの時点から再度割り当てられていないという前提で、逆ルックアップ・テーブルで見つかったデバイスの最新のアドレスを用いて移動体デバイスでスモール・クライアントへのデータ送信を、促されることなく、自ら試みることができる。したがって、スモール・サーバ側でのデバイスからのネットワーク更新メッセージの受信は、イベント・ログ内にキューイングされたあらゆるイベントの送信開始をトリガするものである(3.9項、イベント・ベースのデータ複製を参照)。システムはネットワーク更新メッセージを受信した時点でログ内にあるイベントのみを送信するように構成できる。その後のイベントは次のネットワーク更新メッセージ受信まで待たなければならない。これは連続プッシュ・Eメールとは異なる。
逆ルックアップ・テーブル内のエントリも時限式で、一定量を超える時間が経過すると、スモール・サーバは新しいネットワーク更新メッセージを受信するまでスモール・クライアントへのメッセージ送信は不可能であると考える。この場合、スモール・サーバからの発信メッセージは新しいネットワーク更新メッセージを受信するまでキュー内に保持される。時間は、NATが公衆IPアドレスを移動体デバイスに再割り当てするために使用する通常の間隔よりかなり短く設定する(例えば、NAT再割り当て間隔が20分なら5分)。システムは、はるかに短いNAT再割り当て間隔に合わせてネットワーク使用率が高くなった時に時間を短縮できるように、時間を動的に調整する。
まとめて考えると、これは、スモール・サーバとスモール・クライアントとが、スモール・サーバがスモール・クライアントにトラヒックを送信できる時間ウィンドウを確立することができることを意味する。このウィンドウはネットワーク更新メッセージの時点で開始し、事前プログラミングされた空き時間が満了すると終了する。例えば、ネットワーク更新メッセージがスモール・クライアントによって60分ごとに送信され、空きタイムアウトが10分に設定されている場合、60分以上の周期で繰り返す10分間の通信ウィンドウが表示される。ネットワーク更新メッセージの周期を増加させることで、スモール・クライアントはスモール・サーバの連続的な通信伝送機会を多少作成することもできる。
3.12 セキュリティ
安全でないデータ通信インフラストラクチャ(SSLなどの)上での安全なエンドツーエンドの通信を保証する既存のセキュリティ方法は、高プロセッサ・オーバヘッド、高帯域幅オーバヘッド、高レイテンシ、アドレッシング情報の移動体デバイスへの動的割り当てを含むいくつかの要因により、無線データ通信環境にはあまり適していない。
MobileMQは、移動体通信デバイス専用に設計された暗号化態様を用いて移動体デバイスとサーバ間の安全なエンドツーエンドのメッセージングを提供する。
このプロセスは、システムが最初に移動体通信デバイスにインストールされた時に開始する。移動体デバイス(例えば、無線ネットワークに接続された移動体Eメール読取装置)とサーバ(例えば、有線インターネット・サービスに接続された企業Eメール・サーバ)は共に共用秘密情報をロードされる。それらの間のメッセージを安全にするために、送信側デバイス(移動体通信デバイスまたはサーバ)は最初に以下の入力からハッシュ値を計算するハッシュ関数を用いてメッセージ・キーを計算する。
・該当する移動体デバイスに一意のコード、例えば、GSM電話ハンドセットのIMEIコード(移動体デバイスが送信側デバイスの場合、それ自体の一意のコードを使用し、サーバが送信側デバイスの場合、所期の受信側デバイスの一意のコードを使用する)。
・共通秘密鍵
・各メッセージに関連する(ただし必ずしも一意ではない)送信側デバイスと受信側デバイスとが個別に計算できる追加データ(すなわち、カウントアップ・メッセージ番号、アプリケーション/ポート番号、セッション番号)
次いでこのキーを対称暗号化アルゴリズム内で用いてメッセージを暗号化する。各メッセージは個々の移動体デバイス識別コードに数学的に関連するキー・シーケンスと、移動体デバイスとサーバとにインストールされた共通秘密鍵と、各メッセージに数学的に関連する送信側デバイスと受信側デバイスの両方から別々に引き出すことができる追加データとを用いて暗号化される。
暗号化メッセージの信憑性と完全性を保証するため、送信側デバイスは、入力がメッセージ自体とメッセージを暗号化するために使用したキーである暗号化ハッシュ関数を用いてメッセージ認証コード(「MAC」)を計算する。結果として得られたMACは暗号化メッセージに付加される。
受信側デバイスは該当メッセージの第1のハッシュ関数(キー)を計算し(移動体デバイスが知っている移動体デバイスの一意のコード番号、共通秘密鍵、追加トラヒック・データに基いて)、このキーを用いてメッセージを解読する。最後に、受信側デバイスは解読されたメッセージとキーを受信し、これらを用いてメッセージに付加されたMACとの比較のための第2のハッシュ値を計算する。第2のハッシュ値がメッセージと共に受信したMACと同一の場合、メッセージは真正で変更されていないと判定される。逆に、受信側デバイスによって計算された第2のハッシュ値がメッセージと共に受信したMACと一致しない場合、受信側デバイスは安全な通信を確立しようとして送信側デバイスにチャレンジを発行する。セキュリティが確立すると、メッセージの再送がトリガされる。認証システムはバックアップ・ロールで動作し、メッセージのデータの完全性を保証する。送信時にビット誤りがあればMAC、セキュリティ・チャレンジ、メッセージ再送が無効になる。
メッセージ自体の機密保護、信憑性、完全性の保証に加えて、セキュリティ・システムは、第三者が適正の移動体デバイスのユーザになりすまそうとした場合の移動体デバイスのユーザに与えるコストとパフォーマンスの影響を低減するように働く。
スモール・サーバは移動体デバイスに割り当てられた最近報告されたアドレス(および一時ポート番号)を備えた逆ルックアップ・テーブルを維持する(3.11項、ネットワーク更新を参照)。スモール・サーバは移動体デバイスからのすべての着信データ・パケットが、スモール・サーバの逆ルックアップ・テーブルにリストされたデバイスの現在有効なアドレスと一時ポート番号に一致するアドレスと一時ポート番号から発呼されたものという前提で動作する。
同じ移動体デバイスから発呼されたとされているが新しい返送アドレス(および/または新しい一時ポート番号)を有するデータが受信された場合、スモール・サーバは、上に概説した同じ暗号化機構を用いて新しいアドレスのデバイスにセキュリティ・チャレンジを発行する。新しいアドレスがチャレンジに対して正しい応答を返すと、スモール・サーバは新しいアドレスからの着信トラヒックの処理を継続し、逆ルックアップ・テーブルを新しいアドレスで更新する。これは、一般には、移動体デバイスに通知される変更がすでにネットワーク更新メッセージをトリガしたため、移動体デバイスが変更を認識しない(例えば、ネットワーク運用会社のNATボックスがそのような割り当てを行った場合)ような形で移動体デバイスが新しいアドレスまたは一時ポート番号を割り当てられている場合にのみ実行される(3.11項、ネットワーク更新の説明を参照)。
逆に、新しいアドレスがセキュリティ・チャレンジに正しく応答できない場合、スモール・サーバは逆ルックアップ・テーブルを更新せずに新しいアドレスから受信したデータを単に無視する。(これは、例えば、悪意の第三者がスモール・サーバにスプーフ・データ・トラヒックを送信することで適正な移動体デバイスとの通信を中断しようとした時に実行される。)適正なデバイス(旧一次ポート番号を備えた旧アドレスの)との通信は中断せず継続し、旧アドレスへの追加のチャレンジを用いてセキュリティを再確立する必要はない。スモール・サーバからスモール・クライアントへの不要なデータ・トラヒックは生成されない。多くのGPRSおよび/またはUMTS料金では、ユーザのコストは受信したデータ・トラヒック量に依存するので、スモール・サーバでのサービス拒否攻撃を防止できることは極めて貴重である。
セキュリティ・チャレンジと応答は比較的大量の処理時間とデータ転送を使用するため、このシステムは適正なユーザに大きなコストとパフォーマンスの利益をもたらす。
3.13 端末アプリケーション・ロック
移動体通信端末(GPRSを用いる「スマート」ホンなど)はデバイスのユーザとその基本的な通信サーバ(雇用者が運用するビジネス・Eメール・サーバなど)として動作する組織にある種のセキュリティ・リスクを提示する。デバイスの被害の結果、通信アプリケーション(Eメール・クライアント・アプリケーションなど)への無権限のアクセスが発生することがあり、エンド・ユーザとバックグラウンドのサーバ機能を提供する組織の両方にマイナスの結果が生じることがある。現在、このセキュリティ・リスクはさまざまなシステムによって扱われ、(1)移動体デバイス自体へのローカル・アクセスのロック−一般にエンド・ユーザの要求による、(2)移動体オペレータの手でデバイスとの通信を拒否する、(3)メイン通信サーバへのリモート・アクセスを拒否する、といった処理が行われる。第1の方法は、デバイスのロックの結果、エンド・ユーザがデバイスに常駐する他のアプリケーションにアクセスできなくなることがあるのでエンド・ユーザにとって不便である。第2の方法は移動体運用会社による阻止命令の迅速で適切な実施形態に依拠する。これは、無線ネットワークとの認証が移動体デバイスから独立して実行される状況(SIMカードを使用するGSMネットワークなど)ではさらに制約がある。すなわち、デバイスの所有者はローカルな常駐データに依然としてアクセスできる。第3の方法は、組織サーバへのアクセスしか阻止せず、移動体デバイスにローカルに常駐するデータへのアクセスは無効にしないため、欠陥がある。
Transcend Mailは指定された状況で通信アプリケーション全体の動作を「ロックして」、移動体デバイスからのトラヒックを一般に搬送する無線ネットワーク運用会社による介入を必要とせずに、エンド・ユーザとそれに対応する通信サーバを収容する組織の両方を保護する。
移動体デバイス上の関連する通信アプリケーションへのアクセスは、エンド・ユーザが適当なロッキング・コードを移動体デバイスに入力した後でのみ進行できる。システムは最小コード長を指定できるが、別の方法でエンド・ユーザがロッキング・コードを変更できるようにすることもある。組織アドミニストレータ(Transcend Mailサーバも管理する)はリモート・ベースでロック・コードを変更し、エンド・ユーザがコードを忘れた場合、またはデバイスが紛失したかまたは盗難にあった場合にコードのリセットができるようにする。これによって、エンド・ユーザまたはネットワーク運用会社ではなく組織の制御下で、デバイスに常駐するEメールとメール・サーバが保護される。これは決定的な違いである。
ロック状態では、アプリケーションのロックは適当なロック・コードを移動体デバイスに入力することで非活動状態にすることができる。
ロック・コードが移動体デバイス上にローカルに記憶されている場合、以下の入力に基いて暗号化ハッシュ値を用いて記憶できる。
・移動体デバイスのための一意的なデバイスID(GSMハンドセット上のIMEIコードなど)
・秘密鍵
・アンロック・コード
こうして、1つのデバイスからハッシュ値を単に取り出して別のデバイス上のハッシュ値を置き換えることで簡単にロックを破ることはできない。
アンロックされた後で、アプリケーション・ロックは以下のようないくつかの異なるイベントによってトリガされる。
・アプリケーションにアクセスしない時間の経過(事前定義された空き時間)
・システム・アドミニストレータによるロック・コードのリモート変更
・エンド・ユーザがアプリケーションのロックを要求
・移動体デバイスまたは該当するアプリケーションが何かの理由で再ブートまたは再起動された
・アプリケーションをロック状態にさせるリモート・メッセージ
アプリケーションがロック状態の場合、エンド・ユーザはローカル・データにアクセスできず、またリモート・サーバにもアクセスできない。
付録1
付録1は、MobileMQとTranscend Mailシステムに関連するさまざまなその他の論点をリストし、論じるものである。VegaはTranscend Mailの旧名である。
1.異なるカテゴリのメッセージの独立した配信
説明
ある種のメッセージ・タイプがよりタイムリな形で配信されるような異なるタイプのメッセージの異なる送信「チャネル」の使用
・新しいメッセージ・チャネル
・追加の本文テキスト・チャネル
・添付ファイル・チャネル
これらのチャネルの使用は、新しいEメールが添付ファイルと本文テキストが取り出されているか否かに関わらず部分的に配信できることを意味する。
分析
この概念は異なるアプリケーションに関するデータの別々の転送に使用されている。例えば、Eメールは連絡先またはカレンダのチャネルとは別のチャネルを有し、共通の多重化技術である。
ただし、この技術を用いて従来技術の単一のアプリケーション内で通信をスピードアップできるという証拠はない。
この技術を使用する利点は、大容量のEメールを送受信することで、大容量のメッセージのバックグラウンド転送と同時に実行されるより短いメッセージとの対話が阻害されることがないという点である。一定のサイズを超えるメッセージは異なるメッセージ・チャネルによって転送でき、より短いメッセージ用の別のチャネルの帯域幅を求めて等しく競合する。したがって、大容量のEメールの送信後に送信を始めた小容量のEメールは大容量のEメールの前に配信を完了することがある。極めて大容量のEメールの場合は、これは、小容量のEメールへの応答が大容量のEメールの配信完了前に受信されたという意味の場合もある。ただし、現在の多くのEメール・システムではサイズに関わらずEメールをキューイングするので、これはありえない。
メール・システムによっては、メールごとに1回ずつ、メール・リレーへの同時接続を行う。ただし、サイズに基くメールの「ソート」は行われない。
2.「マジック」Eメール・アドレス
説明
サーバによって、解決されたEメール・アドレスに変換される識別子文字列の使用。これは以下の2つの局面を有する。
・「応答」または「転送」Eメール内の文字列<all>はVegaサーバによって、元のEメールに復帰して新しいメッセージの「Cc」フィールドにメッセージのすべての受信者を追加するコマンドと解釈される。
・端末上のEメールへの「愛称」の追加。Eメールを送信する時、有効なEメール・アドレスに一致しないすべての文字列は交換機内のアカウント名と比較され、一致すると、その名前はそのユーザのEメール・アドレスに解決され、そこに配信される。
分析
以前のEメールのコンテキストによって変わる意味を持たせるためにEメール・アドレスの代わりに固定文字列を使用することはおそらく新しい方法である。
そのような文字列の使用は、サーバが認識している何らかの以前のEメールの内容に基いて新しいEメールのアドレッシングをするようサーバに指示する「コマンド」を効果的に構成する。この場合、コマンドは「reply to all」、「content」は以前のEメール内のEメール・アドレスのリスト、「previous email」はクライアントが応答するEメールである。アドレスのリストもEメールそれ自体もこの概念が有効になるためにクライアント上に常駐する必要がない。以前のEメール(ヘッダなど)を参照して、クライアントがそのEメールへの一種のハンドルを有するようにすればよい。
受信者への配信に先立ってクライアントまたはサーバによって解決されるEメール・アドレスの代わりに短い名前(または「愛称」)を使用することは一般に可能である。ただし、これは無線の分散クライアント空間内では新しい概念である。
3.イネーブル/ディセーブル
説明
リモートの相手側エンドでのキューに影響を与えずにローカル・キューイングを使用不可にする機能。
分析
この機能の目的は、ピアが片方向または双方向のイベントの同期の加入を一時的に停止することを可能にすることである。これは、1つ、それ以上、またはすべてのチャネルに適用できる。
この例は以下を含む。
・ローカル保守(例えば、不要な項目の削除、PCとのローカルの有線による同期化)を行いながら、リモート・エンドを同期化する過剰なトラヒックを生成するはずであったユーザによる連絡先の同期化を停止する。
・コスト制御または濫用防止のためのアドミニストレータによるユーザごとのサービスの停止。
4.スケジューリングされたキューへの追加
説明
項目を直ちに送信せずに送信のためにキューイングする操作ができる機能。Vegaが使用不可の時のEメール作成など。ソフトウェアはVegaが再び使用可能になるまでメッセージを送信しない。
分析
この機能は有線と無線のEメール・クライアントにとっては目新しいものではない。ただし、無線の分散クライアント空間内では新しい概念である。
5.自動/手動モード動作
説明
自動および手動接続モードを切り替える機能。
分析
外見ではこの機能は有線と無線のEメール・クライアントにとっては目新しいものではない。ただし、この機能には調査を保証する側面がある。
この機能は、ユーザが定期的にメールをチェックし、またはユーザ・インタフェースでボタンを押すのに応答してメールをチェックできるOutlook Expressに概念が似ている。
ただし、そのようなシステムは、タイマの満了時またはユーザ・インタフェースによる起動によって明示的なポーリングが実行されるポール・システムである。Vegaでの機能は、時限オプションまたは手動起動が項目をプッシュインできる事前定義された期間だけ「ゲートをオープンする」ということを指しているプッシュ・ソリューションに適用される。この概念は無線の分散クライアント空間では新しい。
6.インライン添付ファイル交換
説明
添付ファイルの「プレースホルダ」を実際の添付ファイルが取り出せなかった理由を述べた管理メッセージと差し替える機能。
分析
この機能は、Eメール・サーバは目新しいものではない。例えば、いくつかのサーバ側ウィルス・スキャナはウィルス感染のために添付ファイルを送信しなかった理由を述べるEメールの本文テキスト内に管理メッセージを表示する。
ただし、無線の分散クライアントに添付ファイルを送信しない理由は多い。
いくつかの理由は選択的である。
・サイズがアドミニストレータが設定したサイズを超えている。
・ユーザは添付ファイルをダウンロードできない(例えば、コスト管理の理由から)
いくつかの理由は状況的である。
・添付ファイルが端末に適合せず、サーバが変換できない。
・添付ファイルがウィルスに感染している。
・添付ファイルが以前に削除されている。
7.リモート添付ファイル表現
説明
添付ファイルがEメールに物理的に添付されておらず、最終的な配信前に添付されるということを示すための添付ファイル表現の表示。送信されるフォルダでは、その添付ファイルのローカル・コピーを保持する必要がなく、添付ファイルが送信されたという表現。
分析
外見ではこの機能は有線と無線のEメール・クライアントにとっては目新しいものではない。
この機能は添付ファイルの存在を表示するために、ペーパークリップまたは他のアイコンを示すいくつかのEメール・クライアントの機能に似ている。IMAP4クライアントでは、添付ファイルは実際に存在していなくてもよいし存在していてもよい。
ただし、この機能は無線の分散クライアント空間では新しい。添付ファイルの存在または不存在についての説明の本文テキストの異なるアイコンまたはローカルな包含によって表示と組み合わされた場合には特にそうである。
8.Eメール受信者リストの切捨て
説明
各受信者について解決されたEメール・アドレスを送信する必要がないEメール・メッセージの追加の受信者の数の表現。
分析
この機能は無線の分散クライアント空間では新しい。
分散リスト内のユーザの数が一定のカウント(例えば、10)を超えると、メールの受信者はおそらくリスト内の実際の個々のユーザには興味がない。したがって、データ量はEメール・ヘッダ内の他の受信者の名前とEメール・アドレスを含めないことで低減できる。これに代えて簡単なテキスト(例えば、「他の受信者38」)で置き換える。要求があれば受信者の完全なリストがダウンロードできる。
この特別のテキストは、ユーザの「reply to all」の権能に影響しない。これは、実際のEメールではサーバは実際のアドレスを認識しているからである。
9.セキュリティが絡む場合に内容を非表示にする
説明
代替表示を用いて画面上のユーザ・データを非表示にする機能。これは端末が「Password challenge」または「Applocked」状態を入力すると全ユーザ・データを非表示にする機能である。
分析
この機能は無線の分散クライアント空間では新しい。
この機能の目的は、認証を受けた人物がセキュリティ・チャレンジを完了するまで特権的な情報を非表示にすることである。画面情報の窃取を防止することを主眼とする。
10.インテリジェント・ユーザ作成リスト
説明
Vegaアカウント作成に適したユーザのリストをアドミニストレータに提供する機能。実際、Activeディレクトリを選択し、どのサーバを使っているか、またVegaアカウントがそのユーザについてすでに存在するか否かによってユーザをソートすることを意味する。結果リストは(「New Use」UIに表示される)はVegaアカウントを有することができるユーザのみ表示する。
分析
ユーザの各々または全員に関する特性によってユーザのリストをソートする機能は新しくはない。ただし、この機能の無線空間への適用は、特に、このリストが分散クライアントで構成されていないユーザを参照する場合には新しい。
11.カスタマイズド・イベント・ログ
説明
製品に関するイベントのみが表示されるようにフィルタリングされた1つまたは複数のリモート・サーバからのログ情報の表示。
分析
リモート・サーバのリモートでフィルタリングされたログ情報を遠隔表示する機能は新しくない。ただし、この場合の「サーバ」はより大きいクライアント/サーバ・システムのクライアントを構成する分散システムの構成要素である。リモート表示はこのクライアント/サーバ・システムの一部ではなく、分散クライアントの一部でもない。この機能は新しい。
12.ファイル・レコードOEMカスタマイズ
説明
コア2進数を全く再コンパイルする必要なしに新しいOEMパートナーのための製品をカスタマイズする機能。「OEM」ファイルの交換をするだけで製品をカスタマイズできる。
分析
2進数を再構築しソース・コードにアクセスすることなく、事前定義された境界内でソフトウェアをカスタマイズする機能は新しい概念ではない。
ただし、無線分散クライアント/サーバ・システムに適用されるこの技法は新しい。
13.「インテリジェント」キューイング
説明
キューの内容を分析するための「インテリジェント」アルゴリズムに従ってペンディングの送信キューの項目について、追加、並べ替え、交換および/または削除を行う機能。
分析
必要なデータ転送量を低減するために送信キューの内容を統合することは新しい概念ではない。例えば、キューが新しい連絡先を含みその直後にその連絡先が削除された場合、簡単なアルゴリズムがその事態の発生を検出して新しい連絡先とその削除の両方を解消することができる。これはこの両方が互いを打ち消すからである。
ただし、無線分散クライアント/サーバ・システムに適用されたこの技法は、特に、その目的が計測されるネットワーク上で転送されるデータの量を低減することであるため新しい。
14.送信前の検索の取り消し
説明
データ転送の開始前に検索要求を取り消す機能。
分析
この機能は、アウトボックスの項目を削除する機能に類似し、Eメール、連絡先、議事項目に適用できる。多くのEメールとグループウェア・クライアントがこの機能を提供しているので確かに新しい概念ではない。
ただし、無線分散クライアント/サーバ・システムに適用されたこの技法は、特に、「アウトボックス」内の項目の宛先がメールまたはグループウェア・サーバではなく分散クライアント内の別の構成要素であるため新しい。リモート構成要素分散クライアントへの送信後に初めて項目はどこか別の宛先(例えば、インターネット上の)への送信待ちの「アウトボックス」に実際に入る。この機能によって取り消されるのは最初の転送である。
15.ポールとプッシュ・ユーザ
説明
単一の組織または施設内に「ポール」と「プッシュ」動作ユーザ・アカウントを作成する機能。
分析
この機能によって、一部のユーザは真のプッシュ・モードで、また別のユーザは厳格ポール・モードで、さらに別のユーザはポール周期のために「効果的プッシュ」であるモード内で動作できる。
この概念は一般のEメール・クライアントにとっては新しくない。Eメール配信のユーザの好みの選択は、通常、ユーザの選択に全く影響しない。
ただし、
・この機能は、特に無線空間で動作するVegaに適用される。そのようなシステムは普通、システムが採用した設計思想が指示する「オール・プッシュ」または「オール・ポール」である。
・「プッシュ」と「ポール」という用語は、常に「プッシュ」であるより大きいクライアント/サーバ・モデル内ではなく、分散クライアント内の通信に適用される。
したがって、新しい概念がある。
16.プロビジョニング論理
説明
ユーザ選択アカウントと、接続されたハンドセットとに関する情報に基いてハンドセット・プロビジョニング・プロセスを変更、否定、または拒否する機能。
分析
本発明の目的は、既存のアカウントと接続されたハンドセットのステータスが示す状況に基いてユーザにオープンの可能なオプションのリストをプロビジョニング・ユーザに向けることである。
この概念は新しくないかもしれないが、本発明は分散クライアント・モデルの2つの構成要素とその間のリンクの構築と切断に適用される。
・選択されたユーザ・アカウントがVegaを使用できるがハンドセットを割り当てられていない場合
。ハンドセットが他のユーザに現在割り当てられている場合
・構成は不可能:アドミニストレータは割り当てを削除しなければならない。
。ハンドセットが現在プロビジョニングされていない場合
・ソフトウェアがインストールされており、基本同期化が実行されている。
・選択されたユーザ・アカウントがVegaを使用できハンドセットを割り当てられている場合
。ハンドセットがユーザに現在割り当てられている場合
・必要に応じてハンドセットのソフトウェア・インストールが修理される。
・適宜ハンドセットは変更されない。
。ハンドセットが他のユーザに現在割り当てられている場合
・構成は不可能:アドミニストレータは割り当てを削除しなければならない。
。ハンドセットが現在アンプロビジョニングされている場合
・割り当ては変更される。ユーザの現在のハンドセットはワイプされる。
・ソフトウェアがインストールされており、基本同期化が実行されている。
・選択されたユーザ・アカウントがVegaを使用できない場合
。そのユーザについて操作はできない。
17.ハンドセットのワイプ
説明
ユーザのデバイスから全データを削除するコマンドをそのデバイスに送信する機能。
分析
このコマンドの目的は、デバイス上の全データのリモート削除を開始することである。アドミニストレータはハンドセット紛失または盗難時にこの多少極端な操作を実行する。デバイスの機能が停止するのを阻止するためにユーザができることはほとんどない。
この機能は、特に無線分散クライアント内では新しい。
18.データ転送タイムスタンプ
説明
ユーザの端末からのデータが送信されまたは受信された最後の時間のタイムスタンプの記憶と表示。
分析
この機能の目的は、分散クライアントのリモート構成要素から受信した最後の転送データの日時を記録することである。この機能は、システムがアプリケーション・データなしに動作しているという信頼度チェックをユーザに提供する。
この機能の主要な要素は当然ながら当業者には明らかであろう。ただし、トランスポートの基本の低い信頼度のために、端末からサーバへの最後の転送の正確な時間を決定することは不可能である。ただし、いずれかの方向のすべての通信について少なくとも逆の方向の何らかの種類の確認が行われるので、最後の着信データの記録は少なくとも何らかの発信データを受信したという証拠を提供する。
19.ソフトウェアのインストール
説明
標準の(SISファイル)ソフトウェア・インストール方法を使用せずにSymbian OS製品のソフトウェアをインストールする(またその後アンインストールする)機能。
分析
Symbian SISファイルの目的は、InstallShieldその他などによって他のソフトウェア環境内でしばしば達成されるのとほぼ同じ方法でインストールを容易にすることである。
ただし、Symbian OSデバイスが使用するコネクティビティプラットフォームではSISファイルの自動実行ができないので、アドミニストレータがデバイスと物理的に対話する(すなわち、ボタンの押下、インボックスとの対話など)ことなくソフトウェアのインストールを開始することはできない。
この機能の本質は、デバイスの再起動時に、デバイスのインストールと環境設定とを行うある種の「1回実行」構成要素が実行されるいくつかのフォルダにファイルをコピーすることによってインストールシステムを全て回避することである。その結果、そうでなければSISファイルの複雑な再コンパイルが必要なデバイスごとのインストールが可能になる。
インストール担当者に必要な唯一の動作は、デバイスの電源を切ってからユーザに渡すことである。これによってインストール・シーケンスが完了する。
20.現場でのセキュリティ更新
説明
アドミニストレータが現場のユーザ端末の端末セキュリティ・ポリシーを更新できる機能(例えば、アプリケーション・ロックの最小桁数またはタイムアウト期間を増やすなど)。
分析
本発明の目的は、アドミニストレータがデバイスのある種のセキュリティ証明書を再プロビジョニングまたは変更を実施するためにアドミニストレータに返送させることなく証明書をリモートに変更できるようにすることである。
そのような変更は以下を含む。
・ユーザが選択しなければならないアプリケーション・ロック・コードの最小強度のポリシーの変更。これは一部のユーザにとってコードの変更を伴う
・デバイスによって使用される共通秘密鍵のスケジューリングされた変更
・ユーザにログオン・パスワードを変更させる要求
上記の機能は無線分野、特に再構成の宛先が分散クライアントの構成要素の場合には新しい。
21.現場でのポール/プッシュ更新
説明
アドミニストレータがマイクロポーリングの周期をリモートに変更し、または個々の端末とユーザについてコネクティビティをポールからプッシュ(またはその逆)に変える機能。
分析
アドミニストレータは、場合によって以下に応答してある種のユーザについてポーリングの周期を変更する必要がある。
・ある種のユーザが許可する費用のタイプに関するポリシーの変更
・特定のユーザに量の習慣を変更させる。
本発明の特徴によってアドミニストレータはユーザごとに以下のいずれかまたはすべてを変更できる。
・マイクロポーリングの周期を変更して任意のアプリケーション・データがない場合に背景データ量を変更する
・マイクロポーリングの周期を変更して任意のネットワーク運用会社のNATマッピング・タイムアウトを参照して「効果的プッシュ」を使用可能または使用不可にする
・マイクロポールを使用しない真の「プッシュ」モードに変更、またはその終了
この機能は無線空間内の分散クライアントの構成要素の内部通信に特有である。一実施形態では、ユーザは上記を制御できない。アドミニストレータだけがこれらの設定を行う特権を有する。
従来の分散クライアント・モデルの端末で優れたユーザ経験を提供するという問題の対処の概略示したブロック図。 MobileMQ MOMとセッション非依存との組み合わせは多数の接続規制の問題を扱う方法を示すブロック図。 Transcend Mailと組み合わされたMobileMQが、端末リソースと接続の制約を効率的に扱うという双子の問題の包括的で有効な解決策を示す図である。 セッション・べースのシステムが通常提供するMOMによって提供されるセッション非依存機能を、スマートホンなどのリソースが限られた端末に適した方法で配備することができる様子を示す図である。 ラージ・サーバ側からはラージ・クライアントは普通に通信している相手の他のどのクライアントとも区別がつかないため、ラージ・サーバからはラージ・クライアントの分散的な性質は見えないことを示す図である。 スモール・クライアントが、クライアント側MOMを含むかこれと通信する端末側構成要素として実装できる状態を示す図である。 スモール・クライアントがプログラム−例えば、Eメール・アプリケーション、プラスそれを端末側構成要素にプラグイン・リンクすること−を含む方法を示す図である。 スモール・クライアントが連絡先プログラムなどのプログラムを除外できることを示す図である。 端末側構成要素が連絡先データベースを介して連絡先プログラムと通信することがミドルウェア・アーキテクチャと概念的に等しいことを示す図である。

Claims (37)

  1. 端末上で実行される端末側構成要素とサーバ側構成要素とに分散されるソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システムであって、
    前記端末側構成要素とサーバ側構成要素とが(i)共にサーバへのクライアントを構成し、(ii)ネットワーク上でメッセージ・キューイング・システムを用いてメッセージを送信することで協働するシステム。
  2. 前記メッセージ・キューイング・システムがメッセージ指向ミドルウェアである請求項1に記載のシステム。
  3. 端末側構成要素がネットワーク上の接続が接続を再確立する準備が出来た状態でメッセージをキューイングすることで切断される場合に、端末プログラムが影響を受けるのを防止し、端末プログラムが次のタスクに移行できる請求項1に記載のシステム。
  4. サーバ側構成要素がネットワーク上の接続が接続を再確立する準備が出来た状態でメッセージをキューイングすることで切断される場合に、サーバ・プログラムが影響を受けるのを防止し、サーバ・プログラムが次のタスクに移行できる請求項1に記載のシステム。
  5. 各々のキューイングされたメッセージがイベントの一部または全部を定義し、イベントが端末またはサーバに記憶されたデータの変更を詳細に記述し、同期化エンジンを必要とせずにデータ複製を実行でき、データ複製が同期化のための記憶されたデータのデータセット一式(またはデータセットのサブセット)ではなく、イベントを送信することで達成される請求項1に記載のシステム。
  6. 端末側構成要素がイベントを作成して自らおよび/またはメッセージ・キューイング・システム内にキューイングし、ネットワーク接続が切断されていても端末側構成要素が次のタスクに移行できる請求項5に記載のシステム。
  7. サーバ側構成要素がイベントを作成して自らおよび/またはメッセージ・キューイング・システム内にキューイングし、ネットワーク接続が切断されていてもサーバ側構成要素が次のタスクに移行できる請求項5に記載のシステム。
  8. キューイングされたイベントが端末の電源がオフになっても不揮発性メモリ内に存続できる請求項6に記載のシステム。
  9. キューイングされたイベントがサーバの電源がオフになっても不揮発性メモリ内に存続できる請求項7に記載のシステム。
  10. 端末側構成要素およびサーバ側構成要素が、無線端末上で実行されている端末プログラムとサーバ上で実行されているサーバ・プログラムとの間のミドルウェアを集合的に構成する請求項1に記載のシステム。
  11. 端末側にキューイングされたメッセージがサーバ上に保持されているデータへの参照である請求項6に記載のシステム。
  12. 端末側のメッセージ・キューイング・システムが、前記ネットワーク上の接続が再確立された場合に端末側のキューの次のメッセージを自動的に送信することで端末プログラムが影響を受けるのを防止する請求項10に記載のシステム。
  13. サーバ側のメッセージ・キューイング・システムが、前記ネットワーク上の接続が再確立された場合にサーバ側のキューの次のメッセージを自動的に送信することでサーバ・プログラムが影響を受けるのを防止する請求項10に記載のシステム。
  14. 前記端末側構成要素がEメールまたはPIMプログラムである端末プログラムからのイベントを処理する請求項1に記載のシステム。
  15. 前記サーバ側構成要素がメール・サーバ・プログラムであるサーバ・プログラムからのイベントを処理する請求項1に記載のシステム。
  16. 前記端末が携帯電話またはスマートホンなどの無線端末である請求項1に記載のシステム。
  17. 前記ネットワークがGPRSまたはUMTSネットワークなどの無線WANネットワークである請求項1に記載のシステム。
  18. 前記サーバ側構成要素が前記端末側構成要素から送信されたログオン・パスワードを記憶し、このログオンを用いてサーバ・プログラムにアクセスする請求項1に記載のシステム。
  19. 前記サーバ側構成要素が、前記サーバ上に保持されたデータを前記端末から前記ネットワークを介して送信しなくて済むように、前記端末側構成要素が前記データを用いて送信しようと考えるメッセージを組み立てることができる請求項1に記載のシステム。
  20. 前記端末側構成要素が前記端末上の利用可能なメモリをモニタし、前記端末上に記憶された該当するデータに影響を与えることなく、古さおよび/または使用および/またはサイズの事前定義された判定基準を満たす端末に記憶されたデータを自動的に削除する請求項1に記載のシステム。
  21. 前記サーバ上に記憶された対応するデータに影響を与えることなく前記端末上に記憶されたデータを削除するユーザ・オプションが、前記端末上に記憶されたデータを前記サーバ上に記憶された該当するデータと共に削除するオプションとして、前記端末上に表示されるメニュー階層内の同じレベルに表示される請求項20に記載のシステム。
  22. 前記データがメッセージ・データで、ユーザの要求があった場合に前記端末側構成要素が前記メッセージ・データを前記サーバから再度供給するデータを保持する請求項20に記載のシステム。
  23. 前記データが未読の印が付いているか、ユーザの閲覧または操作のためにのみ開けるか、またはラージ・サーバからの追加データを要求する前記データに関連するペンディング操作がある場合、前記データがメモリから解放されない請求項20に記載のシステム。
  24. 前記端末側構成要素が、添付文書を前記サーバに記憶された元のフォーマットまたは前記元のフォーマットから変換されたより使いやすいフォーマットで前記無線端末に送信できる請求項1に記載のシステム。
  25. 前記端末側構成要素によって、ユーザが(a)前記端末上に記憶されたメッセージを削除するが前記サーバ上に記憶された該当するメッセージは削除しない解放オプションを選択し、また、(b)前記端末上に記憶されたメッセージと前記サーバ上に記憶された該当するメッセージとを削除する削除オプションを選択することができ、前記解放と削除オプションが前記端末に表示されるメニュー階層内の同じレベルに表示される請求項1に記載のシステム。
  26. 前記アプリケーションによって、IDによって識別される端末に宛てられたメッセージの正しいルーティングが前記IDを前記端末に到達するのに必要な実際のIPアドレスにマッピングすることで可能になる請求項1に記載の方法。
  27. 前記アドレスがNATボックスによって割り当てられた動的IPアドレスである請求項26に記載のシステム。
  28. 前記アプリケーションが有効なマッピングが存在する場合にのみメッセージ転送を開始する請求項27に記載のシステム。
  29. 特定の種類の小容量の専用メッセージが前記端末から受信された時はいつでもマッピングがリフレッシュされる請求項28に記載のシステム。
  30. 前記端末側構成要素によって、サーバ・アドミニストレータが前記端末上の他のアプリケーションに影響を与えずに前記端末上のアプリケーションをロックすることができる請求項1に記載のシステム。
  31. 前記端末側構成要素が前記端末上にサービス拒否攻撃をかけてくると疑われる任意の第3者にチャレンジを送信し、前記サービス拒否攻撃が前記端末への追加のデータ・トラヒックを生じない請求項1に記載のシステム。
  32. 前記アプリケーションが分散通信プラットフォームへ発呼する分散アプリケーション・プラットフォームを含む請求項1に記載のシステム。
  33. 前記通信プラットフォームによって、前記プラットフォームがセッション非依存方式で動作する不確実なトランスポート・プロトコルが使用された場合でも、前記ネットワーク上のメッセージの配信が確実になる請求項32に記載の方法。
  34. データ・アクセス、複製または通信の方法であって、
    (a)端末側構成要素とサーバ側構成要素とに分散されるソフトウェア・アプリケーションを実行するステップであって、前記端末側構成要素とサーバ側構成要素とが共にサーバへのクライアントを構成するステップと、
    (b)ネットワーク上でメッセージ・キューイング・システムを用いて前記端末側構成要素と前記サーバ側構成要素との間でメッセージを送信するステップとを含む方法。
  35. 前記ソフトウェア・アプリケーションが請求項1から33のいずれか一項に記載のシステムの要素である請求項34に記載の方法。
  36. 請求項1から33のいずれか一項に記載のシステムの要素である前記端末側構成要素でプログラミングされた端末。
  37. 請求項1から33のいずれか一項に記載のシステムの要素である前記サーバ側構成要素でプログラミングされたサーバ。
JP2006506148A 2003-04-17 2004-04-19 分散ソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システム Pending JP2007527557A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0308991.9A GB0308991D0 (en) 2003-04-17 2003-04-17 A data access replication or communication system comprising a distributed software application
PCT/GB2004/001685 WO2004095806A2 (en) 2003-04-17 2004-04-19 A data access, replication or communication system comprising a distributed software application

Publications (1)

Publication Number Publication Date
JP2007527557A true JP2007527557A (ja) 2007-09-27

Family

ID=9957010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006506148A Pending JP2007527557A (ja) 2003-04-17 2004-04-19 分散ソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システム

Country Status (8)

Country Link
US (1) US7912896B2 (ja)
EP (1) EP1618727B1 (ja)
JP (1) JP2007527557A (ja)
CN (1) CN1792076B (ja)
AT (1) ATE482561T1 (ja)
DE (1) DE602004029244D1 (ja)
GB (2) GB0308991D0 (ja)
WO (1) WO2004095806A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015532984A (ja) * 2012-09-11 2015-11-16 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド アプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するためのシステムおよび方法
WO2018037740A1 (ja) * 2016-08-23 2018-03-01 Line株式会社 プログラムを記録した記録媒体、情報処理方法、及び情報処理端末

Families Citing this family (267)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219694B1 (en) 1998-05-29 2001-04-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device having a shared electronic address
US9374435B2 (en) 1998-05-29 2016-06-21 Blackberry Limited System and method for using trigger events and a redirector flag to redirect messages
US8012219B2 (en) 2002-08-09 2011-09-06 Visto Corporation System and method for preventing access to data on a compromised remote device
US7673344B1 (en) * 2002-09-18 2010-03-02 Symantec Corporation Mechanism to search information content for preselected data
US8661498B2 (en) 2002-09-18 2014-02-25 Symantec Corporation Secure and scalable detection of preselected data embedded in electronically transmitted messages
US7472114B1 (en) * 2002-09-18 2008-12-30 Symantec Corporation Method and apparatus to define the scope of a search for information from a tabular data source
US8041719B2 (en) 2003-05-06 2011-10-18 Symantec Corporation Personal computing device-based mechanism to detect preselected data
US7886359B2 (en) * 2002-09-18 2011-02-08 Symantec Corporation Method and apparatus to report policy violations in messages
US8225371B2 (en) * 2002-09-18 2012-07-17 Symantec Corporation Method and apparatus for creating an information security policy based on a pre-configured template
US7680065B2 (en) * 2005-01-18 2010-03-16 Cisco Technology, Inc. System and method for routing information packets
US7664818B2 (en) * 2004-04-21 2010-02-16 Sap (Ag) Message-oriented middleware provider having multiple server instances integrated into a clustered application server infrastructure
US20050265252A1 (en) * 2004-05-27 2005-12-01 International Business Machines Corporation Enhancing ephemeral port allocation
EP2492808A1 (en) * 2004-06-30 2012-08-29 Jumpstart Wireless Corporation System and method for extending business systems to a mobile workforce
US8001082B1 (en) 2004-10-28 2011-08-16 Good Technology, Inc. System and method of data security in synchronizing data with a wireless device
US20060184549A1 (en) * 2005-02-14 2006-08-17 Rowney Kevin T Method and apparatus for modifying messages based on the presence of pre-selected data
US8011003B2 (en) 2005-02-14 2011-08-30 Symantec Corporation Method and apparatus for handling messages containing pre-selected data
TWI298590B (en) * 2005-03-30 2008-07-01 A method for transporting real-time audio and video data
US20070185970A1 (en) * 2006-02-08 2007-08-09 International Business Machines Corporation Method, system, and computer program product for providing messaging services
JP2008085916A (ja) * 2006-09-28 2008-04-10 Toshiba Corp 通信システムの主装置及びこの主装置で使用される登録方法
US8006190B2 (en) 2006-10-31 2011-08-23 Yahoo! Inc. Social namespace addressing for non-unique identifiers
US8135798B2 (en) 2006-11-15 2012-03-13 Hewlett-Packard Development Company, L.P. Over-the-air device services and management
US20080115152A1 (en) 2006-11-15 2008-05-15 Bharat Welingkar Server-controlled heartbeats
US7603435B2 (en) 2006-11-15 2009-10-13 Palm, Inc. Over-the-air device kill pill and lock
US8200763B2 (en) * 2006-11-22 2012-06-12 Yahoo! Inc. Enabling display of a recipient list for a group text message
US8599801B2 (en) 2007-02-01 2013-12-03 Yahoo! Inc. Collecting implicit information for determining context of event actions
US8028048B2 (en) * 2007-02-27 2011-09-27 International Business Machines Corporation Method and apparatus for policy-based provisioning in a virtualized service delivery environment
US8370349B2 (en) 2007-02-28 2013-02-05 Yahoo! Inc. Instant contact searching and presentation by category
JP4345844B2 (ja) * 2007-05-09 2009-10-14 ソニー株式会社 通信システム、情報処理装置および方法、並びにプログラム
US7823761B2 (en) * 2007-05-16 2010-11-02 The Invention Science Fund I, Llc Maneuverable surgical stapler
WO2009012598A1 (en) * 2007-07-26 2009-01-29 Kryptiva Inc. System and method for triggering recipient-side events
KR100889670B1 (ko) * 2007-08-08 2009-03-19 삼성에스디에스 주식회사 모바일 디바이스상에서 tcp 기반의 서비스거부 공격의 차단 방법
US8121117B1 (en) 2007-10-01 2012-02-21 F5 Networks, Inc. Application layer network traffic prioritization
US8862689B2 (en) * 2007-10-24 2014-10-14 International Business Machines Corporation Local flash memory and remote server hybrid continuous data protection
US8065739B1 (en) 2008-03-28 2011-11-22 Symantec Corporation Detecting policy violations in information content containing data in a character-based language
US7996373B1 (en) 2008-03-28 2011-08-09 Symantec Corporation Method and apparatus for detecting policy violations in a data repository having an arbitrary data schema
US7996374B1 (en) 2008-03-28 2011-08-09 Symantec Corporation Method and apparatus for automatically correlating related incidents of policy violations
CA2671593C (en) * 2008-07-09 2013-12-31 Research In Motion Limited Determining size of email message sent over wireless network based on content
US9785761B2 (en) * 2008-07-31 2017-10-10 Qualcomm Incorporated Unlocking a locked user device using a computer generated unlock code provided by a user
US8826443B1 (en) 2008-09-18 2014-09-02 Symantec Corporation Selective removal of protected content from web requests sent to an interactive website
EP2169551A1 (en) * 2008-09-26 2010-03-31 Siemens Aktiengesellschaft Method for dispatching of application messages
US8613040B2 (en) * 2008-12-22 2013-12-17 Symantec Corporation Adaptive data loss prevention policies
US8935752B1 (en) 2009-03-23 2015-01-13 Symantec Corporation System and method for identity consolidation
US8161019B2 (en) * 2009-05-01 2012-04-17 Microsoft Corporation Cross-channel coauthoring consistency
US8135025B2 (en) 2009-06-03 2012-03-13 Microsoft Corporation Asynchronous communication in an unstable network
US8503456B2 (en) * 2009-07-14 2013-08-06 Broadcom Corporation Flow based path selection randomization
US8565239B2 (en) * 2009-07-14 2013-10-22 Broadcom Corporation Node based path selection randomization
US10721269B1 (en) 2009-11-06 2020-07-21 F5 Networks, Inc. Methods and system for returning requests with javascript for clients before passing a request to a server
US8806056B1 (en) 2009-11-20 2014-08-12 F5 Networks, Inc. Method for optimizing remote file saves in a failsafe way
US8332369B2 (en) * 2009-12-15 2012-12-11 Microsoft Corporation Policy driven distributed data resiliency
US8621214B2 (en) * 2010-02-10 2013-12-31 SecurenCrypt, LLC Document encryption and decryption
US8356102B2 (en) * 2010-02-10 2013-01-15 Microsoft Corporation Selective connection between corresponding communication components involved in a teleconference
WO2011133195A1 (en) 2010-04-22 2011-10-27 Zipit Wireless, Inc. System and method for administration and operation of one or more mobile electronic communications devices
US20110302551A1 (en) * 2010-06-02 2011-12-08 Hummel Jr David Martin System and method for analytic process design
US8706822B2 (en) 2010-06-23 2014-04-22 Microsoft Corporation Delivering messages from message sources to subscribing recipients
US9503375B1 (en) 2010-06-30 2016-11-22 F5 Networks, Inc. Methods for managing traffic in a multi-service environment and devices thereof
US9420049B1 (en) 2010-06-30 2016-08-16 F5 Networks, Inc. Client side human user indicator
US8347100B1 (en) 2010-07-14 2013-01-01 F5 Networks, Inc. Methods for DNSSEC proxying and deployment amelioration and systems thereof
DE102010046480B4 (de) * 2010-09-24 2021-12-16 Efr Europäische Funk-Rundsteuerung Gmbh Verfahren und System zur Übertragung eines Schaltbefehls an Stromnetzeinheiten
US9207928B2 (en) 2011-01-17 2015-12-08 Bladelogic, Inc. Computer-readable medium, apparatus, and methods of automatic capability installation
US10631246B2 (en) 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
WO2012110527A1 (en) * 2011-02-14 2012-08-23 Airborne Nv Distributed middleware for mobile devices
US8879431B2 (en) 2011-05-16 2014-11-04 F5 Networks, Inc. Method for load balancing of requests' processing of diameter servers
CN102193847B (zh) * 2011-06-24 2013-04-10 杭州华三通信技术有限公司 重启数据不丢失方法及保留内存管理模块
US8396836B1 (en) 2011-06-30 2013-03-12 F5 Networks, Inc. System for mitigating file virtualization storage import latency
US9552056B1 (en) 2011-08-27 2017-01-24 Fellow Robots, Inc. Gesture enabled telepresence robot and system
US9690638B2 (en) 2011-09-29 2017-06-27 Oracle International Corporation System and method for supporting a complex message header in a transactional middleware machine environment
US9116761B2 (en) * 2011-09-29 2015-08-25 Oracle International Corporation System and method for preventing single-point bottleneck in a transactional middleware machine environment
US8463850B1 (en) 2011-10-26 2013-06-11 F5 Networks, Inc. System and method of algorithmically generating a server side transaction identifier
US8713646B2 (en) 2011-12-09 2014-04-29 Erich Stuntebeck Controlling access to resources on a network
KR101219637B1 (ko) 2012-02-08 2013-01-09 윤경숙 숫자화된 토픽을 이용하여 메시지 통신을 수행하는 메시지 기반 미들웨어 장치
WO2013123079A1 (en) * 2012-02-13 2013-08-22 Xceedid Corporation Credential management system
US10257194B2 (en) 2012-02-14 2019-04-09 Airwatch Llc Distribution of variably secure resources in a networked environment
US10404615B2 (en) 2012-02-14 2019-09-03 Airwatch, Llc Controlling distribution of resources on a network
US9680763B2 (en) 2012-02-14 2017-06-13 Airwatch, Llc Controlling distribution of resources in a network
US9705813B2 (en) 2012-02-14 2017-07-11 Airwatch, Llc Controlling distribution of resources on a network
US10230566B1 (en) 2012-02-17 2019-03-12 F5 Networks, Inc. Methods for dynamically constructing a service principal name and devices thereof
US9244843B1 (en) 2012-02-20 2016-01-26 F5 Networks, Inc. Methods for improving flow cache bandwidth utilization and devices thereof
US9020912B1 (en) 2012-02-20 2015-04-28 F5 Networks, Inc. Methods for accessing data in a compressed file system and devices thereof
EP2853074B1 (en) 2012-04-27 2021-03-24 F5 Networks, Inc Methods for optimizing service of content requests and devices thereof
WO2013166588A1 (en) 2012-05-08 2013-11-14 Bitstrips Inc. System and method for adaptable avatars
US9191237B1 (en) * 2012-05-24 2015-11-17 Dan Barry, Inc. Wireless communication systems and methods
CN102799424B (zh) * 2012-06-12 2016-03-02 上海雷腾软件股份有限公司 一种敏捷式高效分层服务器端接口架构的实现方法
US20140025683A1 (en) * 2012-07-18 2014-01-23 Salesforce.Com, Inc. Methods and apparatus for managing community-updateable data
US9088559B2 (en) 2012-09-11 2015-07-21 Tencent Technology (Shenzhen) Company Limited System and method for sharing login status between an application platform and an application
US10033837B1 (en) 2012-09-29 2018-07-24 F5 Networks, Inc. System and method for utilizing a data reducing module for dictionary compression of encoded data
US9247432B2 (en) 2012-10-19 2016-01-26 Airwatch Llc Systems and methods for controlling network access
US9578090B1 (en) 2012-11-07 2017-02-21 F5 Networks, Inc. Methods for provisioning application delivery service and devices thereof
US8862868B2 (en) 2012-12-06 2014-10-14 Airwatch, Llc Systems and methods for controlling email access
US8826432B2 (en) 2012-12-06 2014-09-02 Airwatch, Llc Systems and methods for controlling email access
US8832785B2 (en) 2012-12-06 2014-09-09 Airwatch, Llc Systems and methods for controlling email access
US8978110B2 (en) 2012-12-06 2015-03-10 Airwatch Llc Systems and methods for controlling email access
US9021037B2 (en) 2012-12-06 2015-04-28 Airwatch Llc Systems and methods for controlling email access
CN103392353B (zh) * 2012-12-31 2017-04-12 华为技术有限公司 无线网络的能力开放系统、网关、代理和方法
US10375155B1 (en) 2013-02-19 2019-08-06 F5 Networks, Inc. System and method for achieving hardware acceleration for asymmetric flow connections
US9497614B1 (en) 2013-02-28 2016-11-15 F5 Networks, Inc. National traffic steering device for a better control of a specific wireless/LTE network
US20140280955A1 (en) 2013-03-14 2014-09-18 Sky Socket, Llc Controlling Electronically Communicated Resources
US9473417B2 (en) 2013-03-14 2016-10-18 Airwatch Llc Controlling resources used by computing devices
US9275245B2 (en) 2013-03-15 2016-03-01 Airwatch Llc Data access sharing
US9378350B2 (en) 2013-03-15 2016-06-28 Airwatch Llc Facial capture managing access to resources by a device
US9401915B2 (en) 2013-03-15 2016-07-26 Airwatch Llc Secondary device as key for authorizing access to resources
US9819682B2 (en) 2013-03-15 2017-11-14 Airwatch Llc Certificate based profile confirmation
US10652242B2 (en) 2013-03-15 2020-05-12 Airwatch, Llc Incremental compliance remediation
US9148416B2 (en) 2013-03-15 2015-09-29 Airwatch Llc Controlling physical access to secure areas via client devices in a networked environment
US9203820B2 (en) 2013-03-15 2015-12-01 Airwatch Llc Application program as key for authorizing access to resources
US8997187B2 (en) 2013-03-15 2015-03-31 Airwatch Llc Delegating authorization to applications on a client device in a networked environment
US9787686B2 (en) 2013-04-12 2017-10-10 Airwatch Llc On-demand security policy activation
US10754966B2 (en) 2013-04-13 2020-08-25 Airwatch Llc Time-based functionality restrictions
US8914013B2 (en) 2013-04-25 2014-12-16 Airwatch Llc Device management macros
US9123031B2 (en) 2013-04-26 2015-09-01 Airwatch Llc Attendance tracking via device presence
US9426162B2 (en) 2013-05-02 2016-08-23 Airwatch Llc Location-based configuration policy toggling
US9246918B2 (en) 2013-05-10 2016-01-26 Airwatch Llc Secure application leveraging of web filter proxy services
US9058495B2 (en) 2013-05-16 2015-06-16 Airwatch Llc Rights management services integration with mobile device management
US10439972B1 (en) 2013-05-30 2019-10-08 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9705831B2 (en) 2013-05-30 2017-07-11 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9900261B2 (en) 2013-06-02 2018-02-20 Airwatch Llc Shared resource watermarking and management
US9584437B2 (en) 2013-06-02 2017-02-28 Airwatch Llc Resource watermarking and management
US20140358703A1 (en) 2013-06-04 2014-12-04 SkySocket, LLC Item Delivery Optimization
US9270777B2 (en) 2013-06-06 2016-02-23 Airwatch Llc Social media and data sharing controls for data security purposes
US8924608B2 (en) 2013-06-25 2014-12-30 Airwatch Llc Peripheral device management
US9535857B2 (en) 2013-06-25 2017-01-03 Airwatch Llc Autonomous device interaction
US8775815B2 (en) 2013-07-03 2014-07-08 Sky Socket, Llc Enterprise-specific functionality watermarking and management
US8756426B2 (en) 2013-07-03 2014-06-17 Sky Socket, Llc Functionality watermarking and management
US8806217B2 (en) 2013-07-03 2014-08-12 Sky Socket, Llc Functionality watermarking and management
US9112749B2 (en) 2013-07-25 2015-08-18 Airwatch Llc Functionality management via application modification
US9226155B2 (en) 2013-07-25 2015-12-29 Airwatch Llc Data communications management
US9665723B2 (en) 2013-08-15 2017-05-30 Airwatch, Llc Watermarking detection and management
US9516005B2 (en) 2013-08-20 2016-12-06 Airwatch Llc Individual-specific content management
US10129242B2 (en) 2013-09-16 2018-11-13 Airwatch Llc Multi-persona devices and management
US9185099B2 (en) 2013-09-23 2015-11-10 Airwatch Llc Securely authorizing access to remote resources
US9544306B2 (en) 2013-10-29 2017-01-10 Airwatch Llc Attempted security breach remediation
US9258301B2 (en) 2013-10-29 2016-02-09 Airwatch Llc Advanced authentication techniques
US10187317B1 (en) 2013-11-15 2019-01-22 F5 Networks, Inc. Methods for traffic rate control and devices thereof
US9569517B1 (en) * 2013-11-27 2017-02-14 Google Inc. Fault tolerant distributed key-value storage
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US11838851B1 (en) 2014-07-15 2023-12-05 F5, Inc. Methods for managing L7 traffic classification and devices thereof
CN104092767B (zh) * 2014-07-21 2017-06-13 北京邮电大学 一种增加消息队列模型的发布/订阅系统及其工作方法
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US9455888B2 (en) * 2014-09-19 2016-09-27 International Business Machines Corporation Application topology based on network traffic
US9935903B2 (en) * 2014-09-30 2018-04-03 Check Point Software Technologies Ltd Duplicate-free item creation using EWS by a single client
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US10373116B2 (en) 2014-10-24 2019-08-06 Fellow, Inc. Intelligent inventory management and related systems and methods
US10311400B2 (en) 2014-10-24 2019-06-04 Fellow, Inc. Intelligent service robot and related systems and methods
US9796093B2 (en) 2014-10-24 2017-10-24 Fellow, Inc. Customer service robot and related systems and methods
US10911380B2 (en) * 2014-11-07 2021-02-02 Quest Software Inc. Automated large attachment processing during migration
US10182013B1 (en) 2014-12-01 2019-01-15 F5 Networks, Inc. Methods for managing progressive image delivery and devices thereof
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9584964B2 (en) 2014-12-22 2017-02-28 Airwatch Llc Enforcement of proximity based policies
US9413754B2 (en) 2014-12-23 2016-08-09 Airwatch Llc Authenticator device facilitating file security
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US10133705B1 (en) 2015-01-19 2018-11-20 Snap Inc. Multichannel system
US11895138B1 (en) 2015-02-02 2024-02-06 F5, Inc. Methods for improving web scanner accuracy and devices thereof
US9294425B1 (en) * 2015-02-06 2016-03-22 Snapchat, Inc. Storage and processing of ephemeral messages
KR102662169B1 (ko) 2015-03-18 2024-05-03 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US9912545B2 (en) * 2015-03-20 2018-03-06 International Business Machines Corporation High performance topology resolution for non-instrumented nodes
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US9819630B2 (en) 2015-04-15 2017-11-14 Quest Software Inc. Enhanced management of migration and archiving operations
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
US11350254B1 (en) 2015-05-05 2022-05-31 F5, Inc. Methods for enforcing compliance policies and devices thereof
US10505818B1 (en) 2015-05-05 2019-12-10 F5 Networks. Inc. Methods for analyzing and load balancing based on server health and devices thereof
CN115412385B (zh) 2015-05-06 2024-07-02 斯纳普公司 用于短暂群组聊天的系统和方法
US9906479B1 (en) 2015-06-16 2018-02-27 Snap Inc. Storage management for ephemeral messages
US10503264B1 (en) 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US10616162B1 (en) 2015-08-24 2020-04-07 Snap Inc. Systems devices and methods for automatically selecting an ephemeral message availability
US11121997B1 (en) 2015-08-24 2021-09-14 Snap Inc. Systems, devices, and methods for determining a non-ephemeral message status in a communication system
US10157333B1 (en) 2015-09-15 2018-12-18 Snap Inc. Systems and methods for content tagging
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US11119628B1 (en) 2015-11-25 2021-09-14 Snap Inc. Dynamic graphical user interface modification and monitoring
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US11757946B1 (en) 2015-12-22 2023-09-12 F5, Inc. Methods for analyzing network traffic and enforcing network policies and devices thereof
CN105407180B (zh) * 2015-12-29 2019-05-31 浙江曙光信息技术有限公司 服务器的消息推送方法和装置
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
US10797888B1 (en) 2016-01-20 2020-10-06 F5 Networks, Inc. Methods for secured SCEP enrollment for client devices and devices thereof
US11178150B1 (en) 2016-01-20 2021-11-16 F5 Networks, Inc. Methods for enforcing access control list based on managed application and devices thereof
US10530731B1 (en) 2016-03-28 2020-01-07 Snap Inc. Systems and methods for chat with audio and video elements
US10270839B2 (en) 2016-03-29 2019-04-23 Snap Inc. Content collection navigation and autoforwarding
US10339365B2 (en) 2016-03-31 2019-07-02 Snap Inc. Automated avatar generation
US10686899B2 (en) 2016-04-06 2020-06-16 Snap Inc. Messaging achievement pictograph display system
US9917862B2 (en) 2016-04-14 2018-03-13 Airwatch Llc Integrated application scanning and mobile enterprise computing management system
US9916446B2 (en) 2016-04-14 2018-03-13 Airwatch Llc Anonymized application scanning for mobile devices
US9813642B1 (en) 2016-05-06 2017-11-07 Snap Inc. Dynamic activity-based image generation
US10474353B2 (en) 2016-05-31 2019-11-12 Snap Inc. Application control using a gesture based trigger
US9681265B1 (en) 2016-06-28 2017-06-13 Snap Inc. System to track engagement of media items
US11507977B2 (en) 2016-06-28 2022-11-22 Snap Inc. Methods and systems for presentation of media collections with automated advertising
US10182047B1 (en) 2016-06-30 2019-01-15 Snap Inc. Pictograph password security system
US11334768B1 (en) 2016-07-05 2022-05-17 Snap Inc. Ephemeral content management
CN107659536A (zh) * 2016-07-25 2018-02-02 中兴通讯股份有限公司 一种应用区块链的方法、装置及系统
US10552968B1 (en) 2016-09-23 2020-02-04 Snap Inc. Dense feature scale detection for image matching
US10609036B1 (en) 2016-10-10 2020-03-31 Snap Inc. Social media post subscribe requests for buffer user accounts
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
US10412198B1 (en) 2016-10-27 2019-09-10 F5 Networks, Inc. Methods for improved transmission control protocol (TCP) performance visibility and devices thereof
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
KR102327511B1 (ko) 2016-11-01 2021-11-17 스냅 인코포레이티드 고속 비디오 캡처 및 센서 조절
US10505792B1 (en) 2016-11-02 2019-12-10 F5 Networks, Inc. Methods for facilitating network traffic analytics and devices thereof
US10740939B1 (en) 2016-12-09 2020-08-11 Snap Inc. Fast image style transfers
US10242477B1 (en) 2017-01-16 2019-03-26 Snap Inc. Coded vision system
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
US10374993B2 (en) 2017-02-20 2019-08-06 Snap Inc. Media item attachment system
US11019001B1 (en) 2017-02-20 2021-05-25 Snap Inc. Selective presentation of group messages
US10878837B1 (en) 2017-03-01 2020-12-29 Snap Inc. Acoustic neural network scene detection
US10812266B1 (en) 2017-03-17 2020-10-20 F5 Networks, Inc. Methods for managing security tokens based on security violations and devices thereof
US10581782B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US11170393B1 (en) 2017-04-11 2021-11-09 Snap Inc. System to calculate an engagement score of location based media content
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
CN110800018A (zh) 2017-04-27 2020-02-14 斯纳普公司 用于社交媒体平台的朋友位置共享机制
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
US10382372B1 (en) 2017-04-27 2019-08-13 Snap Inc. Processing media content based on original context
US10943255B1 (en) 2017-04-28 2021-03-09 Snap Inc. Methods and systems for interactive advertising with media collections
US11343237B1 (en) 2017-05-12 2022-05-24 F5, Inc. Methods for managing a federated identity environment using security and access control data and devices thereof
US11122042B1 (en) 2017-05-12 2021-09-14 F5 Networks, Inc. Methods for dynamically managing user access control and devices thereof
US10679428B1 (en) 2017-05-26 2020-06-09 Snap Inc. Neural network-based image stream modification
CN108989157B (zh) * 2017-06-05 2021-11-26 北京京东尚科信息技术有限公司 用于智能设备控制的方法、装置
JP6911566B2 (ja) * 2017-06-21 2021-07-28 株式会社リコー 情報処理装置、制限解除方法及び制限解除プログラム
US10788900B1 (en) 2017-06-29 2020-09-29 Snap Inc. Pictorial symbol prediction
US11323398B1 (en) 2017-07-31 2022-05-03 Snap Inc. Systems, devices, and methods for progressive attachments
US11216517B1 (en) 2017-07-31 2022-01-04 Snap Inc. Methods and systems for selecting user generated content
US11164376B1 (en) 2017-08-30 2021-11-02 Snap Inc. Object modeling using light projection
US9980100B1 (en) 2017-08-31 2018-05-22 Snap Inc. Device location based on machine learning classifications
US10474900B2 (en) 2017-09-15 2019-11-12 Snap Inc. Real-time tracking-compensated image effects
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10891723B1 (en) 2017-09-29 2021-01-12 Snap Inc. Realistic neural network based image style transfer
US10872292B1 (en) 2017-10-09 2020-12-22 Snap Inc. Compact neural networks using condensed filters
US10599289B1 (en) 2017-11-13 2020-03-24 Snap Inc. Interface to display animated icon
US11551059B1 (en) 2017-11-15 2023-01-10 Snap Inc. Modulated image segmentation
US10885564B1 (en) 2017-11-28 2021-01-05 Snap Inc. Methods, system, and non-transitory computer readable storage medium for dynamically configurable social media platform
US10217488B1 (en) 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
US11017173B1 (en) 2017-12-22 2021-05-25 Snap Inc. Named entity recognition visual context and caption data
US10523606B2 (en) 2018-01-02 2019-12-31 Snap Inc. Generating interactive messages with asynchronous media content
US11223689B1 (en) 2018-01-05 2022-01-11 F5 Networks, Inc. Methods for multipath transmission control protocol (MPTCP) based session migration and devices thereof
CN108600150B (zh) * 2018-01-23 2021-06-25 南京思飞捷软件科技有限公司 数据采集平台与物联网终端配合的数据采集流程方法
US10482565B1 (en) 2018-02-12 2019-11-19 Snap Inc. Multistage neural network processing using a graphics processor
US10885136B1 (en) 2018-02-28 2021-01-05 Snap Inc. Audience filtering system
US10726603B1 (en) 2018-02-28 2020-07-28 Snap Inc. Animated expressive icon
US10327096B1 (en) 2018-03-06 2019-06-18 Snap Inc. Geo-fence selection system
US11310176B2 (en) 2018-04-13 2022-04-19 Snap Inc. Content suggestion system
US10719968B2 (en) 2018-04-18 2020-07-21 Snap Inc. Augmented expression system
US11487501B2 (en) 2018-05-16 2022-11-01 Snap Inc. Device control using audio data
CN109067844A (zh) * 2018-07-09 2018-12-21 上海瀚银信息技术有限公司 一种消息通讯系统
TWI703501B (zh) * 2018-08-23 2020-09-01 慧榮科技股份有限公司 具有分散式信箱架構的多處理器系統及其溝通方法
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US12003422B1 (en) 2018-09-28 2024-06-04 F5, Inc. Methods for switching network packets based on packet data and devices
US11297027B1 (en) 2019-01-31 2022-04-05 Snap Inc. Automated image processing and insight presentation
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
CN109951319B (zh) * 2019-02-22 2020-11-13 北京深思数盾科技股份有限公司 备份加密机管理员锁的方法和加密机设备
US10586082B1 (en) 2019-05-29 2020-03-10 Fellow, Inc. Advanced micro-location of RFID tags in spatial environments
US11134036B2 (en) 2019-07-05 2021-09-28 Snap Inc. Event planning in a content sharing platform
US11812347B2 (en) 2019-09-06 2023-11-07 Snap Inc. Non-textual communication and user states management
US11265281B1 (en) 2020-01-28 2022-03-01 Snap Inc. Message deletion policy selection
US11316806B1 (en) 2020-01-28 2022-04-26 Snap Inc. Bulk message deletion
US11625873B2 (en) 2020-03-30 2023-04-11 Snap Inc. Personalized media overlay recommendation
CN115699130A (zh) * 2020-03-31 2023-02-03 斯纳普公司 增强现实美容产品教程
US11700225B2 (en) 2020-04-23 2023-07-11 Snap Inc. Event overlay invite messaging system
US11843574B2 (en) 2020-05-21 2023-12-12 Snap Inc. Featured content collection interface
US11423652B2 (en) 2020-06-10 2022-08-23 Snap Inc. Adding beauty products to augmented reality tutorials
EP4165489A1 (en) 2020-06-10 2023-04-19 Snap Inc. Visual search to launch application
US11899905B2 (en) 2020-06-30 2024-02-13 Snap Inc. Selectable items providing post-viewing context actions
KR20230047480A (ko) 2020-08-13 2023-04-07 스냅 인코포레이티드 포즈 구동형 가상 효과들을 위한 사용자 인터페이스
CN113364830B (zh) * 2021-04-26 2023-07-07 福建天泉教育科技有限公司 一种长链接的缓存优化方法及系统
CN113778480B (zh) * 2021-07-28 2024-01-30 赤子城网络技术(北京)有限公司 弱联网环境下的数据更新方法、装置、电子设备和存储介质
US11973730B2 (en) 2022-06-02 2024-04-30 Snap Inc. External messaging function for an interaction system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001077815A2 (en) * 2000-04-05 2001-10-18 Tranceive Technologies, Inc. Method and apparatus for profiling in a distributed application environment
WO2002065280A2 (en) * 2001-02-14 2002-08-22 Sproqit Technologies, Inc. Platform-independant distributed user interface system architecture

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754765A (en) * 1993-11-24 1998-05-19 Intel Corporation Automatic transport detection by attempting to establish communication session using list of possible transports and corresponding media dependent modules
US5850517A (en) * 1995-08-31 1998-12-15 Oracle Corporation Communication link for client-server having agent which sends plurality of requests independent of client and receives information from the server independent of the server
US5826014A (en) * 1996-02-06 1998-10-20 Network Engineering Software Firewall system for protecting network elements connected to a public network
GB2311443A (en) * 1996-03-23 1997-09-24 Ibm Data message transfer in batches with retransmission
US5916307A (en) * 1996-06-05 1999-06-29 New Era Of Networks, Inc. Method and structure for balanced queue communication between nodes in a distributed computing application
US5857201A (en) * 1996-06-18 1999-01-05 Wright Strategies, Inc. Enterprise connectivity to handheld devices
US5832514A (en) * 1996-06-26 1998-11-03 Microsoft Corporation System and method for discovery based data recovery in a store and forward replication process
US5790789A (en) * 1996-08-02 1998-08-04 Suarez; Larry Method and architecture for the creation, control and deployment of services within a distributed computer environment
US6802068B1 (en) * 1996-10-16 2004-10-05 International Business Machines Corporation Addressless internetworking
US5895471A (en) * 1997-07-11 1999-04-20 Unwired Planet, Inc. Providing a directory of frequently used hyperlinks on a remote server
CA2220578A1 (en) * 1997-11-10 1999-05-10 Northern Telecom Limited Distributed service network
US6078948A (en) * 1998-02-03 2000-06-20 Syracuse University Platform-independent collaboration backbone and framework for forming virtual communities having virtual rooms with collaborative sessions
FI980985A (fi) * 1998-05-04 1999-11-05 Sonera Oy Järjestelmä ja menetelmä palvelupyynnön hajauttamiseksi
US6289212B1 (en) * 1998-09-16 2001-09-11 Openwave Systems Inc. Method and apparatus for providing electronic mail services during network unavailability
US6721288B1 (en) 1998-09-16 2004-04-13 Openwave Systems Inc. Wireless mobile devices having improved operation during network unavailability
US7136645B2 (en) * 1998-10-09 2006-11-14 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6424841B1 (en) * 1999-02-18 2002-07-23 Openwave Systems Inc. Short message service with improved utilization of available bandwidth
US6510550B1 (en) * 1999-05-12 2003-01-21 Intel Corporation Method and apparatus for providing intermittent connectivity support in a computer application
US7356494B2 (en) * 1999-05-19 2008-04-08 I.D. Systems, Inc. Robust wireless communications system architecture and asset management applications performed thereon
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US6289382B1 (en) * 1999-08-31 2001-09-11 Andersen Consulting, Llp System, method and article of manufacture for a globally addressable interface in a communication services patterns environment
US6792085B1 (en) * 1999-09-10 2004-09-14 Comdial Corporation System and method for unified messaging with message replication and synchronization
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US20020062395A1 (en) * 2000-01-21 2002-05-23 David Thompson Browser and network optimization systems and methods
US6877023B1 (en) * 2000-01-28 2005-04-05 Softwired, Inc. Messaging system for delivering data in the form of portable message formats between message clients
US20020049841A1 (en) * 2000-03-03 2002-04-25 Johnson Scott C Systems and methods for providing differentiated service in information management environments
WO2001067673A2 (en) * 2000-03-03 2001-09-13 Sri International Method and apparatus for updating information in a low-bandwidth client/server object-oriented system
US6687735B1 (en) 2000-05-30 2004-02-03 Tranceive Technologies, Inc. Method and apparatus for balancing distributed applications
WO2001080033A2 (en) * 2000-04-17 2001-10-25 Circadence Corporation System and method for implementing application -independent functionality within a network infrastructure
JP2004531780A (ja) * 2000-06-22 2004-10-14 マイクロソフト コーポレーション 分散型コンピューティングサービスプラットフォーム
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
AU2001296866A1 (en) * 2000-09-05 2002-03-22 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US7035828B2 (en) * 2000-10-25 2006-04-25 Topmoxie, Inc. Method and system for modifying and transmitting data between a portable computer and a network
US6947761B2 (en) * 2000-11-22 2005-09-20 Leap Wireless International Inc. Method and system for improving the efficiency of state information transfer over a wireless communications network
US6965765B2 (en) * 2001-05-17 2005-11-15 Palmsource, Inc. Transactional message-queue communication for wirelessly networked devices system and method
EP1405243A2 (en) * 2001-06-28 2004-04-07 Symbian Limited E-mail manager program for a wireless information device
WO2003021464A2 (en) * 2001-09-05 2003-03-13 Rubenstein, Allen, I. Secure remote access between peers
EP1456778A4 (en) * 2001-10-26 2006-05-24 Zeosoft Technology Group Inc SYSTEM FOR DEVELOPING, MANAGING AND OPERATING DISTRIBUTED CLIENTS AND SERVERS
US7269173B2 (en) * 2002-06-26 2007-09-11 Intel Corporation Roaming in a communications network
US8451809B2 (en) * 2007-04-13 2013-05-28 Hart Communication Foundation Wireless gateway in a process control environment supporting a wireless communication protocol

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001077815A2 (en) * 2000-04-05 2001-10-18 Tranceive Technologies, Inc. Method and apparatus for profiling in a distributed application environment
WO2002065280A2 (en) * 2001-02-14 2002-08-22 Sproqit Technologies, Inc. Platform-independant distributed user interface system architecture

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015532984A (ja) * 2012-09-11 2015-11-16 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド アプリケーションプラットフォームおよびアプリケーション間でログインステータスを共有するためのシステムおよび方法
WO2018037740A1 (ja) * 2016-08-23 2018-03-01 Line株式会社 プログラムを記録した記録媒体、情報処理方法、及び情報処理端末
JP2018032125A (ja) * 2016-08-23 2018-03-01 Line株式会社 プログラム、情報処理方法、及び情報処理端末

Also Published As

Publication number Publication date
US7912896B2 (en) 2011-03-22
EP1618727B1 (en) 2010-09-22
ATE482561T1 (de) 2010-10-15
GB0308991D0 (en) 2003-05-28
GB0408676D0 (en) 2004-05-19
EP1618727A2 (en) 2006-01-25
DE602004029244D1 (de) 2010-11-04
GB2401010A (en) 2004-10-27
CN1792076A (zh) 2006-06-21
CN1792076B (zh) 2010-08-18
WO2004095806A2 (en) 2004-11-04
US20070130255A1 (en) 2007-06-07
WO2004095806A3 (en) 2005-01-20

Similar Documents

Publication Publication Date Title
JP2007527557A (ja) 分散ソフトウェア・アプリケーションを含むデータ・アクセス、複製または通信システム
US11477173B2 (en) System and server for managing communications between end user devices
US7546453B2 (en) Certificate management and transfer system and method
EP2003842B1 (en) A method and devices for providing secure data backup from a mobile communication device to an external computing device
EP1819123B1 (en) Secure method of termination of service notification
US20050039048A1 (en) Efficient new e-mail discovery
WO2004095796A1 (en) A data access, replication or communication system comprising a message queuing communications platform

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100305

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100521

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100528

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101019