[0001]本出願は2017年10月16日に出願された米国特許出願第62/573,099号の優先権の利益を享受する。この出願は、参照によりその全体が本明細書に明示的に組み入れられる。
[0026]本開示のさまざまな実施の形態について、以下に詳しく論じる。特定の実施例について論じているが、これは説明のみを目的として行われていることを理解されたい。当業者は、本開示の趣旨及び範囲から逸脱することなく他のコンポーネントや構成が用いられうることを認識するであろう。
[0027]本明細書に開示される技術の追加及び/又は代替の詳細及び/又は実施例は、参照によりその全体が本明細書に組み込まれる、「MAINTAININING MULTIPLE VERSIONS OF A COLLECTION OF CONTENT ITEMS」という名称の米国特許出願第15/721,158号に見出すことができる。
[0028]開示される技術はエンドユーザがコンテンツアイテム及び/又はコンテンツアイテムメタデータに直接アクセスすることを防止しながら、コンテンツアイテムのコレクションを提示するための当技術分野における要望を解決する。
[0029]開示される技術の様々な実施形態を実装することに関して、例示的なシステム構成100が図1Aに示され、電子デバイスは、コンテンツ及び他のデータを交換する目的でネットワークを介して通信する。このシステムは、図1Aに示すような広域ネットワーク上で使用するように構成することができる。しかしながら、本発明の原理は、電子デバイスの相互通信を容易にする多種多様なネットワーク構成に適用可能である。例えば、図1Aのシステム100の各構成要素は、ネットワーク内で局所的又は分散的に実施することができる。
[0030]システム100では、直接及び/又は間接通信によりネットワーク104と接続された複数のクライアントデバイス1021、1022、…、102n(「102」と総称する)を通じて、ユーザ(例えば、個人、グループユーザ、会社等)はコンテンツ管理システム106(例えば、オンライン同期コンテンツ管理システム)とやり取りすることができる。コンテンツ管理システム106は、ここで説明されるサービスを提供するために必要となる機能及び/又は動作を実行するように構成された、単一のコンピューティングデバイス(例えば、1つのサーバ)又は複数のコンピューティングデバイス(例えば、複数のサーバ)を含むことができる。コンテンツ管理システム106は、デスクトップコンピュータや、モバイルコンピュータや、携帯電話、スマートフォン、タブレットなどのモバイル通信デバイスや、スマートテレビジョンや、セットトップボックスや、他の任意のネットワーク可能なコンピューティングデバイスなどの多種多様なクライアントデバイスからの接続をサポートしてもよい。クライアントデバイス102は、各種の種別、性能、オペレーティングシステム等であってもよい。さらに、コンテンツ管理システム106は、複数のクライアントデバイス102からの接続を同時に許可してもよく、複数のクライアントデバイス102とのやり取りを同時に行ってもよい。
[0031]クライアントデバイス102iにインストールされたクライアント側アプリケーションを介して、ユーザはコンテンツ管理システム106と情報をやり取りしてもよい。ある実施の形態では、クライアント側アプリケーションはコンテンツ管理システムの特定のコンポーネントを含んでもよい。例えば、コンポーネントはスタンドアローンアプリケーションや1以上のアプリケーションプラグインやブラウザエクステンションであってもよい。しかしながら、クライアントデバイス102iに存在しコンテンツ管理システム106と通信するよう構成されたウェブブラウザなどのサードパーティのアプリケーションを介して、ユーザはまたコンテンツ管理システム106と情報をやり取りしてもよい。いずれの場合でも、クライアント側アプリケーションは、ユーザがコンテンツ管理システム106と相互作用するためのユーザインタフェース(UI)を提供してもよい。例えば、ファイルシステムと統合されたクライアント側アプリケーションを介して、又はウェブブラウザアプリケーションを使用して表示されたウェブページを介して、ユーザはコンテンツ管理システム106と情報をやり取りすることができる。
[0032]コンテンツ管理システム106は、ユーザによるコンテンツアイテムの格納や、コンテンツアイテムの取得、変更、閲覧、及び/又は共有などの種々のコンテンツ管理タスクの実行を可能としてもよい。さらにコンテンツ管理システム106は、ユーザが複数のクライアントデバイス102からコンテンツにアクセスすることを可能としてもよい。例えば、クライアントデバイス102iはネットワーク104を介してコンテンツ管理システム106にコンテンツをアップロードしてもよい。後に、同一のクライアントデバイス102i又はいくつかの他のクライアントデバイス102jはコンテンツ管理システム106から当該コンテンツを検索することができる。
[0033]種々のコンテンツ管理サービスをより容易にするために、ユーザはコンテンツ管理システム106にアカウントを生成してもよい。ユーザアカウントデータベース150は、アカウント情報を維持してもよい。ユーザアカウントデータベース150は、登録ユーザについてのプロファイル情報を格納してもよい。ある場合には、ユーザプロファイルの個人情報はユーザ名及び/又は電子メールアドレスのみであってもよい。しかしながら、コンテンツ管理システム106は、誕生日、住所、課金情報などの追加的なユーザ情報を受け入れるよう構成されてもよい。
[0034]ユーザアカウントデータベース150は、アカウントタイプや、利用情報(例えば、ファイルアクセス又は編集履歴)、使用されるストレージスペース、コンテンツ記憶場所、セキュリティ設定、個人構成設定、コンテンツ共有データなどのアカウント管理情報を含んでもよい。アカウント管理モジュール124は、ユーザアカウントデータベース150のユーザアカウントの詳細を更新し、及び/又は、取得するように構成されてもよい。アカウント管理モジュール124は、コンテンツ管理システム106の任意の数の他のモジュールと情報をやり取りするよう構成されてもよい。
[0035]アカウントは、そのアカウントで認証された1以上のクライアントデバイス102から、デジタルデータ、ドキュメント、共同コンテンツアイテム、テキストファイル、オーディオファイル、画像ファイル、ビデオファイル、ウェブページ、実行可能ファイル、バイナリファイル、他のコンテンツアイテムを参照するプレースホルダファイルなどのコンテンツアイテムを格納するために使用されてもよい。コンテンツアイテムはまた、フォルダ、プレイリスト、アルバムなどの種々の挙動とともにコンテンツアイテムをグループ化するコレクションを含むことができる。例えば、アカウントは、複数のユーザアカウントにリンクされ、利用可能な共有コレクション又はグループコレクションを含むことができる。ある共有コレクションについての複数のユーザに対する複数のパーミッションは異なっていてもよい。
[0036]コンテンツアイテムはコンテンツストレージ160に格納されてもよい。コンテンツストレージ160は、ストレージデバイスや、複数のストレージデバイスや、サーバであってもよい。代替的に、コンテンツストレージ160は、1以上の通信ネットワークを介してアクセス可能なクラウドストレージプロバイダ又はネットワークストレージであってもよい。コンテンツ管理システム106がクライアントデバイス102に対して複雑さと詳細とを隠すことで、クライアントデバイス102は、コンテンツアイテムがコンテンツ管理システム106によって正確にどこにどのように格納されているのかを知る必要はない。いくつかの実施形態では、コンテンツ管理システム106は、クライアントデバイス102i上に現れるコレクション階層と同じフォルダ階層でコンテンツアイテムを格納してもよい。しかしながら、コンテンツ管理システム106は自身の順序や構成や階層でコンテンツアイテムを格納してもよい。コンテンツ管理システム106は、コンテンツアイテムを、ネットワークアクセス可能なストレージ(NAS)デバイス、リダンダント・アレイ・オブ・インディペンデント・ディスクズ(RAID)等に格納しうる。コンテンツストレージ160は、コンテンツアイテムを、FAT、FAT32、NTFS、EXT2、EXT3、EXT4、HFS/HFS+、 BTRFS等の1以上のパーティションタイプを用いて格納しうる。
[0037]コンテンツストレージ160は、コンテンツアイテム及びコンテンツアイテムタイプ及びコンテンツアイテムと種々のアカウントやコレクションやグループとの関係を説明するメタデータを格納してもよい。コンテンツアイテムのメタデータは、コンテンツアイテムの一部として格納されてもよいし、別個に格納されてもよい。一変形例では、コンテンツストレージ160に格納される各コンテンツアイテムには、システム全体で一意の識別子が割り当てられてもよい。
[0038]コンテンツストレージ160は、重複したコンテンツアイテムやコンテンツアイテムの重複セグメントを特定することによって、要求されるストレージスペースの量を低減することができる。複数の複製を保持する代わりに、コンテンツストレージ160は単一の複製を保持し、ポインタや他のメカニズムを使用して、重複しているものをその単一の複製にリンクさせてもよい。同様に、コンテンツストレージ160は、より効率的にコンテンツアイテムを格納すると共に、コンテンツアイテムの変更、コンテンツアイテムの異なるバージョン(バージョンツリーの分岐を含む)、及び変更履歴を追跡するコンテンツアイテムバージョン制御を用いることによって、取り消し(undo)操作の機能を提供しうる。当該変更履歴は、元のコンテンツアイテムのバージョンにいつ適用したか、変更されたコンテンツアイテムのバージョンをいつ生成したかの変更のセットを含みうる。
[0039]コンテンツ管理システム106は1以上のクライアントデバイス102からのコンテンツアイテムの自動同期をサポートするよう構成されてもよい。同期はプラットフォーム非依存型であってもよい。すなわち、コンテンツアイテムは、種類、機能、オペレーティングシステム等の異なる、複数のクライアントデバイス102にわたって同期処理されうる。例えば、クライアントデバイス102iは、コンテンツ管理システム106の同期モジュール132を介して、クライアントデバイス102iのファイルシステムのコンテンツを、ユーザアカウントに関連付けられるコンテンツと同期するクライアントソフトウェアを含みうる。ある場合では、クライアントソフトウェアは、新規の、削除された、修正された、コピーされた又は移動されたコンテンツアイテムやコレクション等のような、指定されたコレクション及びそのサブコレクション内のコンテンツに対する任意の変更と同期しうる。クライアントソフトウェアは別個のソフトウェアアプリケーションであってもよく、又はオペレーティングシステムの既存のコンテンツ管理アプリケーションに統合されていてもよく、又はそれらの組み合わせであってもよい。既存のコンテンツ管理アプリケーションに統合されるクライアントソフトウェアの一例では、ユーザはローカルコレクション内で直接コンテンツを操作し、その間、バックグラウンド処理は変更がないかローカルコレクションを監視し、そのような変更の同期をコンテンツ管理システム106に対して実行する。逆に、バックグラウンド処理はコンテンツ管理システム106において更新されたコンテンツアイテムを特定し、そのような変更の同期をローカルコレクションに対して実行してもよい。
[0040]ユーザは、ユーザインタフェースモジュール122によって生成され提供されるウェブインタフェースを介して、コンテンツを視たり操作したりしてもよい。例えば、ユーザは、ウェブブラウザ内で、コンテンツ管理システム106によって提供されるウェブアドレスへとナビゲートしてもよい。コンテンツアイテムの一部であるテキスト又はメディアに対する編集を行うなど、ウェブインタフェースを通じて行われるコンテンツストレージ160内のコンテンツへの変更又は更新は、コンテンツアイテムにアクセスすることを認証された他のクライアントデバイス102に伝達することができる。例えば、それぞれが自身のクライアントソフトウェアを有する複数のクライアントデバイス102は単一のアカウントと関連付けられていてもよく、そのアカウントのコンテンツアイテムは複数のクライアントデバイス102のそれぞれの間で同期されてもよい。
[0041]コンテンツ管理システム106は、アプリケーションプログラムインタフェース(API)を介して他のコンテンツ及び/又はサービスプロバイダ1091、1092、…、109n(「109」と総称する)と相互に作用可能な通信インタフェース120であって種々のクライアントデバイス102とのインタフェースとしての通信インタフェース120を含んでもよい。所定のソフトウェアアプリケーションは、ユーザの代わりに、APIを介してコンテンツストレージ160にアクセスしてもよい。例えば、スマートフォンやタブレットコンピューティングデバイス上で動作するアプリケーションなどのソフトウェアパッケージはプログラム上、ユーザが資格証明を提供する場合、コンテンツ管理システム106を直接呼び出し、コンテンツを読み取り、書き込み、生成し、消去し、共有し、又はそうでなければ操作してもよい。同様に、APIは、ウェブサイトを通じてユーザがコンテンツストレージ160の全て又は一部にアクセスすることを可能としてもよい。
[0042]コンテンツ管理システム106は認証モジュール126を含んでもよい。この認証モジュール126は、ユーザの資格証明やセキュリティトークンやAPIコールや特定のクライアントデバイスなどを検証し、認証されたクライアント及びユーザのみがコンテンツアイテムにアクセスできることを保証してもよい。さらに、コンテンツ管理システム106は解析モジュール134を含んでもよい。この解析モジュール134は、集約ファイル操作、ユーザアクション、ネットワーク利用状況、使用されているトータルのストレージスペース、他の技術的な、利用状況又はビジネス上の指標を追跡し、それについて報告してもよい。プライバシー及び/又はセキュリティポリシーは、コンテンツ管理システム106に保持されるユーザデータへの未認証のアクセスを防止することができる。
[0043]コンテンツ管理システム106は、コンテンツアイテムを共有することを管理するための共有モジュール130を含んでもよい。コンテンツアイテムを共有することは、コンテンツアイテムを、コンテンツ管理システム106とネットワーク通信可能な任意のコンピューティングデバイスからアクセス可能とすることを含んでもよい。コンテンツアイテムを共有することは、コンテンツストレージ160のコンテンツアイテムを2以上のユーザアカウントとリンクさせ、それにより各ユーザアカウントがそのコンテンツアイテムへのアクセスを有することを含んでもよい。この共有は、プラットフォーム非依存で実行されうる。つまり、コンテンツは種々の種別、性能、オペレーティングシステムなどの複数のクライアントデバイス102に渡って共有されてもよい。当該コンテンツはまた、ユーザアカウントの種々の種別に渡って共有されてもよい。
[0044]いくつかの実施形態において、コンテンツアイテムを共有するために、共有モジュール130は、ユーザアカウント識別子をコンテンツアイテムに関連付けられたコンテンツエントリに追加するように構成されてもよく、これにより、コンテンツアイテムへのアクセスが、追加されたユーザアカウントに許可される。共有モジュール130は、ユーザアカウントのコンテンツアイテムへのアクセスを制限するために、コンテンツエントリからユーザアカウント識別子を取り除くように構成されてもよい。
[0045]いくつかの実施形態において、コンテンツアイテムを共有するために、共有モジュール130は、ウェブブラウザが認証なしでコンテンツ管理システム106へアクセスすることを可能にする、ユニフォームリソースロケータ(URL)などのカスタムネットワークアドレスを生成するように構成されてもよい。これを達成するために、共有モジュール130は生成されるURLにコンテンツ識別データを含めるよう構成されてもよく、コンテンツ識別データは、後に、要求されたコンテンツアイテムを適切に識別して返送するために使用されてもよい。例えば、共有モジュール130は、生成されるURLにユーザアカウント識別子とコンテンツパスとを含めるよう構成されてもよい。URLが選択されると、URLに含まれるコンテンツ識別データはコンテンツ管理システム106に送信されてもよい。コンテンツ管理システム106は受信したコンテンツ識別データを使用して適切なコンテンツエントリを識別し、そのコンテンツエントリに関連付けられたコンテンツアイテムを返してもよい。
[0046] いくつかの実施形態では、コンテンツ管理システム106は、共同コンテンツアイテム管理モジュール136を含むことができる。共同コンテンツアイテム管理モジュール136は、ユーザが同時に共同コンテンツアイテムを作成し、共同コンテンツアイテムにコメントし、共同コンテンツアイテム内のタスクを管理することができる、対話型コンテンツアイテムコラボレーションプラットフォームを提供することができる。共同コンテンツアイテム管理モジュール136は、コンテンツ管理システム106の別個のサブシステムとして実装することができる。例えば、いくつかの実施形態では、コンテンツアイテムの管理が上述のように、コンテンツアイテムを管理するように特に構成されたコンテンツ管理システム106の1以上のサーバによって実行することができる。共同コンテンツアイテムの管理はコンテンツアイテム管理サーバとは別個であり、共同コンテンツアイテムを管理するように特に構成されたコンテンツ管理システム106の1以上のサーバによって実行することができる。いくつかの実施形態では、同一のサーバが、コンテンツアイテム及び共同コンテンツアイテムの両方を管理するように構成されうる。同様に、コンテンツアイテム及び共同コンテンツアイテムの両方をコンテンツストレージ160に記憶することができる。或いは、コンテンツストレージ160がコンテンツアイテムを記憶することができ、一方で、共同コンテンツアイテムは共同コンテンツアイテムストレージ165に別々に記憶することができる。
[0047]共同コンテンツアイテムはユーザが共同コンテンツアイテムエディタを使用して作成及び編集することができるファイルとすることができ、共同コンテンツアイテム要素を含むこともできる。共同コンテンツアイテム及び/又は共同コンテンツアイテムを定義するデータは、コンテンツアイテムとは別個に格納することができる。共同コンテンツアイテム要素は、共同コンテンツアイテム識別子、1以上の作成者識別子、共同コンテンツアイテムテキスト、共同コンテンツアイテム属性、対話情報、コメント、及び共有ユーザなどを含むことができる。共同コンテンツアイテム要素は、共同コンテンツアイテムの検索及び取り出しを可能にするデータベースエンティティとして格納されうる。複数のユーザは共同コンテンツアイテムに、同時に又は異なる時間にアクセスし、閲覧し、編集し、共同することができる。いくつかの実施形態ではこれは複数のユーザがウェブインタフェースを介してコンテンツアイテムにアクセスするときに管理することができ、そこで、複数のユーザはコンテンツアイテムの同じコピー上で同時に作業することができる。
[0048]いくつかの実施形態では、共同コンテンツアイテムの部分が属性付きテキストのリスト(例えば、各文字又は文字範囲が属性のセットを有するテキストの文字列)によって表すことができる。属性は(キー、値)ペアとすることができ、例えば、(”bold”、”true”)、(”list”、”bullet1”)、又は(”author”、authorID)である。さらに、共同コンテンツアイテムは、変更セットのシーケンスとして記憶されうる。変更セットは、共同コンテンツアイテムの特定のバージョンへの編集を表す。変更セットを適用することは、文字を挿入及び削除し、属性を範囲に適用することができる。したがって、所与の変更セットが、特定の共同コンテンツアイテムの表現物(representation、以下では単に”表現”とも称する。)に適用され、別の共同コンテンツアイテムの表現物が生成されうる。例えば、共同コンテンツアイテムの表現物「abc¥n」及び変更セット「位置2にdを挿入する」は、適用されると、共同コンテンツアイテムの表現物「abdc\n」をもたらす。所与の順序で、すべての変更セットを共同コンテンツアイテムの表現物の初期バージョンに適用することにより、属性付きテキストの表現物のリストを含む共同コンテンツアイテムの現在のバージョンを生成することができる。複数のユーザは共同コンテンツアイテムに、同時に又は異なる時間にアクセスし、閲覧し、編集し、及び共同することができる。いくつかの実施形態では、これは、複数のユーザがコンテンツアイテムの同じコピーと同時にやり取りすることができるウェブインタフェースを介したコンテンツアイテムへのアクセスを複数のユーザに提供することによって管理されうる。
[0049]コンテンツ管理システム106は、特定のコンポーネントが与えられて示されているものの、当業者は、システム106の構造上の構成が単に一つの可能性のある構成であること、及び、多少のコンポーネントが与えられた他の構成も可能であることを理解すべきである。
[0050]図1Bは、いくつかの実施形態による、例示的な共同コンテンツアイテム管理モジュール136を示す。共同コンテンツアイテム管理モジュール136は、共同コンテンツアイテム処理インタフェースモジュール174、共同コンテンツアイテム編集モジュール176、ユーザ通知モジュール178、及び/又は共同コンテンツアイテム提示モジュール180を含むことができる。共同コンテンツアイテム処理インタフェースモジュール174、共同コンテンツアイテム編集モジュール176、ユーザ通知モジュール178、及び共同コンテンツアイテム提示モジュール180のうちの1以上は互いに、又は明示的に示されていないモジュールに結合されうる。
[0051]共同コンテンツアイテム処理インタフェースモジュール174は、共同コンテンツアイテム管理モジュール136とインタフェースで接続するように構成されうる。様々な実施形態では、共同コンテンツアイテム処理インタフェースモジュール174が本明細書でさらに説明するように、共同コンテンツアイテム管理モジュール136の1以上のモジュールに共同コンテンツアイテムを提供することができる。
[0052]共同コンテンツアイテム編集モジュール176は、共同コンテンツアイテムを作成及び/又は修正するように構成されうる。共同コンテンツアイテムは、様々な方法で作成することができる。いくつかの実施形態では、共同コンテンツアイテム編集モジュール176がコンテンツ管理システム106への共同コンテンツアイテムの作成を可能にする。共同コンテンツアイテム編集モジュール176は、クラウド内の、又はローカルで実行される、任意の共同コンテンツアイテム編集アプリケーション(例えば、Microsoft Word(登録商標)、Google Docs(登録商標)など)へのアクセスを可能にするか、又は任意の共同コンテンツアイテム編集アプリケーションであってもよい。一例では、コンテンツ管理システム106は、クライアントデバイス120のうちの1つに、新たな共同コンテンツアイテムの作成を可能にするユーザインタフェース要素(例えば、ボックス又はボタン)を提供することができる。
[0053]ユーザが共同コンテンツアイテムを作成又は呼び出すことを要求すると、共同コンテンツアイテム編集モジュール176は、共同コンテンツアイテムを作成及び/又は呼び出すことができる。共同コンテンツアイテムはその後、編集アプリケーション(例えば、クライアントデバイス102上でローカルに又はクラウド内の何れかに格納される)によって編集、改変、閲覧、変更、格納、及び/又は同様の操作を行うことができる。様々な実施形態では、1以上の異なるクライアントデバイス120が異なる編集アプリケーションを利用して、共同コンテンツアイテムに変更を加えることができる。共同コンテンツアイテム編集モジュール176及び/又は他の編集アプリケーションは、異なるクライアントデバイス120を同時に又は実質的に同時に(例えば、リアルタイムで又は実質的にリアルタイムで)使用して、複数の異なるユーザによって共同コンテンツアイテムが変更されることを可能にしうる。
[0054]共同コンテンツアイテム編集モジュール176は、ユーザから、共同コンテンツアイテムのための追加のコンテンツを受信することができる。例えば、共同コンテンツアイテム編集モジュール176はクライアントデバイス102から、共同コンテンツアイテムに対する変更又は編集を受信するように構成されうる。様々な実施形態では、当該変更はテキスト、文字列などを含むことができる。当該変更はまた、共同コンテンツアイテムへの注釈、共同コンテンツアイテムへのコメント、共同コンテンツアイテムに添付されるファイル、共同コンテンツアイテムに添付されるピクチャ、共同コンテンツアイテムに添付されるリンク、共同コンテンツアイテムに関連するタスクなどを含むことができる。様々な実施形態では、共同コンテンツアイテムへの編集は共同で行われる。例えば、共同コンテンツアイテム編集モジュール176は、任意の数のクライアントデバイス102から、所与の時間に(又はリアルタイムで)、編集(例えば、オーディオファイル、ピクチャ、テーブルなどのテキスト変更及び/又は追加)を取得することができる。共同編集は、色、フォント、スタイルなどの異なるテキスト属性を異なるユーザに提供するフォーマットを含む、様々なフォーマットに組み込むことができる。
[0055]様々な実施形態では、共同コンテンツアイテム編集モジュール176(及び/又はサーバに関連するセキュリティ又は許可モジュール)が共同コンテンツアイテムの許諾及び/又はセキュリティを確立することができる。例えば、共同コンテンツアイテム編集モジュール176はイベント出席者が共同コンテンツアイテムを閲覧及び/又は編集することを可能にしうる一方で、他の者は共同コンテンツアイテムを閲覧及び/又は変更する権利を有し得ないようにしてもよい。許可及び/又はセキュリティは、任意の数の方法で強制的に実施することができる。しかしながら、共同コンテンツアイテムへのアクセスは、様々な実施形態において、イベントの出席者又は出席者のサブセットに提供されてもよい。
[0056]様々な実施形態では、共同コンテンツアイテムへのアクセスがストレージアクセス権に基づいて制限される。例えば、クラウドストレージへのアクセス権を有するユーザは共同コンテンツアイテムにアクセスし、これを閲覧し、及び/又はこれに変更を加えることができる。いくつかの実施形態では、コンテンツ管理システム106によって割り当てられたアクセス権を有するユーザが共同コンテンツアイテムにアクセスし、これを閲覧し、及び/又はこれに変更を加えることができる。
[0057]ユーザ通知モジュール178はクライアントデバイス102のそれぞれのユーザに、共同コンテンツアイテムの状態及び/又は内容に関連する情報を通知するように構成されてもよい。通知は例えば、電子メール通知、チャットメッセージ通知、共同コンテンツアイテムの表示における通知として、又はファイルシステムもしくは他の組織システムを介して共同コンテンツアイテムに関連して送信されてもよい。様々な実施形態では、ユーザ通知モジュール178は変更に関する通知をクライアントデバイス102に提供する。
[0058]共同コンテンツアイテム提示モジュール180は、選択された共同コンテンツアイテムをクライアントデバイス102に提供することができる。共同コンテンツアイテムは、クライアントデバイス120によってサポートされている、ネイティブアプリケーション、インターネットブラウザウィンドウ等を通じてクライアントデバイス102に表示されてもよい。
[0059]共同コンテンツアイテム提示モジュール180は、共同コンテンツアイテムへの書き込み許可をいつでも制限することができることが理解されるであろう。一例では、イベントの発生前に、共同コンテンツアイテム提示モジュール180は、共同コンテンツアイテムの作成者又は呼出者を除くすべてのユーザに対して、共同コンテンツアイテムへの書込み許可を制限する(及び、共同コンテンツアイテムを読取専用共同コンテンツアイテムに変える)ことができる。いくつかの実施形態では、共同コンテンツアイテムの作成者又は呼出者が書込み許可を受信する受信者のサブセットを選択することができる。
[0060]共同コンテンツアイテム提示モジュール180はまた、ユーザが既存の共同コンテンツアイテムを閲覧するために使用することができる共同コンテンツアイテム閲覧ポータルをサポートすることができる。共同コンテンツアイテム閲覧ポータルは、1以上の順序付けファクタに基づいて、特定の共同コンテンツアイテムを順序付けることができる。本明細書で使用される「順序付けファクタ」とは、共同コンテンツアイテムを順序付けるために使用される任意のファクタを含むことができる。順序付けファクタは、共同コンテンツアイテムを時間順に順序付けるために使用されるファクタを含むことができる。より詳細には、いくつかの実施形態では共同コンテンツアイテム閲覧ポータルが共同コンテンツアイテムが作成された日付及び/又は時間に従って共同コンテンツアイテムを順序付ける。共同コンテンツアイテム閲覧ポータルはまた、共同コンテンツアイテムが編集された日付及び/又は時間に従って、共同コンテンツアイテムを順序付けてもよい。様々な実施形態では、共同コンテンツアイテム閲覧ポータルが共同コンテンツアイテムが関連付けられた対応するイベントの日付及び/又は時間に従って共同コンテンツアイテムを順序付ける。順序付けファクタはまた、共同コンテンツアイテムが関連付けられたイベントをユーザが受け入れたかどうかなど、特定のユーザの好みに従って共同コンテンツアイテムを順序付けるために使用されるファクタを含むことができる。
[0061]いくつかの実施形態では、共同コンテンツアイテム閲覧ポータルは、特定のユーザがイベントに関連していたため、共同コンテンツアイテムへのアクセスを受信した上記特定のユーザの専用とすることができる。ユーザの共同コンテンツアイテム閲覧ポータルは、共同コンテンツアイテムを含む任意の数の共同コンテンツアイテムへのアクセスを提供することができる。共同コンテンツアイテム閲覧ポータルにおいて表現される共同コンテンツアイテムは、任意の数の方法で順序付けられてもよい。例えば、共同コンテンツアイテム閲覧ポータルは、対応するイベントの日時に基づいて、共同コンテンツアイテムを順序付けることができる。
[0062]共同コンテンツアイテム閲覧ポータルは、検索機能をサポートすることができる。例えば、共同コンテンツアイテム閲覧ポータルは、テキスト文字列、タイトル、イベント出席者、及び/又は他の属性に従って、共同コンテンツアイテムの検索を可能にするか、又は許容することができる。検索機能は、特定のユーザがそのユーザ又は他のユーザのための1以上の共同コンテンツアイテムを検索することを可能にすることができる。
[0063]図2は、コンテンツアイテムコレクションを管理するための例示的なシステム200のブロック図である。例えば、システム200は上述した図1Aのシステム100に対応しうる。
[0064]いくつかの実施形態において、コンテンツ管理システム106は、コレクションモジュール204を含みうる。例えば、コレクションモジュール204は、スタンドアロンのソフトウェアサーバであってもよい。コレクションモジュール204は、より大きなソフトウェアシステム又はサーバの一部であるソフトウェアモジュールとすることができる。コレクションモジュール204はコンテンツ管理システム106に対応するか又は構成される複数のサーバのうちの一つとなりうるコレクションサーバ202(例えば、コンピューティングデバイス)上で実行可能である。
[0065]いくつかの実施形態では、コレクションモジュール204がコンテンツアイテムのコレクションを管理することができる。例えば、コレクションは上述したように、共同コンテンツアイテムであってもよい。しかしながら、共同コンテンツアイテムは通常、自由形式であり、コンテンツ、レイアウト、構造、及び外観に関して比較的制限されないが、コレクションはコレクションに追加することができるコンテンツのタイプ、並びにコレクション内のコンテンツのレイアウトを制約する構造化された共同コンテンツアイテムである。コレクションは主に、タイルのグリッドに配置された埋め込みコンテンツアイテム及びコンテンツアイテムメタデータから構成され、各タイルは、単一のコンテンツアイテム及び関連するメタデータを含む。各タイルは、コンテンツアイテムサーバ220によって管理される対応するコンテンツアイテムへのリンクを含むことができる。したがって、コレクションモジュール204は関連するコンテンツアイテムをコレクションのタイルに埋め込むことができるように、コレクション内のタイルのそれぞれによって参照されるコンテンツアイテムを格納し、検索するためにコンテンツアイテムサーバ220と協働することができる。
[0066]いくつかの実施形態では、コンテンツ管理システム106は、コレクションストレージ206を含むことができる。例えば、コレクションストレージ206は、コレクションモジュール204によって管理されるコレクション構成データのリポジトリとすることができる。したがって、コレクションストレージ206は、多くの異なるコレクションのレイアウト及びコンテンツを定義する構成データを格納することができる。
[0067]いくつかの実施形態では、コレクションストレージ206がコレクションデータ208を含むことができる。例えば、コレクションデータ208は、コレクションストレージ206に格納された各コレクションのコレクション識別子及び属性データのマッピングを格納するテーブル又は他のデータ構造とすることができる。例えば、コレクションデータ208は、各コレクションエントリについて、コレクション識別子及び識別されたコレクションの属性を含むことができる。コレクションの属性は、コレクションのヘッダ情報を特定する属性を含むことができる。例えば、ヘッダ情報はヘッダ背景画像識別子(例えば、コレクションを表現する画像へのリンク又はURL)を含むことができる。ヘッダ情報は、コレクションのタイトルに対応するテキストを含むことができる。ヘッダ情報はコレクションに関連付けられた会社、エンティティ、ユーザ、製品、又はグループを表すロゴ又は他の画像(例えば、ロゴ画像へのリンク又はURL)を含むことができる。
[0068]いくつかの実施形態では、コレクションデータ208内のコレクションエントリがコレクションの紹介ステートメントに対応するテキストを含むことができる。例えば、紹介テキストは、コレクションの作成又は編集を担当するユーザによって提供することができる。当該紹介テキストは、対応するコレクションに含まれるコンテンツに対する全体的な説明又は紹介を提供することができる。
[0069]いくつかの実施形態では、コレクションストレージ206がコレクションアイテム210を含むことができる。例えば、コレクションアイテム210は、コレクション内のタイルに対応するエントリを含むテーブル又は他のデータ構造とすることができる。コレクションアイテム210内の各エントリ又はレコードは、単一のタイルに対応することができる。各エントリは、各タイルの属性を定義するデータを含むことができる。例えば、タイルエントリは、タイル及び/又は対応するコンテンツアイテムが埋め込まれるコレクションに対応するコレクション識別子を含むことができる。タイルエントリは、コレクションモジュール204によって管理される全てのコレクションにわたってタイルを一意に識別するコレクションアイテム識別子を含むことができる。コレクションアイテム識別子は、コレクションを提示するときにタイルの順序を決定するためにコレクションモジュール204によって使用することができる。例えば、コレクションモジュール204は、コレクションアイテム識別子に基づいて決定された順序に従って、コレクション内にタイル及び/又は対応するコンテンツアイテムを配置することができる。例えば、コレクションアイテム識別子が1であるタイルは、コレクション内の最も左の位置の最上行に提示することができる。コレクション識別子が2であるタイルは、コレクション内の中央位置の最上行に提示することができる。コレクションモジュール204は各タイル及び/又は対応するコンテンツアイテムがコレクションディスプレイ(例えば、グラフィカルユーザインタフェース、ウェブページ等)に埋め込まれるまで、コレクションディスプレイを行毎に、上から下へ、及び左から右へレンダリングし続けることができる。
[0070]タイルエントリは、対応するタイルに埋め込まれた又はリンクされたコンテンツアイテムを識別する識別子を含むことができる。コンテンツアイテム識別子は例えば、コンテンツアイテムサーバ220からコンテンツアイテムのメタデータを取得するために使用されうるユニフォームリソースロケータ(URL)でありうる。例えば、コンテンツアイテムメタデータをコレクションのタイルに埋め込む場合、コレクションモジュール204は、タイルの対応するコレクションアイテム識別子を含むURLを挿入することができる。クライアント(例えば、CMSクライアント250)がタイルに埋め込まれたコンテンツアイテムのメタデータを取得する必要がある場合、当該クライアントは、URLを使用して、コレクションモジュール204からタイルのメタデータを要求することができる。次いで、コレクションモジュール204はコレクションアイテム識別子を、コレクションアイテム210内のコンテンツアイテム識別子マッピングに使用して、コレクションアイテム識別子に対応するコンテンツアイテム識別子(例えば、URL)を取得することができる。次いで、コレクションモジュール204はコンテンツアイテム識別子を使用して、コンテンツアイテムサーバ220上のコンテンツアイテムモジュール226から、対応するコンテンツアイテムのメタデータを要求することができる。例えば、コンテンツアイテムモジュール226はコンテンツアイテムの管理を提供し、図1Aを参照して上述したモジュール120、122、124、126、130、132及び/又は124のうちの1つ又は複数を表す。次いで、コレクションモジュール204はコンテンツアイテムメタデータをフィルタリングして、クライアントによって提示されるべきでない特定のメタデータ(例えば、コンテンツアイテムのコメント)を除去し、フィルタリングされたメタデータをユーザに提示するためにクライアントに送信することができる。したがって、コンテンツアイテム識別子をクライアントに送信することを回避することによって、コレクションモジュール204はクライアントがコンテンツストレージ160に格納されたコンテンツアイテムメタデータに直接アクセスすることを防止することができ、コンテンツアイテムメタデータへのクライアントのアクセスを制限することができる。
[0071]タイルエントリはコンテンツアイテムサーバ220からタイルエントリに対応するコンテンツアイテム(例えば、コンテンツアイテムを表す画像)を取得するために、クライアントによって使用されうる保護された共有リンク(PSL)を含むことができる。例えば、保護された共有リンクは、クライアントがコンテンツアイテム識別子及び/又はコンテンツストレージ160に格納されたコンテンツアイテムに直接アクセスすることを許可することなく、コンテンツアイテム(例えば、コンテンツアイテム画像)を取得するためにクライアント(例えば、CMSクライアント250)によって使用されうるデータの暗号化されたペイロードでありうる。例えば、ペイロードはコンテンツストレージ160に格納されたコンテンツアイテム(例えば、コンテンツアイテム222)の識別子(例えば、URL)を含むことができる。当該ペイロードは、コレクション識別子を含むことができる。当該ペイロードは、作成時間及び存続時間を含むことができる。例えば、作成時間及び存続時間は、対応するPSLが有効である時間期間のウィンドウを指定するために使用することができる。コレクションモジュール204は、コレクションモジュール204及びコンテンツアイテムモジュール226によって共有される共有シークレットを使用してペイロードを暗号化することができる。次いで、コレクションモジュール204は暗号化されたペイロードを含むリンク(例えば、URL)を生成し、リンクをコレクション内の対応するタイルに埋め込むことができる。コンテンツアイテム識別子を暗号化することによって、コレクションモジュール204は、クライアントがコンテンツアイテムモジュール226を介して対応するコンテンツアイテムに直接アクセスすることを防止することができる。
[0072]クライアントがコンテンツアイテムモジュール226からコンテンツアイテムを取得する必要がある場合、当該クライアントは、暗号化されたペイロードをコンテンツアイテムモジュール226に送信することができる。次いで、コンテンツアイテムモジュール226は共有シークレットを使用してペイロードを復号化し、現在時刻がペイロード内で特定された時間ウィンドウ内にあることを確認することによって、暗号化されたペイロードを検証することができる。ペイロードを検証した後、コンテンツアイテムモジュール226はコンテンツストレージ160から識別されたコンテンツアイテムを取得するために、ペイロード内のコンテンツアイテム識別子を使用することができる。コンテンツアイテムモジュール226はコンテンツアイテムに対応する画像(例えば、タイル画像、サムネイル画像、フルプレビュー画像等)を生成し、コンテンツアイテム画像をクライアントに送信することができる。次いで、クライアントは、コレクションの対応するタイルにコンテンツアイテム画像を提示することができる。
[0073]タイルエントリはコメントスレッド識別子及び/又はコメント識別子を含むことができ、コメントスレッド識別子及び/又はコメント識別子は、コメント212からコレクションコメントを識別及び/又は取得するために使用することができる。例えば、コンテンツ管理システム106はコンテンツアイテムコメント(例えば、コメント224)及びコレクションコメント(例えば、コメント212)を別々に維持することができる。コンテンツモジュール226及び/又はコンテンツストレージ160を介してコンテンツアイテムに直接アクセスする場合、クライアントは、コンテンツアイテムモジュール226によって管理されるコンテンツアイテムコメント224にアクセスすることができる。しかしながら、コレクションモジュール204によって管理されるコレクションを介してコンテンツアイテムにアクセスする場合、クライアントは、コレクション及び/又はコレクション内のタイルに関連付けられたコメント212のみにアクセスすることに制限される。この制限は上述したように、クライアントがコンテンツアイテム識別子を受信すること、又はコンテンツアイテム識別子に直接アクセスすることを防止することによって実施される。したがって、タイルエントリはコメントスレッド識別子及び/又はコメント識別子を含むことができ、コメントスレッド識別子及び/又はコメント識別子は、コレクションストレージ206内のコメント212に格納されたコメント及び/又はコメントスレッドを識別する。タイルエントリは、対応するタイル及び/又はコンテンツアイテムを記述するテキストを保存するキャプション属性を含むことができる。
[0074]いくつかの実施形態では、タイルエントリがタイルがどのようにコレクション内に提示されるべきかを記述するレイアウト情報を含むことができる。例えば、レイアウト情報は、タイルが狭いプレゼンテーション又は全幅プレゼンテーションで提示されるべきであることを指定することができる。例えば、狭いプレゼンテーションは、全幅プレゼンテーションよりも小さいフォーマットでタイルを提示することができる。全幅プレゼンテーションは以下でさらに説明するように、コレクショングラフィカルユーザインタフェースの全幅にわたるタイルを提示することができる。レイアウト情報は、タイル及び/又は埋め込まれたコンテンツアイテムに対するタイルメタデータの向きを指定することができる。例えば、メタデータの向きはメタデータ(例えば、タイトル、コンテンツアイテム識別子、修正された日付、コメント、及び/又は他のグラフィック要素)が以下に更に説明されるように、対応するタイルに埋め込まれたコンテンツアイテムの下、左、又は右に提示されるべきであることを指定することができる。当該レイアウト情報は、タイル内に提示されるコンテンツアイテムの一部を指定することができる。例えば、コンテンツアイテムは、タイルによって提供される表示領域よりも大きくてもよい。ユーザはコンテンツアイテムの特定の部分がタイルによって提示されるように、タイル内のコンテンツアイテムを調整するための入力を提供することができる。コレクションモジュール204はタイルが表示されるときにコンテンツアイテムの特定の部分を提示することができるように、コンテンツアイテムの特定の部分の位置を記述する情報を格納することができる。
[0075]いくつかの実施形態では、コンテンツ管理システムは、コンテンツアイテムサーバ220を含むことができる。例えば、コンテンツアイテムサーバ220は、コンテンツ管理システム106を構成する多くのサーバのうちの1つとすることができる。コンテンツアイテムサーバ220は、コンテンツアイテムモジュール226を含むことができる。上述のように、コンテンツアイテムモジュール226はコンテンツアイテム管理を提供することができ、図1Aを参照して上述したモジュール120、122、124、126、130、132、及び/又は124のうちの1つ又は複数を表すことができる。例えば、コンテンツアイテムモジュール226は、コンテンツストレージ160内のコンテンツアイテム222及びコメント224を管理することができる。
[0076]いくつかの実施形態において、システム200は、クライアントデバイス240を含んでもよい。例えば、クライアントデバイス240は、図1Aを参照して上述したクライアントデバイス102iに対応することができる。クライアントデバイス240はラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、スマートフォン、ウェアラブルデバイス、又は他のタイプのコンピューティングデバイスなどのコンピューティングデバイス(たとえば、ハードウェア及び/又はソフトウェア)とすることができる。
[0077]いくつかの実施形態では、クライアントデバイス240がコンテンツ管理システム(CMS)デーモン242を含むことができる。例えば、CMSデーモン242は上述したように、コンテンツ管理システム106と連携して、管理コンテンツ244内のコンテンツアイテム(例えば、コンテンツアイテム246)と、コンテンツ管理システム106によって管理されるコンテンツストレージ160内のコンテンツアイテム(例えば、コンテンツアイテム222)との同期を管理するバックグラウンドソフトウェアプロセス(例えば、オペレーティングシステムの一部、スタンドアロンプロセスなど)とすることができる。
[0078]いくつかの実施形態において、クライアントデバイス240は、コンテンツ管理システム(CMS)クライアント250を含みうる。例えば、CMSクライアント250は、クライアントデバイス240のネイティブアプリケーションであってもよい。例えば、ネイティブソフトウェアアプリケーションは、クライアントデバイス240のハードウェア及び/又はソフトウェア構成に対して特別にビルドされたアプリケーションであってもよい。このように、以下で詳細に説明されるCMSクライアント250のグラフィカルユーザインタフェース(及び他の機能)は、クライアントデバイス240に固有の、命令、アプリケーションプログラミングインタフェース(API)、及び他の技術を用いて実装されうる。以下のグラフィカルユーザインタフェースを生成するために、及び/又は、ここで説明する種々の特徴を実行するために、CMSクライアント250は、ネットワーク接続を介して(例えばネットワーク104を通じて)、コンテンツ管理システム106(例えば、ユーザインタフェースモジュール122、共同コンテンツアイテム管理モジュール136、コレクションモジュール204等)からのデータ(例えば、コンテンツアイテム、通知等)を要求することができる。コンテンツ管理システム106は、コンテンツ管理システム106のコンテンツストレージ160、共同コンテンツアイテムストレージ165、コレクションストレージ206及び/又は他のモジュールからデータを取得し、CMSクライアント250へデータを送信することができる。以下で詳細に説明するように、CMSクライアント250はその後、CMSクライアント250によって生成される種々のグラフィカルユーザインタフェース上にデータを提示することができる。
[0079]代替的に、CMSクライアント250は、クライアントデバイス240上で動作するウェブブラウザによって実行されるウェブクライアントであってもよい。このように、CMSクライアント250のグラフィカルユーザインタフェース(及び他の機能)は、クライアントデバイス240に固有でない、命令、API、及び他の技術を用いて実装されうる。例えば、CMSクライアント250は、固有でないウェブコード又は命令(例えば、HTML、JavaScript等)を用いるウェブアプリケーションとしてビルドされてもよい。以下で詳細に説明するように、コンテンツ管理システム106は、CMSクライアント250をクライアントデバイス240上のウェブブラウザに提供し、ウェブブラウザはユーザへグラフィカルユーザインタフェース(及び他の機能)を提供するために、CMSクライアント250を実行することができる。以下のグラフィカルユーザインタフェースを生成するために、及び/又は、ここで説明する種々の特徴を実行するために、CMSクライアント250(例えば、ウェブブラウザ)は、コンテンツ管理システム106からの種々のデータビュー(例えば、グラフィカルユーザインタフェース、ウェブページ等)を要求することができる。コンテンツ管理システム106は、コンテンツ管理システムのデータ(例えば、コンテンツアイテム、通知、コメント、タスク等)を提示するためのデータビュー(例えば、後述のグラフィカルユーザインタフェース)を生成し、ネットワーク接続を介して(例えば、ネットワーク104を通じて)当該データビューをCMSクライアント250へ送信することができる。例えば、コンテンツ管理システム106は、コンテンツストレージ160、共同コンテンツアイテムストレージ165、コレクションストレージ206、及び/又はコンテンツ管理システム106のソフトウェアモジュール(例えば、ユーザインタフェースモジュール122、共同コンテンツアイテム管理モジュール136、コレクションモジュール204など)からデータを取得し、データに基づいてデータビューを生成し、当該データビューをCMSクライアント250に送信することができる。
[0080]いくつかの実施形態ではユーザがコレクションを選択する入力を与えると、CMSクライアント250は選択されたコレクションに対応するコレクション識別子をコレクションモジュール204に送信することができる。これに応答して、コレクションモジュール204はコレクション識別子を使用して、コレクションデータ208からコレクションデータを取得し、コレクションアイテム210からコレクションアイテム識別子を取得し、各タイルについてPSLを生成することができる。次いで、コレクションモジュール204はコレクションデータ(例えば、コレクションヘッダ情報)、コレクションアイテム識別子(例えば、タイル識別子)、及びPSLをCMSクライアント250に送信することができ、その結果、CMSクライアント250は以下に示すように、関連するコンテンツアイテム、メタデータ、コメント等を取得し、コレクショングラフィカルユーザインタフェースをレンダリングすることができる。
[0081]コンテンツアイテム及び/又はメタデータがどのようにコレクションに埋め込まれるかの説明を繰り返すことを避けるために、読み手はコレクションに追加される任意のコンテンツアイテム(例えば、画像、テキスト文書、マルチメディア文書、スライドショープレゼンテーション、ビデオ、又は他のメディア)が上述のように、保護された共有リンクを使用してコレクションに埋め込まれうる(例えば、コレクションにリンクされうる)ことを理解すべきである。したがって、コレクション内のヘッダ背景画像、ロゴ、及びすべてのタイルは、CMSクライアント250が対応するコンテンツアイテムをコンテンツストレージ160から取得又は検索することができる仕組みを提供する対応するPSLを有する。コレクションによって提示されるコレクションアイテムメタデータ(例えば、タイルメタデータ、コンテンツアイテムメタデータ)は、上述のように、コレクションアイテム識別子を使用してコレクションに埋め込まれる(例えば、コレクションアイテム識別子にリンク付けされる)。例えば、CMSクライアント250は、コレクションアイテム識別子をコレクションモジュール204に送信することによって、コレクションアイテムメタデータを取得することができる。コレクションモジュール204はコレクションアイテム(例えば、タイル)について関連するコンテンツアイテムメタデータを検索するために必要とされるコンテンツアイテム識別子を決定するために、上述のように、コレクション識別子をコンテンツ識別子マッピングに使用することができる。コレクションモジュール204は上述したように、コレクションアイテム識別子を使用してタイルのコレクションメタデータ(例えば、キャプション、コメント等)を取得することができる。コレクションモジュール204は、コンテンツアイテムメタデータ及び/又はコレクションアイテムメタデータをCMSクライアント250に送信することができる。CMSクライアント250はクライアントデバイス240のディスプレイ上にコレクションを提示する際に、コンテンツアイテムメタデータ及び/又はコレクションアイテムメタデータを適切なタイル内に提示することができる。
[0082]図3は、コンテンツ管理システム106のユーザに関連付けられるコレクションを閲覧するための例示的なグラフィカルユーザインタフェース300を示す。例えば、GUI 300は、クライアントデバイス240のユーザがコンテンツ管理システム106のユーザアカウントのビューを提供するグラフィカルユーザインタフェース上に提示されるグラフィカル要素304を選択することに応答して、クライアントデバイス240のディスプレイ上に提示されうる。例えば、ユーザはコンテンツ管理システム106を用いてユーザのアカウントにログインし、CMSクライアント250に、ユーザのアカウントに関連付けられるコンテンツアイテム、フォルダ、コレクション、及び/又は他のデータを提示するグラフィカルユーザインタフェースを提示させることができる。グラフィカルユーザインタフェースは、選択されると、CMSクライアント250にユーザのアカウントに関連付けられたコレクションを提示させるグラフィカル要素304を領域302に提示することができる。
[0083]いくつかの実施形態では、GUI 300はユーザアカウントに関連付けられたコレクションを提示することができる。例えば、CMSクライアント250がグラフィカル要素312の選択を受信すると、CMSクライアント250は、ユーザアカウントに関連付けられたユーザによって作成されたコレクションを説明する情報を領域310に提示することができる。CMSクライアント250がグラフィカル要素314の選択を受信すると、CMSクライアント250は、領域310内のユーザアカウントと共有されるコレクションを説明する情報を提示することができる。
[0084]いくつかの実施形態では、GUI 300はコレクション領域316にコレクションを提示することができる。コレクション領域316は、単一のコレクションを説明する情報を含むことができる。異なるコレクションを説明するために、複数のコレクション領域316を領域310に提示することができる。コレクション領域316は、コレクション画像318を含むことができる。例えば、コレクション画像318は、対応するコレクションを表すためにコレクション作成者又はエディタによって選択された画像とすることができる。いくつかの実施形態では、コレクション画像が以下でさらに説明するように、コレクションのために選択されたヘッダ背景画像に対応することができる。コレクション領域316は、コレクションに対応するタイトル320を含むことができる。コレクション領域316は対応するコレクション内のアイテム(例えば、コンテンツアイテム、コレクションアイテム、タイル等)の数を示すグラフィカル要素322を含むことができる。コレクション領域316は、コレクションがユーザ及び/又は他のユーザと共有されたときを示すグラフィカル要素324を含むことができる。コレクション領域316は、対応するコレクションが共有されたコンテンツ管理システム106のユーザを識別するグラフィカル要素326を含むことができる。或いは、グラフィカル要素326がコレクションを閲覧したユーザを識別することができる。コレクション領域326は、対応するコレクションがコンテンツ管理システム106のユーザによって閲覧された回数を示すグラフィカル要素328を含むことができる。
[0085]いくつかの実施形態では、コレクション領域326は、対応するコレクションを共有するためのグラフィカル要素330を含むことができる。例えば、CMSクライアント250がグラフィカル要素330を選択するユーザ入力を受信すると、CMSクライアント250は、対応するコレクションを共有することができる他のユーザを選択するためのグラフィカルユーザインタフェースを提示することができる。次いで、クライアントデバイス240のユーザは1以上のユーザを選択することができ、CMSクライアント250はコレクションモジュール204に、選択されたユーザとコレクションを共有させることができる。コレクションモジュール204は例えば、コレクションへのリンクを他のユーザに送信し、及び/又はコレクションをコンテンツ管理システム106によって管理される他のユーザのアカウントに追加することができる。
[0086]いくつかの実施形態では、GUI 300が新たなコレクションを作成するためのグラフィカル要素340を含むことができる。例えば、グラフィカル要素340を選択するユーザ入力の受け付けに応答して、CMSクライアント250は、コレクションモジュール204に新たなコレクションを生成させることができる。次いで、コレクションモジュール204は新たなコレクション(例えば、この時点での空のコレクション)をCMSクライアント250に送信することができる。次に、CMSクライアント250は図4に示すように、空のコレクションを提示することができる。
[0087]図4は、新たなコレクションにコンテンツを追加するための例示的なグラフィカルユーザインタフェース400を示す。例えば、GUI 400は、図3のグラフィカル要素340を選択するユーザ入力の受け付けに応答して、CMSクライアント250によってクライアントデバイス240のディスプレイ上に提示されうる。CMSクライアント250はコレクションモジュール204から空のコレクションを受信し、GUI 400上に空のコレクションを提示することができる。
[0088]いくつかの実施形態では、GUI 400はコレクションヘッダ領域410を含むことができる。例えば、領域410は、ヘッダ背景画像をコレクションに追加するためのグラフィカル要素412を含むことができる。例えば、グラフィカル要素412を選択するユーザ入力の受け付けに応答して、CMSクライアント250は新たなコレクションを表す画像を選択するためのグラフィカルユーザインタフェース(例えば、以下のGUI 500と同様)を提示することができる。ユーザが画像(例えば、コンテンツストレージ160からのコンテンツアイテム、別のソースからの画像など)を選択した後、クライアントデバイス240は、画像及び/又はコンテンツアイテム識別子をコレクションモジュール204に送信することができる。次いで、コレクションモジュール204は上述のように、ヘッダ背景画像のための保護された共有リンク(PSL)を生成し、そのPSLをコレクションのためのヘッダ情報に保存することができる。次いで、CMSクライアント250はPSLを使用して、対応する画像を取得し、ヘッダ領域410に画像を提示することができる。
[0089]いくつかの実施形態では、ヘッダ領域410はコレクションヘッダ情報にロゴを追加するためのグラフィカル要素414を含むことができる。例えば、グラフィカル要素414を選択するユーザ入力の受け付けに応答して、CMSクライアント250は新たなコレクション上に提示する画像(例えば、ロゴ)を選択するためのグラフィカルユーザインタフェース(例えば、以下のGUI 500と同様)を提示することができる。当該画像は例えば、グループ、会社、製品、又は他の何らかのエンティティを表すことができる。ユーザが画像(例えば、コンテンツストレージ160からのコンテンツアイテム、別のソースからの画像など)を選択した後、クライアントデバイス240は、画像及び/又はコンテンツアイテム識別子をコレクションモジュール204に送信することができる。次いで、コレクションモジュール204は上述のように、ロゴ画像のための保護された共有リンク(PSL)を生成し、そのPSLをコレクションのためのヘッダ情報に保存することができる。次いで、CMSクライアント250はPSLを使用して、対応するロゴ画像を取得し、ロゴ画像をヘッダ領域410に提示することができる。
[0090]いくつかの実施形態では、ヘッダ領域410は、新たなコレクションのタイトルを指定するためのグラフィカル要素416を含むことができる。例えば、ユーザはグラフィカル要素416を選択し、テキストを入力して、新たなコレクションのタイトルを指定することができる。テキストを入力した後、CMSクライアント250は、テキストをコレクションモジュール204に送信することができる。コレクションモジュール204は上述したように、コレクションのヘッダ情報にタイトルとしてテキストを格納することができる。
[0091]いくつかの実施形態では、ヘッダ領域410は、紹介説明を新たなコレクションに追加するためのグラフィカル要素418を含むことができる。例えば、ユーザはグラフィカル要素418を選択し、テキストを入力して、新たなコレクションの紹介説明を指定することができる。テキストを入力した後、CMSクライアント250は、テキストをコレクションモジュール204に送信することができる。コレクションモジュール204は上述したように、コレクションのためのヘッダ情報に、コレクションの紹介としてテキストを格納することができる。
[0092]いくつかの実施形態では、GUI 400がタイル領域430を含むことができる。例えば、タイル領域430は、コレクションに埋め込まれたコンテンツアイテムに対応するタイルを含むことができる。GUI 400が空のコレクションを提示する際に、タイル領域430は、コンテンツアイテムが後にコレクションに追加される場合にタイルの可能なレイアウトを表す空のタイル(例えば、破線を有するボックス)を提示することができる。例えば、タイルは、タイル432、434、及び436などの狭いフォーマットを有することができる。これらのタイルの狭いフォーマットは、複数のタイルが単一の水平行に配置されることを可能にすることができる。タイルは、タイル領域430の全幅(又はほぼ全幅)にわたってタイルを提示させるタイル438のような広いフォーマットを有することができる。したがって、タイルがワイドフォーマットを有する場合、タイル438によって示されるように、1つのタイルのみが単一の水平行に提示される。
[0093]いくつかの実施形態では、タイル領域430内のタイルの位置が予め定義されることができる。例えば、狭いフォーマット及び広いフォーマットのタイルのサイズは、タイルが予め定義された位置及び/又は配置に従ってタイル領域430内に配置されるように、予め定義されうる。したがって、コレクションは、タイル領域430内のタイルのレイアウトを制約し、(ヘッダ情報以外の)コレクションで許容されるコンテンツのタイプを、タイルに埋め込まれるコンテンツアイテム及びメタデータに制限するテンプレートに従って作成されうる。
[0094]いくつかの実施形態では、タイル領域430がコンテンツアイテムをタイル領域430に追加するためのグラフィカル要素440を含むことができる。例えば、グラフィカル要素440を選択するユーザ入力の受け付けに応答して、CMSクライアント250はコレクションに埋め込む1以上のコンテンツアイテムを選択するためのグラフィカルユーザインタフェース(例えば、以下のGUI 500と同様)を提示することができる。ユーザがコンテンツアイテム(例えば、コンテンツストレージ160からのコンテンツアイテム、別のソースからのコンテンツアイテムなど)を選択した後、クライアントデバイス240は、コンテンツアイテム及び/又はコンテンツアイテム識別子をコレクションモジュール204に送信することができる。次いで、コレクションモジュール204は上述のように、コンテンツアイテムのためのコレクションアイテム識別子及び保護された共有リンク(PSL)を生成することができる。コレクションモジュール204はコレクションアイテム識別子及びPSLをコレクションアイテム210に格納し、PSL及びコレクションアイテム識別子をCMSクライアント250に送信することができる。次いで、CMSクライアント250は、PSLを使用して、対応するコンテンツアイテムを取得することができる。CMSクライアント250は、コレクションアイテム識別子を使用して、対応するコレクションアイテムメタデータを取得することができる。次いで、CMSクライアント250は、コンテンツアイテム及び/又はコレクションアイテムメタデータをタイル領域430内のタイルに提示することができる。
[0095]いくつかの実施形態では、CMSクライアント250がクライアントデバイス240のユーザから受け付けたドラッグアンドドロップ入力に応答して、コンテンツアイテムを新たなコレクションに追加することができる。例えば、ユーザはクライアントデバイス240上の記憶場所からコンテンツアイテムを選択してドラッグし、タイル領域430内又はタイル領域430内のタイル表現(例えば、破線のタイルプレースホルダ)上にコンテンツアイテムをドロップすることができる。コンテンツアイテムに関連するドラッグアンドドロップ入力を受け付けたことに応答して、クライアントデバイス240は、コンテンツアイテム及び/又はコンテンツアイテム識別子をコレクションモジュール204に送信することができる。次いで、コレクションモジュール204は上述のように、コンテンツアイテムのためのコレクションアイテム識別子及び保護された共有リンク(PSL)を生成することができる。コレクションモジュール204はコレクションアイテム識別子及びPSLをコレクションアイテム210に格納し、PSL及びコレクションアイテム識別子をCMSクライアント250に送信することができる。次いで、CMSクライアント250は、PSLを使用して、対応するコンテンツアイテムを取得することができる。CMSクライアント250は、コレクションアイテム識別子を使用して、対応するコレクションアイテムメタデータを取得することができる。次いで、CMSクライアント250は、コンテンツアイテム及び/又はコレクションアイテムメタデータをタイル領域430内のタイルに提示することができる。
[0096]いくつかの実施形態では、GUI 400がオプション領域440を含むことができる。例えば、オプション領域440は、クライアントデバイス240上のコンテンツ管理システム106に現在ログインしているユーザを識別するグラフィカル要素442を提示することができる。
[0097]いくつかの実施形態では、オプション領域440は、コレクションのプレビューを生成するためのグラフィカル要素442を提示することができる。例えば、コレクションは、パブリックビュー及びプライベートビューを有することができる。プライベートビューは、コレクションの作成者及び/又は編集者に提示される。パブリックビューは、当該コレクションが共有されているものの、当該コレクションに関する編集特権を有していないユーザに提示される。コレクションのプライベートビューは、コレクションを編集及び管理するために必要とされるすべての余分な情報及びツールなしで、パブリックビューがよりキュレーションな見た目を有するように意図されているので、パブリックビューに提示されない追加の情報及び/又はグラフィカル要素を提示することができる。例えば、パブリックビューは、ユーザがコレクション内のコンテンツを追加又は再配置することを可能にする編集機能のいずれも含まなくてもよい。パブリックビューは、コレクションが閲覧された回数などの統計情報を含まなくてもよい。パブリックビューは埋め込まれたコンテンツを有さないタイルを表すタイルプレースホルダ(例えば、破線のボックス)を含まない。編集ユーザ又は作成ユーザがコレクションのプレビューを提示するためにグラフィカル要素442を選択すると、CMSクライアント250はコレクションのパブリックビューを生成し、提示することができ、その結果、エディタはコレクションに対する編集許可を有さないユーザとコレクションが共有される(例えば、公開される)場合に、コレクションがどのように見えるかを閲覧することができる。
[0098]いくつかの実施形態では、オプション領域440がコレクションを他のユーザと共有するためのグラフィカル要素446を含むことができる。例えば、CMSクライアント250がグラフィカル要素446を選択するユーザ入力を受信すると、CMSクライアント250は、対応するコレクションを共有することができる他のユーザを選択するためのグラフィカルユーザインタフェースを提示することができる。次いで、クライアントデバイス240のユーザは、グラフィカルユーザインタフェースから1以上のユーザを選択することができ、CMSクライアント250はコレクションモジュール204に、選択されたユーザとコレクションを共有させることができる。コレクションモジュール204は例えば、コレクションへのリンクを他のユーザに送信し、及び/又はコレクションをコンテンツ管理システム106によって管理される他のユーザのアカウントに追加することができる。
[0099]図5は、コレクションに追加するコンテンツアイテムを選択するための例示的なグラフィカルユーザインタフェース500を示す。例えば、GUI 500は、CMSクライアント250によってクライアントデバイス240のディスプレイ上に提示されうる。
[00100]いくつかの実施形態では、GUI 500はコレクションに追加するコンテンツアイテムを選択するためのグラフィカル要素502を含むことができる。例えば、グラフィカル要素502は、図4のグラフィカル要素412、414、及び/又は440を選択するユーザ入力の受け付けに応答して提示することができる。グラフィカル要素502はクライアントデバイス240からコンテンツ管理システム106に現在ログインしているユーザに関連付けられたユーザアカウントにアクセス可能なフォルダ(例えば、フォルダ512、514)及び/又はコンテンツアイテム(例えば、コンテンツアイテム522〜530)を提示することができる。ユーザはコンテンツ管理システム106によって管理されるコンテンツアイテムフォルダを選択して、グラフィカル要素502に、選択されたフォルダに関連付けられたコンテンツアイテムの識別子を提示させることができる。ユーザはコンテンツアイテム識別子のうちの1つ又は複数を選択し、次いで、グラフィカル要素540を選択して、CMSクライアント250及び/又はコレクションモジュール204に、上述のように、識別されたコンテンツアイテムを現在選択されているコレクション(たとえば、新たなコレクション、選択されたコレクションなど)に追加させることができる。
[00101]図6は、埋め込まれたコンテンツアイテムを有するコレクションを提示する例示的なグラフィカルユーザインタフェース600を示す。例えば、GUI 600は、ユーザがGUI 500を使用して新たなコレクションにコンテンツを追加することに応答して提示することができる。GUI 600はユーザが既存のコレクションを選択したことに応答して提示することができ、例えば、コレクション領域316に提示されたコレクションを選択するためにGUI 300に入力を提供することができる。例えば、ユーザは、画像318及び/又はタイトル320を選択する入力を提供することによって、”Building Proposal(建築提案)”コレクションを選択することができる。
[00102]いくつかの実施形態では、GUI 600がコレクション602を提示することができる。例えば、CMSクライアント250がコレクションを選択する入力を受信すると、CMSクライアント250は、コレクション識別子を含む要求をコレクションモジュール204に送信する。コレクションモジュール204は、コレクション識別子を使用して、コレクションデータ208からコレクションヘッダデータを取得することができる。コレクションモジュール204はコレクション識別子を使用して、識別されたコレクションに埋め込まれたコンテンツアイテムメタデータ(例えば、タイル)のためのコレクションアイテム210からコレクションアイテム識別子を取得することができる。コレクションモジュール204は、識別されたコレクション内の埋め込まれたコンテンツアイテムごとにPSLを生成することができる。コレクションモジュール204はコレクションヘッダ情報、コレクションアイテム識別子、及びPSLをCMSクライアント250に送信することができ、その結果、CMSクライアント250は、GUI 600上にコレクション602を提示することができる。
[00103]上述のように、コレクション602はコレクション602を表すヘッダ背景画像604(例えば、コレクション画像)を含むことができる。コレクション602はコレクションに関連付けられるビジネス、製品、チーム、又は他のグループもしくは個人を表す画像606(例えば、ロゴ画像)を含むことができる。CMSクライアント250は、コレクションマネージャ204によって提供されるPSLを使用して、画像604及び/又は画像606を取得することができる。コレクション602は、タイトル608及びイントロダクション610を含むことができる。タイトル608及びイントロダクション610のテキストは、コレクションモジュール204から受信したコレクションヘッダデータから取得することができる。
[00104]いくつかの実施形態では、コレクション602が埋め込まれたコンテンツアイテムを含むタイル612及び614を含むことができる。タイル612及び614内の埋め込まれたコンテンツアイテムは、埋め込まれたコンテンツアイテムの一部を表すタイル画像(例えば、サムネイル画像)によって表すことができる。タイル画像は、CMSクライアント250が対応するタイルのPSLを使用してコンテンツアイテムモジュール226からタイル画像を要求する場合に、コンテンツアイテムモジュール226によってレンダリングすることができる。CMSクライアント250はタイルに関するメタデータを要求するために、タイルに関連付けられたコレクションアイテム識別子を使用することができる。例えば、タイルのメタデータは上述したように、コンテンツアイテムモジュール226から取得されたコンテンツアイテムメタデータ(例えば、コンテンツアイテム名、コンテンツアイテムタイプ等)と、コレクションモジュール204から取得されたコレクションアイテムメタデータ(例えば、コメント)との組み合わせとすることができる。
[00105]ユーザがコレクション602のプライベートな編集可能なビューを見ているときに、コレクション602は、ユーザがコレクション602に追加のコンテンツを埋め込むためにやり取りすることができる空のタイル616(例えば、破線によって表される)を含むことができる。例えば、ユーザは、タイル616を選択して、CMSクライアント250に図5のグラフィカル要素502を提示させ、ユーザがコレクション602に追加するコンテンツアイテムを選択できるようにすることができる。或いは、ユーザがコンテンツアイテムをタイル616上にドラッグアンドドロップして、CMSクライアント250にコンテンツアイテムをコレクション602に追加させることができる。コレクション602のプライベートビューとやり取りする際に、ユーザはタイルを選択してドラッグし、コレクション602内の埋め込まれたコンテンツアイテムの位置又は配置を変更することができる。コレクション602のパブリックの編集不可能なビューを見る場合には、空のタイル626は隠すことができ、ユーザはコレクション602を編集することができないようにしてもよい。
[00106]図7は、例示のワークスペースのグラフィカルユーザインタフェース700を示す図である。GUI 700に関して説明される機能は、コレクション内に提示される任意のタイル又はすべてのタイルの機能とすることができる。例えば、GUI 700は、上述したGUI 600のタイル612及び/又は614に対応することができる。しかしながら、コレクション(例えば、コレクション602)のパブリックビューでタイルを見る場合には、ユーザは、GUI 700に関して説明されたタイル編集機能のいずれにもアクセスすることができない場合がある。例えば、ユーザはタイルのレイアウトを調整したり、タイルに関連付けられた埋め込まれたコンテンツアイテムを置換したり、タイル内の画像を切り取ったりすることができない場合がある。コレクションのプライベートな編集可能なビューでタイルを見る場合には、説明した編集オプションのいずれか又は全てを利用可能にすることができる。
[00107]いくつかの実施形態では、GUI 700は画像領域702を含むことができる。例えば、画像領域602は、タイルに埋め込まれたコンテンツアイテムを表す画像(例えば、タイル画像、サムネイル画像等)を提示することができる。当該画像は、コレクションモジュール204によって提供されるPSLを使用して、CMSクライアント250によってコンテンツアイテムモジュール226から取得されうる。
[00108]いくつかの実施形態では、GUI 700がタイルのメタデータ及び/又はオプションを提示するための領域710を含むことができる。例えば、領域710は、領域702に提示されるコンテンツアイテムの名前を表すグラフィカル要素712(例えば、テキスト)を含むことができる。領域710は領域702に提示されたコンテンツアイテムのキャプションを表すか、又はキャプションが提供されていない場合にはコンテンツアイテムのタイプ情報を表す、グラフィカル要素714(例えば、テキスト)を含むことができる。このコンテンツアイテムメタデータ(コンテンツアイテム名、コンテンツアイテムタイプ、コレクションアイテムキャプションなど)は上述のように、コレクションモジュール204によって提供されるコレクションアイテム識別子を使用して取得することができる。
[00109]いくつかの実施形態では、領域710がタイルを削除するためのグラフィカル要素716を含むことができる。例えば、コレクションがプライベートな編集可能なビューで提示される場合、ユーザは、グラフィカル要素716を選択して、コレクションからタイル及び対応する埋め込みコンテンツアイテムを削除することができる。コレクションがパブリックビューに提示される場合には、グラフィカル要素716は隠されてもよい。
[00110]いくつかの実施形態では、領域710がタイルに関連付けられたコレクションコメントを提示するためのグラフィカル要素718を含むことができる。例えば、ユーザはグラフィック要素718を選択して、CMSクライアント250に、以下の図10に示すように、タイル及び/又は対応する埋め込みコンテンツアイテムに関連付けられたコレクションコメントを提示するグラフィック要素(例えば、ポップアップウィンドウ)を提示させることができる。グラフィック要素718は、任意のユーザがコレクション及び/又はコレクションアイテム(例えば、タイル)にコメントを追加することができるので、コレクションのパブリックビュー及びプライベートビューの両方で提示されうる。
[00111]いくつかの実施形態では、領域710は、以下で図8及び図9に関して説明するように、埋め込まれたコンテンツアイテムのフルプレビューを呼び出すためのグラフィカル要素720を含むことができる。例えば、グラフィカル要素720が選択されると、CMSクライアント250は、画像領域702に埋め込まれたコンテンツアイテムに対応するPSLを使用して、画像領域702に表されたコンテンツアイテムのフルプレビューを要求することができる。コンテンツアイテムの一部(例えば、コンテンツアイテム全体未満)を提示する画像領域702に提示されるタイル画像とは対照的に、コンテンツアイテムのフルプレビュー画像は、ユーザがコンテンツアイテム全体を閲覧及び/又はナビゲートすることを可能にする、埋め込まれたコンテンツアイテムの操作可能な表現とすることができる。
[00112]いくつかの実施形態では、GUI 700は、タイルのフォーマッティングオプションを提示するためのグラフィカル要素730(例えば、ツールバー)を含むことができる。例えば、コレクションがプライベートな編集可能なビューで提示される場合には、ユーザはタイルを選択して(例えば、タッチする、カーソルを合わせる等)、グラフィック要素730を選択されたタイルの近くに提示させることができる。次いで、ユーザは、グラフィカル要素730上に提示されたタイルフォーマットオプションのうちの1つ又は複数を選択して、選択されたタイルに対応する変更を行うことができる。
[00113]いくつかの実施形態では、グラフィカル要素730がメタデータオリエンテーショングラフィカル要素732、734、及び736を含むことができる。例えば、ユーザはグラフィック要素732、734、及び736を選択して、領域710がタイル内の及び画像領域702に関して、どこに提示されるかを変更することができる。例えば、グラフィカル要素734が選択されると、CMSクライアント250は画像領域702aによって示されるように、画像領域702の下に水平方向に領域710を提示することができる。グラフィカル要素732が選択されると、CMSクライアント250は画像領域710bによって示されるように、画像領域702の右に垂直方向に領域710を提示することができる。グラフィック要素736が選択されると、CMSクライアント250は画像領域710bと同様であるが、画像領域702の左側に、垂直方向に領域710を提示することができる。
[00114]いくつかの実施形態では、グラフィカル要素730がタイルの狭いビューと広いビューとの間で切り替えるためのグラフィカル要素738を含むことができる。例えば、タイルが現在狭いタイルとして提示されている場合、ユーザはグラフィカル要素730を選択して、上述のように、CMSクライアント250に広いビューでタイルを提示させることができる。タイルが現在広いタイルとして提示されている場合、ユーザはグラフィカル要素730を選択して、上述のように、CMSクライアント250にタイルを狭いビューで提示させることができる。
[00115]いくつかの実施形態では、グラフィカル要素730が選択されたタイル内のコンテンツアイテムを置換するためのグラフィカル要素740を含むことができる。例えば、ユーザがグラフィカル要素740を選択すると、CMSクライアント250は図5のGUI 500を提示することができ、その結果、ユーザは、選択されたタイルに現在埋め込まれているコンテンツアイテムを置き換えるために新しいコンテンツアイテムを選択することができる。ユーザが新しいコンテンツアイテムを選択すると、CMSクライアント250はコラボレーションモジュール204と通信して、コレクションアイテムエントリが新しく選択されたコンテンツアイテムを参照するように、コレクションアイテム210内のタイルのコレクションアイテムエントリを修正することができる。
[00116]いくつかの実施形態では、グラフィカル要素730が選択されたタイル内に提示するコンテンツアイテムの一部を選択するためのグラフィカル要素742を含むことができる。例えば、グラフィカル要素742の選択の受け付けに応答して、CMSクライアント250は、画像領域702に存在する対応するコンテンツアイテムの一部をユーザが指定することを可能にする画像クロッピングGUIを提示することができる。ユーザが画像領域702に存在するコンテンツアイテムの部分を指定した後、CMSクライアント250は、画像の選択された部分の位置を識別する情報をコレクションモジュール104に送信することができる。次いで、コレクションモジュール104はコンテンツアイテムが後に提示される際に、画像の選択された部分が提示されることができるように、画像位置情報をコレクションアイテム210に格納することができる。
[00117]図8は、キャプション又はコメントのないコンテンツアイテムのフルプレビューを提示するための例示的なグラフィカルユーザインタフェース800を示す。例えば、GUI 800は、図7のグラフィカル要素720をユーザが選択することに応答して、CMSクライアント250によってクライアントデバイス240のディスプレイ上に提示されうる。いくつかの実施形態では、GUI 800が画像領域802を含むことができる。例えば、画像領域802は、選択されたタイルに関連付けられたコンテンツアイテムのフルプレビューを提示することができる。CMSクライアント250は、コレクションモジュール204によって提供されるコンテンツアイテムに関連付けられたPSLを使用して、コンテンツアイテムモジュール226からコンテンツアイテムのフルプレビューを取得することができる。画像領域802はコンテンツアイテムの対話型ビューを提供することができ、その結果、ユーザはコンテンツアイテムをスクロール、ズーム、及び/又は他の方法でやり取りするために、画像領域802とやり取りすることができ、その結果、ユーザは、コンテンツアイテム全体を閲覧及び/又はナビゲートすることができる。
[00118]いくつかの実施形態では、GUI 800がヘッダ領域810を含むことができる。例えば、領域810は、ディスプレイ名812と、画像領域802に提示されるコンテンツアイテムのコンテンツアイテム名又はタイプ814とを含むことができる。領域810は現在選択されているコレクションの識別子816(例えば、名前)を含むことができる。領域810には、グラフィカル要素818を含めることができ、選択された場合、CMSクライアント250に、GUI 800を閉じさせ、コレクションGUI 600に戻させる。
[00119]いくつかの実施形態では、GUI 800がキャプション領域830を含むことができる。例えば、ユーザは領域830にテキスト入力を与えて、領域802に提示されるコンテンツアイテムを記述するキャプションを提供することができる。CMSクライアント250は、入力されたキャプションをコレクションモジュール204に送信することができる。コレクションモジュール204は上述したように、選択されたタイルのコレクションアイテム識別子に関連して、キャプションをコレクションアイテム210に格納することができる。
[00120]いくつかの実施形態では、GUI 800がコメント領域840を含むことができる。例えば、コメント領域840は、対応するコンテンツアイテム及び/又はコレクションタイルに対する新たなコメントを入力するための要素842を含むことができる。ユーザが新たなコメントを入力すると、CMSクライアント250は、入力されたコメントをコレクションモジュール204に送信することができる。コレクションモジュール204は上述のように、コメントのコメント識別子を生成し、当該コメント識別子を、選択されたタイルのコレクションアイテム識別子に関連付けてコレクションアイテム210に保存することができる。コレクションモジュール204は、コメントのテキストをコメント識別子と関連付けてコレクショントレージ206内のコメント212に記憶することができる。
[00121]図9は、キャプション及び/又はコメントを有するコンテンツアイテムのフルプレビューを提示するための例示的なグラフィカルユーザインタフェース900を示す。例えば、GUI 900は、図7のグラフィカル要素720をユーザが選択することに応答して、CMSクライアント250によってクライアントデバイス240のディスプレイ上に提示されうる。GUI 800と同様に、GUI 900は画像領域802を含むことができる。例えば、画像領域802は、選択されたタイルに関連付けられたコンテンツアイテムのフルプレビューを提示することができる。CMSクライアント250は、コレクションモジュール204によって提供されるコンテンツアイテムに関連付けられたPSLを使用して、コンテンツアイテムモジュール226からコンテンツアイテムのフルプレビューを取得することができる。画像領域802はコンテンツアイテムの対話型ビューを提供することができ、その結果、ユーザはコンテンツアイテムをスクロール、ズーム、及び/又は他の方法でやり取りするために、画像領域802とやり取りすることができ、その結果、ユーザは、コンテンツアイテム全体を閲覧及び/又はナビゲートすることができる。
[00122]GUI 800と同様に、GUI 900はヘッダ領域810を含むことができる。例えば、領域810は、ディスプレイ名812と、画像領域802に提示されるコンテンツアイテムのコンテンツアイテム名又はタイプ814とを含むことができる。領域810は現在選択されているコレクションの識別子816(例えば、名前)を含むことができる。領域810には、グラフィック要素818を含めることができ、選択されると、CMSクライアント250に、GUI 900を閉じさせ、コレクションGUI 600に戻させる。
[00123]GUI 800と同様に、GUI 900は、キャプション領域830を含むことができる。例えば、CMSクライアント250が選択されたタイルに対応するコンテンツアイテムのフルプレビュー画像を要求すると、CMSクライアント250は、選択されたタイルのコレクションアイテム識別子をコレクションモジュール204に送信することによって、選択されたタイルのコレクションメタデータを要求することができる。キャプションが存在する場合、コレクションモジュール204は、コレクションアイテム識別子を使用して、コレクションアイテム210からコレクションアイテム識別子に関連付けられたキャプションを取得することができる。コレクションモジュール204はキャプションをCMSクライアント250に送信することができ、CMSクライアント250は、当該キャプションをキャプション領域830に提示することができる。
[00124]GUI 800と同様に、GUI 900はコメント領域840を含むことができる。例えば、CMSクライアント250が選択されたタイルに対応するコンテンツアイテムのフルプレビュー画像を要求すると、CMSクライアント250は、選択されたタイルのコレクションアイテム識別子をコレクションモジュール204に送信することによって、選択されたタイルのコレクションメタデータを要求することができる。コメントが存在する場合、コレクションモジュール204は、コレクションアイテム識別子を使用して、コレクションアイテム210からコメントアイテム識別子に関連付けられたコメント識別子及び/又はコメントスレッド識別子を取得することができる。コレクションモジュール204は、コメント212からコメント識別子及び/又はコメントスレッド識別子に対応するコメントを取得することができる。コレクションモジュール204は識別されたコメント(例えば、コメント904及び906)をCMSクライアント250に送信することができる。CMSクライアント250は、コメント領域840にコメントを提示することができる。
[00125]図10は、コレクションビューにおいてコレクションアイテムメタデータを提示するための例示的なグラフィカルユーザインタフェース1000を示す。例えば、GUI 1000は、CMSクライアント250によってクライアントデバイス240のディスプレイ上に提示されうる。GUI 1000は上述の図6のGUI 600と同様に、コレクションのビュー(例えば、パブリックビュー又はプライベートビュー)を提示することができる。
[00126]図7を参照して説明したように、タイルは、画像領域702及びメタデータ領域710を含むことができる。メタデータ領域710は、画像領域702に提示されたコンテンツアイテムに関連付けられたキャプションを表すテキストを含むことができる。しかしながら、場合によっては、キャプションがメタデータ領域710内に収まるには長すぎる(例えば、文字が多すぎる)ことがあり、利用可能なスペース内に収まるように切り捨てられなければならない。いくつかの実施形態では、ユーザは、キャプションがメタデータ領域710内に提示されている位置に対応する領域1002に入力を与える(例えば、選択する、タッチする、マウスポインタを合わせるなど)ことによって、CMSクライアント250にメタデータ領域710を拡張させることができる。領域1002へのユーザ入力の受け付けに応答して、CMSクライアント250はメタデータ領域710を画像領域702に(例えば、破線まで)拡張し、キャプション全体をタイル610内に提示することができる。ユーザが領域1002への入力の提供を停止すると、CMSクライアント250は、メタデータ領域710を元のサイズに縮小することができる。
[00127]図7を参照して上述したように、タイルは、タイル(例えば、コレクションアイテム)及び/又は対応するコンテンツアイテムに関連付けられたコメントを提示するためのグラフィック要素718を含むことができる。例えば、ユーザは、グラフィック要素718を選択して、CMSクライアント250にコレクションモジュール204からタイルに対するコメントを要求させることができる。例えば、CMSクライアント250は、選択されたタイルのコレクションアイテム識別子をコレクションモジュール204に送信することができる。コメントが存在する場合、コレクションモジュール204は、コレクションアイテム識別子を使用して、コレクションアイテム210からコメントアイテム識別子に関連付けられたコメント識別子及び/又はコメントスレッド識別子を取得することができる。コレクションモジュール204は、コメント212からコメント識別子及び/又はコメントスレッド識別子に対応するコメントを取得することができる。コレクションモジュール204は識別されたコメント(例えば、コメント1014及び1016)をCMSクライアント250に送信することができる。CMSクライアント250がコレクションモジュール204からコメントを受信すると、CMSクライアント250はコレクションモジュール204から受信したコメントを提示するグラフィカル要素1012(例えば、ウィンドウ、ポップアップ、バブルなど)を提示することができる。
[00128]図11Aは、コレクションを作成するための例示的なプロセス1100のフロー図を示す。例えば、処理1100は、コレクションサーバ202、コンテンツアイテムサーバ220、及びクライアントデバイス240によって協働して実行されて、新たなコレクションを作成することができる。
[00129]ステップ1102で、クライアントデバイス240は、ユーザが新たなコレクションを作成したいことを示すユーザ入力を受け付けることができる。例えば、CMSクライアント250は、図3のグラフィカル要素340の選択を受け付けることができる。
[00130]ステップ1104で、クライアントデバイス240は、新たなコレクションの要求をコレクションサーバ202に送信することができる。例えば、ステップ1102でユーザ入力を受け付けたことに応答して、CMSクライアント250は、新たなコレクションの要求をコレクションモジュール204に送信することができる。
[00131]ステップ1106で、コレクションサーバ202は、空のコレクションをクライアントデバイス250に送信することができる。例えば、コレクションモジュール204は空のコレクションを生成し、その空のコレクションをCMSクライアント250に送信することができる。
[00132]ステップ1108において、クライアントデバイス240は、空のコレクションを提示することができる。例えば、CMSクライアント250は図4に示すように、クライアントデバイス240のディスプレイ上に空のコレクションを提示することができる。空のコレクションは、コレクション内のタイルの可能なレイアウトを示すグラフィック要素を含むことができる。空コレクションは、ユーザが空コレクションにコンテンツを追加するために選択することができるグラフィカル要素を含むことができる。
[00133]ステップ1110において、クライアントデバイス240は、空のコレクションに内容を追加するためのユーザ入力を受信することができる。例えば、ユーザはヘッダ背景画像、ロゴ画像、及び/又は1以上の埋め込みコンテンツアイテムを空コレクションに追加するために、空コレクションと共に提示される1以上のグラフィカル要素を選択することができる。
[00134]ステップ1112で、クライアントデバイス240は、コンテンツアイテムモジュール226によって管理されるコンテンツアイテムを表すコンテンツアイテム識別子についての要求をコンテンツアイテムサーバ220に送信することができる。CMSクライアント250は、ユーザがアクセス許可を有するコンテンツアイテムを表す、コンテンツアイテムモジュール226からのコンテンツアイテム識別子のリストを要求することができる。
[00135]ステップ1114において、コンテンツアイテムサーバ220は、コンテンツアイテム識別子のリストを生成することができる。例えば、コンテンツアイテムモジュール226は、ユーザがアクセス許可を有するコンテンツアイテムのリストを生成することができる。
[00136]ステップ1116において、コンテンツアイテムサーバ220は、コンテンツアイテム識別子をクライアントデバイス240に送信することができる。例えば、コンテンツアイテム識別子を受信すると、CMSクライアント250はコンテンツストレージ160、クライアントデバイス240、又は他の何らかの記憶場所からコンテンツアイテムを選択するためのグラフィカルユーザインタフェース(例えば、GUI 500)を提示することができる。
[00137]ステップ1118において、クライアントデバイス240は、選択者のグラフィカルユーザインタフェースから1以上のコンテンツアイテム識別子を選択するユーザ入力を受け付けることができる。例えば、CMSクライアント250は、ヘッダ背景画像、ロゴ画像、及び/又はコレクションの1以上の埋め込みコンテンツアイテムのためのコンテンツアイテムを選択するユーザ入力を受け付けることができる。
[00138]ステップ1120において、クライアントデバイス240は、選択されたコンテンツアイテム識別子をコレクションサーバ202に送信することができる。例えば、CMSクライアント250は、選択されたコンテンツアイテム識別子と、コンテンツアイテム識別子が関連付けられるコレクション属性(例えば、ヘッダ背景画像、ロゴ画像、及び/又は1以上の埋め込みコンテンツアイテム)とを示すメッセージをコレクションモジュール204に送信することができる。
[00139]ステップ1122において、コレクションサーバ202は、選択されたコンテンツアイテム識別子のためのコレクションアイテム識別子を生成することができる。例えば、コンテンツアイテム識別子の受信に応答して、コレクションモジュール204は上述のように、コレクションに埋め込まれ、選択されたコンテンツアイテムを参照するために使用されうる、選択されたコンテンツアイテム識別子のためのコレクションアイテム識別子を生成することができる。
[00140]ステップ1124において、コレクションサーバ202は、コレクションアイテム識別子マッピングへのコンテンツアイテム識別子を生成することができる。例えば、コレクションモジュール204はコレクションストレージデータベース206内のコレクションアイテム210(例えば、データベーステーブル)内にエントリ(例えば、記録)を作成し、コレクションアイテムエントリ内に、上述のように、コンテンツアイテム識別子、コレクションアイテム識別子、新たなコレクションのコレクション識別子、及び追加のコレクションアイテム属性を保存することができる。
[00141]ステップ1126で、コレクションサーバ202は、コレクションアイテム識別子を使用して、選択されたコンテンツアイテムをコレクションに埋め込むことができる。例えば、コレクションモジュール204はコレクションアイテム識別子を参照するリンク(例えば、URL)を含むコレクションの新たなバージョン(例えば、ウェブページ)を生成することができる。コレクションアイテム識別子は、ヘッダ背景画像、ロゴ画像、及び/又は1以上の埋め込みコンテンツアイテムのためのリンクを生成するために使用されうる。
[00142]ステップ1128において、コレクションサーバ202は、埋め込まれたコンテンツを有するコレクションをクライアントデバイス240に送信することができる。例えば、コレクションモジュール204は、埋め込まれたコレクションアイテム識別子を有するコレクションをCMSクライアント250に送信することができる。次に、CMSクライアント250はプロセス1200に関して後述するように、コレクションを提示することができる。
[00143]図11Bは、コンテンツアイテムをコレクションに追加するための例示的なプロセス1150のフロー図を示す。例えば、処理1150は、コレクションサーバ202、コンテンツアイテムサーバ220、及びクライアントデバイス240によって協働して実行されて、新たなコレクションを作成することができる。処理1150は、コレクションのプライベートな編集可能なビュー(例えば、新たなコレクション、選択されたコレクションなど)がCMSクライアント250によってクライアントデバイス240のディスプレイ上に提示されているときに実行されうる。
[00144]ステップ1152において、クライアントデバイス240は、コレクションに追加するコンテンツアイテムを識別するユーザ入力を受信することができる。例えば、ユーザ入力はドラッグアンドドロップ入力とすることができ、ユーザは、コンテンツアイテムの表現を記憶場所からCMSクライアント250によって現在提示されているコレクション上にドラッグする。
[00145]ステップ1154において、クライアントデバイス240は、識別されたコンテンツアイテムを現在提示されているコレクションに追加するための要求をコレクションサーバ202に送信することができる。例えば、当該要求は、コレクションのコレクション識別子及び識別されたコンテンツアイテムを含むことができる。
[00146]ステップ1156において、コレクションサーバ202は、記憶用にコンテンツアイテムをコンテンツアイテムサーバ220に送信することができる。例えば、コレクションモジュール204は、コレクション識別子及びコンテンツアイテムをコンテンツアイテムモジュール226に送信することができる。
[00147]ステップ1158で、コンテンツアイテムサーバ220は、識別されたコレクションに関連付けられたコンテンツストレージ160内の記憶場所にコンテンツアイテムを格納することができる。例えば、コンテンツアイテムモジュール226は新たなコンテンツアイテムのコンテンツアイテム識別子を生成し、コンテンツアイテムに関連付けられたフォルダ(例えば、共有フォルダ)にコンテンツアイテムを格納することができる。
[00148]ステップ1160において、コンテンツアイテムサーバ220は、コンテンツアイテム識別子をコレクションサーバ202に送信することができる。例えば、コンテンツアイテムモジュール226は、コンテンツアイテム識別子をコレクションモジュール204に送信することができる。
[00149]ステップ1162において、コレクションサーバ202は、選択されたコンテンツアイテム識別子のためのコレクションアイテム識別子を生成することができる。例えば、コンテンツアイテム識別子の受信に応答して、コレクションモジュール204は上述のように、コレクションに埋め込まれ、選択されたコンテンツアイテムを参照するために使用されうる、選択されたコンテンツアイテム識別子のためのコレクションアイテム識別子を生成することができる。
[00150]ステップ1164において、コレクションサーバ202は、コレクションアイテム識別子マッピングへのコンテンツアイテム識別子を生成することができる。例えば、コレクションモジュール204はコレクションストレージデータベース206内のコレクションアイテム210(例えば、データベーステーブル)内にエントリ(例えば、記録)を作成し、コレクションアイテムエントリ内に、上述のように、コンテンツアイテム識別子、コレクションアイテム識別子、新たなコレクションのコレクション識別子、及び追加のコレクションアイテム属性を保存することができる。
[00151]ステップ1166で、コレクションサーバ202は、コレクションアイテム識別子を使用して、選択されたコンテンツアイテムをコレクションに埋め込むことができる。例えば、コレクションモジュール204はコレクションアイテム識別子を参照するリンク(例えば、URL)を含むコレクションの新たなバージョン(例えば、ウェブページ)を生成することができる。コレクションアイテム識別子は、ヘッダ背景画像、ロゴ画像、及び/又は1以上の埋め込みコンテンツアイテムのためのリンクを生成するために使用されうる。
[00152]ステップ1168において、コレクションサーバ202は、埋め込まれたコンテンツを有するコレクションをクライアントデバイス240に送信することができる。例えば、コレクションモジュール204は、埋め込まれたコレクションアイテム識別子を有するコレクションをCMSクライアント250に送信することができる。次に、CMSクライアント250はプロセス1200に関して後述するように、コレクションを提示することができる。
[00153]図12は、コレクションを提示するための例示的なプロセス1200のフロー図を示す。例えば、プロセス12000は、コレクションサーバ202、コンテンツアイテムサーバ220、及びクライアントデバイス240によって協働して実行されて、クライアントデバイス240上にコレクションを提示することができる。
[00154]ステップ1202において、クライアントデバイス240は、コレクションを選択するユーザ入力を受信することができる。例えば、CMSクライアント250は上述したように、図3のGUI 300にリストされたコレクションからコレクションを選択するユーザ入力を受け付けることができる。或いは、選択されたコレクションがコンテンツを追加するために修正された新たなコレクションに対応することができ、コレクションを提示するグラフィカルユーザインタフェースは更新される必要がある。
[00155]ステップ1204において、クライアントデバイス240は、選択されたコレクションのコレクション識別子をコレクションサーバ202に送信することができる。例えば、ユーザがコレクションを選択すると、CMSクライアント250はコレクションのコレクション識別子を決定し、コレクション識別子をコレクションモジュール204に送信することができる。
[00156]ステップ1206において、コレクションサーバ202は、埋め込まれたコンテンツを有するコレクションを生成することができる。例えば、コレクションモジュール204はコレクションストレージ206からコレクションデータ(例えば、属性、画像、テキスト、コレクションアイテム識別子など)を取得するためにコレクション識別子を使用することによってコレクションを生成することができる。例えば、コレクションモジュール204はコレクション識別子を使用して、コレクションデータ208からヘッダ情報(例えば、ヘッダ背景画像、ロゴ画像、タイトル、イントロダクション等)を取得することができる。コレクションモジュール204はコレクションアイテム210からコレクションアイテム情報(例えば、コレクションアイテム識別子、コメント識別子など)を取得するために、コレクション識別子を使用することができる。コレクションモジュール204はコレクションアイテム210から取得されたコメント識別子を使用して、コメント212から各コレクションアイテム(例えば、タイル、埋め込まれたコンテンツアイテム等)に対するコメント及び/又はコメントスレッドを取得することができる。コレクションモジュール204はこのコレクション情報のすべてをデータ構造(例えば、ウェブページ、コレクションオブジェクトなど)に結合して、コレクションを生成することができる。
[00157]ステップ1208において、コレクションサーバ202は、コレクションをクライアントデバイス240に送信することができる。例えば、コレクションモジュール204は、ステップ1206で生成されたコレクションデータ構造をCMSクライアント250に送信することができる。
[00158]ステップ1210において、クライアントデバイス250は、コレクションアイテム識別子を使用してコレクションアイテムを要求することができる。例えば、ヘッダ背景画像、ロゴ画像、及びタイルに対応するコンテンツアイテム及び/又はコンテンツアイテムメタデータを取得し、提示するために、CMSクライアント250は、これらのコレクション属性のそれぞれについてのコレクションアイテム識別子を、対応するコンテンツアイテムの要求においてコレクションサーバ202上のコレクションモジュール204に送信することができる。
[00159]ステップ1212において、コレクションサーバ202はコレクションモジュール204によって管理されるコレクションアイテム識別子マッピングに対応するコンテンツアイテム識別子から、コレクションアイテム識別子に対応するコンテンツアイテム識別子を取得することができる。例えば、コレクションアイテム識別子の受信に応答して、コレクションモジュール204は、受信したコレクション識別子に対応するコンテンツアイテム識別子をコレクションアイテム210から取得することができる。
[00160]ステップ1214において、コレクションサーバ202は、コンテンツアイテムサーバ220からコンテンツアイテムメタデータを要求することができる。例えば、コレクションモジュール204は、ステップ1216で取得されたコンテンツアイテム識別子を使用して、コンテンツアイテムサーバ220上のコンテンツアイテムモジュール226からコンテンツアイテム識別子に対応するコンテンツアイテムメタデータを要求することができる。当該要求はどのコンテンツアイテムメタデータがコレクションモジュール204に返されるコンテンツアイテムメタデータに含まれるべきか、又はそれから除外されるべきかを指定するパラメータを含むことができる。例えば、パラメータは、コンテンツアイテム名、コンテンツアイテムタイプ、コンテンツアイテムサイズなどがコンテンツアイテムメタデータに含まれるべきであることを指定することができる。パラメータは、コメント、編集(追記)、リビジョン、注釈等がコンテンツアイテムメタデータから除外されるべきであることを指定することができる。いくつかの実施形態では、すべての利用可能なコンテンツアイテムメタデータを、コレクションモジュール204に返されるコンテンツアイテムメタデータに含めることができる。
[00161]ステップ1216において、コンテンツアイテムサーバ220は、コンテンツアイテムメタデータをコレクションサーバ202に送信することができる。例えば、コレクションモジュール204が、識別されたコンテンツアイテムのメタデータのすべてを含むコンテンツアイテムメタデータを受信する場合、コレクションモジュール204はコンテンツアイテムメタデータをフィルタリングして、コンテンツアイテムメタデータ内のコメント、編集、リビジョン、注釈などを除去し、これらのタイプのコンテンツアイテムメタデータがクライアントデバイス240に配信されないようにすることができる。
[00162]ステップ1218で、コレクションサーバ202は、ステップ1210で受信したコレクションアイテム識別子を使用してコレクションアイテムメタデータを取得することができる。例えば、コレクションモジュール204はコレクションストレージ206内のコレクションアイテム210及びコメント212から、コレクションアイテム識別子に対応するキャプション、コメントなどのコレクションアイテムメタデータを取得することができる。コレクションモジュール204は以下のステップ1220において、コンテンツアイテムメタデータをコレクションアイテムメタデータに追加し、コレクションアイテムメタデータをCMSクライアント250に送信することができる。
[00163]ステップ1219において、コレクションサーバ202は、コンテンツアイテムサーバ220からコンテンツアイテムを取得するための保護された共有リンクを生成することができる。上述のように、保護された共有リンク(PSL)は、暗号化されたペイロードを含むコンテンツアイテムモジュール226に関連付けられたURLとすることができる。当該ペイロードは、コンテンツアイテムに対応するコンテンツアイテム識別子と、要求されたコレクションのコレクション識別子と、PSLが生成された時刻に対応する作成時刻と、PSLが有効である期間を示す生存時間とを含む、URLを含むことができる。当該ペイロードは、コンテンツアイテムモジュール226とコレクションモジュール204との間で共有される共有シークレットを使用して暗号化することができる。
[00164]ステップ1220で、コレクションサーバ202は、コンテンツアイテムのコレクションアイテムメタデータ及びPSLをクライアントデバイス240に送信することができる。例えば、コレクションモジュール204は、コレクションアイテムメタデータ及びコンテンツアイテムのPSLをCMSクライアント250に送信することができる。
[00165]ステップ1222で、クライアントデバイス240は、保護された共有リンクを使用して、コンテンツアイテムサーバ220からコレクションアイテムを要求することができる。例えば、CMSクライアント250は、コレクションアイテムに対応するコンテンツアイテムの要求をコンテンツアイテムサーバ220上のコンテンツアイテムモジュール226に送信することができる。当該要求は、コレクションモジュール204から受信された暗号化されたペイロードを含むことができる。
[00166]ステップ1224において、コンテンツアイテムサーバ220は、保護された共有リンクを検証することができる。例えば、コンテンツアイテムモジュール226は、コレクションサーバ202とコンテンツアイテムサーバ220との間で共有される共有シークレットを使用して、暗号化されたペイロードを復号しようと試みることによって、保護された共有リンクを有効にする(検証する)ことができる。コンテンツアイテムモジュール226が暗号化されたペイロードを復号することができる場合、コンテンツアイテムモジュール226は、暗号化されたペイロードがコレクションモジュール204によって生成された有効なペイロードであると判定することができる。ペイロードを復号した後、コンテンツアイテムモジュール226は、PSLが受信された時間がペイロードに示された作成時間及び有効期間によって指定された時間ウィンドウ内にあることを決定することによって、保護された共有リンクを有効にすることができる。コンテンツアイテムモジュール226がペイロードを有効にできない場合、プロセス1200は終了することができ、コンテンツアイテムモジュール226は、CMSクライアント250にエラーメッセージを返すことができる。コンテンツアイテムモジュール226がペイロードを有効にする(検証する)ことができる場合、プロセス1200はステップ1226に進むことができる。
[00167]ステップ1226において、コンテンツアイテムサーバ220は、保護された共有リンクからコンテンツアイテム識別子を抽出することができる。例えば、コンテンツアイテムモジュール226は、復号化されたPSLペイロードからコンテンツアイテム識別子を取得することができる。
[00168]ステップ1228において、コンテンツアイテムサーバ220は、コンテンツアイテム識別子に対応するコンテンツアイテムを取得することができる。例えば、コンテンツアイテムモジュール226は、コンテンツストレージ160からコンテンツアイテム識別子に対応するコンテンツアイテムを取得することができる。いくつかの実施形態では、コンテンツアイテムモジュール226がコンテンツアイテムを表す画像を生成することができる。例えば、コンテンツアイテムモジュールは、コンテンツアイテムを表すタイル画像(例えば、サムネイル画像)を生成することができる。コンテンツアイテムモジュールは、コンテンツアイテムを表すフルプレビュー画像を生成することができる。
[00169]ステップ1230において、コンテンツアイテムサーバ220は、コンテンツアイテムをクライアントデバイス240に送信することができる。例えば、コンテンツアイテムモジュール226は、コンテンツアイテム又はコンテンツアイテムの画像をCMSクライアント250に送信することができる。
[00170]ステップ1232において、クライアントデバイス240は、コレクションを提示することができる。例えば、CMSクライアント250がステップ1202で選択されたコレクションに対応するコンテンツアイテムを受信した後、CMSクライアント250は、クライアントデバイス240のディスプレイ上にコレクションアイテムを提示することができる。例えば、CMSクライアント250は図6、図7及び図10を参照して上述したように、グラフィカルユーザインタフェース上にコレクションを提示することができる。
[00171]図13は、コレクションアイテムプレビューを提示するための例示的なプロセス1300のフロー図を示す。例えば、処理1300は、コレクションサーバ202、コンテンツアイテムサーバ220、及びクライアントデバイス240によって協働して実行されて、クライアントデバイス240上にコレクションアイテムメタデータを提示することができる。
[00172]ステップ1302において、クライアントデバイス240は、コレクションアイテムを選択するユーザ入力を受信することができる。例えば、CMSクライアント250は、CMSクライアント250によって提示されたコレクションからコレクションアイテムを選択するユーザ入力を受信することができる。例えば、ユーザは図7を参照して上述したように、コレクションアイテムタイルに関連付けられたグラフィック要素720を選択することができる。
[00173]ステップ1304において、クライアントデバイス240は、選択されたコレクションアイテムのコレクションアイテム識別子をコレクションサーバ202に送信することができる。例えば、コレクションアイテムタイルに関連付けられたグラフィック要素720を選択する入力の受け付けに応答して、CMSクライアント250は、コレクションアイテムに対応するコンテンツアイテムのフルプレビューを求める要求において、コレクションアイテムタイルに対応するコレクションアイテム識別子をコレクションモジュール204に送信することができる。
[00174]ステップ1306において、コレクションサーバ202はコレクションモジュール204によって管理されるコレクションアイテム識別子マッピングに対応するコンテンツアイテム識別子から、コレクションアイテム識別子に対応するコンテンツアイテム識別子を取得することができる。例えば、コレクションアイテム識別子の受信に応答して、コレクションモジュール204は、受信したコレクション識別子に対応するコンテンツアイテム識別子をコレクションアイテム210から取得することができる。
[00175]ステップ1308において、コレクションサーバ202は、コンテンツアイテムサーバ220からコンテンツアイテムメタデータを要求することができる。例えば、コレクションモジュール204は、ステップ1306で取得されたコンテンツアイテム識別子を使用して、コンテンツアイテムサーバ220上のコンテンツアイテムモジュール226からコンテンツアイテム識別子に対応するコンテンツアイテムメタデータを要求することができる。当該要求はどのコンテンツアイテムメタデータがコレクションモジュール204に返されるコンテンツアイテムメタデータに含まれるべきか、又はそれから除外されるべきかを指定するパラメータを含むことができる。例えば、パラメータは、コンテンツアイテム名、コンテンツアイテムタイプ、コンテンツアイテムサイズなどがコンテンツアイテムメタデータに含まれるべきであることを指定することができる。パラメータは、コメント、編集(追記)、リビジョン、注釈等がコンテンツアイテムメタデータから除外されるべきであることを指定することができる。いくつかの実施形態では、すべての利用可能なコンテンツアイテムメタデータを、コレクションモジュール204に返されるコンテンツアイテムメタデータに含めることができる。
[00176]ステップ1310において、コンテンツアイテムサーバ220は、コンテンツアイテムメタデータをコレクションサーバ202に送信することができる。例えば、コレクションモジュール204が、識別されたコンテンツアイテムのメタデータのすべてを含むコンテンツアイテムメタデータを受信する場合、コレクションモジュール204はコンテンツアイテムメタデータをフィルタリングして、コンテンツアイテムメタデータ内のコメント、編集(追記)、リビジョン、注釈などを除去し、これらのタイプのコンテンツアイテムメタデータがクライアントデバイス240に配信されないようにすることができる。
[00177]ステップ1312で、コレクションサーバ202は、ステップ1304で受信したコレクションアイテム識別子を使用してコレクションアイテムメタデータを取得することができる。例えば、コレクションモジュール204はコレクションストレージ206内のコレクションアイテム210及びコメント212から、コレクションアイテム識別子に対応するキャプション、コメントなどのコレクションアイテムメタデータを取得することができる。コレクションモジュール204は以下のステップ1314において、コンテンツアイテムメタデータをコレクションアイテムメタデータに追加し、コレクションアイテムメタデータをCMSクライアント250に送信することができる。
[00178]ステップ1313において、コレクションサーバ202は、コンテンツアイテムサーバ220からコンテンツアイテムを取得するための保護された共有リンクを生成することができる。上述のように、保護された共有リンク(PSL)は、暗号化されたペイロードを含むコンテンツアイテムモジュール226に関連付けられたURLとすることができる。ペイロードは、コンテンツアイテムに対応するコンテンツアイテム識別子と、要求されたコレクションのコレクション識別子と、PSLが生成された時刻に対応する作成時刻と、作成時刻から開始してPSLが有効である期間を示す生存時間とを含むURLを含むことができる。ペイロードは、コンテンツアイテムモジュール226とコレクションモジュール204との間で共有される共有シークレットを使用して暗号化されうる。
[00179]ステップ1314で、コレクションサーバ202は、コンテンツアイテムのコレクションアイテムメタデータ及びPSLをクライアントデバイス240に送信することができる。例えば、コレクションモジュール204は、コレクションアイテムメタデータ及びコンテンツアイテムのPSLをCMSクライアント250に送信することができる。
[00180]ステップ1316で、クライアントデバイス240は、保護された共有リンクを使用して、コンテンツアイテムサーバ220からコレクションアイテムを要求することができる。例えば、CMSクライアント250は、コレクションアイテムに対応するコンテンツアイテムの要求をコンテンツアイテムサーバ220上のコンテンツアイテムモジュール226に送信することができる。当該要求は、コレクションモジュール204から受信された暗号化されたペイロードを含むことができる。
[00181]ステップ1318において、コンテンツアイテムサーバ220は、保護された共有リンクを有効にする(検証する)ことができる。例えば、コンテンツアイテムモジュール226は、コレクションサーバ202とコンテンツアイテムサーバ220との間で共有される共有シークレットを使用して、暗号化されたペイロードを復号しようと試みることによって、保護された共有リンクを有効にする(検証する)ことができる。コンテンツアイテムモジュール226が暗号化されたペイロードを復号することができる場合、コンテンツアイテムモジュール226は、暗号化されたペイロードがコレクションモジュール204によって生成された有効なペイロードであると判定することができる。ペイロードを復号した後、コンテンツアイテムモジュール226は、PSLが受信された時間がペイロードに示された作成時間及び有効期間によって指定された時間ウィンドウ内にあることを決定することによって、保護された共有リンクを有効にする(検証する)ことができる。コンテンツアイテムモジュール226がペイロードを有効にできない場合、プロセス1200は終了することができ、コンテンツアイテムモジュール226は、CMSクライアント250にエラーメッセージを返すことができる。コンテンツアイテムモジュール226がペイロードを有効にすることができる場合、プロセス1300はステップ1320に進むことができる。
[00182]ステップ1320において、コンテンツアイテムサーバ220は、保護された共有リンクからコンテンツアイテム識別子を抽出することができる。例えば、コンテンツアイテムモジュール226は、復号されたPSLペイロードからコンテンツアイテム識別子を取得することができる。
[00183]ステップ1322において、コンテンツアイテムサーバ220は、コンテンツアイテム識別子に対応するコンテンツアイテムを取得することができる。例えば、コンテンツアイテムモジュール226は、コンテンツストレージ160からコンテンツアイテム識別子に対応するコンテンツアイテムを取得することができる。いくつかの実施形態では、コンテンツアイテムモジュール226がコンテンツアイテムを表す画像を生成することができる。例えば、コンテンツアイテムモジュールは、コンテンツアイテムを表すフルプレビュー画像を生成することができる。
[00184]ステップ1324において、コンテンツアイテムサーバ220は、コンテンツアイテムをクライアントデバイス240に送信することができる。例えば、コンテンツアイテムモジュール226は、コンテンツアイテム又はコンテンツアイテムの画像をCMSクライアント250に送信することができる。
[00185]ステップ1232で、クライアントデバイス240は、コレクションアイテム及び/又はコレクションアイテムメタデータを提示することができる。例えば、CMSクライアント250がステップ1302で選択されたコレクションに対応するコンテンツアイテムを受信した後、CMSクライアント250は、クライアントデバイス240のディスプレイ上にコレクションアイテムを提示することができる。例えば、CMSクライアント250は図8及び図9を参照して上述したように、グラフィカルユーザインタフェース上にコレクションアイテム(例えば、対応するコンテンツアイテムのフルプレビュー)を提示することができる。
[00186]図14は、コレクションアイテムメタデータを提示するための例示的なプロセス1400のフロー図を示す。例えば、処理1400は、コレクションサーバ202、コンテンツアイテムサーバ220、及びクライアントデバイス240によって協働して実行されて、クライアントデバイス240上にコレクションアイテムメタデータを提示することができる。例えば、処理1400を実行して、図10のグラフィカル要素1012に提示されるコレクションアイテムコメントを取得することができる。
[00187]ステップ1402において、クライアントデバイス240は、コレクションアイテムを選択するユーザ入力を受け付けることができる。例えば、CMSクライアント250は、CMSクライアント250によって提示されたコレクションからコレクションアイテムを選択するユーザ入力を受信することができる。例えば、ユーザは図7及び図10を参照して上述したように、コレクションアイテムタイルに関連付けられたグラフィック要素718を選択することができる。
[00188]ステップ1404において、クライアントデバイス240は、選択されたコレクションアイテムのコレクションアイテム識別子をコレクションサーバ202に送信することができる。例えば、コレクションアイテムタイルに関連付けられたグラフィック要素718を選択する入力の受け付けに応答して、CMSクライアント250は、コレクションアイテム識別子に関連付けられたメタデータを求める要求において、コレクションアイテムタイルに対応するコレクションアイテム識別子をコレクションモジュール204に送信することができる。
[00189]ステップ1406において、コレクションサーバ202はコレクションモジュール204によって管理されるコレクションアイテム識別子マッピングへのコンテンツアイテム識別子から、コレクションアイテム識別子に対応するコンテンツアイテム識別子を取得することができる。例えば、コレクションアイテム識別子の受信に応答して、コレクションモジュール204は、受信したコレクション識別子に対応するコンテンツアイテム識別子をコレクションアイテム210から取得することができる。
[00190]ステップ1408において、コレクションサーバ202は、コンテンツアイテムサーバ220からコンテンツアイテムメタデータを要求することができる。例えば、コレクションモジュール204は、ステップ1406で取得されたコンテンツアイテム識別子を使用して、コンテンツアイテムサーバ220上のコンテンツアイテムモジュール226からコンテンツアイテム識別子に対応するコンテンツアイテムメタデータを要求することができる。当該要求はどのコンテンツアイテムメタデータがコレクションモジュール204に返されるコンテンツアイテムメタデータに含まれるべきか、又はそれから除外されるべきかを指定するパラメータを含むことができる。例えば、パラメータは、コンテンツアイテム名、コンテンツアイテムタイプ、コンテンツアイテムサイズなどがコンテンツアイテムメタデータに含まれるべきであることを指定することができる。パラメータは、コメント、編集(追記)、リビジョン、注釈等がコンテンツアイテムメタデータから除外されるべきであることを指定することができる。いくつかの実施形態では、すべての利用可能なコンテンツアイテムメタデータを、コレクションモジュール204に返されるコンテンツアイテムメタデータに含めることができる。
[00191]ステップ1410において、コンテンツアイテムサーバ220は、コンテンツアイテムメタデータをコレクションサーバ202に送信することができる。例えば、コレクションモジュール204が、識別されたコンテンツアイテムのメタデータのすべてを含むコンテンツアイテムメタデータを受信する場合、コレクションモジュール204はコンテンツアイテムメタデータをフィルタリングして、コンテンツアイテムメタデータ内のコメント、編集(追記)、リビジョン、注釈などを除去し、これらのタイプのコンテンツアイテムメタデータがクライアントデバイス240に配信されないようにすることができる。
[00192]ステップ1412で、コレクションサーバ202は、ステップ1404で受信したコレクションアイテム識別子を使用してコレクションアイテムメタデータを取得することができる。例えば、コレクションモジュール204はコレクションストレージ206内のコレクションアイテム210及びコメント212から、コレクションアイテム識別子に対応するキャプション、コメントなどのコレクションアイテムメタデータを取得することができる。コレクションモジュール204は以下のステップ1414において、コンテンツアイテムメタデータをコレクションアイテムメタデータに追加し、コレクションアイテムメタデータをCMSクライアント250に送信することができる。
[00193]ステップ1414で、コレクションサーバ202は、コンテンツアイテムのコレクションアイテムメタデータをクライアントデバイス240に送信することができる。例えば、コレクションモジュール204は、コンテンツアイテムのコレクションアイテムメタデータをCMSクライアント250に送信することができる。
[00194]ステップ1416において、クライアントデバイス240は、コレクションアイテムメタデータを提示することができる。例えば、CMSクライアント250がステップ1402で選択されたコレクションに対応するコンテンツアイテムを受信した後、CMSクライアント250は、クライアントデバイス240のディスプレイ上にコレクションアイテムメタデータを提示することができる。例えば、CMSクライアント250は図10を参照して上述したように、グラフィカル要素1012上にコレクションアイテムメタデータ(例えば、コレクションアイテムコメント)を提示することができる。
[00195]図15A及び図15Bは、例示的な可能なシステム実施形態を示す。本技術を実施する場合に、より好適な実施の形態が当業者には明らかであろう。他のシステムの実施の形態が可能であることは、当業者には容易に理解されるであろう。
[00196]図15Aは従来のシステムバスコンピューティングシステムアーキテクチャ1500を示し、システムの構成要素は、バス1505を使用して互いに電気的に通信を行う。例示システム1500は、処理ユニット(CPU、即ちプロセッサ)1510と、読み取り専用メモリ(ROM)1520やランダムアクセスメモリ(RAM)1525などのシステムメモリ1515を含む各種のシステムコンポーネントをプロセッサ1510に接続するシステムバス1505と、を含む。システム1500は、プロセッサ1510に直接接続されているか、近接しているか、或いはその一部として統合されている高速メモリのキャッシュを含んでもよい。システム1500は、データをメモリ1515及び/又はストレージデバイス1530からキャッシュ1512へコピーして、プロセッサ1510が高速でアクセスできるようにしてもよい。このようにして、キャッシュは、データを待っている間のプロセッサ1510の遅延を回避するパフォーマンスブーストを提供することができる。これら及びその他のモジュールは、各種の動作を行うようにプロセッサ1510を制御するか、又は制御するように構成されてもよい。その他のシステムメモリ1515が同様に使用可能であってもよい。メモリ1515は、異なる性能特性を持つ複数の異なるタイプのメモリを含んでもよい。プロセッサ1510は、いかなる汎用プロセッサを含んでもよいし、プロセッサ1510を制御するように構成されたハードウェアモジュール又はソフトウェアモジュール、例えばストレージデバイス1530の中に格納されたモジュール1 1532、モジュール2 1534、モジュール3 1536を含んでもよいし、実際のプロセッサ設計の中にソフトウェア命令が組み込まれている専用プロセッサを含んでもよい。プロセッサ1510は本質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュ等を含んでいる、完全に自己完結型のコンピュータシステムであってもよい。複数のコアプロセッサは対称又は非対称であってもよい。
[00197]ユーザとコンピューティングデバイス1500とのやり取りを可能にするため、入力デバイス1545は、音声用マイクロフォン、ジェスチャ又はグラフィカル入力用のタッチセンシティブスクリーン、キーボード、マウス、動作入力、音声等、いくつもの入力メカニズムを表してもよい。出力デバイス1535は、当業者には公知の複数の出力メカニズムのうちの1つ以上であってもよい。場合によっては、マルチモーダルシステムによって、ユーザが、コンピューティングデバイス1500と通信するための複数のタイプの入力を行うことが可能になる。通常、通信インタフェース1540が、ユーザ入力とシステム出力とを管理してもよい。特定のハードウェア構成上で動作することについての制限はなく、従って、本明細書での基本的な特徴は、改良型のハードウェア構成やファームウェア構成が開発されれば、それらと容易に置き換わりうる。
[00198]ストレージデバイス1530は、不揮発性メモリであり、ハードディスク、または、磁気カセット、フラッシュメモリカード、固体メモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)1525、読み取り専用メモリ(ROM)1520、及びそれらのハイブリッド等の、コンピュータがアクセスできるデータを格納可能な他のタイプのコンピュータ読み取り可能媒体でありうる。
[00199]ストレージデバイス1530は、プロセッサ1510を制御するためのソフトウェアモジュール1532、1534、1536を含んでもよい。その他のハードウェアモジュール又はソフトウェアモジュールも考えられる。ストレージデバイス1530は、システムバス1505に接続されてもよい。一態様では、特定の機能を行うハードウェアモジュールは、プロセッサ1510、バス1505、ディスプレイ1535等のような、その機能を実行するのに必要なハードウェアコンポーネントと関連してコンピュータ可読媒体の中に格納されたソフトウェアコンポーネントを含んでもよい。
[00200]図15Bは、説明した方法を実行し、グラフィカルユーザインタフェース(GUI)を生成し、表示する際に使用することができるチップセットアーキテクチャを有するコンピュータシステム1550を示す。コンピュータシステム1550は、開示された技術を実施するのに使用可能なコンピュータハードウェア、ソフトウェア及びファームウェアの一例である。システム1550は、識別された計算を実行するように構成されたソフトウェア、ファームウェア、及びハードウェアを実行することができる任意の数の物理的及び/又は論理的に別個のリソースを表すプロセッサ1510を含むことができる。プロセッサ1510は、プロセッサ1510への入力及びプロセッサ1310からの出力を制御可能なチップセット1560と通信しうる。この例では、チップセット1560は、ディスプレイなどの出力1565に情報を出力し、例えば、磁気媒体及び固体媒体を含むことができるストレージデバイス1570に情報を読み書きすることができる。チップセット1560はまた、RAM 1575からデータを読み取り、RAM1375にデータを書き込むことができる。チップセット1560とのインタフェースのために、種々のユーザインタフェースコンポーネント1585とのインタフェースとなるブリッジ1580が提供されてもよい。そのようなユーザインタフェースコンポーネント1585は、キーボードやマイクロフォンやタッチ検出及び処理回路やマウスなどのポインティングデバイスなどを含んでもよい。一般に、システム1550への入力は種々のソース、機械により生成された、及び/又は、人間によって生成されたうちの任意のものから来てもよい。
[00201]チップセット1560は、異なる複数の物理的インタフェースを有しうる1以上の通信インタフェース1590と連結されてもよい。そのような通信インタフェースは、有線及び無線ローカル領域ネットワークとのインタフェースと、ブロードバンド無線ネットワークとのインタフェースと、パーソナル領域ネットワークとのインタフェースと、を含んでもよい。本明細書で開示されるGUIを生成し表示し使用する方法のいくつかのアプリケーションは、物理的なインタフェースを介して順序付けられたデータセットを受信することを含むか、又はプロセッサ1510がストレージ1570又は1575に格納されるデータを解析することによって機械そのものにより生成されてもよい。さらに、機械はユーザインタフェースコンポーネント1585を介してユーザから入力を受け、プロセッサ1510を使用してこれらの入力を解釈することで、ブラウズ機能などの適切な機能を実行してもよい。
[00202]例示システム1500及び1550は1つ以上のプロセッサ1510を有してもよく、又は処理能力を高めるためにネットワーク化されたコンピューティングデバイスのグループ又はクラスタの一部であってもよいことは理解されるであろう。
[00203]説明の明瞭化のため、ある例では、本技術はデバイスやデバイスコンポーネントやソフトウェアで実施される方法のステップ又はルーチンやハードウェアとソフトウェアとの組み合わせを含む機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
[00204]ここで説明されるステップ、動作、機能又はプロセスのいずれかは、単独で、又は他のデバイスと組み合わせて、ハードウェア及びソフトウェアモジュールの組合せによって実行又は実装されてもよい。一実施形態では、ソフトウェアモジュールは、クライアントデバイスのメモリ及び/又はコンテンツ管理システムの1つ以上のサーバに常駐し、プロセッサがモジュールに関連したソフトウェアを実行するときに1つ以上の機能を実施するソフトウェアである。上記メモリは非一時的コンピュータ可読媒体であってもよい。
[00205]ある実施の形態では、コンピュータ可読ストレージデバイス、媒体及びメモリは、ビットストリームを含むケーブルや無線信号などを含んでもよい。しかしながら、言及される場合、非一時的コンピュータ可読記憶媒体は、エネルギやキャリア信号や電磁波や信号そのものなどの媒体を明示的に除外する。
[00206]上述の例に従った方法は、コンピュータ可読媒体に格納された、或いはコンピュータ可読媒体から利用可能な、コンピュータで実行可能な命令を使用して実施されうる。そのようなインストラクションは、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理デバイスに所定の機能もしくは機能のグループを実行させるかそうでなければ実行するよう設定するインストラクション及びデータを含んでもよい。使用されるコンピュータリソースの一部はネットワークを介してアクセス可能であってもよい。コンピュータ実行可能命令は、例えば、バイナリや、アセンブリ言語などの中間フォーマット命令や、ファームウェアや、ソースコードであってもよい。命令、使用される情報、及び/又は説明された例に係る方法中に生成される情報を格納するのに使用されうるコンピュータ可読記憶媒体の例は、磁気又は光学ディスク、フラッシュメモリ、不揮発性メモリを備えるUSBデバイス、ネットワークストレージデバイスなどを含む。
[00207]これらの開示に従った方法を実施するデバイスは、ハードウェア、ファームウェア及び/又はソフトウェアを備えうるとともに、種々のフォームファクタのいずれかを取りうる。そのような形状ファクタの典型的な例は、ラップトップや、スマートフォンや、小さい形状ファクタのパーソナルコンピュータや、パーソナルデジタルアシスタントなどを含む。本明細書で説明される機能は周辺機器やアドインカードにおいて実現されてもよい。そのような機能は、更なる例として、単一のデバイスで達成する異なるチップ間又は異なるプロセス間の回路ボードでも実施されうる。
[00208]インストラクション、そのようなインストラクションを伝達するための媒体、そのようなインストラクションを実行するための計算リソース、及びそのような計算リソースをサポートするための他の構成は、本開示で説明される機能を提供するための手段である。
[00209]種々の例及び他の情報が、添付の請求項の範囲内の態様を説明するために使用されたが、当業者であれば多種多様な実施例を導くためにこれらの例を使用できるため、そのような例における具体的な特徴又は構成に基づいて請求項が限定されてはならない。さらに、いくつかの主題は、構造的特徴及び/又は方法ステップの例に特有の言語で説明されてきたが、添付の特許請求の範囲で定義される主題は、必ずしもこれらの説明された特徴又は動作に限定されないことを理解されたい。例えば、そのような機能は、本明細書で識別された成分以外の成分において、異なって分散されるか、又は実行されることが可能である。むしろ、記述された特徴及びステップは、添付の請求項の範囲内のシステム及び方法のコンポーネントの例として開示される。