JP2015505411A - ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージを混合提示するためのシステムおよび方法 - Google Patents

ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージを混合提示するためのシステムおよび方法 Download PDF

Info

Publication number
JP2015505411A
JP2015505411A JP2014553329A JP2014553329A JP2015505411A JP 2015505411 A JP2015505411 A JP 2015505411A JP 2014553329 A JP2014553329 A JP 2014553329A JP 2014553329 A JP2014553329 A JP 2014553329A JP 2015505411 A JP2015505411 A JP 2015505411A
Authority
JP
Japan
Prior art keywords
electronic
local
user
user device
store
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
JP2014553329A
Other languages
English (en)
Other versions
JP6279486B2 (ja
Inventor
マフード,ジャスティン・ビー
ノヴィツキー,ロバート・アール
アラゲサン,シュリ・ヴィディヤ
グレッグ,ライアン・イー
クリシュナスワミー,ソマナート
ウィードマン,ブルース・ディー
クマール,サウラブ
マイセルズ,ジョシュア・エイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015505411A publication Critical patent/JP2015505411A/ja
Application granted granted Critical
Publication of JP6279486B2 publication Critical patent/JP6279486B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • 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/234Monitoring or handling of messages for tracking messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

電子メッセージングクライアントは、リモートストア内の利用可能な電子メッセージの部分集合のコピーをユーザーデバイスのローカルストアにキャッシュする。ユーザーデバイスがオンライン状態にある場合、クライアントは、ローカルストアに既にキャッシュされている電子メッセージに関する情報、ならびにリモートストアにのみ記憶されている電子メッセージに関する情報をユーザーが同時に見ることができるよう、電子メッセージの混合提示を提供する。また、クライアントは、電子メッセージのコンテナーに関連する混合状態をユーザーデバイスのユーザーに提示し、ユーザーによる、ローカルストアに記憶されているキャッシュされた電子メッセージ、ならびにリモートストアに記憶されている電子メッセージの探索の実行を可能にする。

Description

本願発明の一実施例は、例えば、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージを混合提示するためのシステムおよび方法に関する。
[0001]多くの近代の電子メールクライアントは、電子メールメッセージおよび他のデータへの高速オフラインアクセスのためのローカルキャッシュを提供する。このようなローカルキャッシュは、電子メールサーバー上に同じく記憶されるユーザーのメールボックスの完全なコピーを含むことができる。過去10年間以上にわたって、メールボックス・ストレージ・クオータは、指数関数的に増加しており、現在では数ギガバイトのサイズになっている。大半のユーザーにとって、極端に古いデータに対するオフラインアクセスを提供するユーティリティはほとんど存在していないか、あるいは全く存在していない。さらに、メールボックスは非常に大きくなっているため、電子メールサーバーからのメールボックスデータのダウンロードがますます厄介になっており、かつ、性能に重大な影響を及ぼすことなく、このようなデータ上でローカルに動作させることがますます困難になっている。また、電子メールクライアントがインストールされるデバイスが限られたストレージフットプリントを有している場合(多くの近代の移動デバイスの場合と同様に)、ローカルキャッシュは、許容不可能な量の利用可能記憶空間を占有することになる。
[0002]いくつかの移動電子メールクライアントは、電子メールサーバー上で利用可能なユーザーの電子メールの部分集合のみをダウンロードし、かつ、ローカルに記憶することによって上記問題に対処するべく試行している。このような部分集合は、ローリング・タイム・ウィンドウによって定義することができる。例えば過去の7日間の間に受け取った電子メールのみを任意の所与の時間にローカルキャッシュに維持することができる。特定の実施態様では、タイム・ウィンドウのサイズを固定することができ、一方、他の実施態様では、ユーザーがタイム・ウィンドウのサイズを構成することができる。
[0003]このような移動電子メールクライアントは、受け取った最も新しい電子メールのみをダウンロードすることによってローカルキャッシュの記憶要件を限定することができるが、これらの電子メールクライアントは、アフォーダンス、すなわち電子メールサーバー上にのみ存在しているより古い電子メールメッセージの状態に関する任意の情報をユーザーに提供していない。通常、このようなより古い電子メールメッセージは、タイム・ウィンドウを広くすることによって(構成可能タイム・ウィンドウをサポートしている実施態様の場合)、もしくはこのようなより古い電子メールに対する探索を実行することによって、またはより多くのアイテムを増分的にダウンロードすることによってのみアクセスすることができる。いずれの場合においても、より古い電子メールのコピーをローカルキャッシュに記憶しなければならず、したがってユーザーの移動デバイス上の記憶空間を余計に占有している。
本願発明の一実施例は、例えば、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージを混合提示するためのシステムおよび方法に関する。
[0004]本明細書に組み込まれ、本明細書の一部をなしている添付の図面は、本発明の実施形態を示したものであり、説明と共に本発明の原理を説明し、かつ、関連する1つまたは複数の分野の技術者による本発明の構築および使用を可能にするためのさらなる働きをしている。
[0005]ある実施形態による、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージの混合提示を提供するあるシステム例のブロック図である。 [0006]ある実施形態による、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージを混合方式で提示するために使用することができる表示領域を示すブロック図である。 [0007]ある実施形態による、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージの混合提示を提供するための方法の流れ図である。 [0008]ある実施形態による、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージのコンテナーに関連する混合状態を提示するための方法の流れ図である。 [0009]ある実施形態による、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージのコンテナーに関連する混合状態を提示するための他の方法の流れ図である。 [0010]ある実施形態による、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージの混合探索を実施するための方法の流れ図である。 [0011]ある実施形態による、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージの混合探索を実施するための他の方法の流れ図である。 [0012]様々な実施形態を実施するために使用することができる、プロセッサーをベースとするあるシステム例のブロック図である。
[0013]本発明の特徴および利点は、図面に関連してなされる、以下に示されている詳細な説明からより明らかになるものと思われ、図面において、同様の参照文字は、すべての図面を通して対応する要素を識別している。図面において、同様の参照番号は、概して、全く同じ要素、機能的に同様の要素、および/または構造的に同様の要素を表している。ある要素が最初に出現する図面は、対応する参照番号の一番左側の1つまたは複数の桁によって示されている。
I.前置き
[0014]以下の詳細な説明では、本発明の例示的実施形態を示す添付の図面を参照する。しかしながら、本発明の範囲はこれらの実施形態に限定されず、これらの実施形態に代わって特許請求の範囲によって定義されている。したがって図面に示されている実施形態の修正バージョンなどの添付の図面に示されていない実施形態は、依然として本発明に包含されているものとする。
[0015]本明細書における「一実施形態」、「ある実施形態」、「ある実施形態例」、等々の参照は、説明されている実施形態が特定の特徴、構造または特性を含むことができることを示しているが、すべての実施形態が必ずしもその特定の特徴、構造または特性を含んでいなければならないわけではない。さらに、このような語句は、必ずしも同じ実施形態を意味しているわけではない。さらに、特定の特徴、構造または特性がある実施形態に関連して説明されている場合、それは、明確に説明されている、いないにかかわらず、このような特徴、構造または特性を他の実施形態と関連して実施するための、関連する1つまたは複数の分野の技術者の知識の範囲内に委ねられる。
[0016]本明細書において説明されている実施形態は、リモートストア内の利用可能な電子メッセージの部分集合のコピーをユーザーデバイスのローカルストアにダウンロードする。そうすることにより、ユーザーデバイスのユーザーは、ユーザーデバイスがオフライン状態であっても、自分の電子メッセージの部分集合にアクセスすることができる。ユーザーデバイスがオンライン状態にある場合、本明細書において説明されている実施形態は、ローカルストアに既にキャッシュされている電子メッセージに関する情報、ならびにリモートストアにのみ記憶されている電子メッセージに関する情報をユーザーが同時に見ることができるよう、電子メッセージの混合提示を提供する。このような電子メッセージに関する情報は、常にユーザーに提示することができ、したがってこのような電子メッセージに関する情報およびこのような電子メッセージの内容を異なるストアから得ることができるとしても、すべての電子メッセージが単一の統合されたリポジトリーの一部である印象がユーザーに与えられる。さらに、ユーザーデバイスがオンライン状態にある場合、ユーザーは、このようなリモート記憶されている電子メッセージをローカルストアにコピーする必要なく、リモート記憶されている電子メッセージに関する情報および/またはリモート記憶されている電子メッセージの内容を見ることができる。
[0017]本明細書において説明されている実施形態は、リモートストア内の利用可能なユーザーの電子メッセージの部分集合のみをダウンロードし、かつ、ローカルに記憶するため、これらの実施形態は、電子メッセージをダウンロードするために必要なネットワーク帯域幅の量、ローカルに記憶されている電子メッセージとリモートストアとを同期させるために必要な処理能力の量、およびローカルストアによって占有される記憶空間の量を低減する。
[0018]さらに、本明細書において説明されている実施形態は、ユーザーのリモート記憶されている電子メッセージの部分集合のみをダウンロードし、かつ、ローカルに記憶する従来の電子メッセージングクライアントに優る改善を示すが、それは、上記背景技術の節で説明したように、このような従来の電子メッセージングクライアントは、リモートストアのみに存在している電子メッセージに関する情報、またはリモートストアのみに存在している電子メッセージへのアクセスをユーザーに提供しないためである。リモートストアのみに存在している電子メッセージへのアクセスを獲得する代わりに、このような従来の電子メッセージングクライアントは、このようなより古い電子メールに対する探索を実行するために、あるいはより多くの電子メッセージを増分的にダウンロードするために、ローカルキャッシュされる電子メッセージを決定するために使用されるタイム・ウィンドウを広くするようにユーザーに要求することができる。いずれの場合においても、リモート記憶されている電子メッセージは、それをローカルストアにコピーすることによってユーザーデバイス上でのみ見ることができ、したがって記憶空間を占有する。一方、上で言及したように、本明細書において説明されている実施形態によれば、ユーザーは、このようなリモート記憶されている電子メッセージをローカルストアにダウンロードする必要なく、リモート記憶されている電子メッセージに関する情報および/またはリモート記憶されている電子メッセージの内容を見ることができる。
[0019]また、本明細書において説明されている実施形態は、コンテナーに記憶されている電子メッセージのうちのいくつかがユーザーデバイスのローカルストアにキャッシュされ、また、コンテナーに記憶されている電子メッセージのうちのいくつかはリモートストアにのみ利用することができるシナリオで、電子メッセージのコンテナーに関連する混合状態をユーザーデバイスのユーザーに提示することも可能である。混合状態は、例えばコンテナー中の、特定の状態(例えばコンテナーに含まれている、含まれていない、読まれている、読まれていない、フラグが立っている、立っていない、等々)を有する電子メッセージの数を表すアイテム数を含むことができる。
[0020]一般的に言えば、混合状態がコンテナーに対するアイテム数を含むある実施形態では、アイテム数は、ローカルアイテム数とデルタ量の和を取ることによって決定することができる。ローカルアイテム数は、コンテナーに含まれており特定の状態を有する、ユーザーデバイスのローカルストアに記憶された電子メッセージの数を表す。デルタ量は、リモートアイテム数とローカルアイテム数の最後の既知の差を表し、リモートアイテム数は、コンテナーに含まれており特定の状態を有する、リモートストアに記憶されている電子メッセージの数を表す。この方法でコンテナーに対するアイテム数を決定することにより、本明細書において説明されている実施形態は、ユーザーデバイスがオフライン状態にある間に、ユーザーがローカルアイテム数のみを変更する何らかのアクションを取る場合でも、コンテナー全体のための更新されたアイテム数をユーザーに提示することができる。さらに、この方法でコンテナーに対するアイテム数を決定することにより、本明細書において説明されている実施形態は、同期化プロセスの間、コンテナー全体のための更新されたアイテム数をユーザーに提示することができ、このような更新されたアイテム数は、このような同期化プロセスによってもたらされるローカルアイテム数に対する変化を反映する。
[0021]さらに、本明細書において説明されている実施形態は、ユーザーデバイスが電子メッセージングサーバーに接続されていることが決定されると、ユーザーデバイスのユーザーによる、ユーザーデバイスのローカルストアに記憶されているキャッシュされた電子メッセージ、ならびに電子メッセージングサーバーへのアクセスが可能なリモートストアに記憶されている電子メッセージの探索の実行を可能にすることも可能である。ローカルストアおよびリモートストアに対する探索によって得られる探索結果は、同じGUI内に提示することができる。探索結果で識別される、ローカルストアにキャッシュされている電子メッセージの内容を見ることをユーザーが要求すると、その電子メッセージの内容がローカルストアから取得される。探索結果で識別される、リモートストア内でのみ利用することができる電子メッセージの内容を見ることをユーザーが要求すると、その電子メッセージの内容がリモートストアから取得されるが、ローカルストアにキャッシュされない。
II.電子メッセージの混合提示のためのシステム例
[0022]図1は、ある実施形態によるローカルに記憶された電子メッセージとリモートに記憶された電子メッセージの混合提示を提供する、あるシステム例100のブロック図である。本明細書において使用されているように、「電子メッセージ」という用語には、電子形態(すなわち信号として)送信することができる任意のタイプのメッセージまたは情報のアイテムを広義に表すことが意図されている。電子メッセージの例には、それらに限定されないが、電子メールメッセージ、テキストメッセージ、マイクロブログポスト、カレンダーエントリー、タスク、ノート、コンタクト、等々がある。
[0023]図1に示されているように、システム100は、少なくとも1つの電子メッセージングサーバー102、およびネットワーク104を介して電子メッセージングサーバー102に通信接続することができる少なくとも1つのユーザーデバイス106を含む。
[0024]電子メッセージングサーバー102には、他の電子メッセージングサーバーを含む様々な他の実体から電子通信を受け取り、かつ、様々な他の実体へ電子通信を送るように構成される、プロセッサーをベースとする電子デバイスを表すことが意図されている。電子メッセージングサーバー102は、そのユーザーによる、電子メッセージングサーバー102によって受け取られた電子メッセージへのアクセス、および電子メッセージングサーバー102を介した他のユーザーデバイスへの電子メッセージの送信を可能にするために、ユーザーデバイス(ユーザーデバイス106など)上にインストールされる電子メッセージングクライアントと対話するようにさらに構成される。電子メッセージングサーバーによって受け取られ、かつ、送られる電子メッセージのコピーは、リモートストア132に記憶することができる。リモートストア132には、電子メッセージのコピーを記憶するのに適した任意の記憶装置またはシステムを広義に表すことが意図されている。
[0025]一実施形態では、電子メッセージングサーバー102は、複数のユーザー毎に電子通信の個別のリポジトリーを管理し、個々のこのようなリポジトリーは、リモートストア132に記憶することができる。これらの複数のユーザーの各々は、適切な電子メッセージングクライアントを使用して電子メッセージングサーバー102と対話することにより、自分のリポジトリーの少なくとも一部にアクセスすることができる。電子通信が電子メールを含むある実施形態では、このようなリポジトリーは、ユーザー電子メールメールボックスを含むことができる。当分野で知られているように、ユーザー電子メールメールボックスは、任意の数のサブ−メールボックスをさらに含むことができる。
[0026]ネットワーク104には、電子メッセージングサーバー102およびユーザーデバイス106などの電子デバイス間の通信を容易にするために適した任意のタイプのネットワークまたはネットワークの組合せを表すことが意図されている。ネットワーク104は、例えば、それらに限定されないが、広域ネットワーク、ローカル・エリア・ネットワーク、専用網、公衆網、パケット網、回線交換網、有線ネットワークおよび/または無線ネットワークを含むことができる。
[0027]ユーザーデバイス106には、ユーザーデバイス106上にインストールされる1つまたは複数のソフトウェアコンポーネントを実行することができる、プロセッサーをベースとする電子デバイスを表すことが意図されている。非制限の一例にすぎないが、ユーザーデバイス106は、パーソナルコンピューター、ラップトップコンピューター、タブレットコンピューター、スマートフォン、スマートテレビジョン、ゲーミングコンソール、パーソナル・メディア・プレーヤー、パーソナル・ディジタル・アシスタント、組込みデバイス、等々を備えることができる。
[0028]図1にさらに示されているように、ユーザーデバイス106は、ユーザーデバイス106上にインストールされる電子メッセージングクライアント110を含む。電子メッセージングクライアント110は、ユーザーデバイス106によって実行されると、電子メッセージングサーバー102と対話して、ユーザーによる草稿、送り、受取り、吟味、編成を可能にし、さもなければ電子メッセージの管理を可能にするソフトウェアを含む。電子メッセージが電子メールメッセージを含むある実施形態では、電子メッセージングクライアント110は、Washington州RedmondのMicrosoft Corporationによって発行された、あるバージョンのMICROSOFT(登録商標)OUTLOOK(登録商標)などの電子メールクライアントを含むことができる。しかしながらこの例は、それらに限定されないことが意図されている。
[0029]また、ユーザーデバイス106は、インストールされたソフトウェアコンポーネントがユーザーデバイス106のユーザーによる観察のために図形内容をレンダリングすることができるディスプレイ112を含む。例えば電子メッセージングクライアント110は、グラフィカル・ユーザー・インターフェース(GUI)132がディスプレイ112にレンダリングされるように構成される。GUI132は、ユーザーが電子メッセージングクライアント110の様々な機能および特徴を呼び出すことができる手段を含む。
[0030]ユーザーデバイス106は、本明細書においてはローカルキャッシュと呼ぶこともできるローカルストア114をさらに含む。ローカルストア114には、ユーザーデバイス106上に電子メッセージを記憶するのに適した任意のタイプの記憶装置またはシステムを広義に表すことが意図されている。電子メッセージングクライアント110は、リモートストア132内の、電子メッセージングクライアント110が利用することができる電子メッセージのコピーを獲得し、かつ、このようなコピーをローカルストア114に記憶するために、ネットワーク104を介して電子メッセージングサーバー102と周期的に対話するように構成される。例えば電子メッセージが電子メールを含むある実施形態では、電子メッセージングクライアント100は、リモートストア132に記憶されているユーザーメールボックスから電子メールのコピーを獲得し、かつ、このようなコピーされた電子メールをローカルストア114に記憶するために、ネットワーク104を介して電子メッセージングサーバー102と周期的に対話することができる。電子メッセージのコピーがローカルストア114に記憶されると、電子メッセージングクライアント110は、ユーザーデバイス106を電子メッセージングサーバー102に接続することができなくても、電子メッセージおよびその電子メッセージに関する情報をユーザーデバイス106のユーザーによるアクセスが可能にすることができる。
[0031]ある実施形態では、電子メッセージングクライアント110および/または電子メッセージングサーバー102は、ローカルストア114に記憶するために、リモートストア132内の、電子メッセージングクライアント110が利用することができる電子メッセージの部分集合のみをダウンロードすることができるように構成される。例えば電子メッセージングサーバー104が電子メールサーバーを含むある実施形態では、リモートストア132は、ユーザーの電子メールメールボックスの完全なコピーを記憶することができ、また、電子メッセージングクライアント110は、そのメールボックス内の電子メールメッセージの部分集合のみのコピーを周期的にダウンロードし、かつ、ローカルに記憶するように動作することができる。
[0032]様々な手法を使用して、ダウンロードされ、かつ、ローカルストア114に記憶される電子メッセージの部分集合を決定することができる。一実施形態では、ローリング・タイム・ウィンドウ(本明細書においては「同期化ウィンドウ」とも呼ばれる)が利用される。このような手法によれば、ローリング・タイム・ウィンドウ内で受取られた電子メッセージのみがダウンロードされ、かつ、ローカルストア114に記憶される。タイム・ウィンドウは、時間(例えば過去7日間、過去3ヶ月、等々)と共に前方へシフトするため、「ローリング」と言われる。タイム・ウィンドウがシフトすると、もはやタイム・ウィンドウ内ではない電子メッセージは、「エイジアウト」し、ローカルストア114から除去される。様々な時間分解能を使用して、タイム・ウィンドウをシフトさせる時期を決定することができる。例えば一実施形態では、時間分解能は1日である。
[0033]実施態様に応じて、ローリング・タイム・ウィンドウの長さをユーザーによる構成が可能な長さにすることができ、あるいはユーザーによる構成が不可能な長さにすることができる。例えば一実施形態では、ユーザーは、電子メッセージングクライアント110と対話し、それにより、それぞれ異なる長さを有する複数の定義済みローリング・タイム・ウィンドウのうちの1つを選択することができる。特定の実施態様では、ユーザーは、1ヶ月、3ヶ月、6ヶ月および12ヶ月のタイム・ウィンドウの間で選択することができる。特定の実施態様では、ユーザーは、タイム・ウィンドウを使用しないことを選択することができ、その場合、リモートストア132に記憶されているすべての電子メッセージのコピーがダウンロードされ、かつ、ローカルストア114に記憶されることになる。しかしながら、その動作モードは、本明細書において説明されている、電子メッセージの混合提示を取り扱う実施形態には必ずしも適切ではない。
[0034]上で示したローリング・タイム・ウィンドウの説明は、ダウンロードし、かつ、ローカルストア114に記憶するために、リモートストア132内の電子メッセージの部分集合を選択することができる1つの方法を示したものにすぎないことに留意されたい。他の方法を使用することも可能である。さらに、使用される方法は、電子メッセージのタイプに応じて変更することも可能である(例えば電子メッセージがカレンダーデータを表している場合、ローリング・タイム・ウィンドウを使用することはできない)。
[0035]上で説明したように、電子メッセージングクライアント110は、リモートストア132内の利用可能なユーザーの電子メッセージの少なくともいくつかをダウンロードし、かつ、ローカルストア114に記憶するため、電子メッセージングクライアント110は、ユーザーデバイス106を電子メッセージングサーバー102に接続することができない場合であっても、ユーザーによる、ローカルストア114に記憶されているすべての電子メッセージの内容に関する情報の獲得および吟味を可能にすることができる。さらに、電子メッセージングクライアント110は、リモートストア132内の利用可能なユーザーの電子メッセージの部分集合のみをダウンロードし、かつ、ローカルストア114に記憶することができるため、電子メッセージングクライアント110は、リモートストア132内の利用可能なユーザーの電子メッセージのすべてがローカルストア114にコピーされるある実施態様と比較すると、電子メッセージをダウンロードするためにネットワーク104上で必要な帯域幅の量、ローカルに記憶されている電子メッセージとリモートストア132とを同期させるために必要なユーザーデバイス106の処理能力の量、およびローカルストア114によって占有される記憶空間の量を低減することができる。
[0036]同じく図1に示されているように、電子メッセージングクライアント110は、混合提示論理122、混合状態論理124および混合探索論理126を含む。ある実施形態では、これらの構成要素の各々は、電子メッセージングクライアント110によって呼び出されるか、あるいは電子メッセージングクライアント110の一部を形成しているソフトウェアモジュールを備えている。
[0037]混合提示論理122は、ユーザーデバイス106が電子メッセージングサーバー102に接続されていることを決定するように動作する。混合提示論理122は、ユーザーデバイス106が電子メッセージングサーバー102に接続されていることの決定に応答して、ローカルストア114に既にキャッシュされている電子メッセージに関する情報、ならびにリモートストア132にのみ記憶されている電子メッセージに関する情報をユーザーが同時に見ることができるよう、GUI132を介して電子メッセージの混合提示を提供するように動作する。このような電子メッセージに関する情報は、常にユーザーに提示することができ、したがってこのような電子メッセージに関する情報およびこのような電子メッセージの内容を異なるストアから得ることができるとしても、すべての電子メッセージが単一の統合されたリポジトリーの一部である印象がユーザーに与えられる。さらに、混合提示論理122は、ユーザーデバイス106が電子メッセージングサーバー102に接続されている場合、このようなリモート記憶されている電子メッセージをローカルストア114にコピーする必要なく、リモートストア132に記憶されている電子メッセージに関する情報および/またはリモートストア132に記憶されている電子メッセージの内容をユーザーが見ることができるように動作する。混合提示論理122の動作方法に関するさらなる詳細は、以下の節II.A.に示されている。
[0038]混合状態論理124は、コンテナーに記憶されている電子メッセージのうちのいくつかがローカルストア114にキャッシュされ、また、コンテナーに記憶されている電子メッセージのうちのいくつかはリモートストア132内でのみ利用することができるシナリオで、電子メッセージのコンテナーに関連する混合状態をユーザーデバイス106のユーザーに提示するように動作する。混合状態は、例えばコンテナー中の、特定の状態(例えばコンテナーに含まれている、含まれていない、読まれている、読まれていない、フラグが立っている、立っていない、等々)を有する電子メッセージの数を表すアイテム数を含むことができる。
[0039]一般的に言えば、混合状態がコンテナーに対するアイテム数を含むある実施形態では、混合状態論理124は、ローカルアイテム数とデルタ量の和を取ることによってアイテム数を決定することができる。ローカルアイテム数は、コンテナーに含まれており特定の状態を有する、ローカルストア114に記憶されている電子メッセージの数を表す。デルタ量は、リモートアイテム数とローカルアイテム数の最後の既知の差を表し、リモートアイテム数は、コンテナーに含まれており特定の状態を有する、リモートストア132に記憶されている電子メッセージの数を表す。この方法でコンテナーに対するアイテム数を決定することにより、混合状態論理124は、ユーザーデバイス106がオフライン状態にある間に、ユーザーがローカルアイテム数のみを変更する何らかのアクションを取る場合でも、コンテナー全体のための更新されたアイテム数をユーザーに提示することができる。さらに、この方法でコンテナーに対するアイテム数を決定することにより、混合状態論理124は、同期化プロセスの間、コンテナー全体に対する更新されたアイテム数をユーザーに提示することができ、このような更新されたアイテム数は、このような同期化プロセスによってもたらされるローカルアイテム数に対する変化を反映する。混合状態論理124の動作方法に関するさらなる詳細は、以下の節II.B.に示されている。
[0040]混合探索論理126は、ユーザーデバイス106が電子メッセージングサーバー102に接続されていることが決定されると、ユーザーデバイス106のユーザーによる、ローカルストア114に記憶されているキャッシュされた電子メッセージ、ならびにリモートストア132に記憶されている電子メッセージの探索の実行を可能にするように動作する。ローカルストア114およびリモートストア132に対する探索によって得られる探索結果は、いずれもGUI132内に提示することができる。探索結果で識別される、ローカルストア114にキャッシュされている電子メッセージの内容を見ることをユーザーが要求すると、混合探索論理126は、その電子メッセージの内容をローカルストア114から取得することができる。探索結果で識別される、リモートストア132内でのみ利用することができる電子メッセージの内容を見ることをユーザーが要求すると、混合探索論理126は、電子メッセージングサーバー102との対話を介してリモートストア132からその電子メッセージの内容を取得することができるが、混合探索論理126は、その内容をローカルストア114にキャッシュしない。混合探索論理126の動作方法に関するさらなる詳細は、以下の節II.C.に示されている。
A.混合提示技法例
[0041]図2は、ユーザーデバイス106が電子メッセージングサーバー102に接続されていることが決定されると、混合提示論理122がGUI312を介して電子メッセージの混合提示を提供するように動作する方法を例証することが意図されたブロック図200である。
[0042]図2には、混合提示論理122によって管理されるGUI132の表示領域202が概略的に示されている。表示領域202は、例えば、ユーザーの電子メッセージに関する情報が提示されるGUI132内の窓すなわち観察ペインを含むことができる。このような情報は、電子メッセージに関する情報の任意のアイテムを幅広く含むことができる。例えば電子メッセージが電子メールメッセージを含むある実施形態では、このような情報は、それらに限定されないが、電子メールメッセージの送信側、電子メールメッセージの主題、電子メールメッセージが送られた日および/または時間、電子メールメッセージが受け取られた日および/または時間、電子メールメッセージに関する状態情報(例えば読まれている、読まれていない、フラグが立っている、立っていない)、等々を含むことができる。
[0043]表示領域202に表示される電子メッセージに関する情報は、実施態様に応じて様々な方法で編成することができる。例えばこのような情報は、表またはリストの形態で提示することができ、個々の電子メッセージに関する情報は、表の対応する行に表示され、あるいはリスト中の対応するアイテムとして表示される。他の実施態様によれば、電子メッセージに関する情報は、対応する電子メッセージを示すアイコンに関連して提示することができる。さらに他の提示方法を使用することも可能である。
[0044]電子メッセージに関する情報は、1つまたは複数のシステム定義基準および/またはユーザー定義基準に従って分類し、あるいは編成することができる。例えば電子メッセージに関する情報は、電子メッセージを受け取った日時に基づいて分類することができる。電子メッセージがリストとして提示されるある実施形態では、このような分類基準を使用することにより、リストの最初に出現する、受け取った最も新しい電子メッセージに関する情報、およびリストの最後に出現する、受け取った最も古い電子メッセージに関する情報が得られる。しかしながらこれは単なる一例にすぎず、広範囲にわたる様々な基準を使用して電子メッセージに関する情報を分類し、あるいは編成することができる。
[0045]電子メッセージがサブ−メールボックスおよび/またはサブ−フォルダーを含むことができる電子メールメールボックス内に分類された電子メールメッセージを含むある実施形態では、その電子メールメッセージに関する情報が表示窓202に表示される電子メールメッセージは、特定のメールボックス、サブ−メールボックスまたはサブ−フォルダーに記憶されている電子メールメッセージを含むことができる。
[0046]図2にさらに示されているように、表示領域202の第1の部分204は、同期化窓内に存在している電子メッセージに関する情報を提示するために使用される。上で説明したように、このような同期化窓を利用して、リモートストア132からローカルストア114にコピーされる電子メッセージを決定することができる。その電子メッセージに関する情報が表示領域202の第1の部分204に表示される電子メッセージは、ローカルストア114に記憶されるため、ある実施形態では、混合提示論理122は、表示領域202の第1の部分204に表示される電子メッセージ情報を、リモートストア132からではなく、ローカルストア114から得る。このようなデータは、図2に示されている、「オフライン」利用可能、と言うことができる。
[0047]同じく図2に示されているように、表示領域202の第2の部分206は、同期化窓の外側に存在している電子メッセージに関する情報を提示するために使用され、したがってローカルストア114に記憶されない。その電子メッセージに関する情報が表示領域202の第2の部分206に表示される電子メッセージは、ローカルストア114に記憶されないため、ある実施形態では、混合提示論理122は、ユーザーデバイス106が電子メッセージングサーバー102に接続されていることが決定されると、表示領域202の第2の部分206に表示される電子メッセージ情報を、電子メッセージングサーバー102内での対話を介してリモートストア132から得る。このようなデータは、図2に示されている、「オフライン」利用可能、と言うことはできない。
[0048]ローカルストア114にローカルキャッシュされている電子メッセージに関する情報、およびリモートストア132にリモート記憶されている電子メッセージに関する情報を、図2に示されている同じ表示領域202に同時に提示することにより、混合提示論理122は、混合提示論理122がこのような電子メッセージに関する情報およびこのような電子メッセージの内容を異なるストアから得ることができるとしても、すべての電子メッセージが単一の統合されたリポジトリーの一部である印象をユーザーに提供することができる。言い換えると、混合提示論理122は、混合提示論理122が電子メッセージおよびこれらの電子メッセージに関する情報のいくつかをローカルストア114から得ることができるとしても、リモートストア132に記憶されている電子メッセージのすべてに対するアクセスを有している、という意識をユーザーに提供することができる。
[0049]この混合効果を達成するために、混合提示論理122は、ローカルに記憶される電子メッセージおよびリモート記憶される電子メッセージをユーザーが容易に決定することができないよう、ローカル記憶およびリモート記憶されている電子メッセージに関する情報を本質的に同じ形態および/または方法で提示することができる。しかしながら、ある代替実施形態では、ローカルに記憶されている電子メッセージをリモート記憶されている電子メッセージから区別するために使用することができる何らかの種類の視覚表示を提供することができる。
[0050]特定の実施形態では、その電子メッセージに関する情報が表示領域202に提示される電子メッセージ毎に、ユーザーがこのような電子メッセージの内容をGUI132内に表示することができる手段が同じく提示される。例えばその手段は、ユーザーによって対話されると、その電子メッセージの内容がGUI132内に表示される個々の電子メッセージに関する情報に関連して提示されるコンポーネントを含むことができる。例えば個々の電子メッセージに関する情報がリスト中のアイテムとして表示されるある実施形態では、ユーザーは、リスト中の対応するアイテムをクリックオンすることによって電子メッセージの内容を見ることができる。さらに他のユーザー・インターフェース・コンポーネントを利用して、その電子メッセージに関する情報が表示領域202に提示される電子メッセージの内容の選択的一覧を容易にすることも可能である。
[0051]図2に示されている実施形態例にさらによれば、電子メッセージを見るためにユーザーが選択すると、混合提示論理122は、その電子メッセージの内容を取得し、かつ、このような内容をGUI132内に表示することができる。選択された電子メッセージのコピーがローカルストア114に記憶されている場合、混合提示論理122は、その電子メッセージの内容をローカルストア114から得ることができる。しかしながら、選択された電子メッセージのコピーがローカルストア114に記憶されていない場合(つまり選択された電子メッセージが同期化窓の外側である場合)、混合提示論理122は、電子メッセージングサーバー102との対話を介して、リモートストア132からその電子メッセージの内容を得ることができる。この後者の場合、混合提示論理122は、提示プロセスの一環として、リモート記憶されている電子メッセージのコピーをローカルストア114に記憶しない。つまり、リモート記憶されている電子メッセージの内容をユーザーデバイス106のメモリーに一時的にバッファーし、その表示を容易にすることは可能であるが、リモート記憶されている電子メッセージの内容を見るために使用されるGUI132の一部をユーザーが閉じると、このようなバッファーされたデータを廃棄することができる。当然、特定の状況では(例えば性能の理由から)、混合提示論理122は、リモート記憶されている電子メッセージのコピーをローカルストア114に記憶することができる。
[0052]一実施形態では、混合提示論理122は、ユーザーデバイス106が電子メッセージングサーバー102に接続されていることが決定されたとしても、最初は、同期化窓内に存在している電子メッセージに関する情報のみを表示領域202に提示することができる。このようなある実施形態にさらによれば、混合提示論理122は、上で説明した混合方式で、同期化窓の外側に存在している電子メッセージに関する情報を同じく表示領域202に表示させるためにユーザーが対話することができるコンポーネントをGUI132内に提供することができる。このような対話コンポーネントは、その機能の視覚表示を含むことができ、あるいはその機能の視覚表示を付随させることができる。例えばこのような対話コンポーネントは、「より多くのメッセージがサーバー上に存在しています。ここをクリックしてそれらを見て下さい。」、「ここをクリックしてより多くのメッセージを見て下さい。」、等々を記述したテキストを含むことができ、あるいはそれらを付随させることができる。しかしながらこれらは単なる例にすぎず、限定することは一切意図されていない。
[0053]表示領域202の描写は、実例として提供されたものにすぎないことに留意されたい。表示領域202は、実施態様に応じて任意のサイズまたは形状にすることができる。さらに、表示領域202全体をGUI132および/またはディスプレイ112内で一度に見ることができなくてもよく、また、スクローリングまたは当分野で知られている他の同様の機構を使用して、表示領域202の選択された部分を見ることも可能である。
[0054]さらに、図2は、同期化窓内に含まれている電子メッセージに関する情報は、同期化窓内に存在していない電子メッセージに関する情報とは別の連続したユニットとして提示されることを示しているように思われるが、このような情報を表示領域202全体にわたって混合することができることは全く可能である。例えば情報がリストとして提示されるある実施形態では、その電子メッセージに関する情報がリスト中に提示される第1の電子メッセージは、同期化窓の外側に存在していてもよく、その電子メッセージに関する情報がリスト中に提示される第2の電子メッセージは、同期化窓の内側に存在していてもよく、また、その電子情報に関する情報がリスト中に提示される第3の電子情報は同期化窓の外側に存在していてもよい。言い換えると、表示領域202の部分204および206は、混合する、すなわち混ぜ合わせることができる。これは、例えばこのような情報が分類される方法または他の理由によって生じることがある。
[0055]図3は、ある実施形態による、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージの混合提示を提供するための方法の流れ図300を示したものである。流れ図300の方法は、例えば、図1のシステム100を参照して上で説明した混合提示論理122によって実施することができる。しかしながらこの方法は、その実施形態に限定されず、全く別の構成要素またはシステムによって実施することも可能である。
[0056]図3に示されているように、流れ図300の方法はステップ302で始まり、1つまたは複数の第1の電子メッセージに関する情報が、ユーザーデバイスのディスプレイにレンダリングされたGUI内に表示され、1つまたは複数の第1の電子メッセージの内容がユーザーデバイスのローカルストアに記憶される。例えばこのステップは、同期化窓内の電子メッセージに関する情報の、ユーザーデバイス106のディスプレイ112にレンダリングされたGUI132への表示を必然的に伴うことができ、このような電子メッセージは、ユーザーデバイス106のローカルストア114に記憶される。
[0057]ステップ304で、ユーザーデバイスが電子メッセージングサーバーに接続されているかどうかに関する決定がなされる。例えばこのステップは、ユーザーデバイス106が電子メッセージングサーバー106に接続されているかどうかの決定を必然的に伴うことができる。それらに限定されないが、ユーザーデバイス106と電子メッセージングサーバー102の間のメッセージの交換の要求、またはユーザーデバイス106がネットワーク104への動作接続を有していることの単純な決定を始めとする様々な方法を使用して、このような接続が存在しているかどうかを決定することができる。
[0058]ステップ306で、ユーザーデバイスが電子メッセージングサーバーに接続されていることの少なくとも決定に応答して、1つまたは複数の第1の電子メッセージに関する情報と同時に、1つまたは複数の第2の電子メッセージに関する情報がGUI内に表示され、1つまたは複数の第2の電子メッセージの内容が、ローカルストアではなく、電子メッセージングサーバーにアクセスすることができるリモートストアに記憶される。例えばこのステップは、少なくともユーザーデバイス106が電子メッセージングサーバー102に接続されていることの決定に応答して、同期化窓内に記憶されていない電子メッセージに関する情報の、ユーザーデバイス106のディスプレイ112にレンダリングされたGUI132への表示を必然的に伴うことができ、このような電子メッセージは、ローカルストア114ではなく、電子メッセージングサーバー102にアクセスすることができるリモートストア132に記憶される。
[0059]一実施形態では、流れ図300の方法は、1つまたは複数の第1の電子メッセージに関する情報と同時に、1つまたは複数の第2の電子メッセージに関する情報をGUI内に表示させるためにユーザーが対話することができるユーザー・インターフェース・コンポーネントをGUI内に提供するステップをさらに含むことができる。このようなある実施形態にさらによれば、ステップ306は、少なくとも、ユーザーデバイスが電子メッセージングサーバーに接続されていること、およびユーザーがユーザー・インターフェース・コンポーネントと対話したことの決定に応答して実施することができる。図2を参照して上で説明したように、このようなユーザー・インターフェース・コンポーネントは、その機能の視覚表示を含むことができ、あるいはその機能の視覚表示を付随させることができる。例えばこのような対話コンポーネントは、「より多くのメッセージがサーバー上に存在しています。ここをクリックしてそれらを見て下さい。」、「ここをクリックしてより多くのメッセージを見て下さい。」、等々を記述したテキストを含むことができ、あるいはそのようなテキストを付随させることができる。
[0060]他の実施形態では、流れ図300の方法は、1つまたは複数の第1の電子メッセージのうちの選択された電子メッセージの内容をGUI内に表示させるためにユーザーが対話することができるユーザー・インターフェース・コンポーネントをGUI内に提供するステップと、次に、ユーザーがユーザー・インターフェース・コンポーネントと対話したことの決定に応答して、GUI内に表示するために、1つまたは複数の第1の電子メッセージのうちの選択された電子メッセージの内容をローカルストアから得るステップとを含むことも可能である。
[0061]さらに他の実施形態では、流れ図300の方法は、1つまたは複数の第2の電子メッセージのうちの選択された電子メッセージの内容をGUI内に表示するためにユーザーが対話することができるユーザー・インターフェース・コンポーネントをGUI内に提供するステップと、次に、ユーザーがユーザー・インターフェース・コンポーネントと対話したことの決定に応答して、1つまたは複数の第2の電子メッセージのうちの選択された電子メッセージの内容のコピーをローカルストアに保存することなくGUI内に表示するために、1つまたは複数の第2の電子通信のうちの選択された電子通信の内容をリモートストアから得るステップとを含むことも可能である。
B.混合状態情報を提示するための技法例
[0062]図4は、混合状態論理124が、コンテナーに記憶されている電子メッセージのうちのいくつかがローカルストア114にキャッシュされ、また、コンテナーに記憶されている電子メッセージのうちのいくつかがリモートストア132内でのみ利用可能であるシナリオで、ユーザーデバイス106のユーザーに電子メッセージのコンテナーに関連する混合状態を提示するように動作することができるプロセスの流れ図400を示したものである。コンテナーは、例えばユーザーの電子メッセージのすべて、または部分集合を記憶するために使用されるフォルダーを含むことができる。流れ図400の方法は、電子メッセージングクライアント110が起動された後、混合状態が最初にユーザーに提示される方法に的が絞られている。流れ図400の方法では、混合状態は、コンテナー中の、特定の状態を有する電子メッセージの数を表すアイテム数を含む。このような特定の状態は、例えば、それらに限定されないが、コンテナーに含まれている、含まれていない、読まれている、読まれていない、フラグが立っている、立っていない、等々を含むことができる。
[0063]次に、実例による説明を目的としたものにすぎないが、流れ図400の方法について、図1を参照して上で説明したシステム100の様々な構成要素を参照して説明する。しかしながら、この方法は他の構成要素またはシステムによっても実施することができることは、1つまたは複数の関連分野の技術者には理解されよう。
[0064]図4に示されているように、流れ図400の方法はステップ402で始まり、電子メッセージングクライアント110が起動される。このステップは、実施態様に応じて様々な方法で開始することができる。例えばこのステップは、ユーザーデバイス106のユーザーがユーザーデバイス106のオペレーティングシステムまたはユーザーデバイス106の何らかの他の構成要素との対話を介して電子メッセージングクライアント110を起動すると、開始することができる。
[0065]ステップ402の後、制御はステップ404へ進行し、ステップ404の間、混合状態論理124は、コンテナーに関連する1つまたは複数のローカルアイテム数をロードし、このようなローカルアイテム数がユーザーデバイス106のローカルストレージ(例えばローカルストア114)に記憶される。この方法によれば、ローカルアイテム数は、ローカルストア114に記憶されている、コンテナーに含まれており特定の状態を有する電子メッセージの数の表現を含む。ローカルアイテム数は、異なるタイプの状態に対して維持することができる。例えば所与のコンテナーの場合、ローカルストア114に記憶されている、コンテナー中の電子メッセージの数、ローカルストア114に記憶されている、コンテナー中の、読まれている、あるいは読まれていない電子メッセージの数、ローカルストア114に記憶されている、フラグが立っている、あるいは立っていない電子メッセージの数、等々を表すローカルアイテム数を維持することができる。
[0066]ステップ404の後、制御はステップ406へ進行し、ステップ406の間、混合状態論理126は、コンテナーに関連する1つまたは複数のデルタ量をロードし、このようなデルタ量がユーザーデバイス106のローカルストレージ(例えばローカルストア114)に記憶される。この方法によれば、デルタ量は、コンテナーに対するリモートアイテム数とローカルアイテム数の最後の既知の差を表し、リモートアイテム数は、コンテナーに含まれており特定の状態を有する、リモートストア132に記憶されている電子メッセージの数を表す。
[0067]ステップ406の後、制御はステップ408へ進行し、ステップ408の間、混合状態論理124は、ステップ404の間にロードされた個々のローカルアイテム数と、ステップ406の間にロードされた対応するデルタ量とを合計することにより、コンテナーに対するアイテム数を計算する。例えばこのステップは、コンテナーに含まれている、ローカルストア114に記憶されているアイテムの総数を規定するローカルアイテム数と、コンテナーに含まれている、リモートストア132に記憶されているアイテムの総数と、ローカルアイテム数の最後の既知の差を規定するデルタ量との加算を必然的に伴うことができる。他の例として、このステップは、コンテナーに含まれている、ローカルストア114に記憶されている、読まれていないアイテムの総数を規定するローカルアイテム数と、コンテナーに含まれている、リモートストア132に記憶されている、読まれていないアイテムの総数と、ローカルアイテム数の最後の既知の差を規定するデルタ量との加算を必然的に伴うことも可能である。
[0068]また、ステップ408の間、混合状態論理124は、このようにして計算されたアイテム数をGUI132に提示し、したがってユーザーデバイス106のユーザーは、それらのアイテム数を見ることができる。このステップは、所定の位置にアイテム数を表示し、あるいはこのようなアイテム数が、それらが計算されたコンテナーに対応していることを示す方法(例えばコンテナーのアイコン表示の隣、コンテナー中の電子メッセージに関する情報を表示するナビゲーションペインの状態バーの中、等々)でアイテム数を表示するステップを含むことができる。
[0069]ステップ408の後、制御は決定ステップ410へ進行し、決定ステップ410の間、混合状態論理124は、ユーザーデバイス106が電子メッセージングサーバー102に接続されているか否かを決定する。それらに限定されないが、ユーザーデバイス106と電子メッセージングサーバー102の間のメッセージの交換の要求、またはユーザーデバイス106がネットワーク104への動作接続を有していることの単純な決定を始めとする様々な方法を使用して、このような接続が存在しているかどうかを決定することができる。
[0070]図4に示されているように、決定ステップ406の間に、ユーザーデバイス106が電子メッセージングサーバー102に接続されていないことが決定されると、制御はステップ408に戻り、ステップ408の間、混合状態論理126は、コンテナーに対するローカルアイテム数と、ステップ406の間に得られた対応するデルタ量との合計として、コンテナーに対するアイテム数を引き続いて示す。ユーザーデバイス106がオフラインである間、ステップ404の間にロードされたローカルアイテム数は、図5の流れ図500を参照して以下で説明されるように、ユーザーデバイス106のユーザーによる任意の回数のアクションの実施の結果として更新することができることに留意されたい。したがってステップ408の間、表示される、コンテナーに対するアイテム数は、ユーザーデバイス106がオフラインである間、コンテナーに対する最新のローカルアイテム数(ユーザーのオフラインアクティビティによって影響されるため)と、ステップ406の間に得られた対応するデルタ量との合計である。特定の実施形態では、ユーザーデバイス106が電子メッセージングサーバー102に接続されていないこと、および特定のコンテナーに対するデルタ量がゼロより大きい(ローカルストア114にキャッシュされていない、利用可能な電子メッセージがリモートストア132に存在していることを示す)ことを混合状態論理124が決定すると、混合状態論理124は、リモートストア132内で追加電子メッセージを利用することができることをユーザーに知らせるインディケータを提示することができることに留意されたい。例えばこのようなインディケータは、単なる一例にすぎないが、GUI132にレンダリングされた、「より多くのアイテムがあります。サーバーに接続してそれらを見て下さい」を示すテキストを含むことができる。このようなある実施形態にさらによれば、特定のコンテナーに対するデルタ量がゼロである(ローカルストア114にキャッシュされている、利用可能なすべての電子メッセージがリモートストア132に存在していることを示す)場合、このようなインディケータを提示しなくてもよい。
[0071]しかしながら、決定ステップ410の間に、ユーザーデバイス106が電子メッセージングサーバー102に接続されていることが決定されると、制御はステップ412へ進行し、ステップ412の間、ローカルストア114に記憶されている電子メッセージの状態と、リモートストア132に記憶されている電子メッセージの状態とを同期させることが意図された同期化プロセスが開始される。このような同期化プロセスが実施されるのは、ユーザーデバイス106がオフラインであった間に、あるいは電子メッセージングクライアント110が走っていなかった間に、ローカルストア114および/またはリモートストア132に記憶されている電子メッセージの状態が変化した可能性がある(したがって非同期化状態になっている可能性がある)ためである。例えばユーザーデバイス106がオフラインであった間に、あるいは電子メッセージングクライアント110が走っていなかった間に、ユーザーがローカルストア114に記憶されている1つまたは複数の電子メッセージの状態を変更したかもしれない。他の例として、ユーザーデバイス106がオフラインであった間に、あるいは電子メッセージングクライアント110が走っていなかった間に、電子メッセージングサーバー102が、電子メッセージングクライアント110が利用することができる、リモートストア132に記憶されている1つまたは複数の電子メッセージの状態を変更したかもしれない。このような同期化プロセスを使用して、同期化窓の外側へ通過した電子メッセージをローカルストア114から除去することも可能である。
[0072]同期化プロセスが実施されている間、混合状態論理124は、コンテナーに対するローカルアイテム数と、ステップ406の間に得られた対応するデルタ量との合計として、コンテナーに対するアイテム数を引き続いて表示することができる。同期化プロセスが実施されている間、このような同期化プロセスによって(例えば新しい電子メッセージをローカルストア114に追加することによって)ローカルアイテム数が変化することがある。したがって同期化を実施している間、表示される、コンテナーに対するアイテム数は、コンテナーに対する最新のローカルアイテム数(同期化プロセスによって影響されるため)と、ステップ406の間に得られた対応するデルタ量との合計である。
[0073]決定ステップ414に示されているように、ステップ412の間に開始された同期化プロセスが完了したことが決定されると、制御はステップ416へ進行する。ステップ416の間、混合状態論理124は、同期化プロセスの結果としてこのようなアイテム数が変化している可能性があるため、コンテナーに対する新しいリモートアイテム数および新しいローカルアイテム数を得る。ステップ416の間、混合状態論理124は、個々の新しいリモートアイテム数と個々の対応する新しいローカルアイテム数の差を決定することによって、コンテナーに対する新しいデルタ量を同じく計算する。このステップの間、混合状態論理124は、新たに計算されたデルタ量を同じくユーザーデバイス106のローカルストレージに記憶し、それによりその前に計算されたデルタ量を新たに計算されたデルタ量に置き換える。
[0074]ステップ416の後、制御はステップ418へ進行し、ステップ418の間、混合状態論理124は、ステップ416の間に得られた個々のローカルアイテム数と、そのステップの間に計算された対応するデルタ量とを合計することによって、コンテナーに対するアイテム数を計算する。ステップ418の間、混合状態論理124は、このようにして計算されたアイテム数を同じくGUI132に提示し、したがってユーザーデバイス106のユーザーはそれらを見ることができる。
[0075]図5は、混合状態論理124が、コンテナーに記憶されている電子メッセージのうちのいくつかがローカルストア114にキャッシュされ、また、コンテナーに記憶されている電子メッセージのうちのいくつかがリモートストア132内でのみ利用可能であるシナリオで、ユーザーデバイス106のユーザーに電子メッセージのコンテナーに関連する混合状態を提示するように動作することができる追加プロセスの流れ図500を示したものである。流れ図500の方法は、ユーザーが電子メッセージングクライアント110を介して電子メッセージの状態を変更するアクションを実施した後に混合状態が提示される方法に的が絞られている。流れ図400の場合と同様、混合状態は、コンテナー中の、特定の状態を有する電子メッセージの数を表すアイテム数を含む。
[0076]次に、実例による説明を目的としたものにすぎないが、流れ図500の方法について、図1を参照して上で説明したシステム100の様々な構成要素を参照して説明する。しかしながら、この方法は他の構成要素またはシステムによっても実施することができることは、1つまたは複数の関連分野の技術者には理解されよう。
[0077]図5に示されているように、流れ図500の方法はステップ502で始まり、ユーザーは、電子メッセージングクライアント110を利用して、コンテナー中の、特定の状態を有する電子メッセージの総数が変化するよう、コンテナーに存在している1つまたは複数の電子メッセージに対するアクションを実施する。このようなアクションは、例えば電子メッセージをコンテナーに追加すること、電子メッセージをコンテナーから削除し、あるいは除去すること、コンテナー中の読まれていない電子メッセージを読むこと、コンテナー中のフラグが立っていない電子メッセージにフラグを立てること、等々を含むことができる。
[0078]決定ステップ504で、ステップ502のアクションがなされたことの決定に応答して、混合状態論理124は、このようなアクションが実施された1つまたは複数の電子メッセージがローカルストア114に記憶されているかどうかを決定する。アクションが実施された電子メッセージがローカルストア114に記憶されている場合、混合状態論理124は、ステップ506に示されているように、コンテナーに対する関連するローカルアイテム数を増分または減分する。したがって例えばユーザーが電子メッセージをコンテナーから削除し、その削除された電子メッセージがローカルストア114にキャッシュされている場合、混合状態論理124は、そのコンテナーに対するローカルアイテム数を1だけ減分する。他の例として、ユーザーがコンテナー中の読まれていない電子メッセージを読み、その読まれた電子メッセージがローカルストア114にキャッシュされている場合、混合状態論理124は、そのコンテナーに対するローカル未読アイテム数を1だけ減分する。さらに、混合状態論理124は、そのコンテナーに対するローカル既読アイテム数を1だけ増分することも可能である。
[0079]しかしながら、混合状態論理124が、決定ステップ504の間に、ステップ502のアクションが実施された1つまたは複数の電子メッセージがローカルストア114に記憶されていない(つまりそれらはリモートストア132にのみ記憶されている)ことを決定すると、混合状態論理124は、ステップ508に示されているように、コンテナーに対する関連するデルタ量を増分または減分する。したがって例えばユーザーが電子メッセージをコンテナーから削除し、その削除された電子メッセージがローカルストア114にキャッシュされていない場合、混合状態論理124は、コンテナー中のリモート記憶されているアイテムの総数と、コンテナーに対するローカルアイテム数の差を表すデルタ量を1だけ減分する。他の例として、ユーザーがコンテナー中の読まれていない電子メッセージを読み、その読まれた電子メッセージがローカルストア114にキャッシュされていない場合、混合状態論理124は、コンテナー中のリモート記憶されている未読アイテムの総数と、コンテナーに対するローカル未読アイテム数の差を表すデルタ量を1だけ減分する。さらに、混合状態論理124は、コンテナー中のリモート記憶されている既読アイテムの総数と、コンテナーに対するローカル既読アイテム数の差を表すデルタ量を1だけ増分することも可能である。
[0080]ステップ506または508の後、制御はステップ510へ進行し、ステップ510の間、混合状態論理124は、コンテナーに対するローカルアイテム数と、対応するデルタ量とを合計することにより、コンテナーに対するアイテム数を計算する。ステップ510の間、混合状態論理124は、このようにして計算されたアイテム数を同じくGUI132に提示し、したがってユーザーデバイス106のユーザーはそれらを見ることができる。
[0081]ステップ510の後、制御はステップ512へ進行し、ステップ512の間、ローカルストア114に記憶されている電子メッセージの状態と、リモートストア132に記憶されている電子メッセージの状態とを同期させることが意図された同期化プロセスが開始される。電子メッセージングクライアント110は、特定の事象、等々が生じると、それに応答して、システム定義スケジュールまたはユーザー定義スケジュールに従ってこのような同期化プロセスを開始することができる。このような同期化プロセスが必要である理由は、その前の同期化が生じた以降に、ローカルストア114および/またはリモートストア132に記憶されている電子メッセージの状態が変化した可能性がある(したがって非同期化状態になっている可能性がある)ためである。例えばその前の同期化が生じた以降に、ユーザーがローカルストア114に記憶されている1つまたは複数の電子メッセージの状態を変更したかもしれない。他の例として、その前の同期化が生じた以降に、電子メッセージングサーバー102が、電子メッセージングクライアント110が利用することができる、リモートストア132に記憶されている1つまたは複数の電子メッセージの状態を変更したかもしれない。このような同期化プロセスを使用して、同期化窓の外側へ通過した電子メッセージをローカルストア114から除去することも可能である。
[0082]同期化プロセスが実施されている間、混合状態論理124は、コンテナーに対するローカルアイテム数と、対応するデルタ量との合計として、コンテナーに対するアイテム数を引き続いて表示することができる。同期化プロセスが実施されている間、このような同期化プロセスによって(例えば新しい電子メッセージをローカルストア114に追加することによって)ローカルアイテム数が変化することがある。したがって同期化を実施している間、表示される、コンテナーに対するアイテム数は、コンテナーに対する最新のローカルアイテム数(同期化プロセスによって影響されるため)と、対応するデルタ量との合計である。
[0083]決定ステップ514に示されているように、ステップ512の間に開始された同期化プロセスが完了したことが決定されると、制御はステップ516へ進行する。
[0084]ステップ516の間、混合状態論理124は、同期化プロセスの結果としてこのようなアイテム数が変化している可能性があるため、コンテナーに対する新しいリモートアイテム数および新しいローカルアイテム数を得る。ステップ516の間、混合状態論理124は、個々の新しいリモートアイテム数と個々の対応する新しいローカルアイテム数の差を決定することによって、コンテナーに対する新しいデルタ量を同じく計算する。このステップの間、混合状態論理124は、新たに計算されたデルタ量を同じくユーザーデバイス106のローカルストレージに記憶し、それによりその前に計算されたデルタ量を新たに計算されたデルタ量に置き換える。
[0085]ステップ516の後、制御はステップ518へ進行し、ステップ518の間、混合状態論理124は、ステップ516の間に得られた個々のローカルアイテム数と、同じステップの間に計算された対応するデルタ量とを合計することによって、コンテナーに対するアイテム数を計算する。ステップ518の間、混合状態論理124は、このようにして計算されたアイテム数を同じくGUI132に提示し、したがってユーザーデバイス106のユーザーはそれらを見ることができる。
[0086]次に、流れ図400および500の上記方法を利用して、混合状態情報をユーザーに提示することができる方法の実例による説明を補助するために、単純な教示例について説明する。これらの例の目的のために、電子メッセージは電子メールであり、関連するコンテナーは、「Mailbox」と呼ばれるフォルダーであり、また、表示されるアイテム数はMailboxアイテム数であることが仮定されている。
[0087]さらに、電子メッセージングクライアント110を起動する前(したがって流れ図400の方法をトリガーする前)は、Mailboxに対するローカルアイテム数は50であり、また、Mailboxアイテムに対するデルタ量は150である(つまりMailboxアイテムに対するデルタ量を計算すると、200個のリモート記憶されたアイテムおよび50個のローカルに記憶されたアイテムがMailboxに存在することになる)ことが仮定されている。
[0088]ここで、流れ図400のステップ402に従って電子メッセージングクライアントが起動し、また、ステップ404に従って、上で示したように混合状態論理124がMailboxに対するローカルアイテム数をロードし、かつ、ステップ406に従って、上で示したようにMailboxアイテムに対するデルタ量をロードすると仮定する。次に、ステップ408の間、混合状態論理124は、Mailboxに対するローカルアイテム数(50)と、Mailboxアイテムに対するデルタ量(150)との合計としてMailboxに対するアイテム数を計算し、アイテム数200を得る。混合状態論理124は、次に、さらにステップ408に従って、このアイテム数をGUI132を介してユーザーに提示する。
[0089]流れ図400および500の方法を利用して、混合状態情報をユーザーに提示することができる方法を実例でさらに説明するために、ユーザーデバイス106がオフライン状態にある間、ユーザーは5個の新しい電子メールをMailboxに追加すると仮定する。このアクションによってMailboxの状態が変化するため、このアクションは、流れ図500のステップ502をトリガーすることになる。さらに、このアクションには、ローカルに記憶されている電子メールが必要であるため、このアクションにより、ステップ506に従ってMailboxに対するローカルアイテム数が5だけ増分される(ローカルアイテム数が55個になる)。次に、ステップ510の間、Mailboxに対するアイテム数が205(ローカルアイテム数55+デルタ量150)として示される。したがってそれは、あたかも、オフラインでなされた、ローカルストア114に記憶されている電子メールの状態だけではなく、Mailbox全体の状態に影響を及ぼしたユーザー自身のアクションとしてユーザーに出現することになる。
[0090]流れ図400および500の方法を利用して、混合状態情報をユーザーに提示することができる方法を実例でさらに説明するために、ユーザーデバイス106がオフラインである間、電子メッセージングサーバー102は、ユーザーに代わって20個の新しい電子メールをMailboxに受け取り、かつ、それらをリモートストア132に記憶し、また、Mailbox内の、ローリング・タイム・ウィンドウの外側であり、したがってリモートストア132にのみ記憶された40個のより古い電子メールを削除すると仮定する。これによりMailboxに対するリモートアイテム数180が得られる。同じく、上で説明したようにユーザーデバイス106がオフライン状態にある間に、Mailboxに5個の新しい電子メールを追加した後に、ユーザーがユーザーデバイス106の電力を停止すると仮定する。後に、ユーザーは、ユーザーデバイス106に再度電力を供給し、電子メッセージングクライアント110を起動して、流れ図400のステップ402をトリガーする。
[0091]この場合、ステップ404の間、混合状態論理124は、Inboxに対するローカルアイテム数(ローカルアイテム数=55)をロードし、ステップ406の間、混合状態論理124は、Mailboxアイテムに対するデルタ量(デルタ量=150)をロードし、また、ステップ408の間、混合状態論理124は、Mailboxに対するアイテム数を205(55+150)として提示する。次に、決定ステップ410では、混合状態論理124は、ユーザーデバイス106が現在は電子メッセージングサーバー102に接続されていることを決定するため、制御はステップ412へ進行する。
[0092]ステップ412で同期化が開始される。同期化の結果、Mailbox内の20個の新しい電子メールがローカルストア114にダウンロードされ、それによりMailboxローカルアイテム数が55から75へ増分される。同期化が実施されている間、混合状態論理124は、ローカルアイテム数(現在は75)と、Mailboxアイテムに対するデルタ量(150)との合計として225に等しいInboxアイテム数を引き続いて表示する。同期化プロセスの間、ローカルにMailbox内に作成された5個の電子メールがリモートストア132にアップロードされ、リモートアイテム数が180から185に増加する。
[0093]ステップ416の間、混合状態論理124は、同期化後ローカルアイテム数およびリモートアイテム数を得る。この場合、同期化後は、Inboxに対するローカルアイテム数は75になり、Inboxに対するリモートアイテム数は185になる。したがってステップ416の間、混合状態論理124は、Inboxアイテムに対するデルタ量110を計算することになる。次に、ステップ418の間、混合状態論理124は、Inboxに対するローカルアイテム数(75)と、Inboxアイテムに対するデルタ量(110)との合計である185としてInboxアイテム数を表示する。
C.混合探索を実施するための技法例
[0094]図6は、ある実施形態による、混合探索論理126がローカルに記憶された電子メッセージとリモートに記憶された電子メッセージの混合探索を実施するように動作することができる第1の方法の流れ図600を示したものである。以下、実例による説明を目的としたものにすぎないが、流れ図600の方法について、図1を参照して上で説明したシステム100の様々な構成要素を参照して説明する。しかしながら、この方法は他の構成要素またはシステムによっても実施することができることは、1つまたは複数の関連分野の技術者には理解されよう。
[0095]図6に示されているように、流れ図600の方法はステップ602で始まり、ステップ602の間、ユーザーは、問合せをユーザーデバイス106に入力し、かつ、探索を開始する。このような問合せの実行を委ねることができ、また、このような探索を開始することができる方法は、実施態様に応じて様々である。例えば一実施形態では、GUI132は、ユーザーが問合せをタイプするために使用することができるテキスト・エントリー・ボックス、およびユーザーが探索を開始するために起動することができる探索ボタンを提供する。しかしながら、これは一例にすぎず、よく知られている様々なユーザー入力機構を使用して問合せの実行を委ね、かつ、探索を開始することができる。
[0096]ステップ604で、混合探索論理126は、ステップ602の間に委ねられた問合せに基づいて、ローカルストア114に記憶されている電子メッセージに対するローカルの探索を実行する。混合探索論理126は、よく知られている任意の様々な探索アルゴリズムを利用して、ローカルストア114に記憶されている電子メッセージの中から、ステップ602に間に入力された問合せと一致する電子メッセージとして識別すべき電子メッセージを決定することができる。ローカルストア114に記憶されている何らかの電子メッセージが問合せと一致することを混合探索論理126が決定すると、混合探索論理126は、これらの電子メッセージに関する情報をGUI132内に提示する。提示される情報は、電子メッセージに関する情報の任意のアイテムを幅広く含むことができる。例えば電子メッセージが電子メールメッセージを含むある実施形態では、このような情報は、それらに限定されないが、電子メールメッセージの送信側、電子メールメッセージの主題、電子メールメッセージが送られた日および/または時間、電子メールメッセージが受け取られた日および/または時間、電子メールメッセージに関する状態情報(例えば読まれている、読まれていない、フラグが立っている、立っていない)、等々を含むことができる。
[0097]特定の実施形態では、その電子メッセージに関する情報がステップ604の間に実施されたローカル探索の結果として提示される、一致する電子メッセージ毎に、ユーザーがこのような電子メッセージの内容をGUI132内に表示することができる手段が同じく提示される。例えばこの手段は、ユーザーによって対話されると、その電子メッセージの内容がGUI132内に表示される個々の電子メッセージに関する情報と関連して提示されるコンポーネントを含むことができる。このような実施形態にさらによれば、電子メッセージを見るためにユーザーが選択すると、混合探索論理126は、その電子メッセージの内容をローカルストア114から取得し、かつ、このような内容をGUI132内に表示することができる。
[0098]ステップ604の後、制御は決定ステップ606へ進行し、決定ステップ606の間、混合探索論理126は、ローカルストア114にキャッシュされていない、リモートストア132内で利用することができる電子メッセージが存在しているかどうかを決定する。この決定がなされる方法は、実施態様に応じて変更することができる。例えば一実施形態では、混合探索論理126は、リモートストア132内で利用することができる電子メッセージの部分集合のみがローカルストア114にキャッシュされることになる、時間をベースとする同期化窓が使用されていることを決定することにより、ローカルストア114にキャッシュされていない、リモートストア132内で利用することができる電子メッセージが存在していることを決定する。しかしながら他の技法を使用することも可能である。
[0099]混合探索論理126が、決定ステップ606の間、リモートストア132内で利用することができる電子メッセージが存在せず、ローカルストア114にも同じくキャッシュされていないことを決定すると、流れ図600の方法は終了する。しかしながら混合探索論理126が、決定ステップ606の間、ローカルストア114にキャッシュされていない、リモートストア132内で利用することができる電子メッセージが存在していることを決定すると、制御は決定ステップ608へ進行する。
[0100]決定ステップ608の間、混合探索論理126は、ユーザーデバイス106が電子メッセージングサーバー102に接続されているか否かを決定する。それらに限定されないが、ユーザーデバイス106と電子メッセージングサーバー102の間のメッセージの交換の要求、またはユーザーデバイス106がネットワーク104への動作接続を有していることの単純な決定を始めとする様々な方法を使用して、このような接続が存在しているかどうかを決定することができる。
[0101]混合探索論理126が、決定ステップ608の間、ユーザーデバイス106が電子メッセージングサーバー102に接続されていないことを決定すると、流れ図600の方法は終了する。しかしながら混合探索論理126が、決定ステップ608の間、ユーザーデバイス106が電子メッセージングサーバー102に接続されていることを決定すると、制御はステップ610へ進行する。
[0102]ステップ610の間、混合探索論理は、ユーザーによって起動されると、電子メッセージングサーバー102が、ステップ602の間に委ねられた問合せに基づいて、リモートストア132に記憶されている利用可能な電子メッセージに対する探索を実行し、かつ、一致するすべての電子メッセージを識別するリストを戻すことになるユーザー・インターフェース・コンポーネントをGUI132内に表示する。このようなユーザー・インターフェース・コンポーネントは、その機能の視覚表示を含むことができ、あるいはその機能の視覚表示を付随させることができる。例えばユーザー・インターフェース・コンポーネントは、「サーバーに対する探索を続けて下さい。」、「ローカルアイテムのみが探索されました。したがって探索結果は不完全である可能性があり、−サーバーに対する探索を続けて下さい。」、等々を記述したテキストを含むことができ、あるいはそのようなテキストを付随させることができる。しかしながらこれらは例にすぎず、限定することは意図されていない。
[0103]ユーザーが、ステップ610の間、GUI132に提示されたユーザー・インターフェース・コンポーネントを起動しない場合、流れ図600の方法は終了する。しかしながらユーザーが、ステップ612に示されているように、GUI132に提示されたユーザー・インターフェース・コンポーネントを起動すると、制御はステップ614へ進行する。
[0104]ステップ614の間、電子メッセージングサーバー102は、ステップ602の間に委ねられた問合せに基づいて、リモートストア132に記憶されている利用可能な電子メッセージに対する探索を実行し、かつ、一致するすべての電子メッセージを識別するリストを戻す。混合探索論理126は、一致する電子メッセージに関する情報をGUI132内に提示する。提示される情報は、電子メッセージに関する情報の任意のアイテムを幅広く含むことができる。
[0105]特定の実施形態では、その電子メッセージに関する情報がステップ614の間に実施されたリモート探索の結果として提示される、一致する電子メッセージ毎に、ユーザーがこのような電子メッセージの内容をGUI132内に表示することができる手段が同じく提示される。例えばこの手段は、ユーザーによって対話されると、その電子メッセージの内容がGUI132内に表示される個々の電子メッセージに関する情報と関連して提示されるコンポーネントを含むことができる。
[0106]このような実施形態にさらによれば、電子メッセージを見るためにユーザーが選択すると、混合探索論理126は、その電子メッセージの内容を取得し、かつ、このような内容をGUI132内に表示することができる。選択された電子メッセージのコピーがローカルストア114に記憶されている場合、混合探索論理126は、その電子メッセージの内容をローカルストア114から得ることができる。しかしながら、選択された電子メッセージのコピーがローカルストア114に記憶されていない場合(つまり選択された電子メッセージが同期化窓の外側である場合)、混合探索論理126は、電子メッセージングサーバー102との対話を介して、リモートストア132からその電子メッセージの内容を得ることができる。この後者の場合、混合探索論理126は、提示プロセスの一環として、リモート記憶されている電子メッセージのコピーをローカルストア114に記憶しない。つまり、リモート記憶されている電子メッセージの内容をユーザーデバイス106のメモリーに一時的にバッファーし、その表示を容易にすることは可能であるが、リモート記憶されている電子メッセージの内容を見るために使用されるGUI132の一部をユーザーが閉じると、このようなバッファーされたデータを廃棄することができる。
[0107]図7は、ある実施形態による、ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージの混合探索を実施するための第2の方法の流れ図700を示したものである。流れ図700の方法は、流れ図600の方法の変形形態と見なすことができ、本明細書においては、混合探索の様々な代替実施態様を使用することができることを実例で示すために説明されている。以下、実例による説明を目的としたものにすぎないが、流れ図700の方法について、図1を参照して上で説明したシステム100の様々な構成要素を参照して説明する。しかしながら、この方法は他の構成要素またはシステムによっても実施することができることは、1つまたは複数の関連分野の技術者には理解されよう。
[0108]図7に示されているように、流れ図700の方法はステップ702で始まり、ステップ702の間、ユーザーは、問合せをユーザーデバイス106に入力し、かつ、探索を開始する。このような問合せの実行を委ねることができ、また、このような探索を開始することができる方法は、実施態様に応じて様々である。
[0109]ステップ704で、混合探索論理126は、ステップ602の間に委ねられた問合せに基づいて、ローカルストア114に記憶されている電子メッセージに対するローカルの探索を実行する。ステップ704の間に実行される探索は、所定の数の一致メッセージしか出力しないよう、上限が設けられ(cap)、この所定の数は、探索によって識別することができる一致メッセージの総数未満であってもよい。
[0110]ステップ704の間、混合探索論理126は、上限付きのローカル探索の結果として識別されたすべての電子メッセージに関する情報をGUI132内に提示する。提示される情報は、電子メッセージに関する情報の任意のアイテムを幅広く含むことができる。特定の実施形態では、その電子メッセージに関する情報が、ステップ704の間に実施された、上限付きのローカル探索の結果として提示される、一致する電子メッセージ毎に、ユーザーがこのような電子メッセージの内容をGUI132内に表示することができる手段が同じく提示される。例えばこの手段は、ユーザーによって対話されると、その電子メッセージの内容がGUI132内に表示される個々の電子メッセージに関する情報と関連して提示されるコンポーネントを含むことができる。このような実施形態にさらによれば、電子メッセージを見るためにユーザーが選択すると、混合探索論理126は、その電子メッセージの内容をローカルストア114から取得し、かつ、このような内容をGUI132内に表示することができる。
[0111]流れ図700の方法によれば、混合探索論理126は、同じく、ステップ704の一環として、利用可能なより多くの探索結果が存在している可能性があることを示す指示をGUI132を介してユーザーに提供し、かつ、ユーザーが追加探索を起動することができるコンポーネントを提示する。例えば混合探索論理126は、「より多くの」という語を含んでいるか、あるいはこの後が付随しているユーザー・インターフェース・コンポーネントを提示することができ、ユーザーは、このユーザー・インターフェース・コンポーネントをクリックして追加探索結果を得ることができる。しかしながらこれは単なる一例にすぎず、広範囲にわたる様々な他の指示およびユーザー・インターフェース・コンポーネントを使用することができる。ユーザーがユーザー・インターフェース・コンポーネントを起動しない場合、流れ図700の方法は終了する。しかしながら、ステップ706に示されているように、ユーザーがユーザー・インターフェース・コンポーネントを起動すると、制御は決定ステップ708へ進行する。
[0112]決定ステップ708の間、混合探索論理126は、ユーザーデバイス106が電子メッセージングサーバー102に接続されているか否かを決定する。それらに限定されないが、ユーザーデバイス106と電子メッセージングサーバー102の間のメッセージの交換の要求、またはユーザーデバイス106がネットワーク104への動作接続を有していることの単純な決定を始めとする様々な方法を使用して、このような接続が存在しているかどうかを決定することができる。
[0113]混合探索論理126が、決定ステップ708の間、ユーザーデバイス106が電子メッセージングサーバー102に接続されていないことを決定すると、制御はステップ710へ進行する。ステップ710の間、混合探索論理126は、ステップ602の間に委ねられた問合せに基づいて、ローカルストア114に記憶されている電子メッセージに対する、上限なしの探索を実行する。ステップ704の間に実行される探索は、一致することが決定されたすべてのメッセージを出力するよう、上限が設けられていない。
[0114]ステップ710の間、混合探索論理126は、上限付きのローカル探索の結果として識別されたすべての電子メッセージに関する情報をGUI132内に提示する。提示される情報は、電子メッセージに関する情報の任意のアイテムを幅広く含むことができる。
[0115]特定の実施形態では、その電子メッセージに関する情報が、ステップ710の間に実施された上限なしのローカル探索の結果として提示される、一致する電子メッセージ毎に、ユーザーがこのような電子メッセージの内容をGUI132内に表示することができる手段が同じく提示される。例えばこの手段は、ユーザーによって対話されると、その電子メッセージの内容がGUI132内に表示される個々の電子メッセージに関する情報と関連して提示されるコンポーネントを含むことができる。このような実施形態にさらによれば、電子メッセージを見るためにユーザーが選択すると、混合探索論理126は、その電子メッセージの内容をローカルストア114から取得し、かつ、このような内容をGUI132内に表示することができる。
[0116]ステップ710の後、制御は決定ステップ712へ進行し、決定ステップ712の間、混合探索論理126は、ローカルストア114にキャッシュされていない、リモートストア132内で利用することができる電子メッセージが存在しているかどうかを決定する。この決定がなされる方法は、実施態様に応じて変更することができる。例えば一実施形態では、混合探索論理126は、リモートストア132内で利用することができる電子メッセージの部分集合のみがローカルストア114にキャッシュされることになる、時間をベースとする同期化窓が使用されていることを決定することにより、ローカルストア114にキャッシュされていない、リモートストア132内で利用することができる電子メッセージが存在していることを決定する。しかしながら他の技法を使用することも可能である。
[0117]混合探索論理126が、決定ステップ712の間、リモートストア132内で利用することができる電子メッセージが存在せず、ローカルストア114にも同じくキャッシュされていないことを決定すると、流れ図700の方法は終了する。しかしながら混合探索論理126が、決定ステップ712の間、ローカルストア114にキャッシュされていない、リモートストア132内で利用することができる電子メッセージが存在していることを決定すると、制御はステップ714へ進行し、ステップ714の間、混合探索論理126は、GUI132を介して、上限なしのローカル探索の結果が不完全である可能性があることを知らせる指示または警告をユーザーに提供する。
[0118]上で言及したように、決定ステップ708の間、混合探索論理126は、ユーザーデバイス106が電子メッセージングサーバー102に接続されているか否かを決定する。混合探索論理126が、決定ステップ708の間、ユーザーデバイス106が電子メッセージングサーバー102に接続されていることを決定すると、制御は決定ステップ716へ進行する。
[0119]決定ステップ716の間、混合探索論理126は、ローカルストア114にキャッシュされていない、リモートストア132内で利用することができる電子メッセージが存在しているかどうかを決定する。混合探索論理126が、決定ステップ716の間、リモートストア132内で利用することができる電子メッセージが存在せず、ローカルストア114にも同じくキャッシュされていないことを決定すると、制御は決定ステップ718へ進行する。
[0120]決定ステップ718の間、混合探索論理126は、ユーザーデバイス106に関してローカルに記憶されている探索インデックスが期限切れであるかどうかを決定する。探索インデックスが期限切れではないことを混合探索論理718が決定すると、制御は、既に説明したステップ710へ進行する。
[0121]混合探索論理126が、決定ステップ716の間、ローカルストア114にキャッシュされていない、リモートストア132内で利用することができる電子メッセージが存在していることを決定するか、あるいは混合探索論理126が、決定ステップ718の間、探索インデックスが期限切れであることを決定すると、制御はステップ720へ進行する。ステップ720の間、電子メッセージングサーバー102は、ステップ702の間に委ねられた問合せに基づいて、リモートストア132に記憶されている利用可能な電子メッセージに対する、上限なしの探索を実行し、かつ、一致するすべての電子メッセージを識別するリストを戻す。混合探索論理126は、一致する電子メッセージに関する情報をGUI132内に提示する。提示される情報は、電子メッセージに関する情報の任意のアイテムを幅広く含むことができる。
[0122]特定の実施形態では、その電子メッセージに関する情報がステップ720の間に実施されたリモート探索の結果として提示される、一致する電子メッセージ毎に、ユーザーがこのような電子メッセージの内容をGUI132内に表示することができる手段が同じく提示される。例えばこの手段は、ユーザーによって対話されると、その電子メッセージの内容がGUI132内に表示される個々の電子メッセージに関する情報と関連して提示されるコンポーネントを含むことができる。
[0123]このような実施形態にさらによれば、電子メッセージを見るためにユーザーが選択すると、混合探索論理126は、その電子メッセージの内容を取得し、かつ、このような内容をGUI132内に表示することができる。選択された電子メッセージのコピーがローカルストア114に記憶されている場合、混合探索論理126は、その電子メッセージの内容をローカルストア114から得ることができる。しかしながら、選択された電子メッセージのコピーがローカルストア114に記憶されていない場合(つまり選択された電子メッセージが同期化窓の外側である場合)、混合探索論理126は、電子メッセージングサーバー102との対話を介して、リモートストア132からその電子メッセージの内容を得ることができる。この後者の場合、混合探索論理126は、提示プロセスの一環として、リモート記憶されている電子メッセージのコピーをローカルストア114に記憶しない。つまり、リモート記憶されている電子メッセージの内容をユーザーデバイス106のメモリーに一時的にバッファーし、その表示を容易にすることは可能であるが、リモート記憶されている電子メッセージの内容を見るために使用されるGUI132の一部をユーザーが閉じると、このようなバッファーされたデータを廃棄することができる。
[0124]ある代替実施形態によれば、ユーザーは、問合せをユーザーデバイス106に入力し、かつ、探索を開始する。ユーザーデバイス106が電子メッセージングサーバー102に接続されていることを混合探索論理126が決定すると、電子メッセージングサーバー102は、問合せに基づいて、リモートストア132に記憶されている利用可能な電子メッセージに対する、上限なしの探索を実行し、かつ、ユーザーからのさらなる入力を全く必要とすることなく、一致するすべての電子メッセージを識別するリストを戻す。一致する電子メッセージに関する情報は、ローカルにキャッシュされている、一致する電子メッセージの内容にローカルストア114からアクセスすることができ、一方、ローカルにキャッシュされていない、一致する電子メッセージの内容には、リモートストア132からアクセスすることができるよう、混合ビューを使用してGUI132内に提示することができる。
[0125]さらに他の実施形態によれば、ユーザーは、問合せをユーザーデバイス106に入力し、かつ、探索を開始する。混合探索論理126は、ローカルストア114に記憶されている電子メッセージに対する探索を実行し、また、ユーザーデバイス106が電子メッセージングサーバー102に接続されている場合は、リモートストア132内で利用することができる電子メッセージに対する、上限なしの探索を同じく自動的に実施する。このようなある実施形態によれば、混合探索論理126は、最初にローカル探索(リモート探索より速やかに結果を得ることができる)の結果をユーザーに提示し、次に、リモート探索の結果が戻されると、リモートストア132内で利用することができるすべての一致する電子メッセージの全混合ビューを提示することができる。このすべては、問合せを委ねることなく、また、探索を開始することなく、ユーザーからの追加入力を全く必要とすることなく実施することができる。
III.プロセッサーをベースとするシステム実施態様例
[0126]図8は、本明細書において説明されている様々な実施形態を実施するために使用することができる、プロセッサーをベースとするあるコンピューターシステム800例を示したものである。例えばシステム800を使用して、電子メッセージングサーバー102およびユーザーデバイス106のいずれか、または両方、ならびにそれらの様々なサブ−コンポーネントを実施することができる。本明細書において提供されるシステム800の説明は、実例による説明を目的として提供されたものであり、制限することは意図されていない。実施形態は、関連する1つまたは複数の分野の技術者に知られているように、他のタイプのコンピューターシステムで実施することも可能である。
[0127]図7に示されているように、システム800は、処理装置802、システムメモリー804、およびシステムメモリー804を含む様々なシステム構成要素を処理装置802に結合するバス806を含む。処理装置802は、1つまたは複数のプロセッサーすなわち処理コアを備えることができる。バス806は、メモリーバスまたはメモリーコントローラー、周辺バス、アクセレレーテッド・グラフィックス・ポートおよびプロセッサー、または任意の様々なバスアーキテクチャーを使用したローカルバスを始めとする任意のいくつかのタイプのバス構造のうちの1つまたは複数を表している。システムメモリー804は、リード・オンリー・メモリー(ROM)808およびランダム・アクセス・メモリー(RAM)810を含む。基本入力/出力システム812(BIOS)はROM808に記憶されている。
[0128]また、システム800は、ハード・ディスクから読み出し、かつ、ハード・ディスクに書き込むためのハード・ディスク・ドライブ814、取外し可能磁気ディスク818から読み出し、あるいは取外し可能磁気ディスク818に書き込むための磁気ディスク・ドライブ816、およびCD ROM、DVD ROM、BLU−RAY(登録商標)ディスクまたは他の光媒体などの取外し可能光ディスク822から読み出し、あるいは取外し可能光ディスク822に書き込むための光ディスク・ドライブ820のうちの1つまたは複数を有している。ハード・ディスク・ドライブ814、磁気ディスク・ドライブ816および光ディスク・ドライブ820は、それぞれハード・ディスク・ドライブ・インターフェース824、磁気ディスク・ドライブ・インターフェース826および光ドライブ・インターフェース828によってバス806に接続されている。これらのドライブおよび関連するそれらのコンピューター可読媒体は、コンピューター可読命令、データ構造、プログラムモジュールおよびコンピューターのための他のデータの不揮発性記憶装置を提供している。ハード・ディスク、取外し可能磁気ディスクおよび取外し可能光ディスクが説明されているが、フラッシュ・メモリー・カード、ディジタル・ビデオ・ディスク、ランダム・アクセス・メモリー(RAM)、リード・オンリー・メモリー(ROM)、等々などの他のタイプのコンピューター可読媒体を使用してデータを記憶することも可能である。
[0129]多くのプログラムモジュールをハード・ディスク、磁気ディスク、光ディスク、ROMまたはRAMに記憶することができる。これらのプログラムモジュールは、オペレーティングシステム830、1つまたは複数のアプリケーションプログラム832、他のプログラムモジュール834およびプログラムデータ836を含む。様々な実施形態によれば、プログラムモジュールは、本明細書のどこか他のところで説明した電子メッセージングサーバー102およびユーザーデバイス106、ならびにそれらの任意のサブ−コンポーネントの任意の、またはすべての機能および特徴を実施するために、処理装置802によって実行することができるコンピュータープログラム論理を含むことができる。また、プログラムモジュールは、処理装置802によって実行されると、図2〜7を参照して示し、あるいは説明した任意のステップまたは操作を実施するコンピュータープログラム論理を含むことも可能である。
[0130]ユーザーは、キーボード838および位置決めデバイス840などの入力デバイスを介してコマンドおよび情報をシステム800に入力することができる。他の入力デバイス(図示せず)は、マイクロホン、ジョイスティック、ゲームコントローラー、スキャナー、等々を含むことができる。一実施形態では、ディスプレイ844と共にタッチスクリーンが提供され、それによりユーザーは、タッチスクリーン上の1つまたは複数のポイントに接触(例えば指またはスタイラスによる接触)を印加することによってユーザー入力を提供することができる。これらおよび他の入力デバイスは、しばしば、バス806に結合されるシリアル・ポート・インターフェース842を介して処理装置802に接続されるが、パラレルポート、ゲームポートまたはユニバーサル・シリアル・バス(USB)などの他のインターフェースによる接続も可能である。
[0131]また、ディスプレイ844も、ビデオアダプター846などのインターフェースを介してバス806に接続されている。ディスプレイ844に加えて、システム800は、スピーカーおよびプリンターなどの他の周辺出力デバイス(図示せず)を含むことも可能である。
[0132]システム800は、ネットワークインターフェースすなわちアダプター850、モデム852、またはネットワークを介して通信を確立するための他の手段を介してネットワーク848(例えばローカル・エリア・ネットワークまたはインターネットなどの広域ネットワーク)に接続されている。内部または外部に置くことができるモデム852は、シリアル・ポート・インターフェース842を介してバス806に接続されている。
[0133]本明細書において使用されているように、「コンピュータープログラム媒体」および「コンピューター可読媒体」という用語は、一般に、システムメモリー804を実施するために使用されるROM808およびRAM810、ハード・ディスク・ドライブ814に結合されたハード・ディスク、取外し可能磁気ディスク818、取外し可能光ディスク822、ならびにフラッシュ・メモリー・カード、ディジタル・ビデオ・ディスク、等々などの他の媒体などの非一時的媒体を表すために使用されている。
[0134]上で言及したように、コンピュータープログラムおよびモジュール(アプリケーションプログラム832および他のプログラムモジュール834を含む)は、ROM808、RAM810、ハード・ディスク、磁気ディスクまたは光ディスクに記憶することができる。このようなコンピュータープログラムは、ネットワークインターフェース850またはシリアル・ポート・インターフェース842を介して受け取ることも可能である。このようなコンピュータープログラムは、処理装置802によって実行されると、システム800をイネーブルして、本明細書において説明されている実施形態の特徴を実施することができる。したがってこのようなコンピュータープログラムは、システム800のコントローラーを表している。
[0135]また、実施形態は、任意のコンピューター可読媒体に記憶されたソフトウェアを備えたコンピュータープログラム製品を同じく対象としている。このようなフトウェアは、1つまたは複数のデータ処理デバイス内で実行されると、1つまたは複数のデータ処理デバイスを本明細書において説明されているように動作させることになる。実施形態は、現在知られている、または将来的に知られる任意のコンピューター使用可能媒体またはコンピューター可読媒体を使用することができる。コンピューター可読媒体の例には、それらに限定されないが、ROM、RAM、ハード・ドライブ、フロッピー(登録商標)ディスク、CD ROM、DVD ROM、ジップディスク、テープ、磁気記憶装置、光記憶装置、MEMSをベースとする記憶装置、ナノ技術をベースとする記憶装置、等々などの記憶装置がある。
[0136]代替実施態様では、電子メッセージングサーバー102およびユーザーデバイス106、ならびにそれらの任意のサブ−コンポーネントの各々は、ハードウェア論理/電気回路機構またはファームウェアとして実施することができる。他の実施形態によれば、これらの構成要素のうちの1つまたは複数は、システム・オン・チップ(SoC)の中で実施することができる。SoCは、その機能を実施するための、プロセッサー(例えばマイクロコントローラー、マイクロプロセッサー、ディジタル信号プロセッサー(DSP)、等々)、メモリー、1つまたは複数の通信インターフェース、および/または他の回路および/または埋設ファームウェアのうちの1つまたは複数を含んだ集積回路チップを含むことができる。
IV.結論
[0137]以上、様々な実施形態について説明したが、それらは、制限するためではなく、単なる例として示されたものにすぎないことを理解されたい。本発明の精神および範囲を逸脱することなく、形態および詳細に様々な変更を加えることができることは、1つまたは複数の関連分野の技術者には明らかであろう。したがって本発明の広さおよび範囲は、上で説明した何らかの例示的実施形態によって制限されるのではなく、以下の特許請求の範囲およびそれらの等価物によってのみ定義されるものとする。

Claims (10)

  1. ユーザーデバイス上にインストールされた電子メッセージングクライアントによって実施される方法であって、
    (a)1つまたは複数の第1の電子メッセージに関する情報を、前記ユーザーデバイスのディスプレイにレンダリングされた(rendered)グラフィカル・ユーザー・インターフェース(GUI)内に表示するステップであって、前記1つまたは複数の第1の電子メッセージの内容が前記ユーザーデバイスのローカルストア(store)に記憶されている、ステップと、
    (b)前記ユーザーデバイスが電子メッセージングサーバーに接続されているかどうかを決定するステップと、
    (c)前記ユーザーデバイスが前記電子メッセージングサーバーに接続されていると、少なくとも決定されることに応答して、前記1つまたは複数の第1の電子メッセージに関する前記情報と同時に、1つまたは複数の第2の電子メッセージに関する情報を前記GUI内に表示するステップであって、前記1つまたは複数の第2の電子メッセージの内容が、前記ローカルストアではなく、前記電子メッセージングサーバーにアクセスすることができるリモートストアに記憶されている、ステップと
    を含む方法。
  2. 前記1つまたは複数の第2の電子メッセージに関する前記情報を前記1つまたは複数の第1の電子メッセージに関する前記情報と同時に前記GUI内に表示させるためにユーザーが対話する(interact with)ことができるコンポーネントを前記GUI内に提供するステップ
    をさらに含み、ステップ(c)が、少なくとも、前記ユーザーデバイスが前記電子メッセージングサーバーに接続されていること、および前記ユーザーが前記コンポーネントと対話したことの決定に応答して実施される、請求項1に記載の方法。
  3. 前記1つまたは複数の第1の電子メッセージのうちの選択された電子メッセージの内容を前記GUI内に表示させるためにユーザーが対話することができるコンポーネントを前記GUI内に提供するステップと、
    前記ユーザーが前記コンポーネントと対話したことの決定に応答して、前記GUI内に表示するために、前記1つまたは複数の第1の電子メッセージのうちの前記選択された電子メッセージの内容を前記ローカルストアから得るステップと
    をさらに含む、請求項1に記載の方法。
  4. 前記1つまたは複数の第2の電子メッセージのうちの選択された電子メッセージの内容を前記GUI内に表示させるためにユーザーが対話することができるコンポーネントを前記GUI内に提供するステップと、
    前記ユーザーが前記コンポーネントと対話したことの決定に応答して、前記1つまたは複数の第2の電子メッセージのうちの前記選択された電子メッセージの内容のコピーを前記ローカルストアに保存することなく前記GUI内に表示するために、前記1つまたは複数の第2の電子メッセージのうちの前記選択された電子メッセージの内容を前記リモートストアから得るステップと
    を含む、請求項1に記載の方法。
  5. ディスプレイと、
    混合状態論理(blended state logic)を含んだプロセッサー実行電子メッセージングクライアントとを含み、前記混合状態論理が、
    ローカルアイテム数(count)を決定するステップであって、前記ローカルアイテム数が、前記ユーザーデバイスのローカルストアに記憶された、コンテナー(container)に含まれており特定の状態を有する電子メッセージの数を表す、ステップと、
    前記ユーザーデバイスが電子メッセージングサーバーに接続されているかどうかを決定するステップと、
    前記ユーザーデバイスが前記電子メッセージングサーバーに接続されていないことの決定に応答して、
    リモートアイテム数と前記ローカルアイテム数の最後の既知の差(a last known difference)を表す量(amount)を前記ローカルストアからロードするステップであって、前記リモートアイテム数が、前記電子メッセージングサーバーにアクセスすることができるリモートストアに記憶された、前記コンテナーに含まれており前記特定の状態(particular state)を有する電子メッセージの数を表す、ステップと、
    前記コンテナーに対する混合アイテム数(blended item count)を前記ディスプレイに提示するステップであって、前記コンテナーに対する前記混合アイテム数が前記ローカルアイテム数(local item count)と前記量の合計である、ステップと
    によって、電子メッセージの前記コンテナーに関連する混合状態を前記ディスプレイに提示するように構成される、ユーザーデバイス。
  6. 前記混合状態論理が、
    前記ユーザーデバイスが前記電子メッセージングサーバーに接続されていること、および前記ローカルストアと前記リモートストアの間の同期化(synchronization)が未だ実施(performed)されていないことの決定に応答して、
    前記電子メッセージングサーバーから新しいリモートアイテム数(remote item count)を得るステップと、
    前記新しいリモートアイテム数と前記ローカルアイテム数の差を決定することによって新しい量(amount)を計算するステップと、
    前記コンテナーに対する新しい混合アイテム数を前記ディスプレイに提示するステップであって、前記コンテナーに対する前記新しい混合アイテム数が前記ローカルアイテム数と前記新しい量の合計である、ステップと
    によって、電子メッセージの前記コンテナーに関連する前記混合状態を前記ディスプレイに提示するようにさらに構成される、請求項5に記載のユーザーデバイス。
  7. 前記混合状態論理が、
    前記ユーザーデバイスが前記電子メッセージングサーバーに接続されていること、および前記ローカルストアと前記リモートストアの間の同期化が実施されたことの決定に応答して、
    前記同期化によってもたらされる新しいリモートアイテム数および新しいローカルアイテム数を得るステップと、
    前記新しいリモートアイテム数と前記新しいローカルアイテム数の差を決定することによって新しい量を計算するステップと、
    前記コンテナーに対する新しい混合アイテム数を前記ディスプレイに提示するステップであって、前記コンテナーに対する前記新しい混合アイテム数が前記新しいローカルアイテム数と前記新しい量の合計である、ステップと
    によって電子メッセージの前記コンテナーに関連する前記混合状態を前記ディスプレイに提示するようにさらに構成される、請求項5に記載のユーザーデバイス。
  8. 前記混合状態論理が、
    前記ユーザーデバイスのユーザーが、前記特定の状態を有する、前記コンテナー中の電子メッセージの総数(total number)を変化させるアクションを特定の電子メッセージに対して実施したことの決定に応答して、
    前記特定の電子メッセージが前記ローカルストアに記憶されているかどうかを決定するステップと、
    前記特定の電子メッセージが前記ローカルストアに記憶されていることの決定に応答して、前記変化を考慮する(account for)ために前記ローカル数を増分(incrementing)または減分する(decrementing)ステップと
    によって電子メッセージの前記コンテナーに関連する前記混合状態を前記ディスプレイに提示する(present)ようにさらに構成される、請求項5に記載のユーザーデバイス。
  9. 前記混合状態論理が、
    特定の電子メッセージが前記ローカルストアに記憶されていないことの決定に応答して、変化を考慮するために前記量を増分または減分するステップ
    によって電子メッセージの前記コンテナーに関連する前記混合状態を前記ディスプレイに提示するようにさらに構成される、請求項5に記載のユーザーデバイス。
  10. コンピュータープログラム論理が記録されたコンピューター可読媒体を備えるコンピュータープログラム製品であって、前記コンピュータープログラム論理が、処理装置による方法の実施を可能にするための手段を含み、前記方法が、
    (a)ユーザーデバイスのユーザーから問合せ(query)を受け取るステップと、
    (b)前記問合せに基づいて、前記ユーザーデバイスのローカルストアにキャッシュされている複数の電子メッセージに対する第1の探索(search)を実行するステップと、
    (c)前記第1の探索の実行の結果として識別(identified)される少なくとも1つの電子メッセージに関する情報を、前記ユーザーデバイスのディスプレイにレンダリングされたグラフィカル・ユーザー・インターフェース(GUI)内に表示するステップと、
    (d)前記ユーザーデバイスが電子メッセージングサーバーに接続されているかどうかを決定するステップと、
    (e)前記ユーザーデバイスが前記電子メッセージングサーバーに接続されていることの少なくとも決定に応答して、前記電子メッセージングサーバーにアクセスすることができるリモートストア内で利用することができる複数の電子メッセージに対する第2の探索を実行させるステップ、および前記第2の探索の実行の結果として識別される少なくとも1つの電子メッセージに関する情報を前記GUI内に表示するステップとを含む、コンピュータープログラム製品。
JP2014553329A 2012-01-18 2013-01-11 ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージを混合提示するためのシステムおよび方法 Expired - Fee Related JP6279486B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/352,999 US10255587B2 (en) 2012-01-18 2012-01-18 System and method for blended presentation of locally and remotely stored electronic messages
US13/352,999 2012-01-18
PCT/US2013/021090 WO2013109464A1 (en) 2012-01-18 2013-01-11 System and method for blended presentation of locally and remotely stored electronic messages

Publications (2)

Publication Number Publication Date
JP2015505411A true JP2015505411A (ja) 2015-02-19
JP6279486B2 JP6279486B2 (ja) 2018-02-14

Family

ID=48780872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014553329A Expired - Fee Related JP6279486B2 (ja) 2012-01-18 2013-01-11 ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージを混合提示するためのシステムおよび方法

Country Status (12)

Country Link
US (1) US10255587B2 (ja)
EP (1) EP2805302A4 (ja)
JP (1) JP6279486B2 (ja)
KR (1) KR102052777B1 (ja)
CN (1) CN104054107A (ja)
AU (1) AU2013209993A1 (ja)
BR (1) BR112014017636A8 (ja)
CA (1) CA2863277A1 (ja)
MX (1) MX354899B (ja)
RU (1) RU2635887C2 (ja)
TW (1) TW201335768A (ja)
WO (1) WO2013109464A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI501097B (zh) * 2012-12-22 2015-09-21 Ind Tech Res Inst 文字串流訊息分析系統和方法
US10740412B2 (en) * 2014-09-05 2020-08-11 Facebook, Inc. Pivoting search results on online social networks
US11025576B1 (en) * 2018-12-31 2021-06-01 Facebook, Inc. Techniques for backend-specific cursor tracking
US10992633B1 (en) * 2018-12-31 2021-04-27 Whatsapp Inc. Methods and systems for determining an unread message count
US11055314B1 (en) 2018-12-31 2021-07-06 Facebook, Inc. Techniques for a database-driven messaging user interface
US10979500B1 (en) 2018-12-31 2021-04-13 Facebook, Inc. Techniques for directive-based messaging synchronization
US10855761B1 (en) 2018-12-31 2020-12-01 Facebook, Inc. Techniques for in-place directive execution
US11329940B2 (en) * 2019-10-28 2022-05-10 Microsoft Technology Licensing, Llc Coordinated unread count for email applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231146A (ja) * 1996-02-21 1997-09-05 Toshiba Corp 電子情報転送方法
JP2007079888A (ja) * 2005-09-14 2007-03-29 Dainippon Printing Co Ltd 電子メール管理システム
JP2009151726A (ja) * 2007-12-21 2009-07-09 Casio Hitachi Mobile Communications Co Ltd ネットワークシステム及びプログラム

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6061686A (en) * 1997-06-26 2000-05-09 Digital Equipment Corporation Updating a copy of a remote document stored in a local computer system
US6212265B1 (en) * 1998-01-27 2001-04-03 Darin Duphorne Method and apparatus for electronic mail notification
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
US6438585B2 (en) * 1998-05-29 2002-08-20 Research In Motion Limited System and method for redirecting message attachments between a host system and a mobile data communication device
US6289212B1 (en) 1998-09-16 2001-09-11 Openwave Systems Inc. Method and apparatus for providing electronic mail services during network unavailability
US6983308B1 (en) 1998-11-19 2006-01-03 Openwave Systems, Inc. Mail synchronization of remote and local mail systems
KR20010021089A (ko) 1999-07-23 2001-03-15 스테븐 디.피터스 네트워크 대역폭을 효율적으로 이용하여 전자 메일서비스를 이동 장치에 제공하기 위한 방법 및 장치
US6446118B1 (en) * 2000-02-29 2002-09-03 Designtech International, Inc. E-mail notification device
US6741855B1 (en) * 2000-03-24 2004-05-25 Sun Microsystems, Inc. Method and apparatus for remotely managing data via a mobile device
US6788953B1 (en) * 2000-06-05 2004-09-07 Uniden America Corporation Wireless local loop communication system using SLIC module
US6823373B1 (en) * 2000-08-11 2004-11-23 Informatica Corporation System and method for coupling remote data stores and mobile devices via an internet based server
US7197470B1 (en) * 2000-10-11 2007-03-27 Buzzmetrics, Ltd. System and method for collection analysis of electronic discussion methods
US20030037261A1 (en) * 2001-03-26 2003-02-20 Ilumin Corporation Secured content delivery system and method
US20020184317A1 (en) * 2001-05-29 2002-12-05 Sun Microsystems, Inc. System and method for searching, retrieving and displaying data from an email storage location
EP1405243A2 (en) * 2001-06-28 2004-04-07 Symbian Limited E-mail manager program for a wireless information device
US7161978B2 (en) * 2001-08-29 2007-01-09 Texas Instruments Incorporated Transmit and receive window synchronization
US20030078985A1 (en) * 2001-10-23 2003-04-24 David Holbrook Proactive message buffering across intermittent network connections
US20030078983A1 (en) * 2001-10-23 2003-04-24 Sullivan Terence Sean Message prioritization and buffering in a limited network
EP1525522A2 (en) * 2002-06-06 2005-04-27 Green Border Technologies Method and system for implementing a secure application execution environment using derived user accounts for internet content
US20030236842A1 (en) * 2002-06-21 2003-12-25 Krishnamurti Natarajan E-mail address system and method for use between disparate client/server environments
US7467183B2 (en) 2003-02-14 2008-12-16 Microsoft Corporation Method, apparatus, and user interface for managing electronic mail and alert messages
JP2004279482A (ja) * 2003-03-12 2004-10-07 Sharp Corp 表示装置
US20060008256A1 (en) * 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
FR2860938A1 (fr) * 2003-10-10 2005-04-15 France Telecom Dispositif et procede de traitement de messages pour terminal de telecommunication et terminal de telecommunication pourvu d'un tel dispositif
US8255835B2 (en) * 2004-02-24 2012-08-28 Research In Motion Limited Method and system for managing unread electronic messages
US7698369B2 (en) * 2004-05-27 2010-04-13 Strongmail Systems, Inc. Email delivery system using metadata on emails to manage virtual storage
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US20060009243A1 (en) * 2004-07-07 2006-01-12 At&T Wireless Services, Inc. Always-on mobile instant messaging of a messaging centric wireless device
US7212814B2 (en) * 2004-11-24 2007-05-01 Research In Motion Limited Methods and apparatus for efficiently managing the storage of e-mail message information for a mobile station
US8195746B2 (en) * 2005-03-11 2012-06-05 International Business Machines Corporation Automatic off-line availability for document content linked in electronic mail messages
US20070156825A1 (en) * 2006-01-04 2007-07-05 Teamon Systems, Inc. Electronic Mail (Email) System Providing Enhanced Message Retrieval from Email Storage Server and Related Methods
US8015152B2 (en) * 2006-01-24 2011-09-06 Microsoft Corporation Web based client/server notification engine
US8255473B2 (en) * 2006-04-04 2012-08-28 International Business Machines Corporation Caching message fragments during real-time messaging conversations
US20090210631A1 (en) * 2006-09-22 2009-08-20 Bea Systems, Inc. Mobile application cache system
US7761523B2 (en) * 2007-02-09 2010-07-20 Research In Motion Limited Schedulable e-mail filters
US20080261569A1 (en) * 2007-04-23 2008-10-23 Helio, Llc Integrated messaging, contacts, and mail interface, systems and methods
US9438549B2 (en) * 2007-09-27 2016-09-06 International Business Machines Corporation Controlling expiration of electronic mail single store attachments
US20090177530A1 (en) 2007-12-14 2009-07-09 Qualcomm Incorporated Near field communication transactions in a mobile environment
US8185521B2 (en) 2008-02-29 2012-05-22 Research In Motion Limited System and method for presentation of local and remote message search results
US20090254624A1 (en) * 2008-04-08 2009-10-08 Jeff Baudin E-mail message management system
US9508059B2 (en) * 2008-04-25 2016-11-29 T-Mobile Usa, Inc. Messaging device having a graphical user interface for initiating communication to recipients
ES2575155T3 (es) 2008-08-08 2016-06-24 Amazon Technologies, Inc. Suministro de programas de ejecución con acceso fiable al almacenamiento de datos a nivel de bloque no local
US8712384B1 (en) * 2008-08-26 2014-04-29 Sprint Spectrum L.P. Method and system for triggering message waiting indicator delivery
US7877451B2 (en) 2008-11-26 2011-01-25 International Business Machines Corporation System, method and program product for distribution of content contained in an electronic mail message
US8904292B2 (en) * 2008-12-31 2014-12-02 Motorola Mobility Llc Method and system for processing electronic mail
US7921172B2 (en) * 2009-01-07 2011-04-05 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for wireless presyncing of data
US8725793B2 (en) 2009-04-03 2014-05-13 Google Inc. Architectural pattern for persistent web application design
US8315607B2 (en) 2009-04-06 2012-11-20 Htc Corporation Method and system for filtering incoming messages to a mobile device
US8918588B2 (en) * 2009-04-07 2014-12-23 International Business Machines Corporation Maintaining a cache of blocks from a plurality of data streams
US20100318745A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Dynamic Content Caching and Retrieval
WO2012018556A2 (en) * 2010-07-26 2012-02-09 Ari Backholm Mobile application traffic optimization
US8417823B2 (en) * 2010-11-22 2013-04-09 Seven Network, Inc. Aligning data transfer to optimize connections established for transmission over a wireless network
US8484314B2 (en) * 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US9471145B2 (en) 2011-01-06 2016-10-18 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US20130125019A1 (en) * 2011-11-14 2013-05-16 Research In Motion Limited System And Method For Displaying Message History When Composing A Message

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231146A (ja) * 1996-02-21 1997-09-05 Toshiba Corp 電子情報転送方法
JP2007079888A (ja) * 2005-09-14 2007-03-29 Dainippon Printing Co Ltd 電子メール管理システム
JP2009151726A (ja) * 2007-12-21 2009-07-09 Casio Hitachi Mobile Communications Co Ltd ネットワークシステム及びプログラム

Also Published As

Publication number Publication date
JP6279486B2 (ja) 2018-02-14
US10255587B2 (en) 2019-04-09
WO2013109464A1 (en) 2013-07-25
BR112014017636A2 (ja) 2017-06-20
CN104054107A (zh) 2014-09-17
MX2014008564A (es) 2014-09-26
CA2863277A1 (en) 2013-07-25
US20130185649A1 (en) 2013-07-18
RU2014129510A (ru) 2016-02-10
EP2805302A4 (en) 2015-08-19
KR20140124362A (ko) 2014-10-24
RU2635887C2 (ru) 2017-11-16
MX354899B (es) 2018-03-23
EP2805302A1 (en) 2014-11-26
BR112014017636A8 (pt) 2017-12-12
TW201335768A (zh) 2013-09-01
KR102052777B1 (ko) 2020-01-08
AU2013209993A1 (en) 2014-07-31

Similar Documents

Publication Publication Date Title
JP6279486B2 (ja) ローカルに記憶された電子メッセージとリモートに記憶された電子メッセージを混合提示するためのシステムおよび方法
US9832149B2 (en) Treatment of cloud-based and local attachments in communication applications
JP5486595B2 (ja) 同期される対話中心のメッセージリストおよびメッセージ読み取りペイン
US8631079B2 (en) Displaying a list of file attachments associated with a message thread
JP2009524890A (ja) サイドバーによる通信のシステムおよび方法
JP2018097892A (ja) 階層形式での検索結果の表示
US20130290442A1 (en) Downloaded attachments flow
US10474720B2 (en) Information feed update mechanism
US9218167B2 (en) Augmenting user interface with additional information
US9946427B1 (en) Dynamic home screen
AU2019266078B2 (en) System for displaying electronic mail metadata and related methods
US20190081915A1 (en) Extensions embedded in e-mail messages
US20210141771A1 (en) Method of managing files by mobile device and mobile device for implementing the same
CN115658252A (zh) 消息队列的管理方法、装置、电子设备及存储介质
JP2022096489A (ja) 情報処理装置及び情報処理プログラム
CN117216026A (zh) 数据迁移方法、迁移消息数据显示方法、装置和设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170911

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20171004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171128

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20171204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180117

R150 Certificate of patent or registration of utility model

Ref document number: 6279486

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees