(58)【調査した分野】(Int.Cl.,DB名)
前記第1のメッセージ種別は非同期のメッセージングであり、前記第2のメッセージ種別はリアルタイムのメッセージングであることを特徴とする請求項1に記載の方法。
【発明を実施するための形態】
【0018】
本開示のさまざまな実施の形態について、以下に詳しく論じる。特定の実装について論じているが、これは説明のみを目的として行われていることを理解されたい。当業者は、本開示の趣旨および範囲から逸脱することなく他のコンポーネントや構成が用いられうることを認識するであろう。
【0019】
本開示の技術は、同僚とやり取りし、ワークプロダクト(例えば、ファイル、メディア、文書、デジタルコンテンツ等)を生成し、アクセスする単一のユーザインタフェースを提供し、かつ、現代世界のビジネスを行うために必要なソフトウェアアプリケーションにアクセスする、統合した協調ワークスペースについての当分野の必要性を解決する。
【0020】
図1は共有フォルダを支援する統合ワークスペースを実施するための例示のシステム構成100のブロック図を示し、電子デバイスはコンテンツ及び他のデータを交換する目的でネットワークを通じて通信を行う。システムは、
図1に示されるように、ワイドエリアネットワーク上で使用されるよう構成されてもよい。しかしながら、本原理は、電子デバイス間の通信を促進する様々な種類のネットワーク構成に適用可能である。例えば、
図1のシステム100の各コンポーネントは、ネットワークにおいて局在的または分散的に実装されてもよい。
【0021】
システム100では、直接および/または間接通信によりネットワーク104と接続された複数のクライアントデバイス1021、1022、…、102n(「102」と総称する)を通じて、ユーザはコンテンツ管理システム106とやり取りすることができる。コンテンツ管理システム106は、デスクトップコンピュータや、モバイルコンピュータや、携帯電話、スマートフォン、タブレットなどのモバイル通信デバイスや、スマートテレビジョンや、セットトップボックスや、他の任意のネットワーク可能な計算デバイスなどの多種多様なクライアントデバイスからの接続をサポートしてもよい。クライアントデバイス102は、各種の種別、性能、オペレーティングシステム等であってもよい。さらに、コンテンツ管理システム106は、複数のクライアントデバイス102からの接続を同時に許可してもよく、複数のクライアントデバイス102とのやり取りを同時に行ってもよい。
【0022】
クライアントデバイス102
iにインストールされたクライアント側アプリケーションを通じて、ユーザはコンテンツ管理システム106とやり取りすることができる。ある実施の形態では、クライアント側アプリケーションはコンテンツ管理システム用のコンポーネントを含んでもよい。例えば、コンポーネントはスタンドアローンアプリケーションやひとつ以上のアプリケーションプラグインやブラウザエクステンションであってもよい。しかしながら、クライアントデバイス102
iに存在しコンテンツ管理システム106と通信するよう構成されたウェブブラウザなどの第3者アプリケーションを通じて、ユーザはコンテンツ管理システム106とやり取りすることができる。いずれの場合でも、クライアント側アプリケーションは、ユーザがコンテンツ管理システム106と相互作用するためのユーザインタフェース(UI)を提供してもよい。例えば、ファイルシステムと統合されたクライアント側アプリケーションを介して、またはウェブブラウザアプリケーションを使用して表示されたウェブページを通じて、ユーザはコンテンツ管理システム106とやり取りすることができる。
【0023】
コンテンツ管理システム106は、ユーザによるコンテンツの格納や、コンテンツの取得、変更、閲覧、および/または共有などの種々のコンテンツ管理タスクの実行を可能としてもよい。さらにコンテンツ管理システム106は、ユーザが複数のクライアントデバイス102からコンテンツにアクセスすることを可能としてもよい。例えば、クライアントデバイス102
iはネットワーク104を通じてコンテンツ管理システム106にコンテンツをアップロードしてもよい。そのコンテンツは後に、同じクライアントデバイス102
iまたは他のクライアントデバイス102
jを使用してコンテンツ管理システム106から取得されてもよい。
【0024】
種々のコンテンツ管理サービスをより容易にするために、ユーザはコンテンツ管理システム106にアカウントを生成してもよい。アカウント情報はユーザアカウントデータベース150に維持されてもよい。ユーザアカウントデータベース150は、登録ユーザについてのプロファイル情報を格納してもよい。ある場合には、ユーザプロファイルの個人情報はユーザ名および/または電子メールアドレスのみであってもよい。しかしながら、コンテンツ管理システム106は追加的なユーザ情報を受け入れるよう構成されてもよい。
【0025】
ユーザアカウントデータベース150は、有料/無料の別などのアカウントタイプや、ファイル編集履歴などの利用情報や、許されている最大ストレージスペースや、利用されているストレージスペースや、コンテンツストレージ位置や、セキュリティ設定や、個人構成設定や、コンテンツ共有データなどのアカウント管理情報を含んでもよい。アカウント管理モジュール124は、ユーザアカウントデータベース150のユーザアカウントの詳細を更新し、及び/又は、取得するように構成されてもよい。アカウント管理モジュール124は、コンテンツ管理システム106の他の任意の数のモジュールと相互に作用するよう構成されてもよい。
【0026】
アカウントは、そのアカウントで認証されたひとつ以上のクライアントデバイス102から、デジタルデータやドキュメントやテキストファイルや音声ファイルやビデオファイルなどのコンテンツを格納するために使用されてもよい。コンテンツはまたフォルダ、又は、コレクション、プレイリスト、アルバムなどの種々の挙動とともにコンテンツアイテムをグループ化する他のメカニズムを含むことができる。例えば、アカウントは任意のユーザに対してアクセス可能とする公開フォルダを含むことができる。公開フォルダにはウェブアクセス可能なアドレスが割り当てられてもよい。ウェブアクセス可能なアドレスへのリンクを使用して公開フォルダのコンテンツにアクセスしてもよい。他の例では、アカウントは、写真に適する特定の属性やアクションを提供する写真用の写真フォルダや、音声ファイルを再生する能力を提供し他の音声関連アクションを実行する音声フォルダや、他の特殊用途フォルダを含んでもよい。アカウントは、複数のユーザアカウントとリンクされそれらのアカウントから利用可能な共有フォルダまたはグループフォルダを含んでもよい。ある共有フォルダについての複数のユーザに対する複数のパーミッションは異なっていてもよい。例えば、共有フォルダに関連付けられるパーミッション設定は、所定のユーザ(例えば、ビジネス、プロジェクトチーム、ワークスペース等に関連付けられるユーザ)のみが共有フォルダへアクセスすることができることを示すことができる。
【0027】
コンテンツはコンテンツストレージ160に格納されてもよい。コンテンツストレージ160は、ストレージデバイスや、複数のストレージデバイスや、サーバであってもよい。あるいはまた、コンテンツストレージ160は、ひとつ以上の通信ネットワークを通じてアクセス可能なクラウドストレージプロバイダまたはネットワークストレージであってもよい。コンテンツ管理システム106がクライアントデバイス102に対して複雑さと詳細とを隠すことで、クライアントデバイス102は、コンテンツアイテムがコンテンツ管理システム106によって正確にどこに格納されているのかを知る必要はない。ある変形例では、コンテンツ管理システム106は、クライアントデバイス102
i上に現れるフォルダ階層と同じフォルダ階層でコンテンツアイテムを格納してもよい。しかしながら、コンテンツ管理システム106は自身の順序や構成や階層でコンテンツアイテムを格納してもよい。コンテンツ管理システム106は、コンテンツアイテムを、ネットワークアクセス可能ストレージ(SAN)デバイス、redundant array of inexpensive disks(RAID)等に格納しうる。コンテンツストレージ160は、コンテンツアイテムを、FAT、FAT32、NTFS、EXT2、EXT3、EXT4、ReiserFS、 BTRFS等の1つ以上のパーティションタイプを用いて格納しうる。
【0028】
コンテンツストレージ160は、コンテンツアイテムおよびコンテンツアイテムタイプおよびコンテンツアイテムと種々のアカウントやフォルダやグループとの関係を説明するメタデータを格納してもよい。コンテンツアイテムのメタデータは、コンテンツアイテムの一部として格納されてもよいし、別個に格納されてもよい。ある変形例では、コンテンツストレージ160に格納される各コンテンツアイテムには、システム全体で一意の識別子が割り当てられてもよい。
【0029】
コンテンツストレージ160は、重複したファイルやファイルの重複セグメントを特定することによって、要求されるストレージスペースの量を低減することができる。複数の複製を保持する代わりに、コンテンツストレージ160は単一の複製を保持し、ポインタや他のメカニズムを使用して、重複しているものをその単一の複製にリンクさせてもよい。同様に、コンテンツストレージ160はファイルをより効率的に保持できるだけでなく、ファイルへの変更や異なるバージョンのファイル(分岐バージョンツリーを含む)や変更履歴を追うファイルバージョン制御を使用することで、操作をやり直す能力を提供してもよい。変更履歴は、元のファイルバージョンに適用された場合、変更後のファイルバージョンを生成する一組の変更を含んでもよい。
【0030】
コンテンツ管理システム106はひとつ以上のクライアントデバイス102からのコンテンツの自動同期をサポートするよう構成されてもよい。同期はプラットフォーム不可知的であってもよい。すなわち、コンテンツは、種類、機能、オペレーティングシステム等の異なる、複数のクライアントデバイス102にわたって同期処理されうる。例えば、クライアントデバイス102
iは、コンテンツ管理システム106の同期モジュール132を通じて、クライアントデバイス102
iのファイルシステムのコンテンツを、ユーザアカウントに関連付けられるコンテンツと同期するクライアントソフトウェアを含みうる。ある場合では、クライアントソフトウエアは、新たな、削除された、変更された、複製された、または移動されたファイルやフォルダなどの、指定されたフォルダおよびそのサブフォルダのコンテンツに対する任意の変更を同期させてもよい。クライアントソフトウエアは別個のソフトウエアアプリケーションであってもよく、またはオペレーティングシステム中の既存のコンテンツ管理アプリケーションに統合されていてもよく、またはそれらの組み合わせであってもよい。既存のコンテンツ管理アプリケーションに統合されるクライアントソフトウエアの一例では、ユーザはローカルフォルダ内で直接コンテンツを操作し、その間、バックグラウンド処理は変更がないかローカルフォルダを監視し、そのような変更の同期をコンテンツ管理システム106に対して実行する。逆に、バックグラウンド処理はコンテンツ管理システム106において更新されたコンテンツを特定し、そのような変更の同期をローカルフォルダに対して実行してもよい。クライアントソフトウエアは同期操作の通知を提供してもよく、コンテンツ管理アプリケーションの中で直接、コンテンツ状態の表示を提供してもよい。クライアントデバイス102
iが利用可能なネットワーク接続を有さない場合がある。このシナリオでは、クライアントソフトウエアはファイル変更がないかリンクされたフォルダを監視し、後にネットワーク接続が利用可能となったときにコンテンツ管理システム106に対して同期を実行するべくそのような変更をキューに入れてもよい。同様に、ユーザは、コンテンツ管理システム106との同期を手動で止めるか一時停止してもよい。
【0031】
ユーザは、ユーザインタフェースモジュール122によって生成され提供されるウェブインタフェースを通じて、コンテンツを視たり操作したりしてもよい。例えば、ユーザは、ウェブブラウザ内で、コンテンツ管理システム106によって提供されるウェブアドレスへと辿り着いてもよい。ファイルの新たなバージョンのアップロードのように、ウェブインタフェースを通じてなされたコンテンツストレージ160のコンテンツへの変更や更新は、ユーザのアカウントに関連する他のクライアントデバイス102へと伝搬されてもよい。例えば、それぞれが自身のクライアントソフトウエアを有する複数のクライアントデバイス102は単一のアカウントと関連付けられていてもよく、そのアカウントのファイルは複数のクライアントデバイス102のそれぞれの間で同期されてもよい。
【0032】
コンテンツ管理システム106は、アプリケーションプログラミングインタフェース(API)を通じて他のコンテンツおよび/またはサービスプロバイダ1091、1092、…、109n(「109」と総称する)と相互に作用可能な通信インタフェース120であって種々のクライアントデバイス102とのインタフェースとしての通信インタフェース120を含んでもよい。所定のソフトウエアアプリケーションは、ユーザの代わりに、APIを通じてコンテンツストレージ160にアクセスしてもよい。例えば、スマートフォンやタブレット計算デバイス上のアプリケーションなどのソフトウエアパッケージはプログラム上、ユーザが資格証明を提供する場合、コンテンツ管理システム106を直接呼び出し、コンテンツを読み取り、書き込み、生成し、消去し、共有し、またはそうでなければ操作してもよい。同様に、APIは、ウェブサイトを通じてユーザがコンテンツストレージ160の全てまたは一部にアクセスすることを可能としてもよい。
【0033】
コンテンツ管理システム106は認証モジュール126を含んでもよい。この認証モジュール126は、ユーザの資格証明やセキュリティトークンやAPIコールや特定のクライアントデバイスなどを検証し、認証されたクライアントおよびユーザのみがファイルにアクセスできることを確実なものとしてもよい。さらに、コンテンツ管理システム106は解析モジュール134を含んでもよい。この解析モジュール134は集合的ファイル操作やユーザアクションやネットワーク利用状況や使用されているトータルのストレージスペースや、他の技術的、利用状況的またはビジネス上の指標を追い、それについて報告してもよい。プライバシー及び/又はセキュリティポリシーは、コンテンツ管理システム106に保持されるユーザデータへの許可を得ないアクセスを防止してもよい。
【0034】
コンテンツ管理システム106は、公にまたは私的にコンテンツを共有することを管理するための共有モジュール130を含んでもよい。公にコンテンツを共有することは、コンテンツアイテムを、コンテンツ管理システム106とネットワーク通信可能な任意の計算デバイスからアクセス可能とすることを含んでもよい。私的にコンテンツを共有することは、コンテンツストレージ160のコンテンツアイテムを2以上のユーザアカウントとリンクさせ、それにより各ユーザアカウントがそのコンテンツアイテムへのアクセスを有することを含んでもよい。当該共有は、プラットフォームが不可知の態様でなされてもよい。つまり、コンテンツは種々の種別、性能、オペレーティングシステムなどの複数のクライアントデバイス102に渡って共有されてもよい。当該コンテンツはまた、ユーザアカウントの種々の種別に渡って共有されてもよい。
【0035】
ある実施の形態では、コンテンツ管理システム106は、コンテンツストレージ160における各コンテンツアイテムの位置を特定するコンテンツディレクトリを維持するよう構成されてもよい。コンテンツディレクトリは、コンテンツストレージに保持される各コンテンツアイテムに対して一意のコンテンツエントリを含んでもよい。
【0036】
コンテンツエントリは、コンテンツ管理システムにおけるコンテンツアイテムの位置を特定するために使用されるコンテンツパスを含んでもよい。例えば、コンテンツパスはコンテンツアイテムの名前とコンテンツアイテムに関連するフォルダ階層とを含んでもよい。例えば、コンテンツパスは、コンテンツアイテムの名前に加えて、そのコンテンツアイテムが置かれているフォルダまたはフォルダのパスを含んでもよい。コンテンツ管理システム106はコンテンツパスを使用して、コンテンツアイテムを適切なフォルダ階層の中で提示してもよい。
【0037】
コンテンツエントリは、コンテンツストレージ160におけるコンテンツアイテムの位置を特定するコンテンツポインタを含んでもよい。例えば、コンテンツポインタはメモリにおけるコンテンツアイテムの正確なストレージアドレスを含んでもよい。ある実施の形態では、コンテンツポインタは複数の位置を指してもよく、複数の位置のそれぞれはコンテンツアイテムの一部を含む。
【0038】
コンテンツパスおよびコンテンツポインタに加えて、コンテンツエントリはコンテンツアイテムへのアクセスを有するユーザアカウントを特定するユーザアカウント識別子を含んでもよい。ある実施の形態では、複数のユーザアカウント識別子が単一のコンテンツエントリに関連付けられてもよく、これは、そのコンテンツアイテムが複数のユーザアカウントによる共有アクセスを有することを示す。
【0039】
私的にコンテンツアイテムを共有するために、共有モジュール130は、ユーザアカウント識別子をコンテンツアイテムに関連付けられたコンテンツエントリに追加し、それにより追加されたユーザアカウントにコンテンツアイテムへのアクセスを与えるよう構成される。共有モジュール130は、ユーザアカウントのコンテンツアイテムへのアクセスを制限するために、コンテンツエントリからユーザアカウント識別子を除くよう構成されてもよい。
【0040】
公にコンテンツを共有するために、共有モジュール130はユニフォームリソースロケータ(URL)などのカスタムネットワークアドレスを生成するよう構成されてもよい。このカスタムネットワークアドレスにより、任意のウェブブラウザが、コンテンツ管理システム106のコンテンツに認証なしでアクセスすることが可能となる。これを達成するために、共有モジュール130は生成されるURLにコンテンツ特定データを含めるよう構成されてもよい。コンテンツ特定データは、後に、要求されたコンテンツアイテムを適切に特定して返すために使用されてもよい。例えば、共有モジュール130は、生成されるURLにユーザアカウント識別子とコンテンツパスとを含めるよう構成されてもよい。URLが選択されると、URLに含まれるコンテンツ特定データはコンテンツ管理システム106に送信されてもよい。コンテンツ管理システム106は受信したコンテンツ特定データを使用して適切なコンテンツエントリを特定し、そのコンテンツエントリに関連付けられたコンテンツアイテムを返してもよい。
【0041】
URLを生成することに加えて、共有モジュール130はコンテンツアイテムへのURLが生成されたことを記録するよう構成されてもよい。ある実施の形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、そのコンテンツアイテムへのURLが生成されたか否かを示すURLフラグを含んでもよい。例えば、URLフラグは、コンテンツアイテムへのURLがまだ生成されていないことを示すために最初に0またはfalseに設定されるブール値であってもよい。共有モジュール130は、コンテンツアイテムへのURLを生成した後はフラグの値を1またはtrueに変更するよう構成されてもよい。
【0042】
ある実施の形態では、共有モジュール130は生成されたURLを非活性化するよう構成されてもよい。例えば、各コンテンツエントリは、要求に応じて生成されたURLからコンテンツが返されるべきか否かを示すURLアクティブフラグを含んでもよい。例えば、共有モジュール130は、URLアクティブフラグが1またはtrueに設定されている場合にのみ、生成されたリンクによって要求されるコンテンツアイテムを返すよう構成されてもよい。したがって、URLが既に生成されたコンテンツアイテムへのアクセスは、URLアクティブフラグの値を変更することにより、容易に制限されうる。これにより、ユーザは、コンテンツアイテムを移動したり生成されたURLを削除したりしなくても、共有コンテンツアイテムへのアクセスを制限できる。同様に、共有モジュール130は、URLアクティブフラグの値を1またはtrueに変えることでURLを再活性化してもよい。したがって、ユーザは、新たなURLを生成する必要なしにコンテンツアイテムへのアクセスを容易に復活させることができる。
【0043】
コンテンツ管理システム106は、ワークスペースサーバ136を含みうる。ワークスペースサーバ136は、共有フォルダを支援するワークスペースを管理するように構成されてもよい。例えば、ワークスペースサーバ136は、ワークスペースに関連するメッセージとコンテンツアイテムとを受信し、当該メッセージ及びコンテンツアイテムをワークスペースに関連付けられる共有フォルダに格納してもよい。ワークスペースサーバ136は、ワークスペースの共有フォルダを監視し、共有フォルダの現在の状態を説明する状態情報をクライアントデバイス102へ送信することができ、それにより、クライアントデバイス102は、ユーザがワークスペースと対話することを許容するグラフィカルユーザインタフェースを生成して表示することができる。例えば、ワークスペースサーバ136は、ユーザクライアントデバイス102上で実行するブラウザへブラウザベースのワークスペースグラフィカルユーザインタフェース(例えば、ウェブページ、ウェブアプリケーション等)を供給するウェブサーバであってもよい。ワークスペースサーバ136は、ワークスペースのクライアントアプリケーション(例えば、ブラウザ以外の)へ共有フォルダの状態情報を配信するサーバであってもよく、これにより、ワークスペースのクライアントアプリケーションは、ワークスペースに関連付けられる共有フォルダのワークスペース及び/又はコンテンツの状態を表すグラフィカルユーザインタフェースを生成することができる。ワークスペースサーバ136の種々の機能についてより詳細に以下で説明する。
【0044】
コンテンツ管理システム106は、特定のコンポーネントを与えられて示されているものの、当業者は、システム106の構造上の構成が単に一つの可能性のある構成であること、及び、多少のコンポーネントが与えられた他の構成も可能であることを理解すべきである。
【0045】
図2は共有フォルダを支援する統合ワークスペースを提供するための例示のシステム200を示すブロック図である。例えば、システム200は上述したシステム100に対応しうる。クライアントデバイス210(例えば、102
i)のユーザはコンテンツ管理システム106でアカウントを作成することができる。ユーザはクライアントデバイス210上でコンテンツ管理システム106に関連付けられる共有フォルダ214を作成することができる。共有フォルダ214がクライアントデバイス210上で作成されうると、対応する共有フォルダ234はコンテンツ管理システム106のサーバデバイス230上で作成されうる。クライアントデバイス210のユーザは、クライアントデバイス240(例えば、102
j)のユーザと共有フォルダ214を共有することができる。共有フォルダ214がクライアントデバイス240のユーザと共有されると、対応する共有フォルダ244がクライアントデバイス240上で作成されうる。上述したように、コンテンツ管理システム106は、共有フォルダ214、234、及び244を同期化することができ、これにより、複数の共有フォルダの1つ(例えば、共有フォルダ244)上で追加、修正、又は削除されたコンテンツアイテムは他のデバイス上で対応する共有フォルダ(例えば、共有フォルダ214、234)において対応して追加、修正、又は削除される。
【0046】
いくつかの実施形態において、ワークスペースサーバ136は、共有フォルダ234に基づき、ワークスペースを生成することができる。例えば、クライアントデバイス240のユーザは、上述したように、コンテンツ管理システム106へのウェブブラウザインタフェースを通じて共有フォルダ234の内容を閲覧することができる。クライアントデバイス240上に表示されるブラウザインタフェースで共有フォルダ234の内容を閲覧している間に、ユーザは、ワークスペースサーバ136にウェブブラウザインタフェース上に現在表示されている共有フォルダ234に基づきワークスペースを生成させる入力(例えば、ボタン又はリンクなどのグラフィカル要素を選択する)を提供することができる。例えば、クライアントデバイス240上のウェブブラウザは、共有フォルダ234に基づいてワークスペースが生成されるように要求するメッセージを、ネットワーク104を通じてワークスペースサーバ136へ送信することができる。ワークスペースサーバ136は、共有フォルダ234に基づいてワークスペースを生成することができ、ワークスペースの状態情報をクライアントデバイス240へ送信することができ、これにより、クライアントデバイス240はワークスペースのグラフィカルユーザインタフェース242(例えば、WS GUI242)を生成して表示することができる。例えば、WS GUI242は、ワークスペースサーバ136によって生成され、かつ、クライアントデバイス240上で実行するウェブブラウザへ供給されるウェブページであってもよい。WS GUI242は、クライアントデバイス240上で実行するネイティブのワークスペースのクライアントアプリケーションのグラフィカルユーザインタフェースであってもよい。同様に、クライアントデバイス210のユーザは、共有フォルダ234に基づくワークスペースを要求することができ、ワークスペースサーバ136は、ワークスペースの状態情報をクライアントデバイス210へ送信することができ、これにより、クライアントデバイス210は、当該クライアントデバイス210上でワークスペースのグラフィカルユーザインタフェース212を生成して表示することができる。
【0047】
いくつかの実施形態において、WS GUI212(又は、WS GUI242)は、ワークスペースサーバ136を通じて共有フォルダ234を閲覧し、当該共有フォルダとやり取りすることができる。例えば、ユーザはWS ワークスペースサーバ136からの、共有フォルダ234に格納されたコンテンツアイテムのプレビュー画像(例えば、コンテンツの表示)をGUI212に要求させるようにWS GUI212への入力を提供することができる。ワークスペースサーバ136は、WS GUI212へプレビュー画像を配信することができ、これにより、WS GUI212は、クライアントデバイス210のディスプレイ上にコンテンツアイテムのプレビュー画像を表示することができる。いくつかの実施形態において、WS GUI212は、クライアントデバイス210上に存在する、対応する共有フォルダ214に直接アクセスすることによって共有フォルダ234とやり取りすることができる。例えば、共有フォルダ214が共有フォルダ234と同期化されるため、WS GUI212のユーザは、共有フォルダ234であるかのうように共有フォルダ214を閲覧し操作することができる。例えば、ワークスペースサーバ136からの共有フォルダ234のコンテンツアイテムのプレビュー画像を要求する代わりに、WS GUI212は、共有フォルダ214にローカルに格納されたコンテンツアイテムのコピーにアクセスすることができる。したがって、時にはWS GUI212は、ワークスペースとやり取りする際にローカル共有フォルダ214にアクセスするであろうし、時にはWS GUI212は、ワークスペースサーバ136からワークスペースに関連付けられる(例えば、共有フォルダ234に関連付けられる)コンテンツ又は状態情報を要求するであろう。
【0048】
図3は、例示のワークスペースのグラフィカルユーザインタフェース300を示す図である。例えば、ワークスペースのグラフィカルユーザインタフェース300(例えば、WS GUI300)は
図2のWS GUI212及びWS GUI242の少なくとも1つに対応しうる。WS GUI300は、クライアントデバイス102
iのブラウザアプリケーションで提示されるウェブアプリケーションであってもよい。WS GUI300は、クライアントデバイス102
i上で実行するネイティブのソフトウェアアプリケーションによって生成されるグラフィカルユーザインタフェースであってもよい。
【0049】
いくつかの実施形態において、WS GUI300は、新たなワークスペースを作成するための選択可能なグラフィカル要素202を含んでもよい。例えば、ユーザは、新たなワークスペースが生成されるように要求するワークスペースサーバ136へのメッセージをWS GUI300(例えば、ブラウザ又はネイティブアプリケーション)に送信させるグラフィカル要素302(例えば、ボタン、リンク等)を選択することができる。ユーザは新たなワークスペースにおける名前と、当該ワークスペースにおける電子メールアドレス(例えば、メーリングリスト、グループ電子メールアドレス等)を特定することができる(例えば、不図示のグラフィカルユーザインタフェースを通じて)。ワークスペースサーバ136へのメッセージは、特定した名前及び電子メールアドレスを含んでもよい。メッセージを受信すると、ワークスペースサーバ136は、ワークスペースについての共有フォルダ(例えば、共有フォルダ234)と、ワークスペースについての電子メールアカウント(例えば、メールリスト)とを生成することができる。ワークスペースサーバ136は、ワークスペース(例えば、共有フォルダ)の状態情報をユーザへ提示するWS GUI300へ送信することができる。例えば、ワークスペースの状態情報は、ワークスペースのメンバについての情報(例えば、メンバのプロファイル、オンライン状態等)、共有フォルダのコンテンツアイテム、及び、他のものについてワークスペースのメンバによって生成されたメッセージの少なくとも1つを含んでもよい。
【0050】
いくつかの実施形態において、WS GUI300は、ユーザが属するワークスペース304のリストを含んでもよい。例えば、WS GUI300のユーザは、複数のワークスペース(例えば、Engineering、Marketing、Social等)のメンバであってもよい。当該ユーザは、選択したワークスペースについての状態情報を閲覧するためにワークスペース304の1つを選択してもよい。例示のWS GUI300において、ユーザは”Engineering”ワークスペースを選択している。したがって、WS GUI300は、現在のところ、Engineeringのワークスペースについての状態情報を提示する。WS GUI300上にリストされたワークスペース304は、ワークスペースの状態が変更された場合にユーザへ通知する指標を含んでもよい。例えば、”Marketing”ワークスペースは、当該ワークスペース内で何が変更されたかを示すワークスペースの名前におけるドットの左部分を有する。例えば、変更は、ワークスペース(例えば、対応するワークスペースの共有フォルダ)に関連付けられるコンテンツアイテムが追加、修正、又は削除されるものであってもよい。当該変更は、例えば、新たなメッセージがワークスペースで受信されたものであってもよい。
【0051】
いくつかの実施形態において、WS GUI300は、表示したワークスペースのメンバを識別することができる。例えば、WS GUI300は、ワークスペースのメンバ及びワークスペースに関連付けられる共有フォルダにアクセスするユーザの少なくとも一方を表示及び/又は識別するグラフィカル要素306を含んでもよい。例えば、各グラフィカル要素306は、ワークスペースの対応するメンバを表す画像を提示してもよい。WS GUI300のユーザは、ワークスペースの対応するメンバについての情報を閲覧するためにグラフィカル要素306を選択することができる。例えば、グラフィカルユーザインタフェースは、選択したグラフィカル要素306と関連付けられるメンバに対応するユーザプロファイル(例えば、名前、連絡情報、オンライン状態等)を表示するグラフィカル要素306の1つの選択に応じて提示されてもよい。グラフィカル要素306は、グラフィカル要素306に対応するメンバがオンラインである(オンライン接続している)ことを示すオンライン状態指標(例えば、緑のドット、強調表示等)を含んでもよい。例えば、メンバがオンラインである場合、グラフィカル要素306はオンライン状態指標を表示するであろう。例えば、メンバがオフラインである場合、グラフィカル要素306はオンライン状態指標を表示しないであろう。
【0052】
いくつかの実施形態において、WS GUI300は、ワークスペースへメンバを追加するためのグラフィカル要素308を含んでもよい。例えば、ユーザは、ワークスペース及びワークスペースに関連付けられる共有フォルダの少なくとも一方に新たなメンバを追加するためのグラフィカルユーザインタフェースをWS GUI300に提示させるグラフィカル要素308を選択することができる。ユーザは、新たなメンバの名前、電子メールアドレス、電話番号、及び新たなメンバに関連付けられる他のデータ(例えば、会社、部門、プロジェクト等)の少なくとも1つを入力することができる。WS GUI300は、ワークスペースサーバ136へ新たなメンバの情報を送信することができる。ワークスペースサーバ136は、ワークスペースに新たなメンバを追加し、新たなメンバとともにワークスペースに関連付けられる共有フォルダを共有することができる。ワークスペースサーバ136は、ワークスペースにおける電子メールのメーリングリストに新たなメンバを追加することができる。
【0053】
いくつかの実施形態において、WS GUI300は、表示したワークスペースの共有フォルダに格納されたコンテンツアイテムを提示することができる。例えば、WS GUI300は、”Enginnering”ワークスペースに対応する共有フォルダ234に格納されたコンテンツアイテムを表すグラフィカル要素310を提示することができる。ユーザは、さらに以下で詳細に説明するように、選択したグラフィカル要素310に対応するコンテンツアイテム及びメッセージの少なくとも1つを閲覧するためにグラフィカル要素310を選択することができる。いくつかの実施形態において、提示したグラフィカル要素310は、共有フォルダのコンテンツアイテムの全てを表してもよい。いくつかの実施形態において、グラフィカル要素310は、それぞれのコンテンツアイテムと関連付けられる使用統計に基づいて選択されたコンテンツアイテムを表示してもよい。例えば、提示したグラフィカル要素310は、最近アクセスした上位5個のコンテンツアイテムを表示してもよい。提示したグラフィカル要素310は、アクセス頻度の高い上位10個のコンテンツアイテムを表示してもよい。提示したグラフィカル要素310は、ワークスペースメンバが最も多くアクセスした上位6個のコンテンツアイテムを表示してもよい。
【0054】
いくつかの実施形態において、グラフィカル要素310は、ワークスペースに対応する共有フォルダの1以上のブックマークされたコンテンツアイテムの表示を含んでもよい。例えば、所定のコンテンツアイテムは、他のものよりもより重要なものであってもよい(例えば、よりアクセス頻度が高いもの、ワークスペースメンバにとって必読の文書等)。ユーザは、WS GUI300上に提示されたグラフィカル要素310のリストの上位にフラグ付けされ、ブックマークされ、又は、ピン止めされたコンテンツアイテムを有する重要なコンテンツアイテムとしてコンテンツアイテムを指定することができる。ワークスペースサーバ136は、種々の要因に基づき、重要なコンテンツアイテムとしてコンテンツアイテムを自動的に指定することができる。例えば、ワークスペースサーバ136は、いずれのコンテンツアイテムが最もアクセス頻度が高いか、又は、ワークスペースのメンバのうち最も多くのメンバからアクセスされたかを判定し、重要なコンテンツアイテムとしてコンテンツアイテムを自動的に指定することができる。重要なコンテンツアイテムは、グラフィカル要素310のリストの上位にピン止めされてもよく、これにより、重要なコンテンツアイテムはWS GUI300を通じていつでも容易にアクセスすることができる。ブックマークされたコンテンツアイテムはワークスペースのそれぞれのメンバに対して同様のものであってもよい。例えば、全てのワークスペースのメンバは、各メンバがWS GUI300を起動すると、同一のブックマークされたコンテンツアイテムを見ることになるであろう。重要なコンテンツアイテムは、グラフィカル指標314(例えば、フラグ、ピン、ブックマーク等)と関連付けられてもよい。
【0055】
いくつかの実施形態において、WS GUI300は、ワークスペースへ新たなコンテンツアイテムを追加するためのグラフィカル要素312を含んでもよい。例えば、ユーザは表示されたワークスペースに対応する共有フォルダ234に新たなフォルダを追加するために、グラフィカル要素312を選択することができる。ユーザは、ワークスペースに新たなコンテンツアイテム(例えば、ファイル、メディア、アイテム等)を追加するために、グラフィカル要素312を選択することができる。グラフィカル要素312の選択が行われると、グラフィカルユーザインタフェースは、ワークスペースの内容物についてユーザのクライアントデバイス210におけるファイルシステムの既存のコンテンツアイテムを選択するようにユーザに促すために提示されうる。ユーザは、ワークスペースに対応するローカルの共有フォルダ214に当該コンテンツアイテムが格納されるように、ユーザのクライアントデバイス210上で既存のコンテンツアイテムを選択することができる。WS GUI300は、共有フォルダ214の新たなコンテンツアイテムが対応する共有フォルダ234、244と同期されるように、新たなコンテンツアイテムが共有フォルダ214に加えられたことを示すメッセージをワークスペースサーバ136へ送信してもよい。したがって、クライアントデバイス240上のWS GUI242は、ワークスペースにおいて新たなコンテンツアイテムを表示するために更新されうる。
【0056】
グラフィカル要素312の選択が行われると、グラフィカルユーザインタフェースは、ワークスペースの新たなコンテンツアイテムを作成するようにユーザに促すために提示されうる。ユーザは、コンテンツアイテム(例えば、文書)の種別を選択し、コンテンツアイテムにおける名前を提供することができる。WS GUI300は、ワークスペースサーバ136へコンテンツアイテムの種別と名前を送信することができる。ワークスペースサーバ136は、以下で詳細に説明するように、特定した種別のコンテンツアイテムであって特定した名前を有するコンテンツアイテムを生成し、ワークスペースと関連付けられる共有フォルダ234に新たなコンテンツアイテムを格納することができる。
【0057】
いくつかの実施形態において、WS GUI300は、メッセージストリーム316を含んでもよい。例えば、メッセージストリーム316は、電子メール、チャット、テキストメッセージ、コンテンツアイテム上のコメント、コンテンツアイテム内のコメント、及びワークスペースの状態更新などの種々の発信源から生成されたメッセージを含んでもよい。例えば、ユーザがコンテンツアイテムをワークスペースに追加すると、上述したように、コンテンツアイテムが追加されたことを示すメッセージがメッセージストリーム316に追加されうる。メッセージストリームの各メッセージは、メッセージを生成したワークスペースのメンバを特定し、いつメッセージが生成されたかと、誰がメッセージを送信したかとを示してもよい。例えば、ワークスペースメッセージは、どのくらいのワークスペースメンバがメッセージを見たかを示してもよい。ワークスペースメッセージはいずれのメンバがメッセージを見たかを特定することができる。
【0058】
いくつかの実施形態において、WS GUI300のユーザは、メッセージをグラフィカル要素318に入力する(例えば、タイピング、貼り付け、命令等)ことによって新たなメッセージを生成してもよい。ユーザがメッセージの作成を終えたことを示す入力(例えば、リターンボタンの選択、送信ボタンの選択等)が提供されると、当該メッセージは、メッセージストリーム316へ追加されうる。いくつかの実施形態において、新たなメッセージがメッセージストリーム316のボタンに追加され、従って、ユーザがメッセージストリーム316を上部の方を読んでいる場合には当該メッセージは次第に古くなるであろう。例えば、メッセージストリーム316は、新たなメッセージが最下部に掲示され、新たなメッセージが追加されるとより古いメッセージがスクロールアップされるような典型的なチャットユーザインタフェースのように動作してもよい。
【0059】
いくつかの実施形態において、WS GUI300は、グラフィカル要素320を選択することによってコンテンツアイテムをメッセージストリーム316へ追加することができる。例えば、ユーザは、グラフィカル要素318を用いてメッセージを構成し、グラフィカル要素320を選択することによってコンテンツアイテムをメッセージに追加することができる。グラフィカル要素320が選択されると、ユーザがクライアントデバイスのローカルファイルシステムから、ワークスペースに関連付けられる共有フォルダから、及び/又は、ネットワーク資源(例えば、インターネット)から、コンテンツアイテムを選択することを許容するファイルブラウザインタフェースが提示されうる。構成したメッセージがメッセージストリーム316に表示されると、選択したコンテンツアイテムのリンクと、選択したコンテンツアイテムの表示317とがメッセージに表示されうる。例えば、表示317は、リンク付けされたコンテンツアイテムのプレビュー画像であってもよい。プレビュー画像はライブのものであってもよい。例えば、リンク付けされたコンテンツが変更され又は更新された場合には、当該プレビュー画像は、更新されてもよい。リンク付けされたコンテンツが共有フォルダのコンテンツアイテムである場合、プレビュー画像は、コンテンツアイテムの変更を反映するように更新されうる。リンク付けされたコンテンツがウェブページ又は他のウェブコンテンツである場合、プレビュー画像は、ウェブページ又は他のウェブコンテンツの現在の状態を反映するように更新されてもよい。コンテンツアイテムがワークスペースに関連付けられる共有フォルダに既に無い場合、選択したコンテンツアイテムは、ローカルの共有フォルダ(例えば、クライアントデバイス210上の共有フォルダ214)へコピーされることができ、WS GUI300は、上述したように、共有フォルダ234、244と新たに追加したコンテンツアイテムの同期を(例えば、ほぼすぐに)開始してもよく、これにより、ワークスペースの各メンバは、メッセージストリーム316に表示される新たなメッセージで参照されるコンテンツアイテムにアクセスすることができる。当該リンクがネットワークコンテンツ(例えば、インターネットウェブページ)と関連付けられる場合、その後、当該リンクはワークスペースの共有フォルダの”リンク”フォルダに格納されうる。
【0060】
いくつかの実施形態において、メッセージストリーム316は個別のメッセージを含んでもよい。例えば、メッセージ324はメンバ”ボブ”からの個別のメッセージであってもよい。メッセージ324は、メッセージを生成したメンバを、メッセージが生成された時刻、どれぐらいの他のメンバが当該メッセージを閲覧したか、及び、メッセージの内容(例えば、”Engineeringについての何かスマートなこと”)示すことができる。
【0061】
いくつかの実施形態において、メッセージストリーム316は、メッセージスレッド326を含んでもよい。例えば、メッセージスレッドは、メッセージストリーム内の関連するメッセージのグループであってもよい。メッセージスレッドは、通常、あるメンバが他のユーザによって生成されたメッセージに返信する場合に作成される。例えば、メッセージスレッド326において、Fredがコンテンツアイテム”media.mp4”を含むメッセージストリーム316にメッセージを掲示した。BobがFredのメッセージに返信し、これによりメッセージスレッド326が作成される。例えば、Bobのように、メンバDaveがFredのメッセージに関連付けられるグラフィカル要素330の”返信”を選択し、メッセージスレッド326へメッセージを追加するためにメッセージスレッド326のグラフィカル要素332へ返信メッセージを入力することによって、Fredのメッセージに返信する。メッセージスレッドは、例えばメッセージスレッドのメッセージを接続する線328によってメッセージストリーム316に識別されうる。
【0062】
いくつかの実施形態において、メッセージストリーム316は、同一のグラフィカルユーザインタフェースにおいて、チャットとスレッドメッセージとの動作を合成することができる。例えば、メンバが個別のメッセージを生成すると(例えば、グラフィカル要素318を用いて)、メッセージストリーム316は、新たなメッセージがメッセージストリーム316の最下部に提示され、古いメッセージがスクロールアップされる、典型的なチャットユーザインタフェースのように動作する。しかしながら、ユーザが既存のメッセージ又は既存のメッセージスレッドとやり取りする場合(例えば、カーソル又はポインタを既存のメッセージ上に重ねる、既存のメッセージへの返信を構成する、既存のメッセージへのアクティブな又はパッシブな入力を提供する等)、メッセージストリーム316は、ユーザが既存のメッセージ又はメッセージスレッドとやり取りする間の上方向へのスクロール動作を停止するであろう。したがって、ユーザがメッセージ又はメッセージスレッドへの返信を構成している間に、メッセージストリーム316のメッセージはその位置に維持されるであろう(例えば、固定される)。ユーザがメッセージ又はメッセージスレッドとのやり取りを行わなくなると、メッセージストリーム316は、新たなメッセージがチャットのような形式で生成されるようにメッセージのスクロールを再開することができる。
【0063】
いくつかの実施形態において、ユーザはメッセージストリーム316に表示されるメッセージに”Like”を設定することができる。例えば、ユーザは、WS GUI300上に提示されるワークスペースの他のメンバによって生成されるメッセージへの賛同を表現するために”Like”のグラフィカル要素334を選択することができる。メッセージにLikeを設定したメンバはグラフィカル要素336を用いて示されてもよい。
【0064】
いくつかの実施形態において、WS GUI300は、検索グラフィカル要素338を含んでもよい。例えば、ユーザは、入力した検索タームに基づいてWS GUI300に検索を実行させるグラフィカル要素338に検索タームを入力することができる。当該検索は、検索タームと一致する現在のワークスペース内のコンテンツアイテム及びメッセージについて検索するワークスペース検索であってもよい。当該検索は、コンテンツアイテム、メッセージ、及びユーザのローカルデバイス上の他のデータを含んでもよい。検索は、ユーザによって入力された検索タームと一致するコンテンツについて、ワークスペース、ユーザのローカルデバイス、コンテンツ管理システム136、及びネットワーク資源(例えば、インターネット)を検索するグローバル検索であってもよい。検索結果はグラフィカルユーザインタフェース(不図示)上に表示され、ユーザはアイテムを下見するため、或いは、現在のワークスペースへアイテムを追加するために、検索結果のアイテムを選択することができる。
【0065】
図4は、ワークスペースに新たなコンテンツアイテムを作成するための例示のシステム400を示すブロック図である。例えば、新たなコンテンツアイテムは、ユーザがWS GUI300(例えば、WS GUI242)上のグラフィカル要素312を選択することに応じて生成されうる。いくつかの実施形態において、WS GUI242のユーザは新たなコンテンツアイテムを生成するためにGUI242への入力を提供することができる。例えば、コンテンツアイテムは、とりわけ、ワードプロセッサ文書、スプレッドシート、又はプレゼンテーション文書などの生産性のあるアイテムであってもよい。入力の受信に応じて、WS GUI242は、新たなコンテンツアイテムについての名前を生成して提供するために、コンテンツアイテムの種別を選択するようにユーザに依頼するプロンプトを表示してもよい。 ユーザがコンテンツアイテムの種別を選択し、当該コンテンツアイテムの名前を特定すると、WS GUI242は、コンテンツアイテムの種別と、特定した名前とをワークスペースサーバ136へ送信することができる。コンテンツアイテムの種別及び特定した名前を受信すると、ワークスペースサーバ136は、コンテンツアイテムの種別に対応するコンテンツプレート402を選択することができる(例えば、コンテンツアイテムの種別がワード処理文書であれば、その後、ワード処理テンプレートが選択されうる)。ワークスペースサーバ136は、選択したコンテンツテンプレート402をコピーし、新たなコンテンツアイテム404を生成するために特定した名前に従ってコンテンツテンプレートの名前を変えてもよい。ワークスペース136は、共有フォルダ234に新たなコンテンツアイテム404を格納してもよい。新たなコンテンツアイテム404が共有フォルダ234に格納されると、ワークスペースサーバ136は、クライアントデバイス240上の共有フォルダ244と、共有フォルダ234の同期を開始し、これにより、新たなコンテンツアイテム404がすぐに(例えば、ほぼすぐに)クライアントデバイス240上の対応する共有フォルダ244と同期される。当該同期化においては、新たなコンテンツアイテム404がクライアントデバイス240(及び、他のワークスペースのメンバのクライアントデバイス)へ送信され、共有フォルダ244に格納される。新たなコンテンツアイテム404が共有フォルダ234及び共有フォルダ244の少なくとも1つに格納され、ワークスペースサーバ136は、新たなコンテンツアイテム404について閲覧及び編集の少なくとも一方を利用可能であることをWS GUI242へ通知することができる。
【0066】
いくつかの実施形態において、ユーザはウェブブラウザを通じて新たなコンテンツアイテム404を閲覧することができる。例えば、新たなコンテンツアイテム404がサーバデバイス230上の共有フォルダ234で利用可能であることがWS GUI242に通知されると、WS GUI242は、ブラウザインタフェースに新たなコンテンツアイテム404を提示することができる。
【0067】
いくつかの実施形態において、ユーザはクライアントデバイス240上のネイティブアプリケーションで新たなコンテンツアイテム404を閲覧することができる。例えば、新たなコンテンツアイテム404がクライアントデバイス240上の共有フォルダ244で利用可能であることがWS GUI242に通知されると、WS GUI242は、新たなコンテンツアイテム404がどのように表示されるべきか(例えば、ブラウザで、又は、ネイティブアプリケーション406で)を特定する入力をユーザに促すことができる。いくつかの実施形態において、ユーザは新たなコンテンツアイテム404を表示するためのネイティブアプリケーション406を特定することができる。例えば、新たなコンテンツアイテム404がワード処理文書であれば、ネイティブアプリケーション406は、クライアントデバイス240上にインストールされたワード処理アプリケーションであってもよく、クライアントデバイス240上のワード処理文書を提示し、編集するのに適したものでありうる。したがって、ユーザは、クライアントデバイス240上でローカルに実行するネイティブアプリケーションを用いて新たなコンテンツアイテム404を閲覧し、編集することができる。同様に、ユーザがWS GUI300上のグラフィカル要素310によって表されるコンテンツアイテムを選択すると、ユーザには、ウェブブラウザ又はネイティブアプリケーションにおいて選択したコンテンツアイテムを開くオプションが与えられる。
【0068】
図5は、ワークスペースに新たなコンテンツアイテムを生成するための例示のクライアント処理500を示すフローチャートである。ステップ520で、クライアントデバイス240は、ワークスペースのグラフィカルユーザインタフェース300を表示することができる。例えば、WS GUI300(即ち、WS GUI242)は、ワークスペースに新たなコンテンツアイテムを生成するためのグラフィカル要素312を提示してもよい。
【0069】
ステップ504で、クライアントデバイス240は、新たなコンテンツアイテムを生成するためにユーザ入力を受信することができる。例えば、WS GUI300は、グラフィカル要素312を選択するユーザ入力を受信することができる。グラフィカル要素321のユーザの選択に応じて、WS GUI300は、ユーザがコンテンツアイテムの種別を選択し、新たなコンテンツアイテムについての名前を指定することを要求するプロンプトを提示することができる。WS GUI300は、コンテンツアイテムの種別と、新たなコンテンツアイテムについての名前とを指定するユーザ入力を受信することができる。
【0070】
ステップ506で、クライアントデバイス240は、ワークスペースサーバ136へ新たなコンテンツアイテムの要求を送信することができる。例えば、クライアントデバイス240は、ワークスペースサーバ136へ、ユーザが指定したコンテンツアイテムの種別と名前を送信することができる。
【0071】
ステップ508で、クライアントデバイス240は、クライアントデバイス240上のローカル共有フォルダ244の新たなコンテンツアイテムを受信することができる。例えば、コンテンツ管理システム106は、上述したように、サーバデバイス230からクライアントデバイス240へ新たなコンテンツアイテムを配信するために、クライアントデバイス240上の共有フォルダ244をサーバデバイス230上の共有フォルダ234と同期化することができる。
【0072】
ステップ510で、クライアントデバイス240は、新たなコンテンツアイテムがワークスペース内で閲覧することができることを示す通知を受信しうる。例えば、WS GUI300は、新たなコンテンツアイテムがワークスペースの共有フォルダ234で利用可能であることを示す、ワークスペースサーバ136からの通知を受信することができる。WS GUI300は、新たなコンテンツアイテムがクライアントデバイス240上の共有フォルダ244と同期化されていることを示す、ワークスペースサーバ136からの通知を受信することができる。或いは、WS GUI300は、ローカル共有フォルダ244の新たなコンテンツアイテムの存在を削除することができる。例えば、WS GUI300は、新たなコンテンツアイテムの追加などの、変更について共有フォルダ244を監視することができる。
【0073】
ステップ512で、クライアントデバイス240は、新たなコンテンツアイテムのプレビュー画像又はネイティブアプリケーションの提示を選択するユーザ入力を受信しうる。例えば、WS GUI300が新たなコンテンツアイテムがワークスペースで利用可能であることを示す通知を受信すると、WS GUI300は、ユーザが新たなコンテンツアイテムをどのように閲覧したいかを当該ユーザに問い合わせるプロンプトを提示してもよい。当該プロンプトは、新たなコンテンツアイテムのプレビュー画像を閲覧するオプション、又は、クライアントデバイス240上のネイティブアプリケーションで新たなコンテンツアイテムを開いて閲覧するオプションを提示することができる。
【0074】
ステップ514で、クライアントデバイス240は、ユーザの選択に従って、新たなコンテンツアイテムを提示することができる。例えば、ユーザがプレビュー画像を閲覧することを選択すれば、ワークスペースサーバ136は、共有フォルダ234に格納される新たなコンテンツアイテムのプレビュー画像を、クライアントデバイス240上のユーザへの提示におけるWS GUI300に配信してもよい。ユーザがネイティブアプリケーションでコンテンツアイテムを閲覧することを選択すれば、WS GUI300は、クライアントデバイス240上の新たなコンテンツアイテムの種別に適したネイティブアプリケーションを起動することができる。例えば、新たなコンテンツアイテムがスプレッドシートであれば、したがって、WS GUI300は、クライアントデバイス240上の共有フォルダ244に格納された新たなコンテンツアイテムを表示するためのクライアントデバイス240上のスプレッドシートアプリケーションを起動することができる。例えば、WS GUI300は、いつでもユーザがワークスペース内でコンテンツアイテムを開く、又は、閲覧することを選択できるように、ユーザに対して、プレビュー画像のオプションと、ネイティブアプリケーションの閲覧オプションとを提示することができる。
【0075】
図6は、ワークスペースに新たなコンテンツアイテムを生成するための例示のサーバ処理600を示すフローチャートである。ステップ602で、サーバデバイス230は、新たなコンテンツアイテムへのリクエストを受信することができる。例えば、ワークスペースサーバ136は、新たなコンテンツアイテムを作成するためにWS GUI300からの要求を受信することができる。当該要求は、コンテンツアイテムの種別を識別し、新たなコンテンツアイテムにおける名前を生成することができる。
【0076】
ステップ604で、サーバデバイス230は、既存コンテンツアイテムのテンプレートのコピーを生成することができる。例えば、サーバデバイス230は、ワークスペースサーバ136によって生成されうるコンテンツアイテムの各種別についてのテンプレートを格納してもよい。ワークスペースサーバ136は、ステップ602で受信した要求のコンテンツアイテムの種別に基づき、いずれのテンプレートから新たなコンテンツアイテムを生成するかを判定することができる。ワークスペースサーバ136は、要求したコンテンツアイテムの種別に基づきコンテンツアイテムのテンプレートを選択し、当該コンテンツアイテムのテンプレートを新たなコンテンツアイテムを作成するためにコピーすることができる。
【0077】
ステップ606で、サーバデバイス230は、ステップ602で受信した要求で特定される名前に従って、コンテンツアイテムのテンプレートのコピーの名前を変更してもよい。例えば、ワークスペースサーバ136は、ステップ602で受信した要求で特定されるコンテンツアイテムの名前を新たなコンテンツアイテムに割り当てることができる。
【0078】
ステップ608で、サーバデバイス230は、サーバデバイス230上の共有フォルダ234にテンプレートのコピーを格納することができる。例えば、ワークスペースサーバ136は、共有フォルダ234に新たなコンテンツアイテム格納することができる。
【0079】
ステップ610で、サーバデバイス230は、サーバデバイス230上の共有フォルダ234と、クライアントデバイス240上の共有フォルダ244との同期を開始してもよい。例えば、共有フォルダ234に新たなコンテンツアイテムが格納されると、ワークスペースサーバ136は、共有フォルダ244及び共有フォルダ234を同期するためにコンテンツ管理システム106に命令することができ、これにより、ワークスペースに関連付けられるクライアントデバイスは新たなコンテンツアイテムで更新されうる。新たなコンテンツアイテムを作成して格納し、同期化を開始することによって、クライアントデバイス(例えば、ユーザ)は、新たに生成されたコンテンツアイテムにほぼすぐにアクセスすることができる。
【0080】
ステップ612で、ワークスペースサーバ230は、新たなコンテンツアイテムが利用可能であることをクライアントデバイス240へ通知することができる。例えば、ワークスペースサーバ136は、新たなコンテンツアイテムがサーバ230上の共有フォルダ234で利用可能であることをWS GUI300へ通知してもよい。サーバデバイス230上の共有フォルダ234とクライアントデバイス240上の共有フォルダ244の同期を行うと、ワークスペースサーバ136は、新たなコンテンツアイテムがクライアントデバイス240上でローカルに利用可能であることをWS GUI300へ通知してもよい。したがって、クライアントデバイス240は、新たなコンテンツアイテムの種別と関連付けられるネイティブアプリケーションで当該新たなコンテンツアイテムを開いて表示することができる。
【0081】
図7は、共有フォルダを支援する統合ワークスペースへ電子メールを統合するためのシステム700を示すブロック図である。例えば、システム700は、既存の電子メールシステムを共有フォルダを支援する統合ワークスペースに統合し、WS GUI300のメッセージストリーム316のワークスペースメッセージとして電子メールを提示することをユーザに許容する。
【0082】
いくつかの実施形態において、ワークスペースサーバ136は、電子メールメッセージをワークスペースメッセージへ変換することができる。例えば、ユーザ(例えば、ワークスペースメンバ)は、例えばWS GUI300を通じて、ワークスペースサーバ136が電子メールサーバ710上のユーザの電子メールアカウント712にアクセスすることを許可することができる。ユーザは、アカウント識別子(例えば、電子メールアドレス)と、クレデンシャル(例えば、ユーザネーム、パスワード)とをワークスペースサーバ136へ提供することができる。ワークスペースサーバ136は、ユーザの電子メールアカウントにアクセスするためにアカウント識別子及びクレデンシャルを使用することができる。
【0083】
いくつかの実施形態において、ワークスペースサーバ136は、いずれの電子メールがワークスペースに関連しているかを判定するためにユーザの電子メールアカウント712の電子メールを解析してもよい。例えば、ワークスペースは、上述したように、電子メールのメーリングリスト(例えば、グループのメンバへ/から電子メールを送信及び受信するために使用されうる電子メールアドレス)と関連付けられてもよい。ワークスペースサーバ136は、ユーザの電子メールアカウント712のいずれの電子メールがメーリングリストに関連付けられるかを判定してもよい(例えば、メーリングリストにおける電子メールアドレスへ、又は、からアドレスされているかどうか)。ワークスペースサーバ136は、メーリングリストに関連付けられる電子メールをワークスペースメッセージへ変換し、ワークスペースメッセージをワークスペース(例えば、共有フォルダ234)へ追加してもよく、これにより、当該メッセージはWS GUI300上に表示される。例えば、ワークスペースサーバ136は、電子メールの内容を抽出し、電子メールの内容をWS GUI300上に表示するためのワークスペースメッセージオブジェクトに挿入してもよい。
【0084】
いくつかの実施形態において、ワークスペースサーバ136は、共有フォルダ234に電子メールの添付物を格納することができる。例えば、ユーザの電子メールアカウント712は、添付物(例えば、コンテンツアイテム、メディアファイル等)を含むワークスペースメーリングリストから電子メールを受信することができる。電子メールサーバ710は、クライアントデバイス210のユーザへの提示における電子メールクライアント720へ添付物702とともに電子メールを送信してもよい。ワークスペースサーバ136は、ユーザの電子メールアカウント712から添付物702とともに電子メールを取得することができる。例えば、電子メール702がワークスペースのメーリングリストに関連付けられるため(例えば、電子メール702がメーリングリストから受信された)、ワークスペースサーバ136はユーザの電子メールアカウント712から電子メール702を取得するであろう。
【0085】
ワークスペースサーバ136が電子メール702を取得すると、ワークスペースサーバ136は、共有フォルダ234に電子メールの添付物704を格納し、電子メール702の内容と共有フォルダ234における電子メールの添付物704へのリンクとを含むワークスペースメッセージ706を生成するであろう。ワークスペースサーバ136は、その後、共有フォルダ234、214の同期化を開始することができ、これにより、共有フォルダ214は電子メールの添付物704にコピーを取得することができる。ワークスペースサーバ136は、WS GUI212へワークスペースメッセージ706を送信することができ、これにより、メッセージ及び添付物704へのリンクがメッセージストリーム316に表示されうる。例えば、ワークスペースストリーム316に表示されたワークスペースメッセージ706は、電子メール702の内容、共有フォルダ234に格納される添付物704へのリンク、及び添付物の埋め込みプレビュー画像を含むことができる。いくつかの実施形態において、電子メール702の内容(例えば、本体、テキストメッセージ部分)は、添付物704のコメントとして、監視されるか、又は、添付物704と関連付けられうる。添付物704が後にユーザによって開かれ閲覧されると、以下で詳細に説明するように、当該コメントがユーザに提示されうる。
【0086】
いくつかの実施形態において、ワークスペースサーバ136は、ワークスペースメッセージを電子メールメッセージへ変換することができる。例えば、ユーザは、上述したように、WS GUI300のグラフィカル要素318を用いて新たなワークスペースメッセージを生成し、グラフィカル要素320を用いてコンテンツアイテムをメッセージに追加することができる。ワークスペースメッセージは、例えば、コンテンツアイテムへのリンクを含むことができる。新たなワークスペースメッセージ708は、WS GUI300(即ち、WS GUI212)からワークスペースサーバ136へ送信されうる。ワークスペースサーバ136は、共有フォルダ214のコンテンツアイテムへのリンクを含む、ワークスペースメッセージの内容を含む新たな電子メールを生成し、ワークスペースに関連付けられる電子メールメーリングリストへ新たな電子メールを送信することができる。ユーザがメーリングリストに関連付けられるため、コンテンツアイテムへのリンクとともに新たな電子メールは、ユーザの電子メールアカウント712へ配信され、最終的に電子メールクライアント720へ配信される。
【0087】
例えば、コンテンツアイテムを電子メールへ添付する代わりに電子メールのリンクを送信することによって、電子メールを格納するために必要とされる記憶領域の容量が低減されうる。追加的に、大きなサイズのファイルを添付するよりも共有フォルダのコンテンツアイテムへのリンクを用いる際には、ユーザは添付物のサイズの制限を心配する必要がない。さらに、ユーザはスタティックに古いバージョンのコンテンツへのアクセスのみを有する代わりに、最新のバージョンのコンテンツアイテムを取得するために電子メールのリンクを使用することができる。
【0088】
いくつかの実施形態において、リンクはコンテンツアイテムへのアクセスにおけるより多くの制御を有することをワークスペースのオーナ/管理者/ユーザに許容する。例えば、ユーザは、ユーザがコンテンツアイテムへのアクセスを他の者が有することを望まない場合はリンクを無効にすることができる。ユーザはリンクについて満了日を指定することができる。ユーザは指定したユーザ又は指定したクライアントデバイスのリンクへのアクセスを制限することができる。
【0089】
いくつかの実施形態において、ユーザはワークスペースメッセージから電子メールを生成する際のオプションを指定することができる。例えば、ユーザ(例えば、ワークスペースメンバ)は、当該ユーザが最初のワークスペースメッセージ(例えば、メッセージスレッドの個々のメッセージ又は第1のメッセージ)についての電子メールの受信のみをするべきであることを指定することができる。ユーザは、当該ユーザが言及されるメッセージ(例えば、@mentioned, @Bob, @Steve等)についての電子メールの受信のみをするべきであることを指定することができる。ユーザは、他のワークスペースメンバが当該ユーザによって創出されたワークスペースメッセージに”Like”をする場合、当該ユーザがメッセージについての電子メールの受信のみをするべきであることを指定することができる。したがって、ユーザは、ワークスペースの新たなワークスペースのメッセージごとに生成されるワークスペースの大量の電子メールによって困らせられることを避けることができる。
【0090】
図8は、ワークスペースメッセージへ電子メールを変換するための例示のサーバ処理800を示すフローチャートである。ステップ802で、サーバデバイス230は、ユーザの電子メールのアカウントにアクセスする承認を受信することができる。例えば、ユーザ(例えば、ワークスペースメンバ)は、ユーザと関連付けられる電子メールのアカウントにアクセスするためにWS GUI300がワークスペースサーバ136を認可する入力を提供することができる。ユーザは、電子メールアカウント(例えば、電子メールアドレス)と、電子メールアカウントに対するクレデンシャル(例えば、ユーザネーム及びパスワード)をWS GUI300が識別する入力を提供することができる。WS GUI300は、ワークスペースサーバ136へ電子メールアカウントとクレデンシャルとを送信することができる。
【0091】
ステップ804で、サーバデバイス230は、ユーザの電子メールアカウントからワークスペースに関連付けられる電子メールを取得することができる。例えば、ワークスペースは電子メールアドレスを有してもよい。電子メールアドレスは、ワークスペースのメンバへ/から電子メールを送受信するために使用されるメーリングリストのアドレスであってもよい。ワークスペースサーバ136は、ユーザの電子メールアカウントにアクセスするためにユーザによって供給される電子メールアカウント識別子及びクレデンシャルを使用することができる。ワークスペースサーバ136は、いずれの電子メールがワークスペースの電子メールアドレスに関連付けられるかを判定するために、ユーザの電子メールアカウントで電子メールを解析することができる。ワークスペースサーバ136は、ワークスペースの電子メールアドレスと関連付けられる各電子メールのコピーを取得することができる。
【0092】
ステップ806で、サーバデバイス230は、ワークスペースの共有フォルダに電子メールの添付物を格納することができる。例えば、ワークスペースサーバ136は、ユーザの電子メールアカウントから取得されるいずれの電子メールが添付物を有するかを判定することができる。電子メールが添付物を有していなければ、その後、当該方法はステップ808へ進むことができる。電子メールが添付物を有していれば、その後、添付物はワークスペースと関連付けられる共有フォルダに格納されうる。
【0093】
ステップ808で、サーバデバイス230は、ワークスペースの共有フォルダに格納される添付物へのリンクを含むワークスペースメッセージを生成することができる。例えば、ワークスペースサーバ136は、電子メールから当該電子メールの本体(例えば、テキストコンテンツ)を抽出し、電子メールの内容に基づいて新たなワークスペースのメッセージを生成することができる。電子メールが添付物を有していれば、ワークスペースの共有フォルダに格納される添付物へのリンクが生成され、新たなワークスペースのメッセージへ挿入されうる。
【0094】
ステップ810で、サーバデバイス230は、サーバの共有フォルダと、クライアントデバイス上で対応する共有サーバとの同期化を開始することができる。例えば、ワークスペースサーバ136は、ワークスペースにおける共有フォルダ234、244及び214のコンテンツが同期化されるように、コンテンツ管理システム106へ命令を送信することができる。したがって、ワークスペースの各共有フォルダ234、244及び214は、ワークスペースの共有フォルダに格納される電子メールの添付物を含むように更新されうる。
【0095】
ステップ812において、サーバデバイス230は、クライアントデバイス210及び240へ新たなワークスペースメッセージを送信することができる。例えば、ワークスペースサーバ136は、各クライアントデバイス上のWS GUI300へ新たなワークスペースメッセージ(例えば、格納された添付物へのリンクとともに)を送信することができる。WS GUI300は、例えば、メッセージストリーム316において、ワークスペースメッセージ及び格納された添付物へのリンクの少なくとも1つを表示することができる。ワークスペースメッセージは、上述したように、リンク付けされたコンテンツのライブのプレビュー画像を含むことができる。
【0096】
図9は、電子メールメッセージへワークスペースメッセージを変換するための例示のクライアント処理900を示すフローチャートである。ステップ902で、クライアントデバイス210は、WS GUI300(即ち、WS GUI212)をユーザへ提示することができる。
【0097】
ステップ904で、クライアントデバイス210は、コンテンツへのリンクとともに、新たなワークスペースのメッセージを生成するユーザ入力を受信することができる。例えば、WS GUI300は、
図3を参照して上述したように、新たなワークスペースメッセージと、ワークスペースメッセージのコンテンツアイテムへのリンクを生成するユーザ入力を受信することができる。
【0098】
ステップ906で、クライアントデバイス210は、リンク付けされたコンテンツ又はクライアントデバイス210の共有フォルダへのリンクをコピーすることができる。例えば、WS GUI300は、リンク付けされたコンテンツ又はクライアントデバイス210のワークスペースの共有フォルダへのリンクをコピーすることができる。
【0099】
ステップ908で、クライアントデバイス210は、クライアントデバイス210の共有フォルダ214と、サーバデバイス230の共有フォルダ234との同期を開始することができる。例えば、WS GUI300は、共有フォルダ214と共有フォルダ234との同期化を開始するためにワークスペースサーバ136へのメッセージを送信することができる。同期化要求を受信すると、ワークスペースサーバ136は、コンテンツ管理システム106に共有フォルダを同期化させる命令をコンテンツ管理システム106へ送信することができる。共有フォルダの同期化を開始することによって、WS GUI300は、リンク付けされたコンテンツアイテムが後述のステップ912で生成される電子メールの受信に利用可能であることを保証することができる。
【0100】
ステップ910で、クライアントデバイス210は、ワークスペースサーバ136へワークスペースメッセージを送信することができる。例えば、WS GUI300は、ワークスペースサーバ136へワークスペースメッセージを送信することができる。
【0101】
ステップ912で、クライアントデバイス210は、上述したように、ワークスペースメッセージ及びWS GUI300上のリンクを提示することができる。
【0102】
図10は、電子メールへワークスペースメッセージを変換するための例示のサーバ処理1000を示すフローチャートである。ステップ1002で、サーバデバイス230は、クライアントデバイス210からのコンテンツへのリンクを含むワークスペースメッセージを受信することができる。例えば、WS GUI300は、上述したように、ユーザ入力に応じてワークスペースメッセージを生成することができる。WS GUI300は、ワークスペースサーバ136へワークスペースメッセージを送信することができる。リンクは、コンテンツ管理システム106のワークスペースに関連付けられる共有フォルダのコンテンツアイテムへのリンクであってもよい。リンクは、インターネットウェブページなどの、外部コンテンツへのリンクであってもよい。
【0103】
ステップ1004で、サーバデバイス230は、サーバデバイス230の共有フォルダ234と、クライアントデバイス210の共有フォルダ210との同期を開始してもよい。例えば、ワークスペースメッセージは共有フォルダ214のコンテンツアイテムへのリンクを含む場合に、ワークスペースサーバは、リンク付けされたコンテンツアイテムが共有フォルダ234に存在するかどうかを判定することができる。リンク付けされたコンテンツアイテムがサーバデバイス230上の共有フォルダ234に存在しない場合は、ワークスペースサーバ136は、その後、ワークスペースサーバ136は、共有フォルダ234と共有フォルダ214との同期化を開始することができ、それにより、共有フォルダ234は、クライアントデバイス210の共有フォルダ214に既に格納されたリンク付けされたコンテンツアイテムを含むことになるであろう。いくつかの実施形態において、処理900のステップ908又は処理1000のステップ1004の何れかが実行されうる。ステップ908及びステップ1004の両方は、コンテンツをリンク付けるワークスペースメッセージが電子メールへ変換される場合に、共有フォルダを同期化する目的で提供される。しかしながら、ステップ908又はステップ1004の何れか1つのみは、サーバデバイス230上の共有フォルダ234でリンク付けされたコンテンツが利用可能であることを保証するために必要とされる。
【0104】
ステップ1006で、サーバデバイス230は、ワークスペースメッセージとリンクとを含む電子メールを生成することができる。例えば、ワークスペースサーバ136は、ワークスペースメッセージの内容とリンク付けされたコンテンツへのリンクとを含む電子メールを生成するっことができる。
【0105】
ステップ1008で、クライアントデバイス230は、ワークスペースのメーリングリストへ生成した電子メールを送信することができる。例えば、ワークスペースサーバ136は、ワークスペースメッセージに基づいて生成される電子メールをワークスペースのメーリングリストへ送信することができ、これにより、ワークスペースのメンバは電子メールとしてワークスペースのメッセージを受信することができる。電子メールは、上述したように、各メンバの好みに従ってワークスペースのメーリングリストのメンバへ配信されてもよい。
【0106】
いくつかの実施形態において、ワークスペースサーバ136は、ワークスペースのメンバでない外部ユーザへのワークスペースメッセージを送信することができる。例えば、ワークスペースのメンバは、上述したように、ワークスペースメッセージを生成し、外部ユーザについて言及することができる。例えば、外部ユーザはワークスペースメッセージにおいて言及されうる(例えば、@Sue)。言及された外部ユーザがワークスペースのメンバの一人ではない場合、ワークスペースサーバ136は、言及された外部ユーザに対する連絡情報(例えば、アドレス、電話番号等)を取得するためにワークスペースのメンバの電子メールアカウントにアクセスすることができる。ワークスペースサーバ136が言及された外部ユーザに対する連絡情報を探すことができない場合、ワークスペースサーバ136は、ワークスペースメッセージで言及された外部ユーザについての連絡情報をワークスペースのメンバにWS GUI300が促すメッセージを送信することができる。ワークスペースのメンバは連絡情報(例えば、電子メールアドレス、電話番号等)をWS GUI300へ入力することができる。WS GUI300は、ワークスペースサーバ136へ連絡情報を送信することができる。ワークスペースサーバ136は、ワークスペースメンバによって提供される連絡情報を用いて、外部ユーザが言及されたワークスペースメッセージを当該外部ユーザへ送信することができる。例えば、ワークスペースサーバは、外部ユーザが言及されたワークスペースメッセージの内容を含む電子メール又はテキストメッセージ(例えば、SMS)を外部ユーザへ送信することができる。ワークスペースメッセージがコンテンツへのリンクを含む場合、外部ユーザは、例え外部ユーザがワークスペースのメンバでなくともコンテンツへアクセスする(例えば、ウェブブラウザを通じて)ことができる。
【0107】
いくつかの実施形態において、外部ユーザはメッセージストリーム316へワークスペースメッセージを追加することができる。例えば、外部ユーザはワークスペースサーバ136によって生成される電子メール又はテキストメッセージへ返信することができる。ワークスペースサーバ136は、電子メール又はテキストメッセージをワークスペースメッセージへ変換し、メッセージストリーム316に当該ワークスペースメッセージを掲示することができる。
【0108】
図11は、コンテンツアイテムについての議論を生成するための例示のワークスペースのグラフィカルユーザインタフェース(WS GUI)1100を示す図である。例えば、WS GUI1100は、表示したワークスペースの共有フォルダに格納されたコンテンツアイテムを表すグラフィカル要素1102を提示することができる。いくつかの実施形態において、ユーザはグラフィカル要素1104(例えば、オプションメニュー)がWS GUI1100上に現れるようにグラフィカル要素1102を選択することができる。グラフィカル要素1104は、選択したグラフィカル要素1102に対応するコンテンツアイテムに関してオプションを提示することができる。例えば、グラフィカル要素1104は、グラフィカル要素1102に対応するコンテンツアイテムの議論をユーザが開始することを許容する議論オプション1106を提示することができる。
【0109】
いくつかの実施形態において、新たなメッセージスレッドは、選択したコンテンツアイテムを議論するために生成されうる。例えば、ユーザが議論オプション1106を選択することに応じて、メッセージスレッド1108は、WS GUI1100上に表示されるメッセージストリームに作成されてもよい。
図11に示すように、ワークスペースのメンバDaveが”コンテンツアイテム”に対する議論スレッドを開始した。コンテンツアイテムに対応するプレビュー画像1110がDaveの開始メッセージに最も近くに、メッセージスレッド1108において表示される。続いて、Bob及びDaveがコンテンツアイテムを議論するメッセージスレッド1108へワークスペースメッセージを追加している。上述した例示の議論はメッセージストリームの他のメッセージとともに埋め込まれる一方で、別個のユーザインタフェースがコンテンツアイテムを議論するために提示されてもよい。例えば、後述の
図12のユーザインタフェース1200は、選択したコンテンツアイテムの議論を容易にするように提示されうる。
【0110】
いくつかの実施形態において、グラフィカル要素1104は、グラフィカル要素1102に対応するコンテンツアイテムを開くためのオプションを含むことができる。例えば、コンテンツアイテムを開くためのオプションは、上述したように、コンテンツアイテムのプレビュー画像を開くための選択可能なオプション1114を含むことができる。コンテンツアイテムを開くためのオプションは、上述したようにユーザのクライアントデバイスで実行するネイティブアプリケーションでコンテンツアイテムを開くための選択可能なオプション1112を含んでもよい。オプション1112又はオプション1114の何れかのユーザ選択を受信すると、WS GUI300は、上述したように、対応するコンテンツを、ネイティブアプリケーション又はプレビュー画像の何れかで表示されるようにするであろう。
【0111】
図12は、ワークスペースのコンテンツアイテムに関するコメントを閲覧するための例示のワークスペースのグラフィカルユーザインタフェース(WS GUI)1200を示す図である。例えば、ユーザが議論オプション1106を選択するか又はWS GUI1100のプレビューオプション1114を開くと、WS GUI1200が起動されうる。いくつかの実施形態において、WS GUI1200は、選択したコンテンツアイテムのプレビュー画像1204と、選択したコンテンツアイテムと関連付けられるコメント1206とを閲覧するためのグラフィカル要素1202(例えば、ウィンドウ)を含むことができる。いくつかの実施形態において、ユーザはプレビュー画像1204を編集することができる。いくつかの実施形態において、プレビュー画像1204は読み込み専用の画像である。
【0112】
いくつかの実施形態において、コメント1206は、種々の発信源から収集された選択したコンテンツアイテムに関連付けられるコメントを提示することができる。例えば、ワークスペースサーバ136は、全ての利用可能な発信源から選択したコンテンツアイテムに関連されるコメントを収集し、コメント領域1206の表示用にWS GUI1200へ収集したコメントを送信することができる。例えば、コメント1206は、メッセージストリーム316に選択したコンテンツアイテムについて作成したコメントを含むことができる。コメント1206は、ワークスペースのメンバの電子メールで作成された選択したコンテンツアイテムについて作成されたコメントを含むことができる。コメント1206は、選択したコンテンツアイテム内から取得されるコメントを含むことができる。例えば、いくつかのワード処理アプリケーションは、ユーザがコメントを生成することを許容し、文書内部の変更を監視する。それらの内部コメント及び修正は、文書から抽出され、コメント1206に提示されうる。いくつかの実施形態において、コメント1206は、コンテンツアイテムがいつ作成、修正等されたかを識別するなどの、変更情報を含むことができる。コメント1206は、選択したコンテンツアイテムに何が変更されたかを識別することができる。
【0113】
いくつかの実施形態において、グラフィカル要素1202は、現在の表示されたコンテンツアイテムについての会話を容易にするためのグラフィカル要素1208を含むことができる。例えば、ユーザは、コメントをグラフィカル要素1208に入力し、コメントがコメント領域1206に現れるように当該コメントを投稿することができる。各ユーザは、グラフィカル要素1208とコメント領域1206とを用いて、コメントをし、現在表示されているコンテンツアイテムについて議論することができる。
【0114】
いくつかの実施形態において、ワークスペースサーバ136によって収集されるコメントは対応するコンテンツアイテムへ追加されうる。例えば、コンテンツアイテムが内部コメントをサポートするワード処理文書であれば、ワークスペースサーバ136によって種々の発信源から収集される当該コメントは、内部コメントとしてワード処理文書へ追加されうる。
【0115】
図13は、コンテンツアイテムについてのコメントを生成し、表示するための例示の処理1300を示すフローチャートである。ステップ1302で、ワークスペースサーバ136は、コンテンツアイテムに関連付けられるメッセージを受信することができる。例えば、ワークスペースサーバ136は、当該コンテンツアイテムがメッセージに添付されている場合(例えば、電子メールの添付物)、メッセージが当該コンテンツアイテムと関連付けられる(又は、関連する)と判定することができる。ワークスペースサーバ136は、コンテンツアイテムがメッセージにリンク付けされている場合には(例えば、電子メールでコンテンツアイテムへのリンク、ワークスペースメッセージでコンテンツアイテムへのリンク、チャットメッセージでコンテンツアイテムへのリンク等)、メッセージが当該コンテンツアイテムに関連付けられると判定することができる。ワークスペースサーバ136は、メッセージが添付物として、又は、コンテンツアイテムへのリンクを有してコンテンツアイテムを有する前回のメッセージへの返信である場合にはメッセージが当該コンテンツアイテムに関連付けられると判定することができる。ワークスペースサーバ136は、メッセージが、添付物として、又は、コンテンツアイテムへのリンクを有してコンテンツアイテムを有する前回のメッセージを含むメッセージスレッド(例えば、一連の関連メッセージ、一連のオリジナルメッセージへの返信等)である場合にはメッセージが当該コンテンツアイテムに関連付けられると判定することができる。
【0116】
ステップ1304で、ワークスペースサーバ136は、コンテンツアイテムについてのコメントとしてメッセージを格納することができる。例えば、メッセージがコンテンツアイテムに関連付けられるとワークスペースサーバ136が判定すると、ワークスペースサーバ136は、コンテンツアイテムに対応するコメントメタデータにメッセージを格納することができる。したがって、種々の発信源(例えば、電子メール、チャット、ワークスペースメッセージ、インスタントメッセージ、テキストメッセージ等)からのメッセージはコンテンツアイテムについてのコメントメタデータへ統合されうる。例えば、コメントメタデータは、コンテンツアイテムに内部的に格納されうる。コメントメタデータは、コンテンツアイテムとは個別に格納されうる(例えば、個別ファイルで)。発信源(例えば、電子メール、チャットメッセージ、ワークスペースメッセージ、テキストメッセージ、インスタントメッセージ、コンテンツアイテム内からのコメント等)に関わらず当該コンテンツアイテムに対して収集されたコメントの全ては、当該コンテンツアイテムについてのコメントメタデータに格納されうる。
【0117】
ステップ1306で、ワークスペースサーバ136は、コンテンツアイテムの選択を受信することができる。例えば、クライアントデバイス102
iのユーザは、コンテンツアイテムの表示(例えば、コンテンツアイテムを表すアイコン、グラフィック、テキスト等)を、ワークスペースのグラフィカルユーザインタフェース上で閲覧することができる。例えば、ワークスペースのグラフィカルユーザインタフェースは、ブラウザアプリケーションに表示されるウェブインタフェースであってもよい。ワークスペースのグラフィカルユーザインタフェースは、ワークスペース専用のネイティブアプリケーションのユーザインタフェースであってもよい。ユーザは、コンテンツアイテムを選択するために、ワークスペースのグラフィカルユーザインタフェース上に表示されるコンテンツアイテムの表示を選択することができる。ワークスペースのグラフィカルユーザインタフェースは、ワークスペースサーバ136へコンテンツアイテムの選択を送信することができる。
【0118】
ステップ1308で、ワークスペースサーバ136は、クライアントデバイス102
iに、選択したコンテンツアイテムとコンテンツアイテムについてのコメントとを提示させることができる。例えば、ワークスペースサーバ136は、コンテンツアイテムを表示するウェブページ(又は、コンテンツアイテムのプレビュー画像)と、コンテンツアイテムについてのコメントとを、クライアントデバイス102
iで実行されるウェブブラウザへ送信することができる。ワークスペースサーバ136は、クライアントデバイス102
iで実行されるネイティブアプリケーションへ、コンテンツアイテム及びコンテンツアイテムのコメントを送信することができる。例えば、ワークスペースサーバ136は、上述したように、コンテンツアイテムと、コンテンツアイテムのコメントメタデータとをクライアントデバイスと同期することができる。コンテンツアイテム及びそのコメントは、個別のユーザインタフェース(例えば、WS GUI1200)に表示されうる。コンテンツアイテム及びそのコメントは、コンテンツアイテム専用のメッセージスレッド(例えば、
図11のメッセージスレッド1108)に表示されうる。
【0119】
図14は、コンテンツアイテムの周辺の会話を作成するための例示の処理1400を示すフローチャートである。ステップ1402で、クライアントデバイスは、コンテンツアイテム及びメッセージストリームを含むワークスペースのGUIを提示することができる。例えば、クライアントデバイス102
iは、
図11のWS GUI1100を提示することができる。
【0120】
ステップ1404で、クライアントデバイスは、ワークスペースGUI上に表示されるコンテンツアイテムの選択を受信することができる。例えば、クライアントデバイス102
iのユーザは、
図11のコンテンツアイテム1102を選択するためにWS GUI1100へ入力を提供することができる。
【0121】
ステップ1406で、クライアントデバイスは、コンテンツアイテムの議論オプションを提示することができる。例えば、WS GUI1100は、ステップ1404で受信したユーザ入力に応じて、議論オプション1106を含むオプションメニュー1104を提示することができる。
【0122】
ステップ1408で、クライアントデバイスは、議論オプションの選択を受信することができる。例えば、クライアントデバイス102
iのユーザは、議論オプションを選択するために議論オプション1106に関して、クライアントデバイス102
iへの入力を提供することができる。
【0123】
ステップ1410で、クライアントデバイスは、メッセージストリームに選択したコンテンツアイテムを含む新たなメッセージを生成することができる。例えば、議論オプション1106の選択の受信に応じて、クライアントデバイス102
iは、選択したコンテンツアイテムを含むメッセージストリームにおける新たなメッセージを生成することができる。クライアントデバイス102
iは、新たなメッセージをワークスペースサーバ136へ送信し、メッセージストリームに新たなメッセージと選択したコンテンツアイテムとを提示することができる。新たなメッセージが他のワークスペースメンバに提示されると、ワークスペースメンバは、選択したコンテンツアイテムの議論を継続し、
図11のメッセージスレッド1108に生成するように当該メッセージに返信することができる。
【0124】
図15は、外部ユーザへワークスペースのメッセージを送信するための例示の処理1500を示すフローチャートである。ステップ1502で、サーバデバイスは、ワークスペースメンバについてのメッセージストリームを生成することができる。例えば、サーバデバイス230iは、
図3のメッセージストリーム316を生成することができる。メッセージストリーム316は、上述したように、ワークスペースのメンバによって生成されたワークスペースのメッセージ(例えば、リアルタイム又はほぼリアルタイムのチャットメッセージ)の収集物であってもよい(例えば、時間順に)。
【0125】
ステップ1504で、サーバデバイスは、メッセージストリームにおけるメッセージを受信することができる。例えば、サーバデバイス230は、ワークスペースのメンバによって生成された新たなワークスペースのメッセージを受信することができる。
【0126】
ステップ1506で、サーバデバイスは、メッセージが外部ユーザを言及しているかを判定することができる。例えば、外部ユーザは、ワークスペースのメンバでない任意のユーザである(例えば、ワークスペースの共有フォルダの認証ユーザでない)。サーバデバイスは、言及されたユーザを識別する接頭辞についてメッセージのテキストを解析することによって外部ユーザがメッセージにおいて言及されているかを判定することができる。例えば、接頭辞は単一の文字又は記号(例えば、@)であってもよい。接頭辞は複数の文字又は複数の記号(例えば、“at:”, “for:”等)であってもよい。サーバデバイスが接頭辞を見つけると、サーバデバイスは、接頭辞に続く文字列と、ワークスペースのメンバの識別子とを比較することができる。文字列が任意のワークスペースメンバと一致しなければ、サーバデバイスは、言及されたユーザが外部ユーザであると判定することができる。
【0127】
ステップ1508で、サーバデバイスは、外部ユーザについての連絡情報を取得することができる。例えば、サーバデバイスは、外部ユーザの言及を含むワークスペースのメッセージを生成したワークスペースのメンバのクライアントデバイスからの連絡情報を要求することができる。クライアントデバイスは、外部ユーザの連絡情報(例えば、電話番号、電子メールアドレス等)についてのワークスペースのメンバに促すことができる。クライアントデバイスは、外部ユーザについての連絡情報を取得するためにクライアントデバイスに格納された連絡情報のデータベースを検索することができる。いくつかの実施形態において、サーバデバイスは、ワークスペースのメンバのアカウントに連絡情報のデータベースを格納し、外部ユーザについての連絡情報を判定するために連絡情報のデータベースを検索することができる。
【0128】
ステップ1510で、サーバデバイスは、外部ユーザについて取得した連絡情報に対応する通信メカニズムに従って、外部ユーザを言及するメッセージを当該外部ユーザに送信することができる。例えば、外部ユーザについての連絡情報が電話番号であれば、サーバデバイスは、テキストメッセージ(例えば、ショートメッセージサービスでのメッセージング)を用いて、外部ユーザへワークスペースのメッセージ(例えば、メッセージのテキスト部分)を送信することができる。外部ユーザについての連絡情報が電子メールアドレスであれば、サーバデバイスは、電子メールを用いて外部ユーザへワークスペースのメッセージを送信することができる。
【0129】
いくつかの実施形態において、外部ユーザは、外部ユーザがワークスペースのメッセージを受信した同一の通信メカニズムを用いて、ワークスペースのメッセージに応答することができる。例えば、外部ユーザが電子メールメッセージを受信すれば、外部ユーザは電子メールを用いて返信することができる。外部ユーザがテキストメッセージを受信すれば、外部ユーザはテキストメッセージを用いて返信することができる。サーバデバイスが電子メール又はテキストメッセージの返信を受信すると、サーバデバイスは、返信を含む新たなワークスペースのメッセージを生成し、当該新たなワークスペースのメッセージをメッセージストリームに外部ユーザが言及されたメッセージへの返信として掲示することができる。
【0130】
図16は、同じグラフィカルユーザインタフェースにチャットとスレッド化した会話を提示するための例示の処理1600を示すフローチャートである。ステップ1602で、クライアントデバイスは、メッセージストリームを含むワークスペースのグラフィカルユーザインタフェースを生成することができる。例えば、クライアントデバイスは、メッセージストリーム316を含むWS GUI300を生成することができる。
【0131】
ステップ1604で、クライアントデバイスは、メッセージストリームにおける新たなメッセージを受信することができる。例えば、ワークスペースのメンバは、
図3を参照して上述したように、新たなワークスペースメッセージを生成することができる。この時点で、新たなメッセージはクライアントデバイスによって受信されるものの、メッセージストリームへは、まだ表示又は挿入されていない。
【0132】
ステップ1606で、クライアントデバイスは、メッセージストリームの既存のメッセージとユーザがやり取りするかどうかを判定することができる。例えば、クライアントデバイス102
iは、WS GUI300を介して入力カーソル又は入力ポインタの位置を判定することができる。カーソルがWS GUI300上に表示されるメッセージの1つ上に位置する場合、クライアントデバイス102
iは、ユーザが既存メッセージとやり取りしていると判定することができる。ユーザが既存のメッセージに応答してテキスト入力を提供している場合(例えば、テキスト入力要素332への入力を提供している場合)、クライアントデバイス102
iは、ユーザが既存メッセージとやり取りしていると判定することができる。ユーザがメッセージストリーム316の既存のメッセージに関して任意の他の入力(例えば、クリック、タッチ、スワイプ等)を提供している場合(例えば、リンク要素334を選択、返信要素330を選択する場合)、クライアントデバイス102
iは、ユーザがメッセージストリーム316の既存メッセージとやり取りしていると判定することができる。ユーザがメッセージストリームI316に表示されるメッセージの1つへの入力を提供する場合、クライアントデバイス102
iは、ユーザがメッセージストリーム316の既存メッセージとやり取りしていないと判定することができる。
【0133】
ステップ1608で、クライアントデバイスは、メッセージストリームの既存のメッセージとユーザがやり取りしていない場合、メッセージストリームをスクロールすることができる。例えば、クライアントデバイス102
iが、ユーザが既存メッセージとやり取りしていないと判定すると、クライアントデバイス102
iは、上述したように、WS GUI300上に新たなメッセージについての部屋を作成するために、メッセージストリームをスクロールし、メッセージストリームへ新たなメッセージを挿入することができる。例えば、クライアントデバイス102
iが上方向にメッセージストリームをスクロールする場合、新たなメッセージは、メッセージストリームの最下部に挿入されうる。クライアントデバイス102
iが下方向にメッセージストリームをスクロールする場合、新たなメッセージは、メッセージストリームの最上部に挿入されうる。スクロール動作は、新たなメッセージを受信した際にメッセージストリームへ新たなメッセージを追加するデフォルトの動作であってもよい。
【0134】
ステップ1610で、クライアントデバイスは、メッセージストリームの既存のメッセージとユーザがやり取りしている場合、メッセージストリームをフリーズすることができる。例えば、クライアントデバイス102
iは、新たなメッセージの受信に応じてスクロール動作を停止することによってメッセージストリームをフリーズすることができる。ユーザが既存のメッセージとやり取りしている間、クライアントデバイス102
iは、新たなメッセージについての部屋を作成するためにメッセージストリームをスクロールさせることはないであろう。
【0135】
ステップ1612で、クライアントデバイスは、メッセージストリームへ新たなメッセージを挿入することができる。例えば、ユーザが既存のメッセージとのやり取りを提示すると、クライアントデバイス102
iは、スクロール動作を再開し、メッセージストリームへ新たなメッセージを挿入紙、WS GUI300上に新たなメッセージを表示することができる。
【0136】
図17A及び
図17Bは、可能性のある例示のシステムの実施形態を示す。本技術を実施する場合に、より好適な実施の形態は当業者には明らかであろう。他のシステムの実施の形態が可能であることは、当業者には容易に理解されるであろう。
【0137】
図17Aは、通常のシステムバス計算システムアーキテクチャ1700を示す。システムのコンポーネントはバス1705を使用して互いに電気的に通信可能となっている。例示システム1700は、処理ユニット(CPUすなわちプロセッサ)1710と、読み取り専用メモリ(ROM)1720やランダムアクセスメモリ(RAM)1725などのシステムメモリ1715を含む各種のシステムコンポーネントをプロセッサ1710に接続するシステムバス1705と、を含む。システム1700は、プロセッサ1710に直接接続されているか、近接しているか、あるいはその一部として統合されている高速メモリのキャッシュを含んでもよい。システム1700は、データをメモリ1715および/またはストレージデバイス1730からキャッシュ1712へコピーして、プロセッサ1710が高速でアクセスできるようにしてもよい。このようにして、キャッシュは、データを待っている間のプロセッサ1710の遅延を回避するパフォーマンスブーストを提供してもよい。これらおよびその他のモジュールは、各種の動作を行うようにプロセッサ1710を制御するか、または制御するように構成されてもよい。その他のシステムメモリ1715が同様に使用可能であってもよい。メモリ1715は、異なる性能特性を持つ複数の異なるタイプのメモリを含んでもよい。プロセッサ1710は、いかなる汎用プロセッサを含んでもよいし、プロセッサ1710を制御するように構成されたハードウエアモジュールまたはソフトウエアモジュール、例えばストレージデバイス1730の中に格納されたモジュール1 1732、モジュール2 1734、モジュール3 1736を含んでもよいし、実際のプロセッサ設計の中にソフトウエアインストラクションが組み込まれている専用プロセッサを含んでもよい。プロセッサ1710は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュ等を含んでいる、完全に自己完結型のコンピュータシステムであってもよい。複数のコアプロセッサは対称又は非対称であってもよい。
【0138】
ユーザと計算デバイス1700との対話を可能にするため、入力デバイス1745は、音声用マイクロフォン、ジェスチャまたはグラフィカル入力用のタッチセンシティブスクリーン、キーボード、マウス、動作入力、音声等、いくつもの入力メカニズムを表してもよい。出力デバイス1735は、当業者には公知の複数の出力メカニズムのうちの1つ以上であってもよい。場合によっては、マルチモーダルシステムによって、ユーザが、計算デバイス1700と通信するための複数のタイプの入力を行うことが可能になる。通常、通信インタフェース1740が、ユーザ入力とシステム出力とを管理してもよい。特定のハードウェア構成上で動作することについての制限はなく、従って、本明細書での基本的な特徴は、改良型のハードウェア構成やファームウェア構成が開発されれば、それらと容易に置き換わりうる。
【0139】
ストレージデバイス1730は不揮発性メモリである。ストレージデバイス430はハードディスクや、コンピュータによってアクセス可能でありかつデータを保持可能な他のタイプのコンピュータ可読媒体、例えば、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタルバーサタイルディスク、カートリッジ、ランダムアクセスメモリ(RAMs)1725、読み取り専用メモリ(ROM)1720、それらのハイブリッド、等であってもよい。
【0140】
ストレージデバイス1730は、プロセッサ1710を制御するためのソフトウエアモジュール1732、1734、及び1736を含んでいてもよい。その他のハードウエアモジュールやソフトウエアモジュールも考えられる。ストレージデバイス1730は、システムバス1705に接続されていてもよい。一態様では、或る機能を行うハードウエアモジュールは、プロセッサ1710、バス1705、ディスプレイ1735等のような、その機能を実行するのに必要なハードウエアコンポーネントと関連してコンピュータ可読媒体の中に格納されたソフトウエアコンポーネントを含んでもよい。
【0141】
図17Bは、説明された方法を実行したりグラフィカルユーザインタフェース(GUI)を生成して表示したりする際に使用可能なチップセットアーキテクチャを有するコンピュータシステム1750を示す。コンピュータシステム1750は、開示された技術を実施するのに使用可能なコンピュータハードウエア、ソフトウエアおよびファームウエアの一例である。システム1750はプロセッサ1755を含んでもよい。プロセッサ655は、ソフトウエア、ファームウエアおよび特定された計算を行うよう構成されたハードウエアを実行可能な、任意の数の物理的および/または論理的に別個のリソースを表す。プロセッサ1755は、プロセッサ1755への入力およびプロセッサ1755からの出力を制御可能なチップセット1760と通信してもよい。本例では、チップセット1760はディスプレイなどの出力1765へ情報を出力し、ストレージデバイス1770に対して情報の読み書きを行ってもよい。ストレージデバイス1770は例えば磁気媒体やソリッドステート媒体を含んでもよい。チップセット1760はまた、RAM1775からデータを読み出し、RAM1775へデータを書き込んでもよい。チップセット1760とのインタフェースのために、種々のユーザインタフェースコンポーネント1785とのインタフェースとなるブリッジ1780が提供されてもよい。そのようなユーザインタフェースコンポーネント1785は、キーボードやマイクロフォンやタッチ検出および処理回路やマウスなどのポインティングデバイスなどを含んでもよい。一般に、システム1750への入力は種々のソースのうちの任意のものから来てもよく、または機械により生成されおよび/または人により生成されてもよい。
【0142】
チップセット1760は、異なる複数の物理的インタフェースを有しうるひとつ以上の通信インタフェース1790と連結されてもよい。そのような通信インタフェースは、有線および無線ローカルエリアネットワークとのインタフェースと、ブロードバンド無線ネットワークとのインタフェースと、パーソナルエリアネットワークとのインタフェースと、を含んでもよい。本明細書で開示されるGUIを生成し表示し使用する方法のいくつかの応用は、物理的なインタフェースを介して順序付けられたデータセットを受けること、またはプロセッサ1755がストレージ1770または1775に格納されるデータを解析することで機械そのものにより順序付けられたデータセットが生成されることを含んでもよい。さらに、機械はユーザインタフェースコンポーネント1785を通じてユーザから入力を受け、プロセッサ1755を使用してこれらの入力を解釈することで、ブラウズ機能などの適切な機能を実行してもよい。
【0143】
例示システム1700および1750はひとつ以上のプロセッサ1710を有してもよく、または処理能力を高めるためにネットワーク化された計算デバイスのグループまたはクラスタの一部であってもよいことは理解されるであろう。
【0144】
説明の明確化のため、ある例では、本技術はデバイスやデバイスコンポーネントやソフトウエアで実施される方法のステップまたはルーチンやハードウエアとソフトウエアとの組み合わせを含む機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
【0145】
ある実施の形態では、コンピュータ可読格納デバイス、媒体およびメモリは、ビットストリームを含むケーブルや無線信号などを含んでもよい。しかしながら、言及される場合、非一時的コンピュータ可読格納媒体は、エネルギやキャリア信号や電磁波や信号そのものなどの媒体を明示的に除外する。
【0146】
上述の例に係る方法は、コンピュータ可読媒体に格納されるかそうでなければその媒体から利用可能なコンピュータ実行可能インストラクションを使用して実装されてもよい。そのようなインストラクションは、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに所定の機能もしくは機能のグループを実行させるかそうでなければ実行するよう設定するインストラクションおよびデータを含んでもよい。使用されるコンピュータリソースの一部はネットワークを介してアクセス可能であってもよい。コンピュータ実行可能インストラクションは、例えば、バイナリや、アセンブリ言語などの中間フォーマットインストラクションや、ファームウエアや、ソースコードであってもよい。インストラクション、使用される情報、および/または説明された例に係る方法中に生成される情報を格納するのに使用されうるコンピュータ可読媒体の例は、磁気または光学ディスク、フラッシュメモリ、不揮発性メモリを備えるUSBデバイス、ネットワークストレージデバイスなどを含む。
【0147】
本開示に係る方法を実装するデバイスはハードウエア、ファームウエアおよび/またはソフトウエアを含んでもよく、種々の形状ファクタのうちの任意のものをとりうる。そのような形状ファクタの典型的な例は、ラップトップや、スマートフォンや、小さい形状ファクタのパーソナルコンピュータや、パーソナルデジタルアシスタントなどを含む。本明細書で説明される機能は周辺機器やアドインカードにおいて実現されてもよい。さらなる例として、そのような機能は回路基板上で異なる複数のチップの間でまたは単一デバイスで実行される異なる複数の処理の間で実現されてもよい。
【0148】
インストラクション、そのようなインストラクションを運ぶための媒体、そのようなインストラクションを実行するための計算リソース、およびそのような計算リソースをサポートするための他の構成は、本開示で説明される機能を提供するための手段である。
【0149】
添付の請求項の範囲内の態様を説明するために様々な例および他の情報が使用されたが、そのような例における特定の特徴や構成に基づくいかなる請求項の限定も暗示されてはならない。当業者であれば、これらの例を使用して多種多様な実装を導くことができるであろう。さらに、いくつかの主題が構造的特徴および/または方法ステップの例に特有の言語で記述されたかもしれないが、添付の請求項で規定される主題はこれらの記述された特徴や行為に限定される必要はないことは理解されるべきである。例えば、そのような機能は異なるように分散されてもよいし、本明細書で特定されたもの以外のコンポーネントで実行されてもよい。むしろ、記述された特徴およびステップは、添付の請求項の範囲内のシステムおよび方法のコンポーネントの例として開示される。