JP2016502806A - メッセージクライアントにサービスを提供するシステム及び方法 - Google Patents

メッセージクライアントにサービスを提供するシステム及び方法 Download PDF

Info

Publication number
JP2016502806A
JP2016502806A JP2015543143A JP2015543143A JP2016502806A JP 2016502806 A JP2016502806 A JP 2016502806A JP 2015543143 A JP2015543143 A JP 2015543143A JP 2015543143 A JP2015543143 A JP 2015543143A JP 2016502806 A JP2016502806 A JP 2016502806A
Authority
JP
Japan
Prior art keywords
message
service
update
mailbox
layer
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.)
Granted
Application number
JP2015543143A
Other languages
English (en)
Other versions
JP6101359B2 (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 ドロップボックス, インコーポレイテッド
Priority claimed from PCT/US2013/071066 external-priority patent/WO2014081863A1/en
Publication of JP2016502806A publication Critical patent/JP2016502806A/ja
Application granted granted Critical
Publication of JP6101359B2 publication Critical patent/JP6101359B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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/06Message adaptation to terminal or network requirements
    • 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/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content
    • 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/226Delivery according to priorities
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

クライアントアプリケーションインスタンスとメッセージサービスプロバイダとの間でメッセージを同期するシステム及び方法は、複数のクライアントメッセージングアプリケーションインスタンスに通信可能に連結された接続サービスと、クライアントアプリケーションインスタンスのメッセージの更新を格納するインバウンドメッセージデータキューとメールボックスサービス層からのメッセージの更新及び通知を格納するアウトバウンドメッセージデータキューとを有する第1の中間転送層と、第1の中間転送層を介して接続サービスに通信可能に連結されたメールボックスサービス層と、メールボックスサービス層宛てのキューに入れられたメッセージデータを含むメールボックスメッセージデータキューとメッセージサービス層宛ての待ち行例に入れられたメッセージの更新を含むメッセージサービスデータキューとを有する第2の中間転送層と、外部のメッセージサービスプロバイダとメッセージをやり取りするように構成されたメッセージサービス層とを含む。

Description

本発明は、一般にメッセージングの分野に関し、特に、メッセージングの分野におけるメッセージクライアントにサービスを提供する新規の有用なシステム及び方法に関する。
電子メールは、現代社会において広く普及した通信形態である。電子メールは、他者とやり取りするためのツールを超えて、ユーザの生活及びビジネスを整理し且つ管理するためのツールに成長した。電子メールの重要性にも関わらず、電子メールの構造はIMAP等の旧式の電子メールプロトコルに非常に依存している。プロトコルは、現在のコンピューティング環境のモバイル及びリアルタイムという特性を考慮して設計されていない。しかし、新しいメッセージングプロトコルが電子メールほど広く普及していないため、制限が多いにも関わらず、電子メールは依然として主要な通信形態の1つである。従って、メッセージングの分野において、メッセージクライアントにサービスを提供する新規の有用なシステム及び方法を作成する必要がある。本発明は、そのような新規の有用なシステム及び方法を提供する。
好適な一実施形態のメッセージクライアントにサービスを提供するシステム及び方法は、サービスプロバイダとインタフェースする更に効率的で応答の速いメッセージクライアントアプリケーションを提供するように機能する。システム及び方法は、クライアントアプリケーションインスタンスと電子メールサービスプロバイダとのインタフェースを容易にするが、その代わりに又はそれに加えて、ソーシャルメディアメッセージングサービス、インスタントメッセージングサービス、ニュース又はメディアストリームサービス、あるいは、あらゆる適切なメッセージサービスとインタフェースしてもよい。システム及び方法のいくつかの主な利点は、インテリジェントなメッセージストリームのローディング、リアルタイム非同期メッセージング動作、メッセージの書式設定の改善、オンライン/オフライン同期、更に応答の速いクライアントメッセージング動作のサポート及び/又は添付データの高速ローディングを含むことができる。そのような改善は、装置及びクラウドにおけるメッセージの協調管理により可能になるのが好ましい。システム及び方法は、電話、タブレット又はウェアラブルコンピュータ等の移動装置におけるメッセージクライアントアプリケーションを可能にするように設計可能であるが、あるいは、デスクトップコンピュータアプリケーション、ブラウザメールクライアント、TVに接続されたコンピューティングデバイス又は何らかの適切なメールアプリケーション等のあらゆる適切なコンピューティングデバイスと共に使用されてもよい。
本発明の好適な一実施形態のシステムを概略的に示す図である。 本発明の好適な一実施形態の方法を示すフローチャートである。 ネイティブメッセージフォーマットのデータオブジェクトの一例を示す図である。 メッセージフォーマットのマッピングの例を示すテーブルである。 保留メッセージの更新を処理する通信フローを示す図である。 第2の好適な実施形態のメッセージを同期する方法の通信フローを示す図である。 第3の好適な実施形態のメッセージを同期する方法の通信フローを示す図である。 好適な一実施形態のメッセージの競合を解消する通信フローを示す図である。
本発明の好適な実施形態の以下の説明は、本発明をそれらの好適な実施形態に限定することを意図せず、当業者が本発明を作成及び使用できるようにすることを意図する。
1.メッセージクライアントにサービスを提供するシステム
図1に示すように、好適な一実施形態のメッセージクライアントにサービスを提供するシステムは、メッセージサービス層110と、メールボックスサービス層120と、クライアントアプリケーション130と、転送層140とを含んでもよい。システムは、既存のメッセージングサービスの代理となり且つ更に効率的で応答の速いメッセージクライアントアプリケーションを可能にするように機能する。システムは、電子メールサービスプロバイダとインタフェースするために使用されるのが好ましいが、その代わりに又はそれに加えて、ソーシャルメディアメッセージングサービス、インスタントメッセージングサービス、ニュース又はメディアストリームサービス、あるいは、あらゆる適切なメッセージサービスとインタフェースしてもよい。システムのいくつかの主な利点は、インテリジェントなメッセージストリームのローディング、リアルタイム非同期メッセージング動作、メッセージの書式設定の改善、オンライン/オフライン同期、更に応答の速いクライアントメッセージング動作のサポート及び/又は添付データの高速ローディングを含んでもよい。そのような改善は、装置及びクラウドにおけるメッセージの協調管理により可能になるのが好ましい。システムは、電話、タブレット又はウェアラブルコンピュータ等の移動装置におけるメッセージクライアントアプリケーションを可能にするように設計されるのが好ましいが、あるいは、デスクトップコンピュータアプリケーション、ブラウザメールクライアント、TVに接続されたコンピューティングデバイス又は何らかの適切なメールアプリケーション等のあらゆる適切なコンピューティングデバイスと共に使用されてもよい。
システムは、メッセージサービス層110、第1の転送層140a、メールボックスサービス層120及び第2の転送層140bを含むバックエンドサーバインフラストラクチャを含むのが好ましい。バックエンドインフラストラクチャは、被管理分散型コンピューティングインフラストラクチャ、マルチテナントコンピューティングインフラストラクチャ、コンピューティングクラスタ又はあらゆる適切なインフラストラクチャにおいて実現可能である。構成要素は、プロバイダサーバ、負荷バランシング、キューイング、キャッシング、データベース、記憶装置又は他の構成要素として動作する種々のリソースを含んでもよい。バックエンドサーバインフラストラクチャは、クライアントアプリケーションをサポートするように実現されるのが好ましい。バックエンドインフラストラクチャは、メッセージプロバイダによりネイティブに提供されない高度な特徴をクライアントアプリケーション上で可能にする種々の設計特徴を含むのが好ましい。バックエンドインフラストラクチャは、クライアントアプリケーションの高度な特徴を調整する中間層として機能できる。
好適な一実施形態のメッセージサービス層110は、外部のメッセージサービスとインタフェースするように機能する。メッセージサービス層110は、分散型コンピューティングインフラストラクチャにおけるサーバであるのが好ましい。メッセージサービス層110は、メッセージサービスプロバイダとの間のメッセージ通信を管理するのが好ましい。メッセージサービスプロバイダは、Googleメール、Yahooメール、Hotmail又は他のメールサービス等の電子メールプロバイダであるのが好ましい。あるいは、メッセージサービスプロバイダは、ソーシャルネットワークメッセージング、インスタントメッセージング又は何らかの適切なメッセージングサービス等の別の形態のメッセージングサービスとインタフェースしてもよい。メッセージサービス層110は、外部のサービスプロバイダとの調整を可能にするタスクを実行するように共同で動作するサーバ及びサービスの集合であるのが好ましい。メッセージサービス層110は、増加した要求をサポートするようにバックエンド層のサービスが変化できるように、負荷バランシングを含んでもよい。各メッセージサービスプロバイダがカスタム実現例を有する場合があるため、メッセージサービス層110は、少なくとも1つの指定されたメッセージサービスプロバイダに対するシステムのメッセージ処理を定義するプロバイダモジュール又は構成要素を含むことができる。プロバイダモジュールは、特に所定のサービスプロバイダに対して構成されるのが好ましく、メッセージフォーマットの問題、メッセージの更新の解釈、専用の特徴又は機能、並びに/あるいは、メッセージサービスプロバイダに特有であってもよいあらゆる適切な処理を説明するためのルール及び処理命令を含む。
電子メールサービスプロバイダの場合、メッセージサービス層110は、メッセージを受信及び操作するために常時IMAP(インターネットメッセージアクセスプロトコル)接続を使用するのが好ましい。常時IMAP接続は、アカウント毎に作成されるのが好ましい。IMAP接続を確立するメッセージサービス層110の利点は、クライアントアプリケーションの数に関わりなくIMAP接続の制限を心配することなくメッセージと対話(やり取り)してもよい点である。例えばユーザは、種々の装置上で開いているクライアントアプリケーションの複数のインスタンスを有する場合があるが、クライアントアプリケーションが装置からのIMAP接続を個別に維持するのではなく、各インスタンスがIMAP接続を共有できる。送信メールは、SMTP(簡易メール転送プロトコル)接続又は何らかの適切なアウトバウンドメッセージプロトコル等の一般的な手段を介してメッセージサービスプロバイダに配信されるのが好ましい。それに加えて又はその代わりに、メッセージサービス層110は、POP MAPI/Exchange、サービスAPI及び/又は何らかの適切な接続等の接続を使用してメッセージサービスプロバイダと対話できる。更に、メッセージサービス層110は、クライアント/メールボックスサービスから配信されたアカウント又はメッセージの更新をメッセージプロバイダ上で実行する適切な動作に変換する。アカウント又はメッセージの更新は、新規フォルダを追加すること、メッセージをフォルダに分類すること、メッセージに星印を付けること、フォルダにフラグを付けること、メッセージに既読/未読マークを付けること及び/又はクライアントアプリケーションとメッセージサービスプロバイダとの間のあらゆる適切な更新を含むことができる。メッセージサービス層110のサーバは、複数のメッセージングアカウントを管理するのが好ましい。
更に、メッセージサービス層110は、メッセージプロバイダからデータをシステム内で使用するために変換できる。会話パーサは、電子メールの新しい部分を抽出してメールボックスのネイティブフォーマット(固有のフォーマット)に変換できる。種々の送信元又は種々のサービスプロバイダからの電子メールは、異なるフォーマット又はメタデータを含む場合がある。電子メールサービスのフォーマットのいくつかの構成要素は、サービスプロバイダ内で特定の特徴を可能にするように設定されてもよい。メールボックスのネイティブフォーマットを変換する場合、メッセージフォーマットは、システム内で使用できる一貫した均一なメッセージフォーマットに正規化されるのが好ましい。メッセージフォーマットをネイティブ(固有の)メッセージフォーマットに正規化することは、システム内の他の構成要素の設計を単純化し且つ種々のメッセージ送信元をシステムに一体化できるように機能する。この場合、ネイティブメッセージフォーマットは、メッセージのコンテンツ及びパラメータを具体化するための標準化データモデリング方法を説明する。更に、メッセージサービス層110は、クライアントアプリケーション又はシステムの他の部分からのメッセージの更新をメッセージサービスプロバイダに適合する命令に変換する論理を含む。「全てをアーカイブに入れる」、「ごみ箱を空にする」、「未読マークを付ける」及び/又は何らかの適切なメッセージ更新動作等の動作は、メッセージサービス宛てのメッセージの更新の処理及び通信を指示する論理を含むのが好ましい。
更に、メッセージサービス層110は、フォルダ内のメッセージ数等のメッセージプロバイダのメタデータパラメータを格納してもよい。好適な一実施形態において、メッセージスレッドが主要なメッセージ形態である。従って、メッセージサービス層110は個々のメッセージをメッセージスレッドに変換するか又は組み込んでもよい。スレッドは、別のメッセージへの返信メッセージ、メッセージの転送、件名を共有するメッセージ、メッセージの一部分を引用するメッセージ及び/又はメッセージの何らかの適切なグループ化等のあらゆる適切な関連するメッセージであってもよい。メッセージサービス110は、プロバイダのスレッドID又は受信箱走査処理を使用して、スレッドにメッセージを追加するのが好ましい。
好適な一実施形態のメールボックスサービス120は、クライアントアプリケーションに対するメールボックスを管理するように機能する。メールボックスサービス120は、クライアントアプリケーション130及びメッセージサービス110に通信可能に連結される中間サーバであるのが好ましい。メールボックスサービス120は、第1の中間転送層140aを用いてクライアントアプリケーション130に通信可能に連結され且つ第2の中間転送層140bを用いてメッセージサービス110に通信可能に連結されるのが更に好ましい。メールボックスサービス120は、最新のメッセージ通信に対して最適化されたカスタムネットワークプロトコルを活用するのが好ましい。プロトコルの一態様として、転送されたデータ、メッセージの更新が転送された時期を追跡し且つ当該データが適切に通信されることを保証するためにトークンシステムが使用されてもよい。あるいは、HTTP等の何らかの適切なプロトコルが使用されてもよい。メールボックスサービス120は、あらゆる数のサービスを提供してもよい。第1のサービスは、メッセージのウィンドウ化を含んでもよい。メッセージのウィンドウ化は、すぐに関係のあるメッセージのみがクライアントアプリケーションに転送されることを説明するのが好ましい。例えばメールボックスサービス120は、ユーザがまだ閲覧していない500個の未読メッセージが存在する場合でも、ユーザが自身の受信箱にアクセスした時に100個の最新メッセージに対する情報のみを転送するのが好ましい。メールボックスサービス層120又はメッセージサービス層110は、複数のメッセージストリームの状態及びウィンドウ化を管理できる。メッセージストリームは、異なるメッセージコレクションを説明するのが好ましい。クライアントアプリケーションは、メッセージストリームを設定するために頻繁なアクセスを提供するように設計可能である。電子メール受信箱フォルダは、1つのメッセージストリームであるのが好ましい。他のメッセージストリームは、アーカイブ、メッセージフォルダ、ラベル、特別なフォルダ(例えば、星印付きメッセージ又は保留メッセージ)及び/又は何らかの適切なメッセージコレクションを含むことができる。メッセージストリームをバックエンドインフラストラクチャ内に維持することにより、メッセージストリームを切り替える際の外部のサービスプロバイダのオンデマンドアクセスにより発生する遅延が回避される。メッセージの分類及び整理を適切に指示するために、ストリーム又はメッセージレコードが作成され且つ/又は変更されてもよい。例えばシステムは、分類履歴に従ってメッセージを更に整理できる。このように、メッセージを別のストリームに移動することにより、当該メッセージはクライアントアプリケーション上でユーザに対して提示される際にストリームの最上位に配置される。この分類整理は、時系列整理の最上位における上書き分類パラメータであってもよい。クライアントアプリケーションから更新を受信した場合、メールボックスサービス120は、更新をメッセージサービスの更新に更に変換してもよい。例えばメッセージがクライアントアプリケーション上の特定のリストに移動される場合、メールボックスサービスは、「メッセージスレッド1048をフォルダにコピーして削除するようGmailに指示する」という命令を作成してメッセージサービスに配信してもよい。
メールボックスサービス120は、保留データエンジンを更に含んでもよい。保留データエンジンは、条件が満たされた場合に条件付きでメッセージに動作が実行されるようにするように機能する。第1の変形例において、ユーザは、割り当てられたリマインダ条件と共にメッセージを保留メッセージリストに配置できる。リマインダ条件は通常は時間条件(例えば、「24時間後にリマインドする」、「6月22日にリマインドする」等)であるが、それに加えて又はその代わりに、リマインダ条件は、ユーザの地理位置、他のユーザの絶対地理位置、装置のユーザに対する他のユーザの地理位置、メッセージの別の受信者による返信、別のメッセージへの返信、装置のアクセス(例えば、デスクトップコンピュータ上で次回アクセスした時)、複数の条件に対するブール論理の組み合わせ、プログラム論理(例えば、アプリケーションプログラミングインタフェース、すなわち「API」を介してアクセスされる)及び/又はあらゆる適切な条件であってもよい。条件が満たされると、遅延データエンジンは適切な動作を実行できる。動作又は応答は、メッセージ又はメッセージスレッドを受信箱に移動することであるのが好ましい。これは、データをクライアントアプリケーション及び/又はメールボックスサービスに送出することを含んでもよい。あるいは、動作は、別のフォルダに移動すること、事前に作成された返信を送出すること、メッセージをアーカイブに入れること、メッセージを削除すること、ソーシャルネットワーク上で共有すること、警報を送出すること又は何らかの適切な動作等のあらゆる適切な動作であってもよい。
メールボックスサービス120は、システム内で使用するのに適切なフォーマットにメッセージを変換するメッセージ処理モジュールを含んでもよい。1つの好適なメッセージ変換として、電子メールの本文は均一なフォーマットに変換される。これは、HTMLフォーマットのメッセージをネイティブに変換可能なフォーマットに変換することを含むことができるのが好ましい。ネイティブに変換可能なフォーマットは、クライアントアプリケーション上でネイティブにレンダリングするために構成されるフォーマットである。これは、移動装置上での遅く且つ大量のリソースを使用するHTMLレンダリングを回避するように機能する。更に、HTMLコンテンツは、メッセージが単純化され且つ一貫した提示を有するように、正規化されるか、不要な部分が取り除かれるか又はストリップされてもよい。更に、メッセージのコンテンツは、システム内でメッセージコンテンツを保護するために難読化されてもよい。メッセージサービス層110は、添付データのフォーマットの変換を容易にするように構成された構成要素を更に含むことができる。添付データは、電子メールにおける写真又はファイルの添付等のメッセージコンテンツに含まれるメディアファイルであるのが好ましい。サービスは、添付データをメッセージのインライン項目に変換するのが好ましい。添付データサービスは、インライン項目におけるメディアリソース参照を格納し且つホストするのが好ましい。
好適な一実施形態のクライアントアプリケーション130は、メッセージに対するユーザインタフェース及び対話機能性を提供するように機能する。クライアントアプリケーション130は移動装置に対するものであるのが好ましいが、あるいは、デスクトップコンピュータ、テレビに接続されたコンピューティングデバイス、ウェブサイト、ブラウザのプラグイン又は何らかの適切なデバイスアプリケーションに対するアプリケーション等のあらゆる適切なデバイスアプリケーションに対するものであってもよい。本明細書中、クライアントアプリケーションを参照することは、装置にインストールされた一種のクライアントアプリケーションのインスタンスを示す。クライアントアプリケーションの複数のインスタンスが異なる装置及び/同一の装置上で有効になれる。異なるアプリケーションインスタンスは、異なるアプリケーション又はアプリケーションのリビジョンを動作するインスタンスを更に含むことができる。クライアントアプリケーション130は、HTMLウェブビューではなくネイティブにレンダリングされたビューを用いてメッセージを解釈するのが好ましい。あるいは、HTMLをレンダリングする欠点が殆どない場合、HTMLビューがクライアントアプリケーションにおいて使用されてもよい。クライアントアプリケーション130は、クライアントアプリケーションとメールボックスサービス120との間でメッセージをシームレスに同期するように機能する非同期メッセージ通信モジュールを含むのが好ましい。非同期メッセージ通信モジュールは、メッセージがロード及び送出されるのを待つユーザの負担を軽減するのが好ましい。非同期メッセージ通信モジュールは、ユーザ対話を妨げることなくバックグラウンドでネットワーク通信を実行するのが好ましい。クライアントアプリケーション130は、構成された少なくとも1つのメッセージアカウントを有するのが好ましいが、複数のメッセージアカウントを有してもよく、更に、メッセージアカウントは異なる種類であってもよい(例えば、電子メール及びソーシャルメディア)。あらゆる適切なインタフェースがクライアントアプリケーション130により使用されてもよいが、ジェスチャ利用メッセージ分類インタフェースは、メッセージ通信システムのリアルタイムであり且つ応答が速いという特性を活用するのが好ましい。
好適な一実施形態の転送層140は、メッセージサービス110、メールボックスサービス120及びクライアントアプリケーション130の間の通信を調整するように機能する。少なくとも2つの転送層140a及び140bが存在するのが好ましい。第1の転送層140aは、メッセージサービス110とメールボックスサービス120とを通信可能に連結するのが好ましい。第2の転送層は、メールボックスサービス120とクライアントアプリケーション130とを通信可能に連結するのが好ましい。転送層140は、双方の通信方向においてメッセージ及びデータ通信をキュー(待ち行列)に入れるのが好ましい。クライアント/メールボックス転送層は、送出メッセージ、メッセージ動作及び他の通信をメールボックスに対するインバウンド待ち行例に入れるのが好ましい。更に、クライアント/メールボックス転送層は、新規の電子メールメッセージ、スレッドの更新及びクライアントの応答(例えば、電子メールの送出完了、メッセージ保留完了)を含んでもよいクライアントに対するデータ及び応答を待ち行例に入れる。メッセージサービス/メールボックス転送層は、メールボックスからの電子メールサービス作業をメッセージサービスに対するインバウンドキューに入れるのが好ましい。更に、メッセージサービス/メールボックス転送層は、メッセージデータの更新をメールボックスサービスに対するインバウンドキューに入れる。キューはrabbitMQを使用するのが好ましいが、何らかの適切なキューフレームワークを使用してもよい。第2の転送層140は、接続サービスを更に含んでもよい。接続サービスは、クライアントアプリケーションからメールボックスサービスへの全ての接続を管理するのが好ましい。接続サービスは、クライアントアプリケーションのストリーム接続を許可し且つ確立するのが好ましい。複数のクライアントアプリケーションインスタンスが接続サービスへのストリーミング接続を有してもよく、接続サービスは、クライアント宛てデータを複数のクライアントアプリケーションに多重伝送する。例えばユーザは、ストリーム接続を用いる有効なクライアントアプリケーション(同一アカウントに対して構成された)を有する複数の装置を有してもよい。アウトバウンドメッセージは、種々のクライアントアプリケーションインスタンスに配信するために複数のストリーム接続にわたり同時に送信されるのが好ましい。装置毎に独立して維持される接続は、ほぼ同時に使用される。更に、接続サービスは、クライアントアプリケーションのリビジョン制御を管理し、サイズ選択データ圧縮、並びに/又は他の何らかの追加の接続及びストリーミングサービスを実現してもよい。
システムは、システムの分散部分の間のメッセージ管理における競合を解消するように機能する競合解消モジュールを更に含んでもよい。システムのサービスに提示される何らかの動作又は通信は、改訂識別子を含むトランザクション単位であるのが好ましい。改訂識別子は、現在のメッセージデータが最新であるか、現在有効なメッセージであるかを示すのが好ましい。これは、システム内のメッセージデータオブジェクトとメッセージのネイティブ環境(例えば、電子メールプロバイダ)とを最終的に一致させるために使用される。更に、改訂識別子は、クライアントアプリケーション内からユーザにより実行される動作を一貫性を解決するためにシステム内で処理される順序にするために、競合解消モジュールにより適用される。更に、システムは、動作がシステム内でオブジェクトに対してアトミックに完了されるように構成される。システムのいずれかの特定の部分における状態は他の部分と一致しなくてもよいが、メッセージプロバイダの状態と最終的に一致するのが好ましい。例えばユーザがメッセージを異なるフォルダに移動する場合、これらの移動はシステムを通って伝搬し、最終的にメッセージプロバイダがそれらの変更を反映する。競合が発生する場合、特定の構成要素からの状態が他の構成要素より優先される。いくつかの状況において、競合解消モジュールは、何らかの適切な動作が競合状態において優先されるようにしてもよい。競合解消モジュールの更なる態様は、メッセージシステム内でメッセージの会話、スレッド又はメッセージコレクションに対して実行される何らかの動作が、スレッドに到着した新規メッセージの数に対応する文書レベルの改訂を有するのが好ましい点である。これは、いずれかのメッセージサービスプロバイダから到着する受信箱フォルダからの新規電子メールがスレッドを受信箱に移動させるように機能する。
2.メッセージクライアントにサービスを提供する方法
図2に示すように、好適な一実施形態のメッセージクライアントにサービスを提供する方法S100は、メッセージサービスにおいて外部のメッセージサービスとメッセージを同期すること(S110)と、メールボックスサービスにおいてプロバイダのメッセージフォーマットとクライアントのメッセージフォーマットとの間で変換すること(S120)と、メールボックスサービスにおいて保留メッセージを管理すること(S130)と、クライアントアプリケーションにおいてクライアントのメッセージフォーマットのメッセージをネイティブに解釈すること(S140)と、メッセージサービス、メールボックスサービス及びクライアントアプリケーションの間でメッセージを協調して中継すること(S150)とを含んでもよい。方法は、既存のメッセージサービスをリアルタイムで応答の速いメッセージングインタフェースに要約するように機能する。方法は、高速で応答の速い電子メールアプリケーションを作成するために使用されるのが好ましい。方法は、電子メールサービスと一致させるために電子メールサービスと同期する一方で、既存の電子メールサービス及びメッセージを新規の改善された機能性に対して変形するのが好ましい。方法は、クライアントアプリケーションインタフェースを用いる分散型コンピューティングシステムとして使用されるのが好ましい。方法により、ユーザは改善された通信機能と共に既存のメッセージアカウントを使用できる。方法は、上述のシステムとほぼ同様のシステムを通じて実現されるのが好ましいが、あらゆる適切なシステムが代わりに使用されてもよい。方法S100は、2種類の同期の実施形態、すなわち、クライアントアプリケーションからメッセージングサービスへのメッセージデータを同期する方法S200と、メッセージサービスから少なくとも1つのクライアントアプリケーションへのメッセージデータを同期する方法S300とを更に含んでもよい。方法S100、方法S200及び方法S300は、あらゆる適切な組み合わせで使用可能である。
メッセージサービスにおいて外部のメッセージサービスとメッセージを同期することを含むブロックS110は、外部のメッセージサービスプロバイダとインタフェースするように機能する。好適な一実施形態において、外部のメッセージサービスは、Gmail、Yahoo Mail、Microsoft Exchange等の電子メールサービスプロバイダであるが、あるいは、ソーシャルネットワークAPI、インスタントメッセージングサービス又は何らかの適切なメッセージングサービスプロバイダであってもよい。電子メールプロバイダとインタフェースするメッセージサービスは、アカウント毎に常時IMAP接続を管理するのが好ましいが、あるいは、接続は、POP、Microsoft Exchange、サービスAPI及び/又は何らかの適切な接続であってもよい。単一のIMAP接続が、同一サービスアカウントの複数のメールボックスクライアントアプリケーションインスタンスにより使用されるのが好ましい。外部のメッセージサービスとメッセージを同期することは、メッセージサービスプロバイダからインバウンドメッセージを検索することを含むことができる。インバウンドメッセージが会話の一部である場合、メッセージを同期することは、会話をパースすることと、メッセージの新しい部分を抽出することと、当該部分をメールボックスサービスのフォーマットに変換することとを含んでもよい。外部のメッセージサービスとメッセージを同期することは、メッセージサービスプロバイダへクライアントのメッセージ対話を送信することを更に含むことができる。これは、アウトバウンドメッセージを送出すること、メッセージの状態を変更すること(例えば、既読マークを付けること)、メッセージの整理の状態を変更すること(例えば、メッセージをフォルダに移動すること、ラベルを追加すること、カテゴリに参照を追加すること)、並びに/あるいは、メッセージサービスプロバイダに通信される必要があるだろう何らかの適切な動作を含んでもよい。更に、同期することにより、メッセージのメタデータの追跡が管理されてもよい。例えばメッセージサービスは、特定のフォルダ内のメッセージ及び/又は未読メッセージの数を数えるか又は追跡してもよい。
メールボックスサービスにおいてプロバイダのメッセージフォーマットとクライアントのメッセージフォーマットとの間で変換することを含むブロックS120は、メッセージフォーマットを受信側のメッセージフォーマットに変換するように機能する。メッセージングサービスからのインバウンドメッセージは、クライアントのネイティブ(固有の)メッセージフォーマットに変換されるのが好ましい。ネイティブメッセージフォーマットは、簡素化されたデータフォーマットであるのが好ましく、効率的な配信及びクライアントアプリケーションによるレンダリングに対して設計される。ネイティブメッセージフォーマットに変換することは、HTMLフォーマットのメッセージをネイティブレンダリングフォーマットに変換することを含んでもよい。ネイティブメッセージフォーマットは、望ましくないコンテンツスタイリング属性及び不要な情報のコンテンツを取り除くのが好ましい。ネイティブのレンダリングフォーマットは、メッセージの側面をデータ交換オブジェクトのパラメータにパラメータ化するのが好ましい。1つの変形例において、ネイティブメッセージフォーマットは、図3に示すようなJSONオブジェクトである。図4に示すように、メッセージコンテンツの書式設定/スタイリング属性は、ネイティブにレンダリングされた異なるパラメータにマッピングされるのが好ましい。例えば段落タグ、divタグ、htmlタグ、headerタグ、bodyタグ及び他の適切なタグは空の文字列に置き換えられるのが好ましく、太字タグは太文字列パラメータに置き換えられ、アンカータグはテキスト及びURI参照の詳細を示すリンクパラメータに置き換えられ、且つ/あるいは、あらゆる適切なタグがメッセージに対して定義されたパラメータにマッピングされてもよい。ネイティブメッセージフォーマットは、クライアントアプリケーションにおいてメッセージの全体又は一部を選択的にネイティブ又はHTMLでレンダリングできるようにする「is HTML」パラメータを更に含むことができる。1つの更なる利点は、これによりメッセージコンテンツに対する一貫したスタイルを適用できることである。
変換することは、システムの添付データサービスに添付ファイルをアップロードすることと、添付データをインライン項目に変換することとを含んでもよい。この副処理は、電子メールに関連する使用例に特に適用可能である。添付データの変換は、他のメディアメッセージングのメッセージプロトコル及び媒体に同様に適用可能である。メッセージを更に効率的に送信でき、より柔軟で多様な方法で添付データを使用できる。添付データサービスへのアップロードは種々のアプリケーションを含むことができる。1つの変形例において、メッセージサービスは、オンラインデータホスティングソリューション(例えば、Dropboxサービス)と同期し、添付データサービスとのインタフェースにより更に豊富な対話機能が可能になる。例えばクライアントアプリケーションの他のユーザと添付データを共有することにより、添付データのリソースへのアクセスが共有される。換言すると、双方のユーザがインライン参照ファイルにアクセスできるため、添付データの1つのインスタンスのみが必要であってもよい。更に、メッセージは難読化されてもよく、これはプライバシーレベルを追加するように機能する。難読化されたメッセージは、メッセージがシステムを通過させられる際にユーザが読むことができないフォーマットである。難読化処理は、クライアントアプリケーション又はメッセージングサービスプロバイダに配信される場合は反転される。アウトバウンドメッセージ及び他のクライアントメッセージ対話は、メッセージサービスの更新に変換されるのが好ましい。例えば新規電子メールが送出されてもよく、電子メールは、メッセージサービスに配信するためのフォーマットに変換されてもよい。別の例において、ユーザはクライアントアプリケーション上でメッセージをアーカイブに入れてもよく、メッセージサービスはメッセージをアーカイブに入れるために更新する。
メールボックスサービスにおいて保留メッセージを管理すること(S130)を含むブロックS130は、自動保留メッセージの特徴を可能にするように機能する。保留メッセージエンジンは、上述したのとほぼ同様に保留メッセージを管理するのが好ましい。あるいは、保留メッセージは、メッセージングシステムの何らかの適切な構成要素における保留メッセージエンジンにより管理されてもよい。保留メッセージを管理することは、保留メッセージの更新を受信することと、条件の確認のために保留メッセージを監視することと、条件が有効になった場合にメッセージ応答をトリガすることとを含むのが好ましい。保留メッセージを管理することは、条件が満たされるまでメッセージを受信箱から削除する特徴を可能にするために使用可能である。条件は通常は時間に基づく条件であるが、あるいは、ユーザの地理位置、他のユーザの絶対地理位置、装置のユーザに対する他のユーザの地理位置、メッセージの別の受信者による返信、別のメッセージへの返信、装置のアクセス(例えば、デスクトップコンピュータ上で次回アクセスした時)、複数の条件に対するブール論理の組み合わせ、プログラム論理(例えば、APIを介してアクセスされる)に基づく条件及び/又はあらゆる適切な条件であってもよい。1つの変形例において、メッセージ応答は、メッセージを受信箱に追加することである。他のメッセージ応答は、メッセージを別のフォルダに移動すること、事前に作成された返信を送出すること、メッセージをアーカイブに入れること、メッセージを削除すること、ソーシャルネットワーク上で共有すること、警報を送出すること又はあらゆる適切な動作を含んでもよい。
図5に示すように、保留メッセージを管理すること(S130)は、保留動作を示すメッセージの更新を受信することと、メッセージの保留状態を反映するためにメッセージを更新することと、条件が満たされた場合にメッセージに対する選択された動作を呼び出すこととを含むのが好ましい。保留動作のメッセージの更新は、好ましくはメッセージ保留オプション(例えば、保留メッセージストリームへの項目の移動)の有効なユーザによる選択に応答して、クライアントアプリケーションから発信される。受信されると、メッセージは新しい場所に移動されるのが好ましい。保留された全てのメッセージを含む特別なメッセージフォルダ、リスト又はストリームが存在するのが好ましい。別の変形例において、保留メッセージを更に細かく分けるために、フォルダ又はラベルが作成されてもよい(例えば、翌日まで保留されるフォルダ、翌週まで保留されるメッセージ、1年以上保留されるメッセージ)。あるいは、メッセージは、アーカイブに入れられるか、変更されないか又は何らかの適切な方法で処理されてもよい。メッセージが再度整理される場合、これはメッセージングサービスプロバイダに通信され且つ同期されるのが好ましい。保留動作は、メッセージサービスプロバイダの保留動作に対して透明であるのが好ましい。メッセージサービスプロバイダは、メッセージが新規フォルダに移動されることを単に認識する。更に、保留データエンジンは、条件がトリガされるメッセージ及び条件に対する参照を格納するために、保留されたデータソースを更新するのが好ましい。保留メッセージを管理することは、保留メッセージの条件変数を監視することを更に含むことができる。条件が時間条件である場合、保留メッセージ動作を実行するように保留データエンジンに知らせるようにサービスを設定するために、時間警告又はスケジューリングシステムを使用できる。条件が予測できないか又は動的な性質である場合、システムは、それらの条件を積極的且つ継続的に監視してもよい。条件が満たされると、サービスはメッセージに対する条件付き動作を呼び出す。動作を呼び出すことにより、変化がメッセージサービスプロバイダ及びクライアントアプリケーションと同期されるのが好ましい。動作は、メッセージを受信箱に移動することを含む通知動作であるのが好ましい。メッセージを受信箱に移動することは、高い優先順位を付与してメッセージを受信箱に移動することを含むのが更に好ましい。高い優先順位を付与することは、メッセージが受信箱の最上位に表示されるように設定すること、メッセージにフラグを付けること、未読マークをつけること、メッセージの緊急性を高くすること、あるいは、メッセージに注目させるためのメッセージ及び/又はメッセージスレッドに対する何らかの適切な変更を含むことができる。遅延データエンジンは、メッセージを移動するためにメッセージ更新要求を作成するのが好ましい。システムの動作を介して、当該更新はメッセージサービスプロバイダに伝送される。メッセージサービスプロバイダに対する更新と同時に又はそれに応答して、メッセージを受信箱に移動するという要求がクライアントアプリケーションに通知される。
クライアントアプリケーションにおいてクライアントのメッセージフォーマットのメッセージをネイティブ(固有に)に解釈することを含むブロックS140は、メッセージの更新及び対話を表示及び受信するように機能する。メッセージは、メールボックスサービスからネイティブメッセージフォーマットで受信されるのが好ましい。メッセージは、ネイティブなアプリケーションビューのツールがメッセージコンテンツのネイティブにレンダリングされたリビジョンを作成する際に使用されてもよいように、メッセージの書式設定を符号化するのが好ましい。いくつかの変形例において、入力されるHTML電子メールからの書式設定は完全に除去されてもよい。他の変形例において、少なくとも書式設定のサブセットは、保存されるがネイティブビュー書式設定を介してレンダリングされてもよい。ネイティブなレンダリングに依存することにより、表示要素の更に効率的なレンダリングが可能になり、クライアントアプリケーションが速く応答するように見えるという利点を有する。クライアントアプリケーションにおける対話は、ユーザ入力に積極的に応答し且つ接続サービスへの通信を延期するのが好ましい。クライアントアプリケーションは、ロバストな非同期データ、メッセージ及びメッセージの更新の通信に依存するのが好ましい。例えばクライアントアプリケーションは、コンテンツのダウンロード又はコンテンツのアップロードに対する進行指標の視覚要素(例えば、スピナー)を避けることができてもよい。
メッセージサービス、メールボックスサービス及びクライアントアプリケーションの間でメッセージを協調して中継することを含むブロックS150は、クライアント装置とメッセージサービスとの間のメッセージのメッセージ配信を調整するように機能する。メッセージを中継することは、クライアントアプリケーションへのインバウンドメッセージを待ち行例に入れることと、クライアントアプリケーションからのアウトバウンドメッセージをキューに入れることと、メールボックスサービスへのメッセージデータを待ち行例に入れることと、メッセージサービスに対するメッセージの更新をキューに入れることとを含むのが好ましい。上述のように、クライアントアプリケーションとメールボックスサービスとの間の双方向通信を管理するための2つのキューと、メールボックスサービスとメッセージングサービスとの間の双方向通信を管理するための2つのキューとが存在してもよい。キューは、1つの通信方向に対するデータ及びメッセージの通信を管理する。データ及びメッセージの通信は、リアルタイム通信プロトコルを用いて通信されるのが好ましい。一実現例において、リアルタイム通信を容易にするためにnode.js及びウェブソケットが使用される。クライアントアプリケーションは、接続及びデータストリーミングを管理する接続サービスとの接続を確立してもよい。更に、メッセージは、クライアントアプリケーションとの通信においてウィンドウ化されるのが好ましい。特定のフォルダ又はストリーム内の全てのメッセージを送出するのと異なり、特定のウィンドウ内のメッセージ/スレッドのみが転送される。例えばユーザがクライアントアプリケーション上でフォルダを閲覧する場合、メールボックスサービスはフォルダの50個の最新メッセージのみを中継するのが好ましい。更に、メッセージを中継する場合、メッセージ通信に対して設計される専用のネットワーク通信プロトコルが使用されてもよい。あるいは、HTPP又は何らかの適切なプロトコルが使用されてもよい。
更に、方法は、中継メッセージの競合を解消することを含んでもよく、これは、メッセージの状態を最終的に一致させるように機能する。方法は、異なる装置に分散された複数の構成要素を用いて実現されるのが好ましい。通信が非同期であり且つキューに入れられることにより、クライアントアプリケーションの速度及び応答性は非常に速くなるが、場合によっては、メッセージの状態が異なるモジュール間で一致しないことがある。メッセージプラットフォームのいずれか1つの構成要素の状態は、内部で一致した状態を維持するのが好ましい。特に、クライアントアプリケーションは、クライアントアプリケーション上でのメールの状態を維持しつつ、あらゆる数のメッセージ対話を実行できる。例えばクライアントアプリケーションがネットワークにアクセスできない場合、ユーザはメッセージを読み、送出し、削除し且つ整理し続けられるのが好ましい。これらの変更は、クライアントアプリケーションがネットワークにアクセスできるようになった時にメールボックスサービスを介してメッセージサービスプロバイダに通信されるのが好ましい。メッセージの動作及びデータは、改訂番号を用いてマークを付けられるのが好ましい。状態の不一致は、改訂番号に従って解消されるのが好ましい。更に、メッセージシステムの異なる構成要素間で状態の優先順位が存在してもよい。例えば多くの場合、メッセージサービスはメッセージプロバイダと直接通信するため、メッセージサービスサーバにより設定されたメッセージの状態は他の構成要素より高い優先順位を有するのが好ましい。
更に、好適な一実施形態の方法は、メッセージデータの添付データを内部でルーティングされるデータファイルに変換することを含んでもよい。これは、添付データをメッセージコンテンツではなくアクセス可能なリソースとして処理するように機能する。電子メール又は他のメッセージの添付データはインライン添付データに変換されるのが好ましい。添付データは添付データサーバにアップロードされるのが好ましく、添付データのリソースへの参照がメッセージに含まれる。同様の変形例において、不必要な添付データ(例えば、電子メールの署名画像)が自動検出されてもよく、添付データはメッセージから完全に除去されるか又は隠されてもよい。ユーザが添付データを閲覧したい場合、ユーザはリンク又はボタンを有効にし、その結果、添付データサーバにおいて添付データが検索される。添付データは未変更であってもよいが、元のファイルの変更されたリビジョンであってもよい。例えば画像はモバイルで閲覧するためにサイズを縮小されてもよく、あるいは、他のメディアの種類は装置上で閲覧するために変換されてもよい。添付データサーバ/サービスは、元のファイルの変更された形態を自動的に生成してもよい。ピクチャは、アプリケーション内で使用するために生成された種々のサイズのセットを有してもよい。テキスト文書は、電子メール内で更に容易に使用される別のフォーマットに変換されてもよい。音楽又は映像ファイルは、クライアントアプリケーションにストリーミングするために変換されてもよい。更に、添付データは、ファイルホスティングサービスのユーザアカウントと同期可能である。例えばユーザは、Dropbox等のクラウドファイル同期プラットフォームに対するアカウントを認証してもよく、添付データは、ユーザアカウントのクラウドファイルシステムと同期可能である。
図6に示すように、好適な一実施形態のクライアントアプリケーションとメッセージサービスプロバイダとの間でメッセージを同期する方法S200は、接続サービスとクライアントアプリケーションとの間の複数のリアルタイム接続を維持すること(S210)と、クライアントアプリケーションとの接続を介してメッセージの更新を受信すること(S220)と、第1の転送層のインバウンドキューを介してメッセージングサービス層へメッセージの更新を送信すること(S230)と、メッセージの更新を一時的に格納すること(S240)と、第2の転送層のメッセージサービスキューを介してメールボックスサービス層へメッセージの更新を送信すること(S250)と、メッセージの更新をメッセージサービスプロバイダに適合するメッセージフォーマットに変換すること(S260)と、変換されたメッセージの更新をメッセージサービスプロバイダへ送信すること(S270)とを含む。方法S200は、クライアントアプリケーションからメッセージサービスプロバイダへメッセージの更新を配信するように機能する。メッセージの更新は、新規メッセージ、メッセージに対する返信、転送メッセージ、メッセージの削除、メッセージのアーカイブ、フォルダ/リスト/カテゴリへのメッセージの分類又は整理、メッセージに既読/未読マークを付けること、並びに/あるいはあらゆる適切なメッセージの動作又は変更を含むことができる。上記の実施形態と同様に、方法は、クライアントアプリケーションが電子メールプロバイダ等の既存のメッセージプロバイダとインタフェースできるようにすると同時に、複数の最新のアプリケーションの特徴を提供する。例えば方法S200は、リアルタイム接続機能、応答の速いオンライン/オフラインメッセージ処理及びメッセージのネイティブなレンダリング等をアプリケーションに提供する。方法S200はメッセージサービスプロバイダへのメッセージの送信を説明するが、方法S200は、他の説明される方法及び/又はそれらの変形例と共に実現されるのが好ましい。
接続サービスとクライアントアプリケーションとの間の複数のリアルタイム接続を維持することを含むブロックS210は、多くのリモートユーザ装置上で動作可能なアプリケーションとの通信チャネルを確立するように機能する。ブロックS210は、管理された接続を用いて接続サービスにおいて実現されるのが好ましい。ユーザがクライアントアプリケーションを開いた場合、クライアントアプリケーションはバックエンドインフラストラクチャのホストを呼び出すのが好ましい。その後、接続サービスは、開いた通信チャネルを作成する。1つの変形例において、接続サービスはウェブソケット接続を作成する。バックエンドインフラストラクチャは、共有リソース上のアカウントにサービスを提供するために実現されるのが好ましく、従って、接続サービスは、複数のアカウントに対する接続を維持するのが好ましい。更に、1つのアカウントに対するクライアントアプリケーションの複数のインスタンスは、2つ以上の確立された接続を有してもよい。メッセージの更新は、いずれの接続においても受信可能である。接続を確立する場合、クライアントアプリケーションのアカウントが認証されるのが好ましい。ブロックS210は、クライアントアプリケーションのリビジョン制御を管理することを更に含むことができる。クライアントアプリケーションとの接続が確立される場合、接続サービスはクライアントアプリケーションのリビジョン番号を確認する。リビジョン番号に基づいて、クライアントアプリケーションを無効にでき、特徴を無効/有効にでき、アップグレード通知を配信でき、あるいは、何らかの適切な動作を実行できる。
クライアントアプリケーションとの接続を介してメッセージの更新を受信することを含むブロックS220は、クライアントアプリケーションにより開始されたメッセージ、メッセージスレッド、メッセージの整理又はメッセージングアカウントに対する変更を受信するように機能する。開始されたメッセージの更新は、ユーザの動作に応答してバックエンドインフラストラクチャへ送信されるのが好ましい。1つの変形例において、単一のメッセージの更新が特定の時点でバックエンドインフラストラクチャに配信される。1つの変形例において、クライアントアプリケーションは、オフラインのメッセージ対話を可能にするように構成可能である。オフラインクライアントアプリケーションにおいて、ユーザは、ネットワークに接続せずに、表面上で、メッセージを変更し、メッセージを整理し、メッセージを削除し、メッセージを送出又は編集し、あるいは、あらゆる適切なメッセージの更新を行うことができる。クライアントアプリケーションは、メッセージの状態を維持するのが好ましく、改訂識別子を用いて内部でメッセージの更新にマークを付ける。クライアントアプリケーションがネットワークへの接続を確立する場合、接続サービスへの接続を介してメッセージの更新のバッチをアップロードできる。改訂識別子は、インフラストラクチャへのメッセージの更新に含まれるのが好ましく、クライアントアプリケーションがオフラインの間にメッセージサービスプロバイダにより発行されたメッセージの更新との競合を解消するために使用できる。説明したように、クライアントアプリケーションにおけるメッセージとメッセージサービスプロバイダにおけるメッセージとは最終的に一致する。
第1の転送層のインバウンドキューを介してメールボックスサービス層へメッセージの更新を送信することを含むブロックS230は、メールボックスサービス層へメッセージの更新をスケーラブルに転送するように機能する。メッセージキューは、クライアントアプリケーションインスタンスを介する種々のアカウントからのメッセージの更新の流入を処理する。1つの変形例において、単一のインバウンド待ち行例が全てのアカウントに対して使用されるが、あるいは、負荷又は処理負荷を分散するために、複数のピアにメッセージの更新を動的に配信できる。インバウンドキューは、rabbitMQ又はあらゆる適切なキューサービスを使用できる。メッセージの更新は、メールボックスサービス層の利用可能な容量に基づく割合でインバウンドキューから取り出されるのが好ましい。
メッセージの更新を一時的に格納することを含むブロックS240は、メッセージの更新をキャッシュして事前処理を実行するように機能する。ブロックS230はメールボックスサービスにおいて実行されるのが好ましく、メールボックスサービス層は、メッセージの更新をメッセージサービスの命令に変換するのが好ましい。例えばメッセージをアーカイブに入れるというメッセージの更新は、アーカイブに入れられる特定の電子メールスレッドを示す電子メールサービスの更新に変換可能である。更に、メールボックスサービスは電子メールメッセージを難読化でき、それにより、メッセージはユーザが実質的に読めないフォーマットになる。
ブロックS230と同様に、第2の転送層のメッセージサービスキューを介してメッセージングサービス層へメッセージの更新を送信することを含むブロックS250は、メッセージサービス層にメッセージの更新を転送するように機能する。ブロックS240は、ブロックS220とほぼ同様である。キューは、メールボックスサービス層により変換されたメッセージの更新を保持するのが好ましい。あるいは、キューは、あらゆる適切な形態のメッセージの更新を保持できる。
メッセージの更新をメッセージサービスプロバイダに適合するメッセージフォーマットに変換することを含むブロックS260は、メッセージサービスプロバイダへ送信するためにメッセージを用意するように機能する。変換は、上述した変換とほぼ同様である。メッセージの更新が新規のメッセージコンテンツを含む場合、ネイティブのメッセージの書式設定は適切なhtml要素又はプレーンテキストコンテンツに変換されるのが好ましい。変換は、メッセージの更新がキューから取り出されてメッセージサービス層で受信された際にメッセージサービス層において行われるのが好ましい。メッセージサービス層は、更新を完了するためにメッセージサービスプロバイダに中継される必要のある一連の命令にメッセージの更新を更に変換してもよい。この更なる変換は、使用されている特定のメッセージサービスプロバイダに対してカスタマイズされるのが好ましい。メッセージサービスプロバイダが電子メールサービスプロバイダである場合、IMAP命令が選択又は生成されてもよい。例えば電子メールメッセージをフォルダに移動するために、命令は、メッセージを移動する効果を達成するコピー、格納及び削除IMAPコマンドを含んでもよい。複数のメッセージプロバイダが使用される場合、ブロックS260は、適切なメッセージサービスモジュールを選択することを更に含んでもよい。
変換されたメッセージの更新をメッセージサービスプロバイダへ送信することを含むブロックS270は、メッセージの更新をメッセージサービスプロバイダと同期するように機能する。メッセージサービス層は、変換されたメッセージの更新を送信するのが好ましい。メッセージサービスプロバイダに接続するためにIMAP接続が使用されるのが好ましいが、あらゆる適切な接続が代わりに使用されてもよい。メッセージの更新は、発信元のクライアントアプリケーションにおいて構成されたアカウントの代わりに作成されるのが好ましい。単一のIMAP接続が維持されるのが好ましい。同一アカウントを有する異なるクライアントアプリケーションインスタンスから発信されたメッセージの更新はIMAP接続を共有できる。いくつかの例において、これによりIMAP接続の制限の実施を回避できる。
図7に示すように、好適な一実施形態のクライアントアプリケーションとメッセージサービスプロバイダとの間でメッセージを同期する方法S300は、メッセージサービスプロバイダからメッセージの更新を受信すること(S310)と、メッセージの更新をクライアントアプリケーションにおけるネイティブなレンダリングに適合するメッセージスレッドフォーマットに変換すること(S320)と、メールボックスサービスキューを介してメールボックスサービス層へ変換されたメッセージの更新を送信すること(S330)と、メッセージの更新をクライアントアプリケーションに通信できるまでメッセージの更新をキャッシュすること(S340)と、アウトバウンドキューを介して接続サービスへメッセージの更新を送信すること(S350)と、少なくとも1つのクライアントアプリケーションにメッセージの更新を通信すること(S360)とを含むことができる。方法S300は、S200と異なるメッセージ同期の例であり、すなわち、メッセージサービスプロバイダから発信されたメッセージの更新がシステムに接続された少なくとも1つのクライアントアプリケーションに配信される。方法S300は、方法S200と多くの共通点を共有できる。例えば、送信が逆方向である点を除いて、ブロックS330及びS350はそれぞれブロックS250及びS230とほぼ同様である。上述のように、方法S200及びS300は、方法S100の全体的な動作と同時に行われるのが好ましい。
メッセージサービスプロバイダからメッセージの更新を受信することを含むブロックS310は、メッセージングアカウントの状態をシステムに転送するように機能する。メッセージサービスプロバイダからのメッセージの更新は、メッセージサービスプロバイダにおけるあらゆる変更を含むことができる。これらの変更は、他のエンティティにより送出された新規の受信メッセージ又は外部のクライアント装置においてメッセージアカウントのユーザにより行われた変更に基づいてもよい。例えばユーザが外部のメッセージサービスプロバイダのウェブインタフェース上で新規フォルダに電子メールを移動した場合、当該変更をクライアントアプリケーションに通信できる。クライアントアプリケーションは、メッセージの状態の最終的な供給元として扱うことのできるメッセージサービスプロバイダと最終的に一致する状態に維持されるのが好ましい。そのようなメッセージの更新は、クライアントアプリケーションがコンテンツの部分にアクセスすることを要求した後にオンデマンドで開始されてもよい。このように、メッセージの状態の情報は、情報が必要な場合にクライアントアプリケーションに単に配信される。
メッセージの更新をクライアントアプリケーションにおけるネイティブなレンダリングに適合するメッセージスレッドフォーマットに変換することを含むブロックS320は、メッセージの更新をメッセージの更新の内部表現に変換するように機能する。メッセージサービス層は、メッセージの変換を判定するモジュール又は少なくとも1つのルールセットを含むのが好ましい。メッセージの更新を変換することは、メッセージサービスプロバイダからの通信をクライアントアプリケーションがネイティブに解釈できるフォーマットに正規化するのが好ましい。受信されるメッセージの更新は、割り当てられた改訂識別子を更に有してもよい。改訂識別子は、受信メッセージのタイムスタンプ又は命令が受信された時間に基づくのが好ましい。1つの例において、メッセージの更新は添付データを有する新規メッセージであってもよい。1つの変形例において、メッセージの更新をメッセージスレッドフォーマットに変換することは、ファイル添付データをインライン添付データに変更することを含んでもよい。添付ファイルは、アップロードされて添付データサービス上でホストされるのが好ましく、添付データのインライン参照がメッセージに挿入又は追加される。
メッセージの更新をクライアントアプリケーションに通信できるまでメッセージの更新をキャッシュすることを含むブロックS340は、クライアントアプリケーションがメッセージの更新を受信する用意ができるまでメッセージの更新を保持するように機能する。1つの変形例において、クライアントアプリケーションは接続サービスへの有効な接続を有しても有さなくてもよい。例えばユーザはアプリケーションを開かなくてもよく、あるいは、アプリケーションはスリープモードであってもよい。クライアントアプリケーションがメッセージの更新を受信する用意ができると、接続が確立され、キャッシュされたメッセージの更新を配信できる。1つの例において、メッセージの更新を配信するために使用されるリソースが空いていない場合があり、メールボックスサービス層は、コンテンツを配信する用意ができるまでメッセージの更新を保持する。メッセージの更新は、メールボックスサービス層において一時的にキャッシュ可能である。これは、メッセージの更新がメッセージサービスキューから取り出されてメールボックスサービス層で受信された際に行われるが好ましい。1つの変形例において、メールボックスサービス層又はメッセージサービス層は、アカウントのメッセージのモデルをキャッシュし、関連する部分のみをクライアントアプリケーションに配信できる。これにより、メッセージサービスプロバイダから負荷コンテンツをプルする必要がある場合の遅延が減少する。例えば殆どアクセスされないフォルダに含まれるメッセージは、バックエンドインフラストラクチャにおいて維持されてもよい。ユーザがクライアントアプリケーション上でフォルダにアクセスする場合、メッセージサービスプロバイダにフォルダのコンテンツを要求する必要なく、フォルダにコンテンツをポピュレートできる。同様の方法で、メッセージは、関連するメッセージのみがクライアントアプリケーションへ送信されるようにウィンドウ化/ページ化されるのが好ましい。例えばアカウントは100個以上の新規メッセージを有してもよいが、全てのメッセージをクライアントアプリケーションに転送する代わりに、最初の50個のメッセージが送信される。ユーザが更なるメッセージをスクロールするか又は要求した場合に、50個のメッセージのウィンドウ/バッチを動的に送信できる。
ブロックS360は、少なくとも1つのクライアントアプリケーションにメッセージの更新を通信することを含む。接続は、node.js及び圧縮されたウェブソケット等を使用するリアルタイム通信プロトコルを使用するのが好ましい。接続サービスは、クライアントアプリケーションへの高速配信を可能にするために、サイズ選択データ圧縮を実現するのが好ましい。1つの変形例として、接続サービスは、クライアントアプリケーション上の異なるアカウントインスタンス(すなわち、複数の装置上で使用されている同一アカウント)への複数の接続を含んでもよい。メッセージの更新を通信することは、複数のクライアントアプリケーションインスタンスへメッセージの更新を多重送信することを含むことができる。
更に、方法S300及び同様に方法S200は、競合を解消することを含むことができる。上述のように、メッセージの更新に改訂識別子を割り当てることができる。改訂識別子は、競合条件を判定するために使用可能である。更に、異なる層(例えば、メールボックスサービス層又はメッセージサービス層)又は異なる供給元(例えば、クライアントアプリケーションにより開始されたか又はメッセージサービスプロバイダにより開始さたか)は異なる権限の重み又はレベルを有することができ、それにより、改訂識別子のみを使用して競合を解消できない場合、優先順位が最も高い供給元の状態が現在の状態として扱われる。図8に示すように、クライアントアプリケーションによるメッセージの更新がメッセージサービスプロバイダによるメッセージの更新と競合する場合にメッセージの競合が発生することがある。競合解消エンジンは、競合している動作を識別して応答するのが好ましい。競合は、2つのメッセージの更新が競合する場合に検出されるか、あるいは、メッセージサービスプロバイダ又はクライアントアプリケーションのいずれかと交信している場合に発生する。
別の一実施形態は、コンピュータ可読命令を格納したコンピュータ可読媒体において上記の方法を実現するのが好ましい。命令は、メッセージ配信システムと組み合わされるのが好ましいコンピュータ実行可能構成要素により実行されるのが好ましい。コンピュータ可読媒体は、RAM、ROM、フラッシュメモリ、EEPROM、光学装置(CD又はDVD)、ハードドライブ、フロッピドライブ又は何らかの適切な装置等の何らかの適切な非一時的なコンピュータ可読記憶媒体に格納されてもよい。コンピュータ実行可能構成要素はプロセッサであるのが好ましいが、その代わりに又はそれに加えて、命令は何らかの適切な専用ハードウェア装置により実行されてもよい。
上記の詳細な説明、並びに図面及び特許請求の範囲から当業者には明らかなように、以下の特許請求の範囲において定義される本発明の範囲から逸脱することなく、本発明の好適な実施形態に対して変形及び変更を行うことができる。

Claims (25)

  1. システムであって、
    複数のクライアントメッセージングアプリケーションインスタンスと通信を行う接続サービスと、
    前記クライアントメッセージングアプリケーションインスタンスの1つ以上から入ってくるメッセージの更新、及び、前記複数のクライアントメッセージングアプリケーションインスタンスの1つ以上へ向かうメッセージの更新を、一時的に格納して処理するメールボックスサービス層と、
    1つ以上の外部のメッセージサービスプロバイダと通信を行うメッセージサービス層と、
    前記接続サービスと前記メールボックスサービス層との間を通信可能に連結する第1の中間転送層であって、前記複数のクライアントメッセージングアプリケーションインスタンスから前記メールボックスサービス層へのメッセージの更新を転送する第1のインバウンドメッセージデータキューと、前記メールボックスサービス層から前記複数のクライアントメッセージングアプリケーションインスタンスの1つ以上への通信のための前記接続サービスへのメッセージの更新を転送する第1のアウトバウンドメッセージデータキューとを含む、前記第1の中間転送層と、
    前記メールボックスサービス層と前記メッセージサービス層との間を通信可能に連結する第2の中間転送層であって、前記メッセージサービス層から前記メールボックスサービス層へのメッセージの更新を転送する第2のインバウンドメッセージデータキューと、前記メールボックスサービス層から前記メッセージサービス層へのメッセージの更新を転送する第2のアウトバウンドメッセージデータキューとを含む、第2の中間転送層と
    を備えることを特徴とするシステム。
  2. 前記メッセージサービス層は、少なくとも1つの電子メールメッセージサービスプロバイダを含む1つ以上の外部のメッセージサービスプロバイダと通信を行うことを特徴とする請求項1に記載のシステム。
  3. 前記メッセージサービス層は、前記外部の電子メールメッセージサービスプロバイダでメンテナンスされるアカウントへのIMAP接続をメンテナンスし、
    前記複数のクライアントメッセージングアプリケーションインスタンスは、前記アカウントとやり取りする少なくとも2つのクライアントメッセージングアプリケーションインスタンスを含むことを特徴とする請求項2に記載のシステム。
  4. 前記メールボックスサービス層と前記メッセージサービス層との1つ又は両方の中の2つ以上のメッセージの更新間での競合を解決する競合解決モジュールをさらに備えることを特徴とする請求項2に記載のシステム。
  5. 前記メッセージサービス層は、電子メールメッセージをネイティブクライアントフォーマットへ変換するメッセージプロセッサを備えることを特徴とする請求項2に記載のシステム。
  6. 電子メール添付物に対応するリソースを格納する添付サーバをさらに備え、
    前記メッセージプロセッサは、電子メールメッセージの電子メール添付物を、前記添付サーバによって格納されるリソースの参照に変換することを特徴とする請求項5に記載のシステム。
  7. 前記メッセージサービス層は、複数のサービスプロバイダモジュールを含み、
    前記複数のサービスプロバイダモジュールのそれぞれは、異なる複数の外部のメッセージサービスプロバイダの1つとやり取りすることを特徴とする請求項1に記載のシステム。
  8. 前記メールボックスサービス層は、メッセージの更新をメッセージに条件付きで適用する保留データエンジンを含むことを特徴とする請求項1に記載のシステム。
  9. 前記接続サービスは、リアルタイムプロトコル接続を用いて複数のクライアントメッセージングアプリケーションインスタンスと通信を行うことを特徴とする請求項1に記載のシステム。
  10. 前記リアルタイムプロトコル接続は、圧縮ウェブソケット接続を含むことを特徴とする請求項9に記載のシステム。
  11. 接続サービスにおいて、複数のクライアントアプリケーションインスタンスのうちの第1のクライアントアプリケーションインスタンスからメッセージの更新を受信する工程と、
    第1の転送層のインバウンドキューを通じてメールボックスサービス層へ前記メッセージの更新を送信する工程と、
    前記メールボックスサービス層において、前記メッセージの更新を一時的に格納する工程と、
    前記メールボックスサービス層から第2の転送層のメッセージサービスキューを通じてメッセージングサービス層へ前記メッセージの更新を送信する工程と、
    前記メッセージングサービス層において、前記メッセージの更新を、メッセージサービスプロバイダと互換性のあるメッセージフォーマットへ変換する工程と、
    前記メッセージングサービス層において、前記変換されたメッセージの更新を前記メッセージサービスプロバイダへ送信する工程と
    を備えることを特徴とする方法。
  12. 前記メールボックスサービス層において、前記第1のクライアントアプリケーションインスタンスから発行された前記メッセージの更新と、前記メッセージサービスプロバイダから発行された他のメッセージの更新との間のメッセージ状態の整合性の競合を、前記メールボックスサービス層で解決する工程をさらに含むことを特徴とする請求項11に記載の方法。
  13. 前記メッセージ状態の整合性の競合を解決する前記工程は、
    前記メッセージの更新のそれぞれにリビジョンの識別子を割り当てる工程と、
    前記リビジョンの識別子に基づいて前記メッセージ状態の整合性の競合を解決する工程と
    を含むことを特徴とする請求項12に記載の方法。
  14. 前記変換されたメッセージの更新をメッセージサービスプロバイダへ送信する前記工程は、
    前記第1のクライアントアプリケーションインスタンスと関連付けられる電子メールアカウントの電子メールアップデートを、該電子メールアカウントをメンテナンスする電子メールサービスプロバイダへ送信する工程を含むことを特徴とする請求項11に記載の方法。
  15. 前記メッセージの更新は、送信される新たな電子メールメッセージを含むことを特徴とする請求項14に記載の方法。
  16. 前記メッセージの更新は、電子メールメッセージのスレッドに適用される新たなラベルを含むことを特徴とする請求項14に記載の方法。
  17. メッセージサービス層において、メッセージサービスプロバイダから、アカウントに関連付けられたメッセージの更新を受信する工程と、
    前記メッセージサービス層において、クライアントアプリケーションインスタンスによるネイティブレンダリングと互換性のあるメッセージフォーマットに前記メッセージの更新を変換する工程と、
    メッセージサービスキューを通じてメールボックスサービス層へ前記変換されたメッセージの更新を送信する工程と、
    前記メールボックスサービス層において、前記アカウントと関連付けられたクライアントアプリケーションインスタンスに、通信における前記メッセージの更新をキャッシュする工程と、
    アウトバウンドキューを通じて接続サービスへ前記メッセージの更新を送信する工程と、
    前記接続サービスから、前記アカウントに関連付けられた前記クライアントアプリケーションインスタンスへ前記メッセージの更新を通知する工程と
    を含むことを特徴とする方法。
  18. 前記メッセージサービスプロバイダから受信される前記メッセージの更新と、前記アカウントに関連付けられた前記クライアントアプリケーションインスタンスから発行される他のメッセージの更新との間のメッセージ状態の整合性の競合を解決する工程をさらに含むことを特徴とする請求項17に記載の方法。
  19. 前記メッセージ状態の整合性の競合を解決する工程は、
    前記メッセージの更新のそれぞれにリビジョンの識別子を割り当てる工程と、
    前記リビジョンの識別子に基づき、前記メッセージ状態の整合性の競合を解決する工程と
    を含むことを特徴とする請求項18に記載の方法。
  20. クライアントアプリケーションインスタンスによるネイティブレンダリングと互換性のあるメッセージフォーマットに前記メッセージの更新を変換する前記工程は、
    メッセージ添付物をファイルに変換する工程と、
    添付サーバへ前記ファイルをアップロードする工程と、
    前記添付サーバ上で前記ファイルの位置への参照を、前記変換されたメッセージの更新に含める工程と
    を含むことを特徴とする請求項17に記載の方法。
  21. 前記クライアントアプリケーションインスタンスへ前記メッセージの更新を通知する前記工程は、
    前記クライアントアプリケーションインスタンスへのウィンドウ表示のメッセージの更新のセットの一部として、前記メッセージの更新を通知する工程を含むことを特徴とする請求項17に記載の方法。
  22. 複数のクライアントアプリケーションインスタンスとメッセージサービスプロバイダとの間のメッセージを同期させる方法であって、
    サーバプラットフォームのメッセージサービス層において、少なくとも1つの常時IMAP接続を通じて外部のメッセージサービスプロバイダと少なくとも1つのアカウントのメッセージの更新を同期させる工程と、
    前記サーバプラットフォームのメールボックスサービス層において、前記外部のメッセージサービスプロバイダのメッセージフォーマットと、クライアントメッセージフォーマットとの間の電子メールメッセージの更新を変換する工程と、
    前記サーバプラットフォームにおいて、前記外部のメッセージサービスプロバイダから発行されるメッセージの更新と、前記複数のクライアントアプリケーションインスタンスとの間の競合を解決する工程と、
    前記メッセージサービス層と、前記メールボックスサービス層と、前記クライアントアプリケーションインスタンスとの間のメッセージの更新を協働して中継する工程と
    を含み、
    前記メッセージの更新は、前記クライアントメッセージフォーマットの前記複数のクライアントアプリケーションインスタンスへ中継され、前記外部のメッセージサービスプロバイダの前記メッセージフォーマットで前記外部のメッセージサービスプロバイダへ中継されることを特徴とする方法。
  23. システムであって、
    複数のクライアントメッセージングアプリケーションインスタンスと通信を行う接続手段と、
    前記複数のクライアントメッセージングアプリケーションインスタンスの1つ以上から入ってくるメッセージの更新と、前記複数のクライアントメッセージングアプリケーションインスタンスの1つ以上へ向かうメッセージの更新を一時的に格納して処理するメールボックスサービス手段と、
    1つ以上の外部のメッセージサービスプロバイダと通信を行うメッセージサービス手段と、
    前記接続手段から前記メールボックスサービス手段へのメッセージの更新と、前記メールボックスサービス手段から前記接続手段へのメッセージの更新とをキューに入れて、転送する第1の転送手段と、
    前記メールボックスサービス手段から前記メッセージサービス手段へのメッセージの更新と、前記メッセージサービス手段から前記メールボックスサービス手段へのメッセージの更新とをキューに入れて、転送する第2の転送手段と
    を備えることを特徴とするシステム。
  24. 前記接続手段から前記メールボックスサービス手段へのメッセージの更新を転送するインバウンドキューイング手段と、
    前記メールボックスサービス手段から、前記複数のクライアントメッセージングアプリケーションインスタンスの1つ以上へ通信を行うための前記接続手段へメッセージの更新を転送するアウトバウンドキューイング手段と
    を備えることを特徴とする請求項23に記載のシステム。
  25. 前記第2の転送手段は、
    前記メッセージサービス手段から前記メールボックスサービス手段へメッセージの更新を転送するインバウンドキューイング手段と、
    前記メールボックスサービス手段から前記メッセージサービス手段へメッセージの更新を転送するアウトバウンドキューイング手段と
    を備えることを特徴とする請求項23に記載のシステム。
JP2015543143A 2012-11-20 2013-11-20 メッセージクライアントにサービスを提供するシステム及び方法 Active JP6101359B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261728635P 2012-11-20 2012-11-20
US61/728,635 2012-11-20
US14/084,142 US9935907B2 (en) 2012-11-20 2013-11-19 System and method for serving a message client
US14/084,142 2013-11-19
PCT/US2013/071066 WO2014081863A1 (en) 2012-11-20 2013-11-20 System and method for serving a message client

Publications (2)

Publication Number Publication Date
JP2016502806A true JP2016502806A (ja) 2016-01-28
JP6101359B2 JP6101359B2 (ja) 2017-03-22

Family

ID=50729006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015543143A Active JP6101359B2 (ja) 2012-11-20 2013-11-20 メッセージクライアントにサービスを提供するシステム及び方法

Country Status (4)

Country Link
US (2) US9935907B2 (ja)
EP (1) EP2909979B1 (ja)
JP (1) JP6101359B2 (ja)
CN (1) CN104823414A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102130005B1 (ko) * 2020-04-17 2020-07-03 국방과학연구소 응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버
US20220004694A1 (en) * 2018-11-13 2022-01-06 Illumy Inc. Methods, Systems, and Apparatus for Email to Persistent Messaging

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9654426B2 (en) 2012-11-20 2017-05-16 Dropbox, Inc. System and method for organizing messages
US9729695B2 (en) 2012-11-20 2017-08-08 Dropbox Inc. Messaging client application interface
US20140280071A1 (en) * 2013-03-15 2014-09-18 Nevada Funding Group Inc. Systems, methods and apparatus for providing access to online search results
US9680782B2 (en) 2013-07-29 2017-06-13 Dropbox, Inc. Identifying relevant content in email
US20150067066A1 (en) * 2013-08-27 2015-03-05 Saurabh Radhakrishnan Provisioning Communication Services using Proxy Server in a Cloud
RU2013144681A (ru) * 2013-10-03 2015-04-10 Общество С Ограниченной Ответственностью "Яндекс" Система обработки электронного сообщения для определения его классификации
WO2015143682A1 (zh) * 2014-03-27 2015-10-01 宇龙计算机通信科技(深圳)有限公司 信息发送方法及装置和信息接收方法及装置
US9930391B1 (en) * 2014-09-11 2018-03-27 Harmonic, Inc. Network personal video recorder utilizing personal digital storage
CN105700784A (zh) * 2014-11-28 2016-06-22 神讯电脑(昆山)有限公司 触控输入方法及其电子装置
US10277549B2 (en) * 2015-06-04 2019-04-30 Apple Inc. Prioritized email synchronization with server
US10454872B2 (en) * 2015-06-22 2019-10-22 Microsoft Technology Licensing, Llc Group email management
US10313455B2 (en) 2015-08-31 2019-06-04 Ayla Networks, Inc. Data streaming service for an internet-of-things platform
CN105488162B (zh) * 2015-11-30 2019-04-16 用友优普信息技术有限公司 数据处理方法及装置
US10263927B2 (en) * 2015-12-08 2019-04-16 International Business Machines Corporation Decluttering general communication message for specific audience
US10248709B2 (en) 2015-12-15 2019-04-02 Microsoft Technology Licensing, Llc Promoted properties in relational structured data
US11226985B2 (en) 2015-12-15 2022-01-18 Microsoft Technology Licensing, Llc Replication of structured data records among partitioned data storage spaces
US10235406B2 (en) 2015-12-15 2019-03-19 Microsoft Technology Licensing, Llc Reminder processing of structured data records among partitioned data storage spaces
US10599676B2 (en) 2015-12-15 2020-03-24 Microsoft Technology Licensing, Llc Replication control among redundant data centers
US11863509B2 (en) * 2015-12-18 2024-01-02 Amazon Technologies, Inc. Publish-subscribe message transformation
CN105578431B (zh) * 2016-01-20 2019-09-06 北京智驾互联信息服务有限公司 提醒消息发送装置及方法
CN106385382B (zh) * 2016-09-05 2020-06-23 福州佳软软件技术有限公司 一种数据同步方法、装置和系统
US10560404B2 (en) * 2017-06-14 2020-02-11 Citrix Systems, Inc. Real-time cloud-based messaging system
CN111566999B (zh) * 2017-08-03 2023-05-30 奥恩全球运营有限公司,新加坡分公司 使用不同消息格式的参与者之间的数据共享
CN109246239A (zh) * 2018-10-19 2019-01-18 行吟信息科技(上海)有限公司 一种私信处理方法及系统
US11025576B1 (en) * 2018-12-31 2021-06-01 Facebook, Inc. Techniques for backend-specific cursor tracking
US11055314B1 (en) 2018-12-31 2021-07-06 Facebook, Inc. Techniques for a database-driven messaging user interface
US10855761B1 (en) 2018-12-31 2020-12-01 Facebook, Inc. Techniques for in-place directive execution
US10979500B1 (en) * 2018-12-31 2021-04-13 Facebook, Inc. Techniques for directive-based messaging synchronization
EP3938877A4 (en) * 2019-03-11 2022-11-23 Supported Patient, LLC SYSTEM, PROCEDURE AND USER INTERFACE FOR RECORDED INFORMATION
FR3110317A1 (fr) * 2020-05-12 2021-11-19 Orange Smart Message Renderer
CN112035277A (zh) * 2020-08-14 2020-12-04 深圳市亿源通供应链管理有限公司 基于跨境电商平台的邮件处理方法、装置、设备及介质
US11991188B2 (en) 2021-06-11 2024-05-21 Bank Of America Corporation Cognitive auditing of client bound data
CN117271152A (zh) * 2023-09-04 2023-12-22 中电金信软件有限公司 应用实例信息的注册和查询方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001063875A2 (en) * 2000-02-25 2001-08-30 Mshift, Inc. System for automatic data retrieval on an internet protocol network
JP2010525740A (ja) * 2007-04-24 2010-07-22 デンジャー,インコーポレーテッド ワイヤレス・データ・サービス内において電子メール・メッセージをキャッシュする装置および方法
JP2011188327A (ja) * 2010-03-10 2011-09-22 Nomura Research Institute Ltd メッセージ収集システムおよびメッセージ収集プログラム

Family Cites Families (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7525691B2 (en) * 1991-02-12 2009-04-28 Catch Curve, Inc. Facsimile telecommunications system and method
US5754178A (en) 1993-03-03 1998-05-19 Apple Computer, Inc. Method and apparatus for improved feedback during manipulation of data on a computer controlled display system
US5740231A (en) * 1994-09-16 1998-04-14 Octel Communications Corporation Network-based multimedia communications and directory system and method of operation
US5822526A (en) 1996-06-03 1998-10-13 Microsoft Corporation System and method for maintaining and administering email address names in a network
US20050081059A1 (en) 1997-07-24 2005-04-14 Bandini Jean-Christophe Denis Method and system for e-mail filtering
US6545669B1 (en) 1999-03-26 2003-04-08 Husam Kinawi Object-drag continuity between discontinuous touch-screens
US7953671B2 (en) 1999-08-31 2011-05-31 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US8073477B2 (en) * 2000-04-11 2011-12-06 Telecommunication Systems, Inc. Short message distribution center
US8701027B2 (en) 2000-03-16 2014-04-15 Microsoft Corporation Scope user interface for displaying the priorities and properties of multiple informational items
WO2001078422A1 (en) * 2000-04-11 2001-10-18 Telecommunication Systems, Inc. Intelligent delivery agent for short message distribution center
AU2002239391A1 (en) * 2000-11-30 2002-06-11 Message Machines, Inc. Systems and methods for routing messages to communications devices
GB0117543D0 (en) 2001-07-18 2001-09-12 Hewlett Packard Co Document viewing device
WO2003013080A1 (en) * 2001-07-31 2003-02-13 Comverse Ltd. Email protocol for a mobile environment and gateway using same
WO2003071390A2 (en) 2002-02-19 2003-08-28 Postini Corporation E-mail management services
US7363345B2 (en) 2002-08-27 2008-04-22 Aol Llc, A Delaware Limited Liability Company Electronic notification delivery mechanism selection based on recipient presence information and notification content
WO2004025913A2 (en) 2002-09-12 2004-03-25 Navin Communications, Inc. Communications systems and methods for exchanging messages between users
JP4240973B2 (ja) 2002-09-26 2009-03-18 ソニー株式会社 画像処理システム、画像処理装置および方法、記録媒体、並びにプログラム
GB0226596D0 (en) * 2002-11-14 2002-12-24 Commtag Ltd Data communication systems
US7154901B2 (en) * 2003-02-07 2006-12-26 Mobile 365, Inc. Intermediary network system and method for facilitating message exchange between wireless networks
US7886236B2 (en) 2003-03-28 2011-02-08 Microsoft Corporation Dynamic feedback for gestures
US7483947B2 (en) 2003-05-02 2009-01-27 Microsoft Corporation Message rendering for identification of content features
US20050015432A1 (en) 2003-05-13 2005-01-20 Cohen Hunter C. Deriving contact information from emails
JP2005056233A (ja) 2003-08-06 2005-03-03 Nec Corp 移動体通信装置、移動体通信装置の電子メールの受信動作方法及びその電子メールの受信動作プログラム
US7685302B2 (en) * 2003-08-11 2010-03-23 Teamon Systems, Inc. Communications system providing extensible protocol translation and configuration features and related methods
US8135759B2 (en) * 2003-08-07 2012-03-13 Teamon Systems, Inc. Communications system including protocol interface device for use with multiple operating protocols and related methods
US7447219B2 (en) * 2003-09-29 2008-11-04 Redknee Inc. System and method for implementing a universal messaging gateway (UMG)
US7895537B2 (en) 2003-12-29 2011-02-22 International Business Machines Corporation Method and apparatus for setting attributes and initiating actions through gestures
US8005462B2 (en) 2004-02-17 2011-08-23 Teamon Systems, Inc. System and method of retrieving electronic mail
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US8683351B2 (en) 2004-10-26 2014-03-25 International Business Machines Corporation Chat user interface for threaded text chat systems
WO2006053019A2 (en) * 2004-11-08 2006-05-18 Sharpcast, Inc. Method and apparatus for a file sharing and synchronization system
US20060129633A1 (en) * 2004-12-14 2006-06-15 International Business Machines Corporation Mechanism to facilitate customization of real time messaging using mobile devices
US8849919B2 (en) 2005-02-04 2014-09-30 International Business Machines Corporation Space-efficient mail storing and archiving based on communication structure
US8195746B2 (en) * 2005-03-11 2012-06-05 International Business Machines Corporation Automatic off-line availability for document content linked in electronic mail messages
JP4928821B2 (ja) * 2005-04-28 2012-05-09 オセ−テクノロジーズ ビーブイ ネットワークシステムにおけるデジタル文書の取り扱い
US7565347B2 (en) 2005-08-10 2009-07-21 International Business Machines Corporation Indexing and searching of electronic message transmission thread sets
CN101273591B (zh) * 2005-09-29 2013-06-12 捷讯研究有限公司 协调无线通信设备与电子邮箱的电子邮件的系统及方法
US8775520B1 (en) * 2005-09-30 2014-07-08 Google Inc. Systems and methods for viewing non-HTML email attachments
ES2362359T3 (es) * 2005-12-02 2011-07-04 Microsoft Corporation Servicio de mensajes.
CN100450108C (zh) 2006-03-23 2009-01-07 华为技术有限公司 一种采用数据同步处理电子邮件的系统、装置及方法
US8054294B2 (en) 2006-03-31 2011-11-08 Sony Corporation Touch screen remote control system for use in controlling one or more devices
KR20070113025A (ko) 2006-05-24 2007-11-28 엘지전자 주식회사 터치스크린 장치 및 이의 작동방법
US20090278806A1 (en) 2008-05-06 2009-11-12 Matias Gonzalo Duarte Extended touch-sensitive control area for electronic device
US8402382B2 (en) 2006-04-21 2013-03-19 Google Inc. System for organizing and visualizing display objects
US7734705B1 (en) * 2006-06-21 2010-06-08 Wheeler Jr Roland E System and method for flexibly managing heterogeneous message delivery
CA2647019C (en) * 2006-06-27 2010-08-03 Teamon Systems, Inc. Electronic mail communications system with client email internet service provider (isp) polling application and related methods
US20080059590A1 (en) 2006-09-05 2008-03-06 Ecole Polytechnique Federale De Lausanne (Epfl) Method to filter electronic messages in a message processing system
US8253695B2 (en) 2006-09-06 2012-08-28 Apple Inc. Email client for a portable multifunction device
KR100774927B1 (ko) 2006-09-27 2007-11-09 엘지전자 주식회사 이동통신 단말기, 메뉴 및 아이템 선택방법
JP2008109381A (ja) * 2006-10-25 2008-05-08 Media Exchange Inc 電子メール送受信システム
CN100502572C (zh) * 2006-11-30 2009-06-17 华为技术有限公司 增大多媒体消息业务系统容量的方法及系统
AU2011253700B2 (en) 2007-01-05 2013-08-29 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US7956847B2 (en) 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US20080165145A1 (en) 2007-01-07 2008-07-10 Scott Herz Portable Multifunction Device, Method, and Graphical User Interface for Interpreting a Finger Swipe Gesture
WO2008101074A2 (en) * 2007-02-15 2008-08-21 Teamon Systems, Inc. Email communications system providing electronic file attachment folder hierarchy and related methods
US20080208980A1 (en) * 2007-02-26 2008-08-28 Michael Ruarri Champan Email aggregation system with supplemental processing information addition/removal and related methods
US20080222540A1 (en) 2007-03-05 2008-09-11 Apple Inc. Animating thrown data objects in a project environment
ES2353225T3 (es) * 2007-04-13 2011-02-28 Research In Motion Limited Sistema de distribuciã“n y sincronizaciã“n de correo electrã“nico (e-mail) de acceso directo con notificaciã“n de fuera de cobertura.
AU2008265491B2 (en) 2007-06-21 2014-09-11 Leviat Pty Ltd Releasable lifting link
US9619143B2 (en) 2008-01-06 2017-04-11 Apple Inc. Device, method, and graphical user interface for viewing application launch icons
US20090079699A1 (en) 2007-09-24 2009-03-26 Motorola, Inc. Method and device for associating objects
KR101397080B1 (ko) 2007-10-05 2014-05-21 엘지전자 주식회사 멀티 기능 실행능력을 갖는 휴대 단말기 및 그 방법
US20090150905A1 (en) * 2007-12-11 2009-06-11 Nortel Networks, Limited Integrating non-xml protocols into web browsing applications
JP2009151638A (ja) 2007-12-21 2009-07-09 Canon Inc 情報処理装置及びその制御方法
US8032894B2 (en) * 2007-12-28 2011-10-04 Aetna Inc. Service bus architecture
US8019863B2 (en) 2008-03-28 2011-09-13 Ianywhere Solutions, Inc. Synchronizing events between mobile devices and servers
US8077157B2 (en) 2008-03-31 2011-12-13 Intel Corporation Device, system, and method of wireless transfer of files
US20090254624A1 (en) 2008-04-08 2009-10-08 Jeff Baudin E-mail message management system
US20090276701A1 (en) 2008-04-30 2009-11-05 Nokia Corporation Apparatus, method and computer program product for facilitating drag-and-drop of an object
KR101461954B1 (ko) 2008-05-08 2014-11-14 엘지전자 주식회사 단말기 및 그 제어 방법
US8037280B2 (en) 2008-06-11 2011-10-11 Vmware, Inc. System and method for improving memory locality of virtual machines
KR101477743B1 (ko) 2008-06-16 2014-12-31 삼성전자 주식회사 단말 및 그의 기능 수행 방법
US8390577B2 (en) 2008-07-25 2013-03-05 Intuilab Continuous recognition of multi-touch gestures
US8195540B2 (en) * 2008-07-25 2012-06-05 Mongonet Sponsored facsimile to e-mail transmission methods and apparatus
US20100031202A1 (en) 2008-08-04 2010-02-04 Microsoft Corporation User-defined gesture set for surface computing
US9248376B2 (en) 2008-09-30 2016-02-02 Nintendo Co., Ltd. Computer-readable storage medium having stored game program therein, and game apparatus
US20100199226A1 (en) 2009-01-30 2010-08-05 Nokia Corporation Method and Apparatus for Determining Input Information from a Continuous Stroke Input
US8255468B2 (en) 2009-02-11 2012-08-28 Microsoft Corporation Email management based on user behavior
US8068786B2 (en) 2009-02-18 2011-11-29 Clear Wireless Llc Method for reducing time of flight interference in a wireless communication network
CN102326136A (zh) 2009-02-23 2012-01-18 捷讯研究有限公司 触摸敏感显示器及其控制方法
US8839155B2 (en) 2009-03-16 2014-09-16 Apple Inc. Accelerated scrolling for a multifunction device
US9250788B2 (en) 2009-03-18 2016-02-02 IdentifyMine, Inc. Gesture handlers of a gesture engine
US20100257241A1 (en) * 2009-04-02 2010-10-07 Demandforce, Inc. System and method for adaptive delivery of electronic comminucations
KR101640463B1 (ko) 2009-05-19 2016-07-18 삼성전자 주식회사 휴대 단말기의 운용 방법 및 이를 지원하는 휴대 단말기
KR101597553B1 (ko) 2009-05-25 2016-02-25 엘지전자 주식회사 기능 실행 방법 및 그 장치
US10410222B2 (en) * 2009-07-23 2019-09-10 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
US8619100B2 (en) 2009-09-25 2013-12-31 Apple Inc. Device, method, and graphical user interface for touch-based gestural input on an electronic canvas
US8312392B2 (en) 2009-10-02 2012-11-13 Qualcomm Incorporated User interface gestures and methods for providing file sharing functionality
KR101623783B1 (ko) 2009-10-08 2016-05-24 엘지전자 주식회사 이동 단말기 및 이것의 데이터 추출 방법
KR101478416B1 (ko) 2009-12-28 2014-12-31 모토로라 모빌리티 엘엘씨 입력 제스처들을 사용해서 터치 스크린에서 객체들을 연관시키는 방법들
US8692780B2 (en) 2010-01-06 2014-04-08 Apple Inc. Device, method, and graphical user interface for manipulating information items in folders
US8769443B2 (en) 2010-02-11 2014-07-01 Apple Inc. Touch inputs interacting with user interface items
JP5537181B2 (ja) * 2010-02-17 2014-07-02 株式会社日立製作所 メッセージシステム
GB2507941B (en) * 2010-02-22 2018-10-31 Avaya Inc Secure,policy-based communications security and file sharing across mixed media,mixed-communications modalities and extensible to cloud computing such as soa
EP2362592A1 (en) 2010-02-26 2011-08-31 Research In Motion Limited Automatic deletion of electronic messages
US20110289162A1 (en) * 2010-04-02 2011-11-24 Furlong Wesley J Method and system for adaptive delivery of digital messages
US20110296351A1 (en) 2010-05-26 2011-12-01 T-Mobile Usa, Inc. User Interface with Z-axis Interaction and Multiple Stacks
US20110295958A1 (en) 2010-05-26 2011-12-01 Research In Motion Limited Email system providing conversation update features and related methods
KR101677029B1 (ko) 2010-06-07 2016-11-17 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
US8738970B2 (en) 2010-07-23 2014-05-27 Salesforce.Com, Inc. Generating performance alerts
KR20120013727A (ko) 2010-08-06 2012-02-15 삼성전자주식회사 디스플레이장치 및 그 제어방법
JP5616739B2 (ja) 2010-10-01 2014-10-29 新日鉄住金マテリアルズ株式会社 複層銅ボンディングワイヤの接合構造
US9203796B2 (en) 2010-11-12 2015-12-01 Facebook, Inc. Messaging system with multiple messaging channels
CN103250115A (zh) 2010-11-17 2013-08-14 Flex Electronics ID Co.,Ltd. 多屏幕电子邮件客户端
US20120126727A1 (en) 2010-11-19 2012-05-24 Hamm Robert W Sub-Nanosecond Beam Pulse Radio Frequency Quadrupole (RFQ) Linear Accelerator System
US10303357B2 (en) 2010-11-19 2019-05-28 TIVO SOLUTIONS lNC. Flick to send or display content
US8429542B2 (en) 2010-11-23 2013-04-23 Microsoft Corporation Switching of emails in a conversation thread
US8689116B2 (en) 2011-01-14 2014-04-01 Apple Inc. Email user interface
US9824314B2 (en) 2011-01-14 2017-11-21 Apple Inc. Grouping email messages into conversations
US8291349B1 (en) 2011-01-19 2012-10-16 Google Inc. Gesture-based metadata display
US9015639B2 (en) 2011-02-11 2015-04-21 Linkedin Corporation Methods and systems for navigating a list with gestures
US8375400B2 (en) * 2011-02-11 2013-02-12 Research In Motion Limited Communication device and method for coherent updating of collated message listings
US8782566B2 (en) 2011-02-22 2014-07-15 Cisco Technology, Inc. Using gestures to schedule and manage meetings
US9632688B2 (en) 2011-03-31 2017-04-25 France Telecom Enhanced user interface to transfer media content
US9049259B2 (en) 2011-05-03 2015-06-02 Onepatont Software Limited System and method for dynamically providing visual action or activity news feed
US20120304074A1 (en) 2011-05-23 2012-11-29 Microsoft Corporation Device user interface to input emoji and other symbols
US9891800B2 (en) 2011-06-17 2018-02-13 Nokia Technologies Oy Method and apparatus for providing a notification mechanism
US8793591B1 (en) 2011-06-21 2014-07-29 Google Inc. Presentation of messages in multi-sectioned views
KR101948645B1 (ko) 2011-07-11 2019-02-18 삼성전자 주식회사 그래픽 오브젝트를 이용한 컨텐츠 제어 방법 및 장치
US20130054335A1 (en) 2011-08-29 2013-02-28 Ebay Inc. Mobile platform for generating and distributing deals
US20130067392A1 (en) 2011-09-12 2013-03-14 Microsoft Corporation Multi-Input Rearrange
KR101860342B1 (ko) 2011-09-15 2018-05-23 엘지전자 주식회사 이동 단말기 및 그 제어방법
US9594405B2 (en) 2011-10-19 2017-03-14 Facebook, Inc. Composite touch gesture control with touch screen input device and secondary touch input device
US20130104089A1 (en) 2011-10-20 2013-04-25 Fuji Xerox Co., Ltd. Gesture-based methods for interacting with instant messaging and event-based communication applications
US9360998B2 (en) 2011-11-01 2016-06-07 Paypal, Inc. Selection and organization based on selection of X-Y position
US8869041B2 (en) 2011-11-11 2014-10-21 Apollo Education Group, Inc. Dynamic and local management of hierarchical discussion thread data
JP5927872B2 (ja) 2011-12-01 2016-06-01 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
CN102495692A (zh) 2011-12-08 2012-06-13 青岛海信移动通信技术股份有限公司 一种识别用户手势操作的方法及电子产品
JP5832666B2 (ja) 2011-12-20 2015-12-16 インテル・コーポレーション 複数のデバイスにまたがる拡張現実表現
KR101882724B1 (ko) 2011-12-21 2018-08-27 삼성전자 주식회사 카테고리 검색 방법 및 이를 지원하는 단말기
CA2801663A1 (en) 2012-01-10 2013-07-10 Francois Cassistat Method of reducing computing time and apparatus thereof
US8886734B2 (en) 2012-02-03 2014-11-11 Apple Inc. Email mailbox management with sender-specific message lists
US8635561B1 (en) 2012-02-17 2014-01-21 Google Inc. System and method for sorting electronic documents
US20130290879A1 (en) 2012-04-30 2013-10-31 Research In Motion Tat Ab Displaying notification messages and messages on a portable electronic device
US8451246B1 (en) 2012-05-11 2013-05-28 Google Inc. Swipe gesture classification
US9196125B2 (en) 2012-05-29 2015-11-24 Zitro IP S.ar.l. Gaming machine and methods of playing a game including a skill-based target game
US20140123043A1 (en) 2012-10-31 2014-05-01 Intel Mobile Communications GmbH Selecting Devices for Data Transactions
US9654426B2 (en) 2012-11-20 2017-05-16 Dropbox, Inc. System and method for organizing messages
US9729695B2 (en) 2012-11-20 2017-08-08 Dropbox Inc. Messaging client application interface
KR101328202B1 (ko) 2012-12-03 2013-11-20 김정수 제스처 입력을 통한 기능 수행 명령실행 방법 및 장치
WO2014089763A1 (en) 2012-12-12 2014-06-19 Intel Corporation Single- gesture device unlock and application launch
US20150169068A1 (en) 2013-02-20 2015-06-18 Google Inc. Gestural Sorting of Content
US9304665B2 (en) 2013-04-05 2016-04-05 Yahoo! Inc. Method and apparatus for facilitating message selection and organization
US9680782B2 (en) 2013-07-29 2017-06-13 Dropbox, Inc. Identifying relevant content in email
US20150112749A1 (en) 2013-10-22 2015-04-23 Abdullah Celik Erdal Method and system for processing actionable messages of an integrated communication and collaboration platform
US9690910B2 (en) 2013-11-11 2017-06-27 Dropbox, Inc. Systems and methods for monitoring and applying statistical data related to shareable links associated with content items stored in an online content management service
US20150277717A1 (en) 2014-03-28 2015-10-01 Smart Technologies Ulc Interactive input system and method for grouping graphical objects
EP3007117A1 (en) 2014-10-08 2016-04-13 Deutsche Post AG Handling data about a company specific supply chain network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001063875A2 (en) * 2000-02-25 2001-08-30 Mshift, Inc. System for automatic data retrieval on an internet protocol network
JP2010525740A (ja) * 2007-04-24 2010-07-22 デンジャー,インコーポレーテッド ワイヤレス・データ・サービス内において電子メール・メッセージをキャッシュする装置および方法
JP2011188327A (ja) * 2010-03-10 2011-09-22 Nomura Research Institute Ltd メッセージ収集システムおよびメッセージ収集プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220004694A1 (en) * 2018-11-13 2022-01-06 Illumy Inc. Methods, Systems, and Apparatus for Email to Persistent Messaging
US11599704B2 (en) * 2018-11-13 2023-03-07 Illumy Inc. Methods, systems, and apparatus for email to persistent messaging
US11636250B2 (en) 2018-11-13 2023-04-25 Illumy Inc. Methods, systems, and apparatus for Text Message to persistent messaging
US11966684B2 (en) 2018-11-13 2024-04-23 Illumy Inc. Methods, systems, and apparatus for email to persistent messaging
KR102130005B1 (ko) * 2020-04-17 2020-07-03 국방과학연구소 응용프로그램 간 데이터 전송 지원 방법 및 이를 위한 서버

Also Published As

Publication number Publication date
EP2909979B1 (en) 2021-10-06
CN104823414A (zh) 2015-08-05
US20140143358A1 (en) 2014-05-22
EP2909979A1 (en) 2015-08-26
US20180191661A1 (en) 2018-07-05
US9935907B2 (en) 2018-04-03
US10178063B2 (en) 2019-01-08
JP6101359B2 (ja) 2017-03-22

Similar Documents

Publication Publication Date Title
JP6101359B2 (ja) メッセージクライアントにサービスを提供するシステム及び方法
WO2014081863A1 (en) System and method for serving a message client
US10594641B2 (en) Dynamic filter generation for message management systems
US20200220834A1 (en) Managing drafts of electronic documents across client devices
CN109194569B (zh) 通过消息收发来共享媒体文件的方法和装置
US20090086278A1 (en) Electronic facsimile delivery systems and methods
US20110314384A1 (en) method for handling email messages and attachments in a mobile communication system
US20140229554A1 (en) Mail server-based dynamic workflow management
US9294307B2 (en) Synchronization of conversation data
US20080235335A1 (en) Method, system, and computer program product for changing the status of an existing email in a recipient email client inbox
WO2018171453A1 (zh) 通讯方法及装置
US20140164534A1 (en) System for sending a content item through an online content management system
US20120005152A1 (en) Merged Event Logs
US11153240B2 (en) Method, system and computer program product for selectively adapting and transmitting messaging data
US10237223B2 (en) Deferring messages using control codes in messages
JP2016018222A (ja) キューサーバ
JP2008003961A (ja) 電子メール共有システム、電子メール共有方法、電子メール共有プログラム
Dias et al. REST-based Offline e-Mail System
JP2005202800A (ja) メッセージ端末、記憶装置、メッセージ端末の制御方法、メッセージ端末の制御プログラム、それを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150714

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150714

A59 Written plea

Free format text: JAPANESE INTERMEDIATE CODE: A59

Effective date: 20151008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170126

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: 20170203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170224

R150 Certificate of patent or registration of utility model

Ref document number: 6101359

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