JP6303023B2 - 一時的なイベンティングに関するシステム及び方法 - Google Patents

一時的なイベンティングに関するシステム及び方法 Download PDF

Info

Publication number
JP6303023B2
JP6303023B2 JP2016552933A JP2016552933A JP6303023B2 JP 6303023 B2 JP6303023 B2 JP 6303023B2 JP 2016552933 A JP2016552933 A JP 2016552933A JP 2016552933 A JP2016552933 A JP 2016552933A JP 6303023 B2 JP6303023 B2 JP 6303023B2
Authority
JP
Japan
Prior art keywords
content
event
management system
content item
item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016552933A
Other languages
English (en)
Other versions
JP2017511924A (ja
Inventor
スティーブン ポレット,
スティーブン ポレット,
トーマス ライト,
トーマス ライト,
ニルス, ピーター ウェリンダー,
ニルス, ピーター ウェリンダー,
トーマス クレーンピーター,
トーマス クレーンピーター,
アンドリュー ヘイヴン,
アンドリュー ヘイヴン,
Original Assignee
ドロップボックス, インコーポレイテッド
ドロップボックス, インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ドロップボックス, インコーポレイテッド, ドロップボックス, インコーポレイテッド filed Critical ドロップボックス, インコーポレイテッド
Publication of JP2017511924A publication Critical patent/JP2017511924A/ja
Application granted granted Critical
Publication of JP6303023B2 publication Critical patent/JP6303023B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1085Resource delivery mechanisms involving dynamic management of active down- or uploading connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Description

種々の実施形態が、一般的には、一時的なイベンティングに関するシステム及び方法に関連する。
高速ネットワーク接続の有効性において経済のスケール及び増大が、ローカルのユーザデバイスのストレージコンポーネントの代わりに、又は当該コンポーネントに追加して、リモートストレージシステムにデジタルコンテンツを格納することをユーザにとって安価にかつ便利にしている。単にユーザデータを格納することに限らず、そのようなリモートシステムは、ユーザエクスペリエンスを改善するために種々のコンテンツ管理ソリューションを提供することができる。しかしながら、当該ユーザエクスペリエンスは、ユーザのローカルデバイスとコンテンツ管理システムとの間で速やかに同期されない場合は不快な経験となるかもしれない。
コンテンツアイテムを同期することは、ユーザデバイスからコンテンツ管理システムへコンテンツアイテムを送信すること、コンテンツ管理システムでコンテンツアイテムに少なくとも1つの管理機能を実行すること、及び、ユーザデバイス(及び、必要に応じて追加のユーザデバイス)へコンテンツアイテム及び/又は管理機能の出力を送信することを含んでもよい。コンテンツアイテムを迅速に同期することができないような状況では、ユーザは、コンテンツ管理システムによって提供される管理機能の利益を得ることができない。
一時的なイベンティング(eventing)に関するシステム及び方法が提供される。コンテンツアイテムがまだアップロードされていないがサーバへアップロードするためにキューに入れられている間に、いわゆる”イベント”の論理セットとの関連で、一時的なイベンティングは、ローカルのユーザデバイス上でユーザインタフェース内のコンテンツアイテムをユーザが閲覧することを許容することによってユーザエクスペリエンスを改善することができる。シームレスなユーザエクスペリエンスを提供するために、ローカルのユーザデバイスに格納されたコンテンツアイテムに関連付けられたメタデータがコンテンツ管理システムへ送信され、その後、コンテンツアイテムについての適切なイベンティングデータを決定し、当該イベンティングのデータがローカルのユーザデバイスへ返送されうる。ローカルのユーザデバイスは、その直後に、コンテンツ管理システムから受信されるイベンティングデータに従って、ユーザインタフェースにコンテンツアイテムを描画する。メタデータは典型的にはコンテンツアイテムのファイルサイズのほんの一部のみを示すため、メタデータのアップロード/イベンティングデータのダウンロードが、例えばユーザデバイスで写真をキャプチャすることと、イベンティングデータを組み込むユーザインタフェースにおけるユーザデバイスのディスプレイ上に写真が描画されることとの間の遅延をユーザに感じさせないように、十分に迅速に処理されうる。その後、コンテンツアイテムのコンテンツ部分の送信が、ユーザデバイスが高帯域幅ネットワーク接続へ接続された際などの適切な時間にスケジュールされてもよい。
コンテンツ管理システムで受信されるメタデータは、一時的なアイテムを作成し、コンテンツアイテムデータベースに当該一時的なアイテムを格納し、当該一時的なアイテムへイベンティングデータを割り当てるために使用されてもよい。イベンティングデータは、その後、イベンティングデータとともにコンテンツアイテムの速やかな描画を許容するようにメタデータを受信したユーザデバイスへ返送されてもよい。コンテンツアイテムのコンテンツ部分がコンテンツ管理システムで受信されるとすぐに、一時的なアイテムがコンテンツアイテムによって置き換えられてもよい。コンテンツ管理システムは、コンテンツ管理システムから取り出したデータ、サードパーティのサーバから取り出したデータ、インターネットニュースソースから取り出したデータ、カレンダーへの入力データ、及び、共有コンテンツアイテムなどの少なくとも1つを含む種々の要因に基づいて、コンテンツ管理システム及びユーザデバイスの両方でコンテンツアイテムに関連付けられるイベンティングデータを周期的に又は継続的に改善してもよい。
本発明の上述および他の側面並びに利点は、添付の図面も併用しつつ以下の詳細な説明を考慮することでより明らかとなるであろう。添付の図面では、全体を通して、同様の参照符号は同様の部材を示す。
いくつかの実施形態に従った、一時的なイベンティングのための例示のコンテンツ管理システムの概略図を示す。 いくつかの実施形態に従った、イベントビューにおいてコンテンツアイテムを閲覧するためのユーザインタフェースを示す。 いくつかの実施形態に従った、イベントビューにおいてコンテンツアイテムを閲覧するためのユーザインタフェースを示す。 いくつかの実施形態に従った、一時的なイベンティングを実行するためのブロック図を示す。 いくつかの実施形態に従った、一時的なイベンティングための例示のコンテンツアイテムのデータベースの一部を示す。 いくつかの実施形態に従った、一時的なイベンティングにおける例示の処理のフローチャートを示す。 いくつかの実施形態に従った、一時的なイベンティングにおける例示の処理のフローチャートを示す。 いくつかの実施形態に従った、一時的なイベンティングにおける例示の処理のフローチャートを示す。 いくつかの実施形態に従った、一時的なイベンティングにおける例示の処理のフローチャートを示す。 いくつかの実施形態に従った、一時的なイベンティングにおける例示の処理のフローチャートを示す。 いくつかの実施形態に従った、一時的なイベンティングにおける例示の処理のフローチャートを示す。 いくつかの実施形態に従った、一時的なイベンティングにおける例示の処理のフローチャートを示す。 いくつかの実施形態に従った、一時的なイベンティングにおける例示の処理のフローチャートを示す。
一時的なイベンティングのための方法、システム、及びコンピュータ可読媒体が提供される。説明を容易にする目的で、方法、システム及びコンピュータ可読媒体について、コンテンツストレージ及び管理サービス、特にコンテンツアイテムのイベントの分類について以下で説明する。しかしながら、用語”コンテンツストレージサービス”及び”コンテンツ管理システム”は、種々のストレージプロバイダ及び管理サービスプロバイダを広く参照するだけでなく、コンテンツ、ファイル、ファイルの一部、及び他のタイプのデータなどの豊富な種別を扱うように、ここで使用される。当業者は、上述した方法、システム及び媒体が種々のストレージプロバイダ/サービスや、コンテンツ、ファイル、ファイルの一部及び他のタイプのデータの少なくとも1つの種別について使用されることを理解するであろう。
ローカルのユーザデバイス上でコンテンツアイテムを知的に表示するために、コンテンツ管理システムで実行するアプリケーションは、コンテンツアイテムを同一のイベントに関連付けられる全てのコンテンツアイテムを含むイベントへ分類してもよい。コンテンツアイテムが特定のイベントに属することの検証は、コンテンツアイテムのメタデータを解析するアルゴリズムを含んでもよい。メタデータは、例えば、地理位置情報、種々のタイムスタンプ(例えば、1以上の作成日時、アクセス日時、アップロード日時、及び共有日時の少なくとも1つ)、共有データ(例えば、どのユーザとコンテンツアイテムが共有されたか)、アクセスデータ(例えば、コンテンツアイテムを現在閲覧しているユーザの数、及び/又はコンテンツアイテムがアクセス、共有及び/又はダウンロードが行われた回数)、ユーザデバイスを識別するデバイスID、ユーザデバイス上のコンテンツアイテムを識別するローカルID、及び、コンテンツから抽出されたコンテンツの特徴の少なくとも1つを含んでもよい。道路を横断するような場所での感謝祭のディナーやフットボールゲームなどの同じ時刻や空間内で発生するイベントをさらに区別するために、顔、場所、ランドマーク、及びコンテンツアイテムに描画される印字されたタイムスタンプの少なくとも1つを識別するメタデータも解析されてもよい。
コンテンツアイテムが作成される際に通常生成されるコンテンツアイテムのメタデータは、直ちに分類するために、コンテンツ管理システムへ送信されてもよい。通常のコンテンツアイテムのメタデータ部分のサイズは大抵の場合非常に小さいものであるため、メタデータの送信は、コンテンツアイテムのコンテンツ部分の送信を容易に扱うのに適していないネットワーク接続であっても、ユーザデバイスで利用可能な任意の適切なネットワーク接続を介して行われてもよい。同様に、メタデータのような、コンテンツ管理システムから受信されるイベンティングデータは、大抵の場合非常に小さく、任意の適切なネットワーク接続を介して受信されてもよい。
イベンティングデータは、当該イベントを説明し、コンテンツ管理システムで分類された他のイベントから当該イベントを区別するための、いくつかの個別のイベント属性を組み込んでもよい。したがって、イベンティングデータは、それらのコンテンツアイテムを閲覧、ソート、組織化、及び共有するための有用性をユーザが見つけることができる、固有のイベントID、イベント名、イベントタイムスタンプ、及び、イベントタグの少なくとも1つを含んでもよい。1以上のそれらのイベント属性は、ローカルのユーザデバイス上の”イベントビュー”のユーザインタフェースにおいて、当該イベントに関連付けられるコンテンツアイテムとともに表示されてもよい。
なお、以下、「デバイス(device)」及び「コンテンツ管理システム(content management system)」との用語は、この中で、広範なストレージプロバイダ及びデータ管理サービスプロバイダと、電子デバイスとユーザデバイスとを広く指すものとして用いられる。また、「コンテンツアイテム(content item)」との語は、この中で、広範なデジタルデータ、ドキュメント、テキストコンテンツアイテム、音声コンテンツアイテム、ビデオコンテンツアイテム、コンテンツアイテムの一部、及び/又は他の種類のデータを広く指すものである。コンテンツアイテムはまた、ファイル、フォルダ、又は、コンテンツアイテムのコレクション、プレイリスト、アルバムのような異なる振る舞いで一緒にコンテンツアイテムをグループ化する他の機構を含み得る。ここで、「ユーザ(user)」の語もまた、この中で広く用いられ、シングルユーザ、複数のユーザ、認証されたアカウント、代わりに自動的に動作する又は人間の命令により動作するアプリケーション又はプログラム、任意の他のユーザタイプ、又はこれらの任意の組み合わせに相当し得る。ここで、「ジェスチャ(gesture)」及び「複数のジェスチャ(gestures)」との語はまた、この中で広く用いられ、1以上の運動、動き、ホバリング、推論、サイン、又は1つ以上のセンサとの任意の他の物理的な相互作用、又は、発話によるコマンドや網膜の追跡に基づく目の動きの解釈などの、これらの任意の組み合わせに相当し得る。「連続するリアルタイム画像(continuous real−time image)」はまた、この中で広く用いられ、1つ以上のキャプチャコンポーネントを介してキャプチャされたライブ画像、キャプチャされた連続画像、記録された画像、又はキャプチャコンポーネントを介してキャプチャされ得る任意の他の種類の画像、又はこれらの任意の組み合わせに相当し得る。
本発明は、様々なコンポーネント及びコンポーネントの配置、様々な技術、方法、又はステップの手順と配置を具体化し得る。参照される図面は、実施の形態を説明することのみを目的としており、本発明を限定するものとして解釈されるものではない。それぞれが互いに独立して又は他の特徴との組み合わせにおいて用いることができる、様々な発明の特徴が以下に記載される。
図1は、様々な実施の形態に従う例示的なシステムを示す。システム100は、ネットワーク106を跨いでコンテンツ管理システム104と通信するユーザデバイス102aと102bとを含む。2つのユーザデバイスのみがシステム100内に示されているが、任意の数のユーザデバイスがコンテンツ管理システム104及び/又はネットワーク106と作用し、上述の説明は単なる例示であることを、当業者は認識する。
ネットワーク106は、伝送制御プロトコル及びインターネットプロトコル(「TCP/IP」)、ハイパーテキスト・トランスファー・プロトコル(「HTTP」)及び/又はワイヤレス・アプリケーション・プロトコル(「WAP」)を含み、但しこれらに限定されない、任意の数のプロトコルを含み得る。例えば、ユーザデバイス102aとユーザデバイス102b(まとめると102)とは、TCP/IPを用いてコンテンツ管理システム104と通信し、そして、上位レベルでは、コンテンツ管理システム104におけるウェブサーバとHTTPを用いて通信するために、ブラウザを用い得る。
様々なユーザデバイス102は、デスクトップコンピュータ、モバイルコンピュータ、モバイル通信デバイス(例えば携帯電話機、スマートフォン、タブレット)、テレビ、セットトップボックス、及び/又は、任意の他のネットワーク利用可能デバイス、を含む、但しこれに限定されない、コンテンツ管理システム104と通信する。様々なタイプのユーザデバイスは、スマートフォン、携帯電話機、タブレットコンピュータ、パーソナルデジタルアシスタント(PDAs)、ラップトップコンピュータ、デジタル音楽プレイヤ、及び/又は、タッチ感応式表示インターフェースを含むことができる、任意の他の種類のユーザデバイスを含む、但しこれに限定されない、ものであり得る。様々なタッチ感応式表示インターフェースは、液晶ディスプレイ(LCD)、モノクロディスプレイ、カラーグラフィックスアダプタ(CGA)ディスプレイ、エンハンストグラフィックスアダプタ(EGA)ディスプレイ、可変グラフィックスアレイ(VGA)ディスプレイ、任意の他のディスプレイ、を含む、又はこれらの任意の組み合わせを含む、但しこれに限定されない、ものであり得る。ある実施形態では、タッチ感応式ディスプレイインターフェースは、ジェスチャを受け付けて検出するために、1つ以上のプロセッサに接続されたマルチタッチパネルを含み得る。マルチタッチパネルは、例えば、1つ以上の行トレースを有し、及び/又はライントレースを駆動する、及び1つ以上の列トレースを有し、及び/又はラインを検知する、容量性の検知媒体であり得る。マルチタッチパネルは、この中でタッチ感応式ディスプレイインターフェースの1つの例として記載されるが、当業者は任意のタッチ感応式ディスプレイインターフェースが使用されることを認識する。更に、様々な種類のユーザデバイスは、ある実施形態では、1つ以上のキャプチャコンポーネントを含み得る。例えば、ユーザデバイス102は、前向きカメラ及び/又は後向きカメラを含み得る。
コンテンツ管理システム100は、ユーザが認証されたアカウントを使ってコンテンツを格納できるようにし、また、検索、修正、ブラウズ、同期及び/又は他のアカウントにコンテンツを共有するようなマネーメントタスクを実行する。いくつかの実施形態では、ユーザデバイス102上の対応するユーザインターフェース(例えばスタンドアロンアプリケーション、クライアントアプリケーション等)は、ユーザがコンテンツ管理システム104のモジュールによって提供される機能を実行することができるように、コンテンツ管理インターフェースモジュールを用いて実装され得る。システム100の更なる詳細な記載は、図13を参照して以下に示される。
図2A及び図2Bは、いくつかの実施形態に従った、イベントビューにおいてコンテンツアイテムを閲覧するためのユーザインタフェース200a、200bを示す。ユーザインタフェース200a、200bは、ユーザデバイス(例えば、図1のユーザデバイス102a)のディスプレイ上に表示され、コンテンツ管理アプリケーション(例えば、図1のコンテンツ管理アプリケーション114a)、及びユーザデバイス上にインストールされた他のアプリケーションの少なくとも1つを用いて生成されうる。特に、ユーザインタフェース200aは、ユーザデバイス上にインストールされたカメラアプリケーションによって生成され、ユーザインタフェース200aに表示されるコンテンツアイテム220は、カメラ(例えば、図1のカメラ138a)を用いて最近キャプチャされたものであってもよい。いくつかの実施形態において、コンテンツ管理アプリケーションは、画像をキャプチャするユーザインタフェースとユーザインタフェース200bで示されるようなイベントビューのユーザインタフェースとの間の容易なナビゲーションを許容する画像キャプチャ機能を含んでもよい。しかしながら、コンテンツ管理アプリケーションが画像キャプチャ機能を含む必要がなく、他の画像キャプチャアプリケーションを用いてキャプチャされた画像がイベントビューで閲覧するためのコンテンツ管理アプリケーションへ取り込まれてもよいことが理解されるべきである。
ユーザインタフェース200bは、論理的に定義されたイベントに従ってコンテンツアイテムを閲覧するための”イベントビュー”を図示している。イベントは、コンテンツアイテムに関連付けられた地理位置データ、タイムスタンプデータ、及び任意の他の適切な識別データに基づいて大まかに定義されてもよい。そのような識別データは、コンテンツアイテムのメタデータ部分に格納されてもよく、コンテンツアイテムがユーザによって手動で作成され、入力/編集されたいずれかのタイミングで自動的に生成されてもよい。コンテンツアイテムを個別のイベントに組織化する処理は、図7乃至図9を参照して後述する。
ユーザインタフェース200bは、イベント210、212に従って組織化され、表示されたコンテンツアイテム220−228を含んでもよい。特に、コンテンツアイテム220、222、224は、イベント210内に表示され、コンテンツアイテム226、228は、イベント212内に表示される。イベントキャプション211、213には、それぞれ、イベント210、212内に当該イベントの説明が表示される。イベントキャプション211、213は、イベント名、イベントタイムスタンプ、イベントに関連付けられるコンテンツアイテムの数などを含む、イベントの説明及び定義の一方を行う任意の適切なイベント属性を含んでもよい。イベント属性は、図7及び図8を参照して後述するように、例えば、イベントに関連付けられるコンテンツアイテムに関連付けられたメタデータ又は任意の他の適切なソースから抽出されうる。
いくつかの実施形態において、ユーザインタフェース200bは、ユーザのコンテンツアイテムを通じてブラウジングを容易にするようにスクロール可能であってもよい。ユーザは、ユーザインタフェース200bがタッチスクリーンが有効なデバイス上で又はユーザインタフェース機能(例えば、スクロールバー)を用いての少なくとも一方で表示されている場合に、ジェスチャ(例えば、スワイプアップやスワイプダウン)を用いてユーザインタフェースとやり取りすることによって、ユーザインタフェース200bの種々のイベント及びコンテンツアイテムを通じてスクロールしてもよい。ユーザインタフェース200bのイベントは、例えば、年代順などの任意の適切な順序で表示されてもよい。他の実施形態において、1つのイベントのみが一度にユーザインタフェース内に表示されてもよい。そのような実施形態において、ユーザは、当該特定のイベントのみに関連付けられたコンテンツアイテムを通じてスクロールすることが許容されてもよい。他のイベントは、ユーザインタフェースがタッチスクリーンが有効なデバイス上で又はユーザインタフェース機能(例えば、ナビゲート可能なメニュー)を用いての少なくとも一方で表示されている場合に、ジェスチャ(例えば、スワイプレフトやスワイプライト)を用いてユーザインタフェースとやり取りすることによってアクセス可能であってもよい。
コンテンツアイテム220−228は、それらがコンテンツ管理システム(例えば、図1のコンテンツ管理システム100)へアップロードされる前に、イベントデータに関連付けられてもよく、ユーザインタフェース200bのイベントビューにシームレスに表示されてもよい。ここで使用される用語”シームレス”とは迅速な時間期間で発生するイベントを言及していることを理解されるべきである。迅速な時間期間とは、イベントが即座に又は僅かな遅延のみで発生することを人間が経験するような十分に短いものであってもよい。例えば、いくつかの状況において、コンテンツアイテムを生成すること(例えば、カメラを介して画像をキャプチャすること)又はコンテンツアイテムを受信すること(例えば、共有イベントを介して)と、コンテンツ管理システムから受信されるイベントデータとともに表示されるコンテンツアイテムを経験することとの間の任意の遅延にユーザは気付かないかもしれない。したがって、ユーザのユーザデバイスが断続的なネットワーク接続及び制限されたネットワーク接続の少なくとも一方を有する場合であっても、それらのコンテンツがコンテンツ管理システムへ既にアップロードされているかのように、ユーザはローカルデバイス上のコンテンツアイテムを扱うことができる。
したがって、図2A及び図2Bに示される例示の実施形態において、コンテンツアイテム220がユーザデバイスのカメラを用いて最近ユーザがキャプチャした画像を表す場合、コンテンツアイテム220のメタデータ部分がコンテンツ管理システムへ送信されてもよい。メタデータは、例えば、地理位置情報(例えば、緯度及び経度の座標)、1以上の作成日時、アクセス日時、アップロード日時、及び共有日時の少なくとも1つなどの種々のタイムスタンプ(例えば、ユーザデバイスのローカルの時計に基づくタイムスタンプ又はニューヨークタイムプロトコル(”NTP”)などを介した信頼できるソースと同期されるタイムスタンプ)、共有データ(例えば、どのユーザとコンテンツアイテムが共有されたか)、アクセスデータ(例えば、コンテンツアイテムを現在閲覧しているユーザの数、及び/又はコンテンツアイテムがアクセス、共有及び/又はダウンロードが行われた回数)、ユーザデバイスを識別するデバイスID、ユーザデバイス上のコンテンツアイテムを識別するローカルID、及び、コンテンツアイテムから抽出されたコンテンツ(例えば、関連のある認識可能な顔、ランドマーク、オブジェクト、印刷した日時、コンテンツアイテムに関連付けられるタグなど)の特徴の少なくとも1つを含んでもよい。コンテンツ管理システムでメタデータが受信されるとすぐに、1以上のイベンティングアルゴリズムは、メタデータを解析し、イベントデータ(例えば、イベントID、イベント名、イベント場所、イベント日時など)をコンテンツアイテムへ割り当て、イベントデータをユーザデバイスへ返送する。イベントデータの受信に応じて、コンテンツアイテム220は、ユーザインタフェース220bのイベントビューに表示されてもよい。メタデータのアップロードとイベントデータのダウンロードとがほとんど瞬時に行われるため、制限されたネットワーク接続上であっても、コンテンツアイテム220は、ユーザが遅延を感じることなしに、そのイベントデータとともにシームレスに表示されうる。
図3は、いくつかの実施形態に従った、一時的なイベンティングに関連するオプションを選択するためのユーザインタフェース300を示す。ユーザインタフェース300は、カメラアップロードオプション302、使用セルラーデータオプション304、イベント更新(アップデート)オプション306、及びバックグラウンドアップロードオプション308を含む種々のユーザが選択可能なカメラアップロードオプションを表示する。オプション302−308は、ユーザデバイス上のコンテンツ管理アプリケーション(例えば、図1のユーザデバイス102のコンテンツ管理アプリケーション114a)内の設定オプション310にアクセスすることによってアクセス可能であってもよい。
カメラアップロードオプション302は、ユーザデバイス上の写真及びビデオがコンテンツ管理システム(例えば、図1のコンテンツ管理システム100)へアップロードされるかどうかをユーザが選択することを許容してもよい。種々の実施形態によれば、カメラアップロードオプション302を選択することは、ユーザデバイスのカメラを用いてキャプチャされた全ての写真及びビデオと、ユーザデバイスへ共有される全ての写真及びビデオ(例えば、電子メール、コンテンツ管理システム、SMS、MMS,サードパーティのソーシャルネットワーキングシステム等)との少なくとも1つ或いはユーザデバイスにより取得された他のもの(例えば、インタネットダウンロードを介して)の自動的なアップロードを開始してもよい。写真及びビデオなどのコンテンツアイテムをコンテンツ管理システムへアップロードすることは、コンテンツアイテムのバックアップを提供することと、コンテンツ管理システムを介して利用可能なコンテンツ管理機能を有効にすることとの両方について有益なものである。
使用セルラーデータオプション304は、写真及びビデオがユーザデバイスで利用可能なセルラーネットワーク接続を介してコンテンツ管理システムへアップロードされるかどうかをユーザが選択することを許容する。そのようなセルラーネットワーク接続は、例えば、EDGE、3G、及びLTEサービスを含んでもよい。使用セルラーデータオプション304が有効な場合、写真及びビデオの少なくとも一方は、ユーザデバイスで利用可能なセルラーデータ接続を介してコンテンツ管理システムへ自動的に又は手動でアップロードされうる。しかしながら、セルラーサービスプロバイダは大抵の場合セルラーネットワーク上でのデータの割り当てを超えた分について割増料金を課金し、セルラーネットワークは他のネットワーク接続(例えば、イーサネット及びWiFi)よりも遅い傾向にあるため、セルラーデータ接続上での可能性のある大容量のコンテンツアイテムを自動的にアップロードすることを許容するというアドバイスは不適切なものであろう。したがって、使用セルラーデータオプション304が無効の場合、ユーザデバイスは、イーサネット又はWiFiなどの非セルラーネットワーク接続がコンテンツ管理システムへコンテンツアイテムをアップロードする前に利用可能になるまで待機することになりうる。
イベント更新オプション306は、コンテンツアイテムがまだアップロードされていない場合であってもコンテンツ管理システムへアップロードされるようにキューに入れられたコンテンツアイテム用のイベンティングデータが更新されてもよいがどうかをユーザが選択することを許容する。したがって、イベントアップロードオプション306が有効の場合、コンテンツアイテムに関連付けられるメタデータはコンテンツ管理システムへ送信され、イベンティングデータは、コンテンツアイテムがまだアップロードされていない場合であってもコンテンツ管理システムから受信される。いくつかのケースにおいて、ユーザデバイスで利用可能なネットワーク接続がセルラーデータ接続のみである場合であってもイベンティングデータが更新されうる。コンテンツアイテムのメタデータ部分はコンテンツアイテムのコンテンツ部分よりも一桁ほど小さいため、セルラーネットワーク接続上でコンテンツアイテムのメタデータ部分のみを送信することは、全てのコンテンツアイテムを送信することと比較して、より少ない下降を引き起こすものである。例えば、JPEGのコンテンツ部分が数MBのサイズである一方で、JPEG画像を使用する際の典型的なメタデータの標準は、64kBのメタデータに制限される。この点は数十又は数百GBのサイズのビデオファイルの場合はなおいっそう劇的なものとなる。
イベント更新オプション306を起動することは、使用セルラーデータオプション304が有効であるかどうかに応じてユーザに利益を提供しうる。使用セルラーデータオプション304が無効であれば、ユーザデバイスがコンテンツ部分を送信するための適切な非セルラーネットワーク接続を待機して、キューに入れられたメタデータ部分がアップロードされうる。一方で、使用セルラーデータオプション304及びイベント更新オプション306が両方とも有効であれば、キューに入れられたコンテンツアイテムのメタデータの部分はコンテンツ部分から分離してアップロードされうる。いくつかの実施形態において、メタデータ部分は、コンテンツアイテムのコンテンツ部分よりも大きい任意のネットワーク帯域幅が利用可能になるとすぐに、かつ、当該ネットワーク帯域幅を用いる前に、イベンティングデータがコンテンツ管理システムから受信されうるように、優先順位が決定されうる。適切な非セルラーネットワーク接続が利用可能である場合であっても、コンテンツアイテムのコンテンツ部分を介してメタデータ部分のアップロードの優先順位の決定も使用されうることを理解されるべきである。
バックグラウンドアップロードオプション308は、ユーザデバイス上のコンテンツ管理アプリケーションを明示的に呼び出すことなく、コンテンツアイテムがコンテンツ管理システムへアップロードされるかどうかをユーザが選択することを許容する。バックグラウンドアップロードオプション308が有効な場合、ユーザデバイスは、適切なネットワーク接続が確認されるとすぐに、キューに入れられたコンテンツアイテムをコンテンツ管理システムへ自動的にアップロードしてもよい。例えば、使用セルラーデータオプション304が無効の場合、ユーザデバイスは、ユーザデバイスが適切な非セルラーネットワーク接続へ接続されるとすぐに、キューに入れられたコンテンツアイテムのコンテンツ管理システムへのアップロードを開始してもよい。使用セルラーデータオプション304が有効な場合、ユーザデバイスは、ユーザデバイスがセルラーデータ接続を含む任意のネットワーク接続へ接続されると、コンテンツ管理アプリケーションがユーザデバイス上でアクティブに動作していない場合であっても、ユーザデバイスはコンテンツアイテムをアップロードしてもよい。
いくつかの実施形態によれば、オプション302−308はユーザ選択が可能でなくてもよい。むしろ、コンテンツ管理アプリケーションは、オプション302−308の1つ以上をデフォルトの選択に固定するか、又は、オプション302−308の1以上を、例えば、コンテンツ管理アプリケーションがインストールされたユーザデバイスの種別(例えば、スマートフォン、タブレット、ラップトップコンピュータ、デスクトップコンピュータなど)、及び、コンテンツ管理システムでのユーザアカウントに関連付けられるサービスのレベル(例えば、ベーシック、エンハンスド、ビジネスなど)の少なくとも一方に基づいて自動的に選択されることを許容するかのいずれかが行われてもよい。
図4は、いくつかの実施形態に従った、一時的なイベンティング機能を提供する例示のコンテンツ管理システム400の高レベルのブロック図を示す。特に、図4のシステムは、それぞれ図1のコンテンツ管理システム100、ユーザデバイス102及びネットワーク106に対応する、ネットワーク接続を介してユーザデバイス402a、及びユーザデバイス402bへ接続されたコンテンツ管理システム400を含んでもよい。さらに、コンテンツ管理システム400は、ネットワーク接続を介して1以上のサードパーティのサーバと通信してもよい。
ユーザデバイス402aは、イベントビューを用いて、ユーザインタフェース410内にコンテンツアイテム(コンテンツアイテム420として参照される)を表示してもよい。ユーザインタフェース410及びコンテンツアイテム420は、例えば、図2のユーザインタフェース200bと、コンテンツアイテム220−228に対応し得る。コンテンツアイテム420は、ユーザデバイス420a上に存在するコンテンツアイテムを表し、コンテンツ管理システム400へアップロードするためにキューに入れられてもよい。
異なる位置のコンテンツアイテム420は、コンテンツ管理システム400へ個別に転送されてもよい。したがって、メタデータ部分420aは、抽出した特徴420b及びコンテンツ部分420cとは区別してアップロードされてもよい。コンテンツアイテム420の異なる部分がコンテンツ管理システム400へいつ、どのようにアップロードされるかは、ネットワーク条件とユーザが選択したオプション(例えば、図3のオプション302−308)に依存してもよい。単なる一例として、メタデータ420a及び抽出した特徴420bは、任意のネットワーク接続がユーザデバイスに利用可能となるとすぐにコンテンツ管理システム400へ送信されてもよく、一方で、コンテンツ部分420cは、ユーザがコンテンツ管理アプリケーションをユーザデバイス上で呼び出し、ブロードバンドネットワーク接続がユーザデバイス上で利用可能となることの両方に基づいて送信されてもよい。
部分420a−420cはコンテンツ管理システム400のインタフェースモジュール(例えば、図1のインタフェースモジュール104)で受信され、イベンティングモジュール432へ転送されてもよい。イベンティングモジュール432は、コンテンツアイテムデータベース436と、コンテンツアイテムデータベース436に格納された一時的なアイテム438及びコンテンツアイテム439を局所的に定義したイベントに組織化するイベンティングアルゴリズム434を実行するソフトウェアとを含んでもよい。ここで使用されるように、用語「一時的なアイテム」は、コンテンツ管理システムのメモリ(例えば、図1のデータストア118)に格納されたコンテンツアイテムの保留バージョンのことをいう。一時的なアイテムは、例えばメモリに格納されたコンテンツアイテムのコンテンツ部分に関連付けられない場合には、保留とみなされてもよい。つまり、一時的なアイテムは、ユーザデバイス402a上にアップロードするためにキューに入れられるコンテンツアイテムに関連付けられるメタデータ420a及び/又は抽出した特徴420bのみを含むものであってもよい。ここで使用するように、用語「コンテンツアイテム」は、コンテンツ部分及びメタデータ部分の両方を含むコンテンツに関連するファイル(例えば、画像ファイル、動画ファイル、音声ファイル、文書など)のフルバージョンのことをいう。一時的なアイテムは、フルのコンテンツアイテムの受領の前に、コンテンツ管理システムが少なくともいくつかのコンテンツ管理機能(例えば、イベンティング)を実行することを可能にするプレースホルダーとして使用されてもよい。
1以上のイベンティングアルゴリズムがコンテンツアイテムデータベース436に格納された一時的なアイテム438及び/又はコンテンツアイテム439の少なくとも1つに対して実行された後に、イベンティングモジュール432によって生成されるイベントデータは、イベントビューのユーザインタフェースを表し得るユーザインタフェース410のコンテンツアイテム420の閲覧を可能にするようにユーザデバイス402aへ送信されてもよい。イベントデータ440は、イベントデータ440の少なくとも一部がイベンティングアルゴリズムによって生成又は変更された後の任意の時間にユーザデバイス402aへ転送されてもよい。例えば、メタデータ420aの受領後に、イベンティングモジュール432は、少なくとも1つのイベント属性を生成し、ユーザデバイス402aへ返送してもよい。イベント属性の例は、コンテンツ管理システム400及びユーザデバイス402aの両方でイベントを識別する固有のイベントID、イベント名、イベントタイムスタンプ、イベントに現在関連付けられているコンテンツ数、及び/又は、ユーザがコンテンツアイテムを閲覧、ソート、組織化、及び共有するのに見つけやすい種々のイベントタグを含んでもよい。
いくつかの実施形態によれば、イベント属性は、コンテンツ管理システム400がイベントについて追加データを収集する場合に改良されてもよい。追加データは、コンテンツ管理システムに既に格納されている他のコンテンツアイテム及び/又はイベント、ユーザデバイス402aと同一のユーザアカウントに関連付けられる又は関連付けられていない第2のユーザデバイス402bに格納された類似のコンテンツアイテム及び/又はイベント、サードパーティのサーバに格納された類似のコンテンツアイテム/イベント、報道機関で議論された類似のイベント、1以上のカレンダーエントリと一致する類似のイベント、当該イベントに一致する共有のコンテンツアイテム、及び/又は、当該イベントに一致するコンテンツアイテムから抽出された特徴を含む、種々のソースから導出されてもよい。イベンティングモジュール432がイベントのイベント属性を改良するたびに、イベントデータがユーザデバイス402aへ送信されてもよい。いくつかの実施形態において、ユーザは、当該イベントがユーザデバイス402a上でどのように定義されるかに関して、イベント属性の他の改良を防ぐためにイベントをロックすることを許されてもよい。
図5は、いくつかの実施形態に従った、一時的なイベンティングための例示のコンテンツアイテムのデータベースの一部を示す。図4のコンテンツアイテムデータベース436に対応し得るコンテンツアイテムデータベース500は、イベントデータの一時的なアイテム及びコンテンツアイテムへの関連付けを作成するための種々のデータフィールドを含んでもよい。特に、コンテンツアイテムデータベース500は、ユーザアカウントIDフィールド502、ローカルIDフィールド504、グローバルIDフィールド506、コンテンツアイテムアドレスフィールド508、記述的メタデータフィールド510a−510m、イベントIDフィールド512、及びイベント属性フィールド514a−514nを含んでもよい。
コンテンツアイテムのメタデータ部分(例えば、図4のメタデータ420a)がコンテンツ管理システムで受信されると、イベンティングモジュールは、コンテンツアイテムデータベース500に既に格納されたデータとメタデータ部分を比較してもよい。例えば、イベンティングモジュールは、メタデータに関連付けられる一時的なアイテム又はコンテンツアイテムが既にコンテンツアイテムデータベース500に格納されているかどうかを判定するために、コンテンツアイテムデータベース500に既に格納されているメタデータエントリと、1つ以上のメタデータエントリ(例えば、ユーザアカウントID、ローカルID、及びタイムスタンプ)を比較してもよい。当該比較が一時的なアイテム又はコンテンツアイテムが既にコンテンツアイテムデータベース500に格納されていることを示す場合、イベンティングモジュールは、メタデータ部分とともに受信した任意の追加データを対応するエントリに組み込んでもよい。新たなデータが受信されなければ、メタデータ部分はイベントモジュールによって無視されてもよい。例えば、ユーザアカウントID、ローカルID、タイムスタンプ、及び地理位置情報を含むメタデータの追加セットは、ユーザデバイスに格納された特定のコンテンツアイテムと関連する初期のメタデータのアップロードへアップロードされてもよい。やがて、より多くのメタデータがコンテンツアイテムに関連付けられてもよく、当該メタデータはコンテンツアイテムデータベース500の空フィールドを満たするようにしようされるであろう。記述的メタデータ510a−510nは対応するコンテンツアイテムと関連付けれられるメタデータの種別を表す任意の数のメタデータフィールドを表すことが理解されるべきである。
イベンティングモジュールが一時的なアイテム又はコンテンツアイテムが既に受信したメタデータ部分に関連付けられていると判定する場合、新たな一時的なアイテムが作成されうる。新たな一時的なアイテムの作成は、コンテンツアイテムデータベース500の新たなエントリを作成することと、メタデータ部分とともに受信した任意の適切なデータをデータベースフィールドに追加することとを含む。したがって、特定の一実施例において、メタデータ部分の受領に応じて、コンテンツアイテムデータベース500の列2が、ユーザアカウントID=Lisa_Lorrentz、ローカルID=YD82V23H、タイムスタンプ=2013−10−30 T 22:42 UTC、及び地理位置情報=37.763236、−122.404642で追加されてもよい。列2に作成されたエントリは、コンテンツ管理システムのメモリに格納されたコンテンツ部分とまだ関連付けられていないため、一時的なアイテムとしてみなされてもよい。一方、列1に作成されたエントリは、コンテンツ管理システムのメモリに格納されたそのコンテンツ部分(その物理的又は論理的アドレスへの参照によって)と関連付けられているため、コンテンツアイテムとしてみなされてもよい。
一時的なアイテム又はコンテンツアイテムが作成されるとすぐに、イベンティングモジュールは、当該アイテムについて受信したメタデータ部分を解析し、イベンティングデータを生成することができる。イベンティングデータは、イベントIDフィールド512と、任意の数のイベント属性フィールド514a−514nとを含むことができる。例えば、列2のエントリに続いて、イベンティングモジュールはイベント関連フィールドに、イベントID=DT38X31R及びイベント名=Even and Paula’s Weddingを追加した。イベント関連フィールドはその後、イベントビューユーザインタフェース内の関連するコンテンツアイテムのレンダリングを直ちに行うために、ユーザデバイスへ返信する送信用にイベンティングデータにコンパイルされ得る。したがって、ユーザデバイスに格納され、列2に関連付けられるコンテンツアイテムは、コンテンツアイテムがEven and Paula’s Weddingに関連することを示すイベントビューに表示されうる。他のイベント属性フィールド514a−514nは、より多くのデータがコンテンツ管理システムの内部及び外部の種々のソースから受信される際に、追加され、それらの追加フィールが追加される際に、更新又は改良したイベンティングデータがイベントビューをさらに補強するためにユーザデバイスへ送信されてもよい。
コンテンツアイテムのコンテンツ部分がコンテンツ管理システムにアップロードされるとすぐに、コンテンツアイテムデータベース500の一時的なアイテムがコンテンツアイテムに変換されてもよい。一時的なアイテムをコンテンツアイテムへ変換することは、グローバルIDフィールド及びアドレスフィールドを追加することを含んでもよい。グローバルIDフィールドはコンテンツ管理システム上のコンテンツアイテムについて固有の識別子を表してもよい。グローバルIDが割り当てられた後に、それはユーザデバイスに送信され、当該コンテンツアイテムに関するユーザデバイスとコンテンツ管理システムとの間の将来の全ての対応がグローバルIDへの参照により行われうる。各コンテンツアイテムに固有のグローバルIDを割り当てることは、イベンティング、共有、編集及び他の機能の実行においてコンテンツ管理システムを支援することができる。アドレスフィールドは、コンテンツアイテムが実際に格納されるメモリの物理アドレス又は論理アドレスを簡単に反映したものであってもよい。
図6は、いくつかの実施形態に従った、一時的なイベンティングのための例示の処理600のフローチャートを示す。処理600はステップ601で開始され、コンテンツ管理システム(例えば、図1のコンテンツ管理システム100)へ接続されたユーザデバイス(例えば、図1のユーザデバイス102a)上のコンテンツアイテム(例えば、図2のコンテンツアイテム220)が識別されうる。識別されたコンテンツアイテムはコンテンツ管理システムへアップロードされるためにキューに入れられたコンテンツアイテム又はアップロードされるために将来キューに入れられるかもしれないコンテンツアイテムであってもよい。例えば、ユーザデバイス上にインストールされたコンテンツ管理アプリケーションは、ユーザデバイスでキャプチャされた及び/又は共有されたコンテンツアイテムを自動的にアップロードするために、ユーザにオプション(例えば、図3のカメラアップロードオプション302を介して)を与えてもよい。そのようなオプションが選択されれば、コンテンツアイテムはそれらが受信されるとすぐにアップロードのためにキューに入れられ、従って、同時に識別されうる。そのようなオプションが選択されなければ、ユーザは手動でコンテンツアイテムを識別してもよい。コンテンツアイテムは、例えば画像、ビデオ、オーディオファイル又は文書などの、コンテンツ部分及びメタデータ部分の両方を含む任意のコンテンツ関連フィールドであってもよい。
ステップ603で、識別されたコンテンツアイテムのメタデータ部分がコンテンツ管理システムへアップロードされてもよい。メタデータ部分をアップロードすることは、ユーザデバイスとコンテンツ管理システムとの間のネットワーク接続を介してメタデータ部分を送信することを含む。ネットワーク接続は、少なくとも小さい量のデータを転送するのに適した任意の接続であってもよい。適切なネットワーク接続が存在しなければ、メタデータ部分は適切なネットワーク接続が存在するそのようなタイミングまでアップロードのためにキューに入れられてもよい。いくつかの実施形態において、キューに入れられたメタデータ部分は、ユーザデバイスとコンテンツ管理システムとの間の大量の転送へ統合されてもよい。
ステップ605で、ユーザデバイスはコンテンツアイテムをイベントに割り当てるイベンティングデータを受信してもよい。上述したように、イベントはコンテンツアイテムの論理セットを表してもよい。このように、図5を参照すると、イベントは、”Event & Paula’s Wedding”又は”Dinner at Marlowe”に関連付けられる全てのコンテンツに対して割り当てられるかもしれない。ユーザデバイスで受信したイベンティングデータは、コンテンツ管理システム上で定義される他のイベントから区別される、イベントを識別する固有のイベントIDを含んでもよい。イベンティングデータの調整中に、イベンティングモジュールが2つの固有のイベントIDが同一のイベントを参照することを決定した場合、イベントIDは統合され、統合されたイベントIDに関連付けられるイベント属性がイベンティングモジュールによって使用されるイベンティングアルゴリズムに従って統合及び/又は合成されてもよい。
ステップ607で、コンテンツアイテムは、割り当てられたイベント内にユーザデバイス上で表示されてもよい。したがって、ユーザがイベントビュー(例えば、図2のユーザインタフェース200b)を有するユーザインタフェースでコンテンツアイテムを閲覧する場合、コンテンツアイテムは、同一のイベントに割り当てられた他のコンテンツアイテムとともに、表示されてもよく、コンテンツ管理システムから受信した少なくともいくつかのイベンティングデータがユーザへ表示されてもよい。コンテンツアイテム自身がメタデータアップロード及び/又はイベントデータのダウンロードステップを用いてコンテンツ管理システムへアップロードされる前であっても、ユーザはイベントビューでコンテンツアイテムを閲覧することが許可されうる。メタデータ及びイベントデータが早急に送信されるため、相対的に遅いネットワーク接続上であっても、ユーザはイベントビューへのシームレスなコンテンツアイテムの統合を感じるであろう。いくつかの実施形態において、コンテンツアイテムは、ユーザデバイスのユーザがシームレスに見える時間期間内(例えば、100ms未満、1秒未満、又は10秒未満)にイベントビューに表示されることが可能であってもよい。
ステップ609で、コンテンツアイテムのコンテンツ部分が、コンテンツ管理システムへアップロードされてもよい。コンテンツ部分のアップロードをスケジューリングすることは、ユーザデバイスで利用可能なネットワーク条件に依存してもよい。例えば、コンテンツ部分が、高速ネットワーク信号(例えば、WiFi)が利用可能になるまでアップロードするためにキューに入れられてもよい。さらに、アップロードをスケジューリングすることは、コンテンツ部分のコンテンツのサイズ及び/又は種別に依存してもよい。例えば、ユーザデバイスは、高速ネットワーク信号が画像又はビデオをアップロードするために提供されることが必要とされる一方で、セルラーデータ信号へのアクセスのみを伴う、文書のコンテンツ部分をアップロードしてもよい。
図7は、いくつかの実施形態に従った、一時的なイベンティングのための例示の処理700のフローチャートを示す。処理700は、ステップ701で開始され、コンテンツ管理システムがユーザデバイスからコンテンツアイテムのメタデータ部分を受信してもよい。メタデータ部分は、例えば、作成時刻のタイムスタンプ、地理位置情報、方向、ローテーション、タイトル、及び/又はコンテンツアイテムに関連する任意の他の属性若しくはデータを含んでもよい。いくつかの実施形態において、メタデータ部分は、インタフェースモジュール(例えば、図1のインタフェースモジュール104)で受信されてもよく、コンテンツ管理システムのイベンティングモジュール(例えば、図4のイベンティングモジュール430)へ転送されてもよい。
ステップ703で、イベンティングモジュールは、コンテンツアイテムデータベースの一時的なアイテムエントリを作成してもよい。最初に作成した際に、一時的なアイテムエントリを表すデータベースのフィールドがユーザデバイスから受信したメタデータ部分の全て又は一部(例えば、ユーザアカウントID、ローカルID、タイムスタンプ、及び地理位置情報)で追加されうる。一時的なアイテムエントリは、対応するコンテンツ部分がコンテンツ管理システムへアップロードされたとき及び場合に置換される、一時的なデータベースのエントリであってもよい。
一時的なアイテムエントリが作成されるとすぐに、ステップ705で、イベンティングモジュールは、少なくともメタデータ部分に基づいて、イベントデータを一時的なアイテムエントリに割り当ててもよい。一時的なアイテムエントリへイベントデータを割り当てることは、メタデータ部分内に含まれるデータに少なくとも1つのイベンティングアルゴリズムで実行することを含んでもよい。イベンティングアルゴリズムは、イベントセット又は論理セットへ一時的なアイテムをグループ化するために、イベントデータを一時的なアイテムへ割り当ててもよい。当該イベントは、例えば、特定の時刻及び/又は位置範囲に関連付けられる全てのコンテンツアイテム(及び一時的なアイテム)を含んでもよい。
ステップ707で、コンテンツ管理システムは、イベントデータを利用するユーザインタフェース内でのコンテンツアイテムの予期される描画のために、イベントデータをユーザデバイス(例えば、図1のユーザデバイス102a)へ送信してもよい。イベントデータは任意の適切なネットワーク(例えば、図1のネットワーク106)を介して、かつ、任意の適切なネットワーク接続(例えば、セルラーデータ接続、WiFi接続又はイーサネット接続)を介して送信されてもよい。メタデータ部分の受信、一時的なアイテムの作成、イベントデータの割り当て、及びイベントデータの送信は非常に迅速に完了されるため、ユーザデバイスのユーザは即座に見れる方法でイベントデータを利用するユーザインタフェース内でコンテンツアイテムを閲覧することができる。したがって、ユーザデバイスのユーザは、ユーザデバイス上に存在するコンテンツアイテムがコンテンツ管理システムへまだアップロードされていなくとも、ユーザデバイスがコンテンツ管理システムとシームレスに相互に接続されていると感じるであろう。
図8は、いくつかの実施形態に従った、イベントデータをユーザデバイスへ提供するための例示の処理800を示す。処理800はステップ801で開始され、コンテンツ管理システムのモジュール(例えば、図4のイベンティングモジュール432)は、ユーザデバイスから、地理位置データ及びタイムスタンプデータを含む、メタデータを受信してもよい。地理位置データは、上述したように、コンテンツアイテムのメタデータ部分の一部として受信されていてもよい。コンテンツ管理システムは、その後、以下で詳細に説明するように、地理位置データ及びタイムスタンプデータの少なくとも1つに基づいて、イベントデータをコンテンツアイテムへ割り当ててもよい。
ステップ803で、イベンティングモジュールは、タイムスタンプデータのイベント時間期間内でタイムスタンプデータを有するデータベースエントリについて、コンテンツアイテムデータベース(例えば、図5のコンテンツアイテムデータベース500)を解析してもよい。イベント時間期間は、イベントに既に関連付けられたコンテンツアイテム又は一時的なアイテムに関連付けられるつい最近のタイムスタンプから延長する、コンテンツ管理システムが定義する時間期間であってもよい。したがって、定義された時間期間が1時間であれば、イベントに対するイベント時間期間がイベントに関連するコンテンツアイテムに関連付けられるつい最近のタイムスタンプを超えて1時間延長してもよい。
タイムスタンプデータがイベント時間期間内であれば処理800はステップ805に進み、イベンティングモジュールは、地理位置データ及びがイベントに関連付けられるイベント地理位置情報から定義された範囲内であるか否かを判定してもよい。時間的に互いに近接するものの異なる位置に生成された2つのコンテンツアイテムが2つの区別されたイベントへ属するように最適に分類化されうるため、イベンティングモジュールは、あるイベントに関連付けられる他のコンテンツアイテムから離れた距離に定義されて生成されたコンテンツアイテムを第2のイベントへ分類化してもよい。例えば、互いに短い時間期間内(例えば、30分)で、ユーザデバイス(例えば、図1のユーザデバイス102a)によって生成された2つの画像が考慮される。地理位置データは第1の画像がオフィスビルで生成され、第2の画像がオフィスビルからいくらかの距離(例えば、5マイル)の球技場で生成されたことを示す場合、コンテンツ管理システムは、これらの画像が異なるイベントに属するように結論付けてもよい。
タイムスタンプデータ又は地理位置データの何れかがコンテンツアイテムが新たなイベントへ割り当てられるべきことを示す場合、コンテンツ管理システムは、ステップ805で、新たなイベントを作成してもよい。新たなイベントを作成することは、少なくとも一部のメタデータ(例えば、ローカルID、ユーザアカウント情報、地理位置データ、タイムスタンプデータ、及び/又は任意の他の適切なメタデータ)を含み、かつ、コンテンツ管理システム上に既に存在する他のデータを含まない一時的なアイテムエントリを、コンテンツ管理データベースに生成することを含んでもよい。一方で、タイムスタンプがタイムスタンプデータのイベント時間期間内であり、かつ、地理位置データが定義された範囲内であれば、一時的なアイテムエントリを作成した後に、イベンティングモジュールは、ステップ809で、イベントに関連付けられるデータベースに既に存在するデータを有する、少なくとも1つのイベント属性フィールドのエントリ(例えば、少なくともイベントIDフィールド)を追加することによって、一時的なアイテムをイベントに追加してもよい。
ステップ811で、コンテンツ管理システムは、イベントデータをユーザデバイスへ送信してもよい。上述したように、コンテンツ管理システムは、コンテンツアイテムのコンテンツ部分を受信する前に、イベントデータをユーザデバイスへ送信してもよい。この方法で、ユーザは、コンテンツアイテムを生成し閲覧する間の遅延を感じることなく、ユーザデバイス上でイベントのコンテンツアイテムを閲覧することが許されるであろう。
図9は、いくつかの実施形態に従った、イベントデータをユーザデバイスへ提供するための例示の処理900を示す。処理900はステップ901で開始され、コンテンツ管理システムのモジュール(例えば、図4のイベンティングモジュール432)は、ユーザデバイスから、地理位置データ及びタイムスタンプデータを含む、メタデータを受信してもよい。地理位置データは、上述したように、コンテンツアイテムのメタデータ部分の一部として受信されていてもよい。つまり、地理位置データはいくつかの実施形態に従った、一時的なイベンティングのために使用されてもよい。地理位置データは、コンテンツアイテムに関連付けられる位置を表すための、任意の適切なデータ(例えば、国、領域、市、郵便/zipコード、緯度、経度、及び/又は時間ゾーン)であってもよい。地理位置データは、インターネットプロトコル(IP)アドレス及び/又はコンテンツアイテムを生成したユーザデバイスに関連付けられるMACアドレスに関連付けられる位置、WiFiポインティングシステム若しくはGPSシステムを用いて決定された位置、又は、ユーザが開示した位置情報を含む、任意の適切なソースから導出されてもよい。
ステップ903で、イベンティングモジュールは、地理位置情報がホーム(家)の定義された範囲内であるかどうかを判定してもよい。ユーザのホームの位置は、ユーザ提供のアドレスを用いること、或いは、アカウントに関連付けられるユーザデバイスが夜に位置する位置を含む多数の要因を解析することによってユーザのホームの位置を判定することができる、コンテンツ管理システムによって実行されるアルゴリズムを用いることなどの、適切な方法を用いて定義されてもよい。さらに、コンテンツ管理システムは、ユーザが多くの時間(例えば、仕事)を費やす他の場所がホームの位置と同様に考慮されるように、ユーザに対して1以上の”ホーム”の位置を定義してもよい。ホームの定義される範囲がまた、ユーザ又はシステムによって定義されてもよい。したがって、コンテンツ管理システムが、ユーザが費やす時間の多くの割合(例えば、95%又はそれ以上)の範囲内で上記範囲を定義してもよいし、或いは、ユーザが上記範囲を定義してもよい(例えば、5マイルの範囲内)。
コンテンツアイテムの地理位置情報がホームの定義した範囲内であると判定されると、イベンティングモジュールは、ステップ905で、イベンティングデータをコンテンツアイテムへ割り当てるためのデフォルトの時間期間を使用してもよい。いくつかの実施形態において、デフォルトの時間期間は、定義した範囲(例えば、25マイル)の範囲内で地理位置情報とともに第1のコンテンツアイテムに関連するメタデータの受信から開始し、かつ、予め定義された時間期間(例えば、1時間)を延長する時間期間として定義されてもよい。他の実施形態において、デフォルトの時間期間は、定義した範囲の範囲内で地理位置情報とともに第1のコンテンツアイテムに関連するメタデータの受信から開始し、かつ、予め定義された時間期間(例えば、1時間)の範囲内で追加のコンテンツアイテムが受信される間継続する時間期間として定義されてもよい。それらがホームの定義された範囲の範囲内の位置に関連付けられることを示す地理位置情報のメタデータを有するコンテンツアイテムについてのデフォルトの時間期間を使用することは、ホームの近くで行われる単一のイベント(例えば、夕食又は映画)が短い時間期間上で行われる場合に一般的により良く概念化されうるため、適切となりうる。一方、ホームから遠くで行われるイベント(例えば、ヨーロッパへの旅行)は、長い時間期間上で最良に概念化され、ホームから遠くでのイベントに関連付けられる全てのコンテンツアイテムが一連のバラバラのイベントへ組織化される代わりに、1つのイベントへ組織化される。
地理位置情報がホームの定義された範囲の範囲内でなければ、コンテンツ管理システムは、ステップ907で、コンテンツアイテムが新たなホームの位置と関連付けられるかどうかを判定してもよい。当該判定はユーザデバイスから生成されたコンテンツアイテム及び/又はユーザから受信した入力に関連付けられる地理位置データのパターンを用いて行われうる。例えば、コンテンツ管理システムが受信した地理位置データのパターンに変化を検知した場合、ユーザが新たなホームの位置を有するかどうかを判定するために、キューがユーザデバイスへ提供されてもよい。地理位置情報が新たなホームの位置に関連付けられる場合、処理900はステップ905に進み、デフォルトの時間期間を使用する。しかしながら、地理位置情報が新たなホームの位置に関連付けられていなければ、処理900はステップ909に進み、延長した時間期間がコンテンツアイテムへ適用されてもよい。上述したように、延長した時間期間は、デフォルトの時間期間よりも長くてもよく、ホームから離れた位置に関連付けられるコンテンツアイテムは1つの論理イベントとともにグループ化される。
ステップ911で、コンテンツ管理システムは、コンテンツアイテムに関連付けられる地理位置データとタイムスタンプデータとが一致するイベントが既に存在しているかどうかを判定してもよい。一致するイベントが存在するかどうがを判定することは、コンテンツアイテムに関連付けられるタイムスタンプデータが既に存在するイベントのイベント時間期間の範囲内であるかどうかを判定することを含んでもよい。いくつかの実施形態によれば、既に存在するイベントのイベント時間期間は、デフォルトの時間期間又は延長した時間期間の何れかと等しい時間期間について、必要に応じて、既にイベントに関連付けられているコンテンツアイテムに関連付けられるつい最近のタイムスタンプから、延長するように定義されてもよい。例えば、デフォルト時間期間(例えば、1時間)がコンテンツアイテムを分類化するために適用される場合、当該コンテンツアイテムは、当該イベントのコンテンツアイテムのつい最近のタイムスタンプが1時間未満の間に生成されたことを示す場合であっても、既に存在するイベントに割り当てられるであろう。
さらに、コンテンツアイテムは、地理位置データがイベントに関連付けられるイベントの地理位置情報からの定義された範囲の範囲内であることを必要としてもよい。特に、コンテンツ管理システムは、受信した地理位置情報とタイムスタンプのデータに一致するイベントが既に存在するかどうかを判定するために、イベントデータを含むデータベース(例えば、図5のコンテンツアイテムデータベース500)を通じて検索してもよい。イベントの地理位置情報は、例えば、イベントに関連付けられるコンテンツアイテムについて平均的な位置を表してもよい。イベント地理位置情報から定義された範囲は、地理位置情報がコンテンツアイテムがホームの定義された範囲の範囲内又は範囲外で生成されたことを示すことに依存して変化してもよい。つまり、ユーザのホームの領域外である地理位置データについて、定義されたイベントの地理位置情報の範囲は、地理位置データがコンテンツアイテムがユーザのホームの領域の範囲内で生成されたことを示す場合よりも長くされてもよい。いくつかの実施形態において、イベントの地理位置情報の範囲は、ユーザのホームの位置からの距離の関数として変化してもよい。一実施形態において、地理位置データがコンテンツアイテムがイベント地理位置情報の外部で生成されたことを示す場合にコンテンツアイテムがイベント時間期間の範囲内で生成された場合であっても、コンテンツ管理システムは、当該コンテンツアイテムを新たなイベントへ割り当ててもよい。
イベントが既に存在する場合、当該イベントに関連付けられるイベントデータは、ステップ913で、地理位置情報及びタイムスタンプデータと関連付けられるコンテンツアイテムと関連付けられてもよい。イベントデータを割り当てることは、図7を用いて上述したように、地理位置情報及びタイムスタンプデータを含むコンテンツアイテムに関連付けられるメタデータを用いて、コンテンツアイテムデータベースの一時的なアイテムエントリを作成することと、当該イベントに関連付けられるデータベースに既に存在しているデータでイベント属性フィールドを追加することとを含む。
イベントが既に存在しているのでなければ、コンテンツ管理システムはステップ915で新たなイベントIDを作成することができる。新たなイベントIDを作成することは、当該イベントを識別する固有の識別子でデータベースのイベントIDフィールドを追加することを含んでもよい。ステップ917で、コンテンツ管理システムは、任意の適切な利用可能データでイベントに関連付けられるイベント属性を編集してもよい。例えば、イベントの位置及び時間と関連付けられるイベント属性フィールドは、コンテンツアイテムと関連付けられる地理位置情報及びタイムスタンプデータに基づいて更新されてもよい。他のイベント属性フィールド(例えば、イベント名、イベントに関連付けれるコンテンツアイテム数、イベントに関連付けられる人々の名前及び/又は顔、イベントに関連付けられるコンテンツアイテムを生成するために使用されるユーザデバイス等)はまた、コンテンツ管理システムで受信したメタデータ部分とともにそのようなデータが含まれる場合に追加さてもよい。
イベントが既に存在するか、或いは、イベントがちょうど作成されたかにかかわらず、イベントデータがステップ919でユーザデバイスへ送信される。当該イベントデータは、イベントビューのユーザインタフェース(例えば、図2のユーザインタフェース200b)へのコンテンツアイテムのレンダリングを早めるためにユーザデバイス上で使用されうる。いくつかのケースで、イベントビューのレンダリングは、ユーザデバイスのユーザに対して、即時のものであるか及び/又はシームレスに現れうる。
ステップ921で、コンテンツ管理システムは、イベントがロックされたかどうかを判定してもよい。イベントがロックされれば、処理900はステップ923で終了する。例えば、追加のイベントデータが当該イベントに関連付けられないようにユーザがイベントを手動でロックするか、或いは、イベントが最後に更新されてから予め定義された時間期間(例えば、2年)が過ぎた場合に、イベントがロックされてもよい。
イベントがロックされていなければ、イベントデータはステップ925で改良されうる。イベントデータを改良することは、特定のイベントについてコンテンツ管理システムによって取得される追加データを組み込むことを含む。ユーザデバイスから受信される追加のコンテンツアイテム、コンテンツ管理システムに登録された他のユーザアカウントに関連付けられる追加のコンテンツアイテム、ユーザと共有したコンテンツアイテム、サードパーティサーバ(例えば、ソーシャルネットワーキングアプリケーション又は検索エンジンでアクセス可能なインターネットウェブページ)上に位置する追加のコンテンツアイテム、イベントに関連付けられる新たなストーリーから抽出した情報、及び/又は、コンテンツ管理システムによって前もって認識される特徴と一致するコンテンツアイテムから抽出した特徴(例えば、顔、ランドマーク、オブジェクト等)を含む、追加データが、任意の多くのソースから受信されてもよい。イベントデータが改良された後、処理900はイベントデータを編集するためにステップ917へ戻る。イベントデータはイベントに関連付けられるコンテンツアイテムごと、又は、イベントに関連付けられるコンテンツアイテムのサブセットごとに更新されうる。
イベントがロックされない限りは、ステップ921、925、917、及び919が繰り返される(例えば、継続的に、定期的に、及び/又はコンテンツ管理システムで新たなデータを受信するたびに)。
図10は、いくつかの実施形態に従った、イベントデータを改良するための例示の処理1000のフローチャートを示す。具体的には、処理1000は、特定のイベントに関連付けられるデータを増やす又は変更するために使用されうるデータについてイベントデータのソースを検索することによってイベントデータを更新及び/又は改良するために使用されうる。処理1000はステップ1001で開始され、コンテンツ管理システムのイベンティングモジュール(例えば、図4のイベンティングモジュール432)は、コンテンツアイテムデータベース(例えば、図4のコンテンツアイテムデータベース436)に格納されたコンテンツアイテム又は一時的なコンテンツアイテムと関連付けられるイベントデータを解析してもよい。イベントデータを解析することは、特定のイベントについてのイベント属性(例えば、イベントID、イベント名、イベント地理位置情報、イベントタイムスタンプ)を解析することと、それらのイベント属性に基づいて検索タームを定義することとを含んでもよい。
ステップ1003で、イベンティングモジュールは、類似のイベントがコンテンツ管理システムで発見されたかどうかを判定してもよい。いくつかの実施形態において、イベンティングモジュールは、ステップ1001で生成された検索タームを用いて、コンテンツ管理システム上のユーザアカウントに対して格納されたコンテンツアイテムに関連付けられる類似のイベントデータを検索してもよい。このように、ユーザアカウントに関連付けられるコンテンツアイテムについて区別して定義されたイベントが処理1000を用いて統合されてもよい。ユーザのアカウントに対して格納されたコンテンツアイテムと関連付けられたイベントデータを用いてイベントを統合することは、統合されるべきコンテンツアイテム/一時的なアイテムの全てについての、単一のイベントID、イベント名、イベントタイムスタンプ、及びイベント地理位置情報を選択することを含んでもよい。
一実施例として、ユーザがヨーロッパの複数の都市への旅行を行う場合、当初は、種々の市に関連付けられるコンテンツアイテム、及び/又は同一の市で過ごす異なる時間期間に関連付けられるコンテンツアイテムが種々のイベントへ割り当てられてもよい。ステップ1003で、イベンティングモジュールはそれらの種々のイベントが統合されるべきであるかを判定してもよい。したがって、イベントIDは統合されるべき全てのコンテンツアイテムと関連付けられてもよく、単一のイベント名は統合されるイベント(例えば、”ミラン”の代わりに”ヨーロッパ旅行”)を反映するように生成されてもよく、タイムスタンプ及び地理位置情報フィールドは当初定義された統合されていないイベントよりも長い時間期間やより大きい地理位置領域上で行われるイベントを反映するように更新されてもよい。単一のイベントがまた種々のイベントへ分割されるかもしれないということが認識されるべきである。
いくつかの実施形態において、当初定義されたイベントデータはサブイベントとして保有されてもよい。したがって、上述の例では、ヨーロッパ旅行に関連付けられる全てのコンテンツアイテムはまた、より詳細にイベントを定義するサブイベントと関連付けられてもよい。そのようなサブイベントは細かさの任意の適切なレベルで定義されてもよい(例えば、”デフォルト”の時間期間を用いて、特別な”旅行サブイベント”の時間期間を用いて、及び/又は当初定義されたイベンティングデータを単に保有することによって)。
いくつかの実施形態において、イベンティングモジュールはステップ1001で生成された検索タームを用いて、コンテンツ管理システムに登録された他のユーザアカウントに関して最初に格納されたコンテンツアイテム/一時的なアイテムについて定義された類似のイベントについて検索してもよい。したがって、イベンティングモジュールは、コンテンツ管理システム上で定義された類似のイベントを発見するために、ユーザ自身のコンテンツアイテム/一時的なアイテム以外を検索してもよい。コンテンツ管理システムに定義された類似のイベントを発見することは、ステップ1001で生成された検索タームと、他のユーザのコンテンツアイテム/一時的なアイテムで定義されたイベントデータとを比較することを含んでもよい。
イベントモジュールがコンテンツ管理システム上に類似のイベントを発見したかどうかに従い、イベントモジュールは、ステップ1005で、類似のイベントがサードパーティサーバで発見されたかどうかを判定してもよい。コンテンツ管理システムへアクセス可能な任意のサードパーティサーバは、1以上の類似のイベントを発見するために検索されてもよい。サードパーティサーバは、ソーシャルネットワーキングサイト、ファイル共有サイト、又は例えばコンテンツアイテムをイベント若しくはアルバムなどの論理グループに配置する任意の他のサイトのサーバであってもよい。いくつかの実施形態において、ユーザは、コンテンツ管理システム内での情報の共有及び強固なイベンティングを容易にするために、1以上のサードパーティサーバへアクセスするためのクレデンシャルをコンテンツ管理システムへ提供してもよい。
イベンティングモジュールはその後、ステップ1007で、類似のイベントが新たなサービスで議論されているかどうかを判定してもよい。新たなサービスで議論される新たなアイテムへのイベントのマッチングを行うことは、検索タームを新たなアイテムで発見されたテキスト文字列へマッチングすることを含んでもよい。ここで使用するように、新たなサービスは、現在のイベントを記録する情報の任意のオンラインソース(例えば、新聞のオンラインアウトレット、街ウェブサイト、ローカルコミュニティウェブサイト、アーティストのウェブサイト、フォーラム等)のことをいう。したがって、音楽ショーなどのイベントが例えばローカルの新聞のオンライン記事で銀されていれば、イベンティングモジュールは、記事にアクセスし、イベントのイベント属性へ組み込むためのイベントについての詳細を取り出してもよい。
イベンティングモジュールはその後、ステップ1009で、類似のイベントがカレンダエントリに一致するかどうかを判定してもよい。イベントと類似のカレンダエントリとのマッチングは、カレンダエントリに含まれる情報(例えば、時刻、場所、要因、説明など)と検索タームとを比較することを含んでもよい。イベンティングモジュールによって検索されたカレンダは、コンテンツ管理システムに格納されたユーザのカレンダ、ユーザデバイスに格納され、かつ、コンテンツ管理システムにアクセス可能なユーザのカレンダ、及び/又は、コンテンツ管理システムにアクセス可能な任意の他のカレンダ(例えば、他のユーザのクライアントベースの又はコンテンツ管理のカレンダ)であってもよい。従って、検索タームがそのようなカレンダエントリと一致する場合、カレンダエントリに格納された任意の他の情報がイベントのイベント属性へ組み込まれるために取り出されうる。
イベンティングモジュールはその後、ステップ1011において、共有のコンテンツアイテムがイベントと一致するかどうかを判定してもよい。共有のコンテンツアイテムは、コンテンツ管理システムを介して、電子メールを介して、又は、ソーシャルネットワーキングサイトを介して、などを含む、任意の適切な方法でユーザのアカウントと共有されてもよい。共有のコンテンツアイテムがイベントと一致する場合、共有のコンテンツアイテムについて定義されたイベント属性は、イベントの属性を編集及び/又は更新するために使用されうる。したがって、友人が”Even and Paula’s Wedding”からの写真を当該ユーザと共有する場合、イベンティングモジュールは、イベントの属性へ組み込まれるべき任意の追加情報を発見するために写真のメタデータを通じて解析してもよい。
さらに、イベンティングモジュールは、ステップ1013で、イベントに関連付けられるコンテンツアイテムから抽出された任意の特徴がコンテンツ管理システムに格納された他のコンテンツアイテムから抽出された類似の特徴と一致するかどうかを判定してもよい。抽出した特徴は、コンテンツ管理システムによって、認識される顔、ランドマーク、及び/又は他のオブジェクトであってもよい。イベンティングモジュールは、コンテンツ管理システム内の抽出された特徴を認識して組織化するために、任意の適切な顔/オブジェクト認識ソフトウェアを採用してもよい。
検索タームがステップ1003乃至1013において、他の類似のイベントの1以上の属性と一致する場合、処理1000はステップ1015に進み、イベンティングモジュールは、類似のイベントが実際に同一のイベントであるかを検証してもよい。イベントが同一のイベントであるかを検証することは、一致度に関する信頼性スコアを判定するために、ステップ1001で生成された検索タームと、類似のイベントのイベント属性とをマッチングすることを含んでもよい。一般に、検索タームが類似のイベント属性とより密接に一致する場合、より高い信頼性スコアが当該一致に割り当てられてもよい。信頼性スコアが定義された信頼性の閾値に到達すると、イベンティングモジュールは、2つのイベントが同一のイベントであると判定し、処理1000はステップ1017へ進む。信頼性スコアが定義された信頼性の閾値に到達しない場合は、処理1000はステップ1019へ進む。
いくつかの実施形態において、イベンティングモジュールは、信頼性スコアを増加又は減少させるために追加のデータを使用してもよい。追加のデータは、例えば、ユーザ及び他のユーザがどのくらい密接であるかの測定値、及び/又は、ユーザのイベントに関連付けられたコンテンツアイテムから抽出した特徴(例えば、顔、オブジェクト、ランドマーク等)が類似のイベントに関連付けられたコンテンツアイテムから抽出された特徴と一致するかどうかを含んでもよい。イベンティングモジュールは、互いのユーザとの共有履歴や、コンテンツ管理システムの他ユーザとの共有履歴を解析することによって、及び/又は、ソーシャルネットワークキングサイトからの利用可能なデータを解析することによって判定するように、二人のユーザがどのくらい密接であるかを判定してもよい。
ステップ1017で、イベンティングモジュールは、イベントと類似のイベントとの間でイベントデータを相互に更新してもよい。イベントデータを相互に更新することは、コンテンツアイテムデータベースのイベントに関連付けられる全てのコンテンツアイテム及び一時的なアイテムについて定義されるイベントデータを相互に参照することと、必要に応じてイベントデータを更新することとを含んでもよい。例えば、任意の未追加又は外部のデータのイベント属性フィールドが、類似のイベントに関して格納され発見された情報に基づいて、コンテンツアイテムデータベースに更新されうる場合、イベンティングモジュールは、解析するステップにおいて、それらのフィールドを更新することができる(その逆もまた同様である)。ステップ1001乃至1007は継続的又は定期的にループして実行され(イベントがロックされない限り)、できる限りより良いイベントを維持するために、新たな利用可能な情報がイベンティングデータに組み込まれてもよい。
特定の一実施例において、ユーザは、例えばコンテンツアイテムのイベント名メタデータフィールドを編集することによって、ユーザデバイス上に1つのコンテンツアイテムをイベント名でタグ付けしてもよい。イベンティングモジュールは、イベント名を受信し、ユーザによって提供されたイベント名タグを有する当該イベントに関連付けられる全てのコンテンツアイテムについてイベント名のイベントフィールドを追加又は編集の何れかを実行することができる。他の実施例において、他のユーザのコンテンツアイテム/一時的なアイテムと関連付けられるイベントについてのイベント属性は、ユーザのコンテンツアイテム/一時的なアイテムと関連付けられる同一のイベントについてのイベント属性よりもより完全に追加されてもよい。さらに他の実施例において、外部ソースから抽出された情報(例えば、インターネット上に投稿されたニュース記事)は、イベントのイベント属性を満たす又は更新するために使用されてもよい。
ステップ1019において、イベンティングモジュールは、追加の1以上のコンテンツアイテムをスーパーイベントに追加するかどうかを判定してもよい。スーパーイベントは、1つのユーザアカウントよりも多くに定義された単一のイベントを表す。一実施例として、ステップ1003でユーザのイベントがコンテンツ管理システム上の類似のイベントに一致する場合、2つのイベントが単一のスーパーイベントの一部となってもよい。スーパーイベントは、それらのコンテンツアイテムがユーザと直接的に決して共有されなかった場合でも、同一のイベントと関連付けられた他のコンテンツアイテムを様々なユーザが発見する助けとなりうる。例えば、いくらかのユーザが”Even and Paula’s Wedding”についてのスーパーイベントの写真を有する場合、それらの写真の全ては、スーパーイベントへのアクセスを有する全てのユーザに利用可能なものとなりうる。
ユーザ(又はコンテンツ管理システム)がイベントへ関連付けられた1以上のコンテンツアイテムをスーパーイベントへ追加することを決定する場合、処理1000はステップ1021へ進み、コンテンツアイテムはスーパーイベントに関連付けられた仮想のコレクションへ追加されうる。スーパーイベントと関連付けられた仮想のコレクションへ追加されたコンテンツアイテムは、スーパーイベント内の複数のイベントの1つの関連付けられたコンテンツ管理システムに格納されたコンテンツアイテムを有するユーザ、十分なアクセスを有する他のユーザによってスーパーイベントへのアクセスを与えられたユーザ、及び/又は、スーパーイベントの一部である共有のコンテンツアイテムを受信したコンテンツ管理システムのユーザ若しくは非ユーザなどの、任意の適切なユーザにアクセス可能となってもよい。一方、ユーザが1以上のコンテンツアイテムをスーパーイベントへ追加しないことを決定する場合、ステップ1023において、コンテンツアイテムは、プライベートが維持され、スーパーイベントの仮想のコレクションの一部とはならない。
図11は、いくつかの実施形態に従った、一時的なイベンティングについてコンテンツアイテムの抽出された特徴を用いるための例示の処理1100のフローチャートを示す。処理1100は、ステップ1101で開始され、コンテンツアイテムはユーザデバイス(例えば、図1のユーザデバイス102a)で潜在的に認識可能な特徴をを抽出するために解析されてもよい。例えば、コンテンツアイテムは、写真またはビデオであってもよく、潜在的に認識可能な特徴は顔、ランドマーク、又は、写真又はビデオ内の他の可視オブジェクトであってもよい。抽出された特徴は、コンテンツ管理システムが前回認識した特徴と抽出した特徴とが一致するかどうかを前もって知ることが不可能であるため、”潜在的に”認識可能なもののみであってもよい。
当該特徴は、パターン認識、カラーマッチング、エッジファインディングなどを含む任意の適切な方法を用いて抽出されてもよい。いくつかの実施形態において、当該特徴は、より大きな画像又はビデオファイルから小さい、静止画像として抽出されてもよい。他の実施形態において、当該特徴は、特定の地理的な位置に関連付けられた歌、スピーカー、又は特定のサウンドスケープを特定することを助けうる、音声ファイルのクリップを表してもよい。抽出した特徴がコンテンツアイテムの全体のコンテンツ部分よりも非常に小さいため、イベンティングモジュールへ抽出した特徴をアップロードすることは、非常に迅速に行われうる(例えば、抽出した特徴に基づいてイベンティングデータを受信することがユーザがシームレスに感じる時間期間で受信されうる)。
ステップ1103で、潜在的に認識可能な特徴がコンテンツ管理システムへ送信されうる。いくつかの実施形態において、上述したように、潜在的に認識可能な特徴が、一時的なイベンティングについて使用される他のメタデータとともにコンテンツ管理システムへ送信されうる。他の実施形態において、潜在的に認識可能な複数の特徴は、特に、当該特徴がコンテンツ管理システムへアップロードするのに比較的長い時間を要することが予測される場合には、個別に送信されてもよい。任意のケースにおいて、抽出された特徴は、コンテンツアイテムの全コンテンツ部分の前に、コンテンツ管理システムへ送信され、一時的なイベンティングが抽出した特徴を用いて行われうる。
ステップ1105で、ユーザデバイスはコンテンツアイテムをイベントに割り当てるイベンティングデータを受信してもよい。イベントデータに加えて、抽出した特徴に関連してコンテンツ管理システムによって収集された追加データがユーザデバイスによって受信されるイベンティングデータに含まれてもよい。例えば、抽出した特徴が顔を含む場合、イベンティングデータは顔に関連付けられる名前を含んでもよい。他の実施例において、抽出した特徴がオブジェクト(例えば、エッフェル塔)を含む場合、イベンティングデータは当該オブジェクトについての情報(又は、情報への適切なリンク)を含んでもよい。イベンティングデータが非常に迅速に受信されるため、コンテンツ管理システムはそれらのコンテンツアイテムについてのイベンティング及び文脈データの両方を提供することによってユーザの経験をシームレスに強化してもよい。
図12は、いくつかの実施形態に従った、一時的なイベンティングについてコンテンツアイテムの抽出された特徴を用いるための例示の処理1200のフローチャートを示す。処理1200はステップ1201で開始され、コンテンツアイテムのメタデータ部分がコンテンツ管理システムのイベンティングモジュール(例えば、図4のイベンティングモジュール432)で受信されうる。メタデータ部分は、コンテンツアイテムのコンテンツ部分の一部を表す抽出した特徴を含んでもよい。抽出した特徴は、例えばユーザデバイスによって潜在的に認識可能な特徴として指定されていてもよい。
ステップ1203で、コンテンツ管理システムのイベンティングモジュールは、前回認識した特徴と潜在的に認識可能な特徴とをマッチングしてもよい。前回認識した特徴のデータベースは、コンテンツ管理システムのメモリ(例えば、データストア118)に格納されてもよい。コンテンツ管理システムは、マッチングを実行するために任意の適切な顔/オブジェクト認識ソフトウェアを採用してもよい。コンテンツ管理システムはまた、潜在的に認識可能な特徴と前回認識した特徴とのマッチングを試すために、サードパーティサーバの検索を実行してもよい。
ステップ1205で、イベンティングモジュールは、一致した前回認識した特徴の属性でイベントID属性を更新してもよい。例えば、イベンティングモジュールが写真のエッフェル塔を認識する場合、イベントデータは、エッフェル塔の記述又は他の利用可能なデータを含む他のコンテンツアイテムに関連付けられた種々のイベント属性で更新されてもよい。
いくつかの実施形態において、コンテンツアイテムのコンテンツ部分がコンテンツ管理システムへアップロードされる場合、イベンティングモジュールは、コンテンツアイテムの追加の特徴を特定してもよい。コンテンツ管理システムが一般的なユーザデバイスよりもその配置においてより強固なコンピューティング資源を有するのであれば、イベンティングモジュールは、特徴を認識する、特徴を分類する、及び/又は、前回認識した特徴に対して当該特徴を言及するために、さらに充実したコンテンツアイテムの解析を行うことが可能となろう。イベンティングモジュールがそのような分析に基づいてコンテンツアイテムについてのイベンティングデータを更新する状況において、コンテンツ管理システムはその後、1以上のユーザデバイスへ更新したイベンティングデータを送信することができる。
図13は、様々な実施の形態に従う例示的なシステムを示す。ある実施の形態では、図13のシステム1300は、システム100の要素をより細かいレベル(例えばモジュール、アプリケーション等)で表わすことを除き、図1のシステム100と実質的に類似し得る。
ある実施の形態では、ユーザデバイス102は、ユーザデバイス102上のコンテンツアイテムシステム108a及び108b(まとめると108)内にローカルに格納されたコンテンツアイテム110a及び110b(まとめると110)、及び/又はコンテンツ管理システム104(例えばデータストア118)上に離れて格納されている等のコンテンツアイテムを、生成し、アクセスし、修正し、及び管理するために使用され得る。例えば、ユーザデバイス102aは、コンテンツ管理システム104のデータストア118に離れて格納されているコンテンツアイテム110bにアクセスし得、ユーザデバイス102a上のコンテンツアイテムシステム108a内にコンテンツアイテム110bをローカルに格納する場合もしない場合もある。引き続きこの例では、ユーザデバイス102aは、コンテンツアイテム110bを、一時的に、ユーザデバイス102a上のキャッシュ内にローカルに格納し、コンテンツアイテム110bの版(revisions)を生成し、コンテンツアイテム110bの版は通信されてコンテンツ管理システム104のデータストア118に格納され得る。オプションとして、コンテンツアイテム110aのローカルコピーはユーザデバイス102aに格納され得る。ある実施の形態では、データストア118は、コンテンツアイテムの1つ以上のコレクション132を含み得る。例えば、コレクション132は、類似する属性(例えばメタデータ)を有する、及び/又は類似のコンテンツを含む1つ以上のコンテンツアイテムを含み得る。
ある実施形態では、ユーザデバイス102は、デジタル画像及び/又はビデオをキャプチャし記録するためのカメラ138(例えば138a及び138b)を含み得る。ユーザデバイス102は、画像などのコンテンツアイテムをカメラ138を使用して取得、記録および/または格納してもよい。例えば、カメラ138は画像をキャプチャ及び記録し、画像をメタデータと共に格納し得る。メタデータは、以下の生成時のタイムスタンプ、ユーザの位置情報、方向、回転、タイトル及び/又は任意の他の属性又はキャプチャされた画像に関連するデータを含みうるが、これらに限らない。メタデータの値は、属性112として、名前と値の組、 タグ値の組、及び/又は任意の他のこれらの方法または組み合わせを格納して、メタデータとコンテンツアイテムとを関連付けてメタデータのタイプを容易に特定する。ある実施形態では、属性112は、これに限らないが、Exchangeable Image File Format(「Exif」)、JPEG File Interchange Format (Jfif)、及び/又は他の標準を含む、特定の標準によって定義されたタグと値の組であり得る。
ある実施の形態では、ユーザデバイス102は、時刻標準化モジュール146を含み得、コンテンツ管理システム104は、時刻標準化モジュール148を含み得る。時刻標準化モジュール146(例えば146aと146b)は、コンテンツアイテムと共に格納される日時を標準化するために用いられ得る。時刻標準化モジュール146、対応する時刻標準化モジュール148及び/又は任意のこれらの組み合わせは、格納されるコンテンツアイテムの日時を標準化するために用いられる。標準化された日時は、コンテンツアイテムを、ソート、グループ化、比較の実行、基本的な数式の実行、及び/又はクラスタ形成するために用いられる。
ある実施の形態では、ユーザデバイス102は、組織化モジュール136を含み得、コンテンツ管理システム104は組織化モジュール140を含み得る。組織化モジュール136(例えば136aと136b)は、コンテンツアイテムをコンテンツアイテムのクラスタやコレクションに組織化するため、コンテンツアイテムを組織化して、ユーザインターフェースの表示のためのコンテンツアイテムのサンプリングを提供するため、及び/又は表示のための組織化されたコンテンツアイテムを検索するために使用され得る。組織化モジュール136は、任意のクラスタリングアルゴリズムを用い得る。組織化モジュール136は、ユーザデバイス102のユーザインターフェースの表示のためのコンテンツアイテムやコンテンツ管理システム104のコンテンツアイテムを組織化するために、クラスタのための類似するコンテンツアイテムを特定するために用いられ得る。様々な類似性の規則に従う各コンテンツアイテム間の類似性の情報を具体化する1つ以上の数値的表現を生成するために、類似性の規則が定義され得る。組織化モジュール136は、コンテンツアイテムをクラスタ化するために、コンテンツアイテム間の類似性の参照として数値的表現を用い得る。
ある実施形態では、コンテンツアイテムはクラスタに組織化されて、検索要求に応じた類似のコンテンツの検索を援助し得る。例えば、組織化モジュール136aは、2つの画像が類似することを特定し得、これらの画像を共に1つのクラスタにグループ化し得る。組織化モジュール136aは、独立して、及び/又は対応する組織化モジュール(例えば140及び/又は136b)と共同してクラスタを決定するために、コンテンツアイテムを処理し得る。ある実施の形態では、組織化モジュール136aは、対応する組織化モジュール(例えば140及び/又は136b)と特定したクラスタのみを表示のために提供し得る。この例を続けると、クラスタを決定するためのコンテンツアイテムの処理は、新たなコンテンツアイテム及び/又は新たな類似性の規則を受け取る際に実行され得る繰り返し処理であり得る。
ある実施の形態では、ユーザデバイス102aは分類モジュール150aを含んでもよく、ユーザデバイス102bは分類モジュール150b(分類モジュールを150と総称する)を含んでもよく、それらの分類モジュールを独立して使用するか、コンテンツ管理システム104に含まれる分類モジュール152と組み合わせて使用するか、および/またはそれらの任意の組み合わせを行うことで、コンテンツアイテムを分類し、コンテンツアイテムを修正し、および/または画像を分類してもよい。例えば、分類モジュール150及び/又は152は、画像が文章を含むかを判定し、含む場合に格納される文章の種類を判定するために用いられ得る。コンテンツアイテムの修正は、コンテンツアイテムの表示を改善(画像内の文章の表示を修正)するために、コンテンツアイテムを訂正し、更なる変換を実行し、及び/又はコンテンツアイテムをクロップし得る。
ある実施の形態では、ユーザデバイス102aは、検索モジュール142aを含み得、一方、ユーザデバイス102bは、合わせて検索モジュール142として参照され得る、検索モジュール142bを含み得る。コンテンツ管理システム104は、対応する検索モジュール144を提供し得る。検索モジュール142及び144は、ユーザデバイス102及び/又はコンテンツ管理システム104の両方に置かれたコンテンツアイテムの検索をサポート可能であり得る。1つ以上のコンテンツアイテムを要求する検索リクエストは、検索モジュール142及び/又は144によって受け取られ得る。ある実施形態では、検索は、管理サービスの提供の際にコンテンツアイテムに割り当てられるメタデータ及び/又は属性を検索することによって処理され得る。例えば、コンテンツアイテムと共に格納されたクラスタマーカは日付によってコンテンツアイテムを発見するために用いられ得る。この特定のシナリオでは、クラスタマーカは、クラスタマーカと共に格納されたコンテンツアイテムの大まかな時刻、平均時間を示し得、このマーカは、特定のクラスタマーカを有するコンテンツのクラスタを検索し、検索結果を返すスピードを増加させるために用いられ得る。
コンテンツ管理システム104によって管理されるコンテンツアイテム110は、それぞれのユーザデバイス102のコンテンツアイテムシステム108にローカルに格納され得、及び/又はコンテンツ管理システム104のデータストア118に離れて格納(例えばデータストア118内のコンテンツアイテム134)され得る。コンテンツ管理システム104は、管理するコンテンツアイテムの同期処理を提供し得る。属性112a及び112b(合わせると112)または他のメタデータも、コンテンツアイテム110と共に格納され得る。例えば、特定の属性は、コンテンツ管理システム104によって管理及び/又は同期処理されるユーザデバイス102にローカルに格納されたコンテンツアイテムを追跡するために、コンテンツアイテムと共に格納され得る。ある実施形態では、属性112は、拡張された属性、リソースフォーク、又は、コンテンツアイテムシステム108等のコンテンツアイテムシステムによって解釈されないコンテンツアイテムと共にメタデータを格納可能な任意の他の実装を用いて実装され得る。特に、属性112a及び112bは、コンテンツアイテムのためのコンテンツの識別子であり得る。例えば、コンテンツの識別子は、コンテンツアイテムを識別する、ユニーク又はほぼユニークな識別子(例えば番号や文字列)であり得る。コンテンツアイテムと共にコンテンツ識別子を格納することにより、コンテンツアイテムを追跡し得る。例えば、ユーザがコンテンツアイテムシステム108階層の中でコンテンツアイテムを他の場所に動かした場合および/またはユーザがコンテンツアイテムを変更した場合、コンテンツアイテムはユーザデバイス102のコンテンツアイテムシステム108の中で依然として特定可能である。コンテンツ識別子で特定されたコンテンツアイテムに対する任意の変更又は修正は、コンテンツ管理システム104によって提供される同期及び/又はバージョン管理サービスのためにアップロード又は提供され得る。
スタンドアローンのコンテンツ管理アプリケーション114aと114b(合わせると114)、クライアントアプリケーション、及び/又はサードパーティアプリケーションは、ユーザデバイス102a及び102b上でそれぞれ実行されて、ユーザがコンテンツ管理システム104と相互作用するユーザインターフェースを提供する。コンテンツ管理アプリケーション114は、コンテンツ管理インターフェースモジュール154と共に提供される、ユーザデバイス102のための機能とアクセス可能なモジュールを外部に提供し得る。ウェブブラウザ116aと116b(合わせると116)は、コンテンツ管理インターフェースモジュール154と共に外部に提供され、コンテンツ管理104の機能を提供し得るクライアントアプリケーションのウェブページフロントエンドを表示するために用いられる。
コンテンツ管理システム104は、ユーザが認証されたアカウントを使ってコンテンツを格納できるようにし、また、検索、修正、ブラウズ、同期及び/又は他のアカウントにコンテンツを共有するような管理タスクを実行する。コンテンツ管理システム104の様々な実施形態は、コンテンツ管理インターフェースモジュール154、アカウント管理モジュール120、同期モジュール122、コレクションモジュール124、共有モジュール126、ファイルシステム抽象化128、データストア118、及び組織化モジュール140を含む要素を有し得るが、これらに限らない。コンテンツ管理インターフェースモジュール154は、コンテンツ管理システム104のサーバサイド又はバックエンドの機能/性能を外部に提供し得る。例えば、ユーザデバイス102の対応するユーザインターフェース(例えばスタンドアローンのアプリケーション、クライアントアプリケーション等)は、コンテンツ管理インターフェースモジュール154を用いて実行され、ユーザがコンテンツ管理システム104によって提供される機能を実行できるようにし得る。
ユーザデバイス102に表示されるユーザインターフェースは、アカウント管理モジュール120を用いて、ユーザがアカウントを生成し、及び/又はユーザがアカウントを使用することを認証するために用いられ得る。アカウント管理モジュール120は、ユーザ及び/又はユーザデバイス102によるアカウントの使用を、ユーザ名/パスワード、デバイス識別子、及び/又は任意の他の認証方法を用いて認証する機能を提供し得る。アカウント情報130は、データストア118内でアカウントのために管理され得る。アカウント情報は、個人情報(例えば、電子メールアドレス又はユーザ名)、アカウント管理情報(例えば、「無料」や「有料」等のアカウントの種類)、使用情報(コンテンツアイテムの編集履歴)、許可された最大のストレージ空間、使用済みストレージ空間、コンテンツの格納場所、セキュリティ設定、個人の構成設定、コンテンツの共有データ等を含み得るが、これらに限らない。コンテンツ管理システム104のストレージ空間の量は、予約され、分配され、確保され、格納され、及び/又は認証されたアカウントによりアクセスされ得る。アカウントは、データストア118内のそのアカウント用のコンテンツアイテム134及び/又はコンテンツアイテム110にアクセスするために、及び/又は、コンテンツアイテム134及び/又はコンテンツアイテム110を、他のアカウントから共有されたアカウントからアクセス可能にするために用いられ得る。ある実施の形態では、アカウント管理モジュール120はコンテンツ管理システム104の任意の数の他のモジュールと相互作用してもよい。
ある実施の形態では、コンテンツ管理システム104のアカウントは、アカウントによって認証された1つ以上のユーザデバイス102から書類、テキストアイテム、音声アイテム、ビデオアイテム等のコンテンツを格納するために用いられ得る。コンテンツはまた、異なる振る舞いである、又はコンテンツアイテムを互いにグループ化する他のメカニズムを用いた、様々な種類のコレクションを含み得る。例えば、アカウントは、任意のユーザからアクセス可能にした公開コレクションを含み得る。ある実施形態では、公開コレクションはウェブでアクセス可能なアドレスに割り当てられ得る。このウェブでアクセス可能なアドレスへのリンクは、公開されたフォルダのコンテンツにアクセスするために用いられ得る。他の例では、アカウントは、写真及び/又はビデオを格納し得る写真コレクションを含み得、写真及び/又はビデオの目的に合わせた特定の属性及び行為を提供し得る。アカウントはまた、音声アイテムを再生し、他の音声に関連する行為を実行する機能を提供する、音声コレクションを含み得る。アカウントはさらに、特定の目的のコレクションを含み得る。アカウントはまた、複数のユーザアカウントとリンクし、これらのアカウントから利用可能な共有コレクション又はグループコレクションを含み得る。ある実施形態では、共有コレクションへのアクセスは、共有コレクションにアクセスすることが可能な異なるユーザに対して異なり得る。
コンテンツアイテム110及び/又はコンテンツアイテム134は、データストア118に格納され得る。ある実施形態では、データストア118は、ストレージデバイス、複数のストレージデバイス、又はサーバであり得る。或いは、データストア118は、1つ以上の通信ネットワークを介してアクセス可能なクラウドストレージプロバイダ又はネットワークストレージであり得る。コンテンツ管理システム104は、コンテンツアイテムのシステム抽象化128(例えば、コンテンツアイテムのシステムデータベース抽象化レイヤ)を用いて、複雑さや詳細をユーザデバイス102から見えないようにして、コンテンツ管理システム104によって格納されたコンテンツアイテムがどこにあるのかをユーザデバイス102が正確に知る必要がないようにし得る。実施形態は、ユーザデバイス102に現れるように、コンテンツアイテムを同一のコレクションに階層的に格納し得る。或いは、コンテンツ管理システム104は、様々な順番、配置、及び/又は階層でコンテンツアイテムを格納し得る。コンテンツ管理システム140は、コンテンツアイテムを、ネットワークアクセス可能ストレージ(SAN)デバイス、redundant array of inexpensive disks(RAID)等に格納し得る。コンテンツ管理システム104は、コンテンツアイテムを、FAT、FAT32、NTFS、EXT2、EXT3、EXT4、ReiserFS、 BTRFS等の1つ以上のパーティションタイプを用いて格納し得る。
データストア118はまた、コンテンツアイテム、コンテンツアイテムの種類、及び様々なアカウント、フォルダ、コレクション、又はグループとのコンテンツアイテムの関係を表すメタデータを格納し得る。このコンテンツアイテムのためのメタデータは、コンテンツアイテムの一部として、及び/又は別々に格納され得る。メタデータは、オブジェクト指向データベース、リレーショナルデータベース、コンテンツアイテムシステム、又は任意の他のデータのコレクションに格納され得る。ある実施形態では、データストア118に格納された各コンテンツアイテムは、システム全体にわたってユニークな識別子が割り当てられ得る。
ある実施形態では、データストア118は、コンテンツアイテムの複製やコンテンツアイテムのチャンクを特定することにより、要求されるストレージ空間の量を低下させ得る。複数のコピーを格納する代わりに、データストア118は、コンテンツアイテム134の1つのコピーを格納し、1つのコピーと複製をつなぐためのポインタや他の機構を使用し得る。同様に、データストア118は、より効率的にコンテンツアイテム134を格納すると共に、コンテンツアイテムの変化、コンテンツアイテムの異なるバージョン(バージョンツリーの分岐を含む)、及び変更履歴を追跡するコンテンツアイテムバージョン管理を用いることによって、アンドゥ(Undo)操作の機能を提供し得る。変更履歴は、元のコンテンツアイテムのバージョンにいつ適用したか、変更されたコンテンツアイテムのバージョンをいつ生成したかの変更の組を含み得る。
コンテンツ管理システム104は、1つ以上のユーザデバイス102からのコンテンツの自動同期処理をサポートするように構成され得る。同期処理は、プラットフォーム非依存であり得る。すなわち、コンテンツは、種類、機能、オペレーティングシステム等の異なる、複数のユーザデバイス102にわたって同期処理され得る。例えば、ユーザデバイス102aは、コンテンツ管理システム104の同期モジュール122を介して、ユーザデバイス102のコンテンツアイテムシステム108内のコンテンツを、ユーザアカウントに関連付けられたコンテンツと同期するクライアントソフトウェアを含み得る。ある場合では、クライアントソフトウェアは、新規の、削除された、修正された、コピーされた又は移動されたコンテンツアイテムやフォルダ等のような、指定されたコレクション及び そのサブコレクション内のコンテンツに対する任意の変更と同期し得る。既存のコンテンツ管理システムと結合するクライアントソフトウェアのある例では、ユーザはローカルフォルダのコンテンツを直接操作し得る一方で、バックグラウンドプロセスが変更のためにローカルコンテンツを監視し、コンテンツ管理システム104に変更を同期する。ある実施形態では、バックグラウンドプロセスは、コンテンツ管理システム104において更新されたコンテンツを特定し、ローカルコレクションに変更を同期する。クライアントソフトウェアは、同期処理の動作の通知を提供し得、コンテンツ管理システムのアプリケーション内でコンテンツ状態の表示を直接提供し得る。ある実施形態では、ユーザデバイス102は利用可能なネットワーク接続を有し得ない。このシナリオでは、クライアントソフトウェアは、コンテンツアイテムの変更に対してリンクされたコレクションを監視し、ネットワーク接続が可能になった際のコンテンツ管理システム104への後の同期のために、これらの変更をキューに入れ得る。同様に、ユーザは、コンテンツ管理システム104との同期を手動で停止又は一時停止し得る。
ユーザはまた、コンテンツ管理インターフェースモジュール154によって生成及び提供されたウェブインターフェースを介してコンテンツを視認し又は操作し得る。例えば、ユーザはコンテンツ管理システム104によって提供されたウェブアドレスへウェブブラウザ内で移動し得る。コンテンツアイテムの新たなバージョンをアップロードするなどの、ウェブインターフェースを介してなされたデータストア118のコンテンツへの変更や更新は、ユーザアカウントに関連付けられた他のユーザデバイス102へ逆に伝達され得る。例えば、複数のユーザデバイス102のそれぞれはそのクライアントソフトウェアを用いて、1つのアカウントと関連付けられており、アカウント内のコンテンツアイテムはユーザデバイス102のそれぞれとの間で同期し得る。
コンテンツ管理システム104は、コンテンツ及び/又はコンテンツのコレクションの公開又は非公開による共有を管理するための共有モジュール126を含み得る。共有モジュール126は、独立して、又はユーザデバイス102aにある対応する共有モジュール152a及びユーザデバイス102bにある対応する共有モジュール152b(合わせると共有モジュール152)と連携して、共有を管理し得る。公開によるコンテンツの共有は、コンテンツアイテム及び/又はコレクションを、コンテンツ管理システム104を用いたネットワーク通信において任意のデバイスからアクセス可能にすることを含み得る。非公開によるコンテンツの共有は、データストア118内のコンテンツアイテム及び/又はコレクションを、2つ以上のユーザアカウントと結びつけて、各ユーザアカウントがコンテンツへアクセス可能にすることを含み得る。この共有は、プラットフォーム非依存で実行され得る。すなわち、コンテンツは、種類、機能、オペレーティングシステム等の異なる、複数のユーザデバイス102にわたって共有され得る。例えば、1つ以上の共有リンクが、共有されたコンテンツアイテムにアクセスするためにユーザ又はユーザのコンタクトに提供され得る。コンテンツはまた、異なるユーザアカウントの種類にわたって共有され得る。特に、共有モジュール126がコレクションモジュール124と共に用いられることにより、仮想的なコレクションを他のユーザ又はユーザアカウントと共有することができ得る。仮想コレクションは、ユーザデバイス102のコンテンツアイテムシステム108内の様々な場所に格納され得る、及び/又はコンテンツ管理システム104に離れて格納され得るコンテンツ識別子のコレクションであり得る。
ある実施形態では、コンテンツ管理システムを用いた、アカウントのための仮想コレクションは、コンテンツアイテムのための1つ以上の識別子のコレクションに対応し得る(例えば、ストレージのコンテンツアイテムを特定する)。仮想コレクションは、コレクションモジュール124を用いて、コンテンツ管理システムによって格納され及び/又は管理された既存のコンテンツアイテムから選択され、データストレージにある既存のコンテンツアイテムと仮想コレクションを関連付ける(例えば、格納場所、コンテンツ識別子、又は格納されたコンテンツアイテムのアドレスを関連付ける)ことにより生成され得る。既存のコンテンツアイテムと仮想コレクションを関連付けることにより、コンテンツアイテムは、コンテンツアイテムをコレクション内に置くために、データストレージ内の他の場所にコンテンツアイテムを格納する(例えばコンテンツアイテムをディレクトリにコピー及びペーストする)必要がない仮想コレクションの一部として指定され得る。
ある実施形態では、コンテンツ管理システム104は、各エントリや行がデータストア118の各コンテンツアイテムの場所を特定する、コンテンツアイテムのためのコンテンツディレクトリ又はデータベーステーブル/エントリを管理するように構成され得る。ある実施形態では、ユニーク又はほぼユニークな識別子がデータストア118に格納される各コンテンツアイテムのために格納され得る。
ある実施形態では、メタデータが各コンテンツアイテムのために格納され得る。例えば、メタデータは、コンテンツアイテムを特定するために用いられるコンテンツのパスを含み得る。コンテンツのパスは、コンテンツアイテムの名前と、コンテンツアイテムに関連付けられたコンテンツアイテムの階層(例えば、ユーザデバイス102内のローカルな格納に対するパス)とを含み得る。コンテンツ管理システム104は、コンテンツのパスを使用して、従来的な階層的なビューを用いたユーザインターフェースに、適切なコンテンツアイテムの階層でコンテンツアイテムを表示し得る。データストア118内のコンテンツアイテムの場所を特定するコンテンツのポインタもまた、コンテンツ識別子と共に格納され得る。例えば、コンテンツのポインタは、メモリ内のコンテンツアイテムの正確な格納アドレスを含み得る。ある実施形態では、コンテンツのポインタは、そのそれぞれがコンテンツアイテムの一部を含む複数の場所を指し示し得る。
コンテンツのパス及びコンテンツのポインタに加えて、コンテンツアイテムのエントリ/コンテンツアイテムデータベースのデータベーステーブルの行は、コンテンツアイテムへアクセス可能なユーザアカウントを特定するユーザアカウント識別子を含み得る。ある実施形態では、複数のユーザアカウント識別子は、コンテンツアイテムが複数のユーザアカウントにわたって共有されたことを特定する1つのコンテンツエントリと関連付けられ得る。
非公開によりコンテンツアイテムを共有するため、共有モジュール126は、コンテンツアイテムと関連付けられたコンテンツエントリ又はデータベーステーブルの行にユーザアカウント識別子を追加するように構成され得、これにより、コンテンツアイテムへの追加されたユーザアカウントのアクセスを登録する。共有モジュール126はまた、コンテンツアイテムへのユーザアカウントのアクセスを制限するため、コンテンツエントリ又はデータベーステーブルの行からユーザアカウント識別子を削除するように構成され得る。共有モジュール126はまた、仮想コレクションのためのデータベーステーブルへのユーザアカウントの追加又は削除に用いられ得る。
公開によりコンテンツを共有する場合、共有モジュール126は、任意のブラウザが何らかの認証を要することなく、コンテンツ管理システム104へのアクセスを可能にする、uniform resource locator(「URL」)等のカスタムネットワークアドレスを生成するように構成され得る。これを実現するため、共有モジュール126は生成されたURLにコンテンツ識別データを含めるよう構成されてもよい。このコンテンツ識別データは、要求されたコンテンツアイテムを適切に特定して返信するために後に用いられてもよい。例えば、共有モジュール126は、生成されたURLにユーザアカウント識別子とコンテンツのパスを含むように構成され得る。URLの選択のうえで、URLに含まれるコンテンツ識別子のデータは、コンテンツ識別子のデータを受信して適切なコンテンツエントリを特定し、このコンテンツエントリに関連付けられたコンテンツアイテムを返信し得る、コンテンツ管理システム104に送信され得る。
公開により仮想コレクションを共有するため、共有モジュール126は、任意のブラウザが何らかの認証を要することなく、コンテンツ管理システム100へのアクセスを可能にする、uniform resource locator(「URL」)等のカスタムネットワークアドレスを生成するように構成され得る。これを実現するため、共有モジュール126は生成されたURLにコレクション識別データを含めるよう構成されてもよい。このコレクション識別データは、要求されたコンテンツアイテムを適切に特定して返信するために後に用いられてもよい。例えば、共有モジュール126は、生成されたURLにユーザアカウント識別子とコレクション識別子を含むように構成され得る。URLの選択の際、URLに含まれるコンテンツ識別データはコンテンツ管理システム104に送信されてもよく、このコンテンツ管理システム104は受信されたコンテンツ識別データを使用して適切なコンテンツエントリ又はデータベースの行を特定し、このコンテンツエントリ又はデータベースの行に関連付けられたコンテンツアイテムを返信してもよい。
URLの生成に加えて、共有モジュール126はまた、コンテンツアイテムへのURLが生成されたことを記録するように構成され得る。ある実施形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、コンテンツアイテムへのURLが生成されたかを示すURLフラグを含み得る。例えば、URLフラグは、最初に0又は「偽」が設定される二値であり得、コンテンツアイテムへのURLが生成されていないことを示し得る。共有モジュール126は、コンテンツアイテムへのURLが生成された後にフラグの値を1又は「真」に変更するように構成され得る。
ある実施形態では、共有モジュール126はまた、生成されたURLを非活性化するように構成され得る。例えば、各コンテンツエントリもまた、生成されたURLからの要求に応じてコンテンツが返信されるべきかを示すURL活性フラグを含み得る。例えば、共有モジュール126は、URL活性フラグが1又は「真」に設定されている場合に生成されたリンクによって要求されたコンテンツアイテムのみを返信するように構成され得る。URL活性フラグの値又は二値の変更は、URLが生成されたコンテンツアイテム又はコレクションへのアクセスを容易に制限し得る。これにより、ユーザは、コンテンツアイテムを移動したり生成されたURLを削除したりする必要なく、共有コンテンツへのアクセスを制限することができる。同様に、共有モジュール126は、URL活性フラグの値を1又は「真」に再び変更することによりURLを再活性化し得る。従って、ユーザは、新たなURLを生成する必要ななくコンテンツアイテムへのアクセスを容易に回復させる。
例示の実装
任意の適切なプログラミング言語が、限定はしないがC、C++、Java、JavaScript、Python、Ruby、CoffeeScript、アセンブラ言語等を含む特定の実施形態のルーチンを実装するために使用されうる。種々のプログラミング技術、 手続き型又はオブジェクト指向型などが使用されてもよい。ルーチンは、1つの処理デバイス又は複数のプロセッサ上で実行し得る。ステップ、操作、コンピュータ処理は特定の順番で表され得るが、この順番は異なる特定の実施形態において変更され得る。ある特定の実施形態では、本明細書において連続的に示された複数のステップは、同時に実行され得る。
特定の実施形態は、命令実行システム、装置、システム又はデバイスと共に使用するためのコンピュータ可読ストレージデバイス又は非一時的なコンピュータ可読媒体に実装され得る。特定の実施形態は、ソフトウェア又はハードウェア又は両方の組み合わせの制御ロジックの形式で実装され得る。この制御ロジックは、1つ以上のプロセッサで実行されたときに、特定の実施形態に記載されたものを実行するために動作可能であり得る。
特定の実施の形態は、プログラムされた汎用デジタルコンピュータを用いて、特定用途向け集積回路、プログラマブルロジックデバイス、FPGA(field programmable gate arrays)、光、化学、バイオ、量子又はナノ加工のシステム、コンポーネント及び機構を用いて、実装され得る。一般に、特定の実施形態の機能は、この分野で知られるあらゆる手段により実現され得る。分散化、ネットワーク化されたシステム、コンポーネント、及び/又は回路が用いられ得る。データの通信又は伝送は有線、無線又は任意の他の手段によりなされ得る。
用例/図に図示された要素の1つ以上は、より分割された又は統合された方法で、又は、削除され又はある場合に動作しないものとして、特定のアプリケーションに従って有用なものとして扱われて、実装され得る。ストレージデバイス等の機械可読媒体に格納され得るプログラムやコードを実装して、上述した任意の方法をコンピュータに実行させることは、思想及びスコープの範囲内であり得る。
この中の記載及び以下の請求項のあらゆる箇所で用いられるように、「a」、「an」及び「the」はコンテキストが明示的に述べない限り複数の参照を含む。また、この中の記載及び以下の請求項のあらゆる箇所で用いられるように、「in」の意味はコンテキストが明示的に述べない限り「in」及び「on」を含む。
一時的なイベンティングに関する方法が記載されたが、本発明の思想及びスコープから乖離することなく多くの変更がなされ得ることが理解されるべきである。この分野における当業者から見てクレームされた主題から実質的でない変更、知られていないもの又は後に考案されたものは、請求項のスコープと均等であると想定される。従って、この分野の当業者に現在明らかな代用物又は後に知られたものは、定義された要素のスコープ内であると定義され得る。本発明の記載された実施形態は、限定では無く説明の目的のために示されたものである。

Claims (27)

  1. 方法であって、
    データネットワーク上でコンテンツ管理システムへ接続されるユーザデバイス上のコンテンツアイテムを識別することであって、前記コンテンツアイテムがコンテンツ部分及びメタデータ部分を含む、前記コンテンツアイテムを識別することと、
    第1のアップロードで、かつ、第1の時間期間中に、前記コンテンツ管理システムへ前記コンテンツアイテムの前記メタデータ部分を提供することと、
    前記コンテンツアイテムの前記コンテンツ部分を前記コンテンツ管理システムへ提供する前に、前記コンテンツ管理システムから、前記コンテンツアイテムをイベントに関連付けるイベント割り当てメタデータを受信することと、
    第2のアップロードで、かつ、前記第1の時間期間の後に満了する第2の時間期間中に、前記コンテンツ管理システムへ前記コンテンツアイテムの前記コンテンツ部分を提供することと
    を含むことを特徴とする方法。
  2. 前記コンテンツ部分が前記コンテンツ管理システムへアップロードされる前に、前記イベント割り当てメタデータの少なくともいくつかを含むイベントビュー内で前記ユーザデバイスのディスプレイ上への前記コンテンツアイテムの表示を行わせることをさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記イベント割り当てメタデータに基づいて前記イベントへ前記コンテンツアイテムを割り当てることをさらに含むことを特徴とする請求項1に記載の方法。
  4. 前記メタデータ部分を提供することは、前記コンテンツアイテムに関連付けられる地理的データ及び時間的データをアップロードすることを含むことを特徴とする請求項1に記載の方法。
  5. 前記メタデータは、地理位置情報、作成日時、少なくとも1つのアクセス日時、少なくとも1つのアップロード日時、少なくとも1つの共有日時、ユーザ共有データ、ユーザアクセスデータ、前記ユーザデバイスを識別するデバイスID、前記ユーザデバイス上の前記コンテンツアイテムを識別するローカルID、及び、前記コンテンツアイテムから抽出されたコンテンツの特徴の1以上を含むことを特徴とする請求項1に記載の方法。
  6. 前記コンテンツ管理システムへのアップロードのために、前記コンテンツ部分をキューに入れることと、
    ネットワーク条件に基づいて前記第2のアップロードにおいて前記コンテンツ管理システムへ前記コンテンツ部分を提供することとをさらに含み、
    前記コンテンツ部分を提供するために必要な前記ネットワーク条件は、前記コンテンツアイテムに表されるコンテンツの種別に従って変化することを特徴とする請求項1に記載の方法。
  7. ネットワーク接続が前記メタデータ部分をアップロードするのに利用可能でない場合に、前記第1のアップロードにおいて、前記コンテンツ管理システムへ提供するための前記メタデータ部分をキューに入れることをさらに含むことを特徴とする請求項1に記載の方法。
  8. 前記メタデータ部分とキューに入れられた他のメタデータ部分とを合成することをさらに含み、
    前記メタデータ部分を提供することは、前記メタデータ部分とキューに入れられた他のメタデータ部分とを一括でアップロードすることを含むことを特徴とする請求項7に記載の方法。
  9. 前記イベント割り当てメタデータは少なくとも1つの第1のイベントIDを含むことを特徴とする請求項1に記載の方法。
  10. 前記コンテンツ管理システムが前記第1のイベントID第2のイベントIDが同じイベントを参照することを決定すると、前記コンテンツアイテムについての前記第2のイベントIDを前記コンテンツ管理システムから受信することをさらに含み、
    前記第2のイベントIDは、前記イベント割り当てメタデータに含まれ、かつ、前記第1のイベントIDと異なることを特徴とする請求項9に記載の方法。
  11. コンテンツ管理システムであって、
    メモリと、
    少なくとも1つのプロセッサとを備え、前記少なくとも1つのプロセッサは、
    ユーザデバイスからコンテンツアイテムのメタデータ部分を受信し、
    前記メタデータ部分に基づいて一時的なアイテムを作成し、前記一時的なアイテムは前記コンテンツアイテムのコンテンツ部分を受信するためにキューに入れられた前記コンテンツアイテムの不完全なバージョンを含み、
    前記メタデータ部分に基づいて前記一時的なアイテムへイベントデータを割り当て、
    前記コンテンツアイテムの前記コンテンツ部分を受信する前に、前記イベントデータを利用するユーザインタフェース内の前記コンテンツアイテムのレンダリングのための前記ユーザデバイスへ前記イベントデータを送信するように構成されることを特徴とするコンテンツ管理システム。
  12. 前記メモリに格納されたデータベースをさらに備え、前記少なくとも1つのプロセッサは、
    前記メタデータ部分の少なくとも一部を含む、前記データベースにエントリを生成するように構成されることを特徴とする請求項11に記載のコンテンツ管理システム。
  13. 前記メタデータ部分は、
    ユーザアカウントIDと、
    ローカルIDと、
    少なくとも1つの記述的なメタデータアイテムとを含むことを特徴とする請求項12に記載のコンテンツ管理システム。
  14. 前記メタデータ部分は、さらに、地理位置情報、作成日時、少なくとも1つのアクセス日時、少なくとも1つのアップロード日時、少なくとも1つの共有日時、ユーザ共有データ、ユーザアクセスデータ、前記ユーザデバイスを識別するデバイスID、前記ユーザデバイス上の前記コンテンツアイテムを識別するローカルID、及び、前記コンテンツアイテムから抽出されたコンテンツの特徴の1以上を含むことを特徴とする請求項13に記載のコンテンツ管理システム。
  15. 前記少なくとも1つのプロセッサは、さらに、前記イベントデータを送信した後に、
    前記コンテンツアイテムの前記コンテンツ部分を受信し、
    前記メモリに前記コンテンツ部分を格納するように構成されることを特徴とする請求項12に記載のコンテンツ管理システム。
  16. 前記少なくとも1つのプロセッサは、
    前記一時的なアイテムを第2のコンテンツアイテムへ変換するように構成されることを特徴とする請求項15に記載のコンテンツ管理システム。
  17. 前記一時的なアイテムを前記第2のコンテンツアイテムへ変換することにおいて、前記少なくとも1つのプロセッサは、
    グローバルIDを前記エントリに割り当て、
    前記メモリの前記コンテンツ部分のアドレスで前記エントリのアドレスフィールドを更新し、
    前記ユーザデバイスへ前記グローバルIDを送信するように構成されることを特徴とする請求項16に記載のコンテンツ管理システム。
  18. 前記少なくとも1つのプロセッサは、
    前記コンテンツ管理システムで利用可能な追加情報に基づいて前記イベントデータを改良し、
    前記エントリに前記改良したイベントデータを格納し、
    前記ユーザデバイスへ前記改良したイベントデータを送信するように構成されることを特徴とする請求項12に記載のコンテンツ管理システム。
  19. 方法であって、
    コンテンツ管理システムにおいて、第1のアップロードで、かつ、第1の時間期間中に、ユーザデバイスからのコンテンツアイテムのメタデータ部分を受信することと、
    前記コンテンツ管理システムのデータプロセッサを用いて、前記メタデータ部分に基づいてイベントに前記コンテンツアイテムを割り当てることと、
    前記コンテンツアイテムのコンテンツ部分を受信する前に、前記コンテンツ管理システムから前記ユーザデバイスへ前記イベントに前記コンテンツアイテムを割り当てるイベント割り当てメタデータを送信することと、
    第2のアップロードで、かつ、第2の時間期間中に、前記コンテンツ管理システムにおいて、前記コンテンツアイテムの前記コンテンツ部分を受信することと
    を含むことを特徴とする方法。
  20. 前記コンテンツ管理システムにおいて、前記イベントと関連付けられる追加のイベントデータを受信することと、
    前記追加のイベントデータに基づいて、前記イベント割り当てメタデータを改良することと
    をさらに含むことを特徴とする請求項19に記載の方法。
  21. 前記コンテンツアイテムをイベントへ割り当てることは、
    前記コンテンツ管理システムのメモリに格納されるコンテンツアイテムデータベースに一時的なアイテムエントリを作成することを含み、前記一時的なアイテムエントリは、前記メタデータ部分の少なくとも一部と、前記イベント割り当てメタデータの少なくとも一部とを含むことを特徴とする請求項19に記載の方法。
  22. 前記メモリに前記コンテンツ部分を格納することと、
    前記一時的なアイテムエントリに前記コンテンツ部分を割り当てることと、
    前記一時的なアイテムエントリのグローバルIDフィールドとアドレスフィールドとを追加することによって、前記一時的なアイテムエントリを第2のコンテンツアイテムへ変換することと、をさらに含み、前記グローバルIDフィールドは前記コンテンツアイテム及び前記第2のコンテンツアイテムについての共通の識別子を含み、前記アドレスフィールドは前記メモリに前記第2のコンテンツアイテムが格納されたことを示す物理アドレス又は論理アドレスの1つを含むことを特徴とする請求項21に記載の方法。
  23. 前記コンテンツ部分を前記一時的なアイテムエントリへ割り当てることは、
    前記コンテンツアイテムに関連付けられる第1のローカルIDと、前記一時的なアイテムエントリに格納された第2のローカルIDとをマッチングすることを含むことを特徴とする請求項22に記載の方法。
  24. 前記グローバルIDフィールドのグローバルIDを前記ユーザデバイスへ送信することをさらに含むことを特徴とする請求項22に記載の方法。
  25. システムであって、
    データネットワーク上でコンテンツ管理システムへ接続されるユーザデバイス上のコンテンツアイテムを識別する手段であって、前記コンテンツアイテムがコンテンツ部分及びメタデータ部分を含む、前記コンテンツアイテムを識別する手段と、
    第1のアップロードで、かつ、第1の時間期間中に、前記コンテンツ管理システムへ前記コンテンツアイテムの前記メタデータ部分を提供する手段と、
    前記コンテンツアイテムの前記コンテンツ部分を前記コンテンツ管理システムへ提供する前に、前記コンテンツ管理システムから、前記コンテンツアイテムをイベントに関連付けるイベント割り当てメタデータを受信する手段と、
    第2のアップロードで、かつ、前記第1の時間期間の後に満了する第2の時間期間中に、前記コンテンツ管理システムへ前記コンテンツアイテムの前記コンテンツ部分を提供する手段と
    を備えることを特徴とするシステム。
  26. 前記コンテンツ部分が前記コンテンツ管理システムへアップロードされる前に、前記イベント割り当てメタデータの少なくともいくつかを含むイベントビュー内で前記ユーザデバイスのディスプレイ上への前記コンテンツアイテムの表示を行わせる手段をさらに備えることを特徴とする請求項25に記載のシステム。
  27. 前記イベント割り当てメタデータに基づいて前記コンテンツアイテムを前記イベントに割り当てる手段をさらに備えることを特徴とする請求項25に記載のシステム。
JP2016552933A 2014-02-27 2014-12-22 一時的なイベンティングに関するシステム及び方法 Active JP6303023B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461945809P 2014-02-27 2014-02-27
US61/945,809 2014-02-27
US14/247,840 2014-04-08
US14/247,840 US9112936B1 (en) 2014-02-27 2014-04-08 Systems and methods for ephemeral eventing
PCT/US2014/072006 WO2015130399A1 (en) 2014-02-27 2014-12-22 Systems and methods for ephemeral eventing

Publications (2)

Publication Number Publication Date
JP2017511924A JP2017511924A (ja) 2017-04-27
JP6303023B2 true JP6303023B2 (ja) 2018-03-28

Family

ID=53786171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016552933A Active JP6303023B2 (ja) 2014-02-27 2014-12-22 一時的なイベンティングに関するシステム及び方法

Country Status (5)

Country Link
US (2) US9112936B1 (ja)
EP (1) EP3111406B1 (ja)
JP (1) JP6303023B2 (ja)
AU (1) AU2014384636B2 (ja)
WO (1) WO2015130399A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552376B2 (en) 2011-06-09 2017-01-24 MemoryWeb, LLC Method and apparatus for managing digital files
US9143542B1 (en) * 2013-06-05 2015-09-22 Google Inc. Media content collaboration
US10855760B2 (en) 2013-11-07 2020-12-01 Cole Asher Ratias Systems and methods for synchronizing content and information on multiple computing devices
US9973374B1 (en) * 2013-11-07 2018-05-15 Cole Asher Ratias Systems and methods for synchronizing content and information on multiple computing devices
US9462054B2 (en) 2014-02-27 2016-10-04 Dropbox, Inc. Systems and methods for providing a user with a set of interactivity features locally on a user device
US9112936B1 (en) 2014-02-27 2015-08-18 Dropbox, Inc. Systems and methods for ephemeral eventing
JP5783301B1 (ja) 2014-06-11 2015-09-24 富士ゼロックス株式会社 通信端末、通信システム及びプログラム
US10298547B2 (en) * 2014-11-14 2019-05-21 William J. Ziebell Systems, methods, and media for a cloud based social media network
US11036919B2 (en) 2015-03-02 2021-06-15 Citrix Systems, Inc. Enabling file attachments in calendar events
US11102298B1 (en) 2015-05-26 2021-08-24 Pure Storage, Inc. Locally providing cloud storage services for fleet management
US9716755B2 (en) 2015-05-26 2017-07-25 Pure Storage, Inc. Providing cloud storage array services by a local storage array in a data center
US10140600B2 (en) 2015-07-01 2018-11-27 Liveensure, Inc. System and method for mobile peer authentication and asset control
US10395253B2 (en) 2015-07-01 2019-08-27 Liveensure, Inc. System and method for securing and monetizing peer-to-peer digital content
US10320861B2 (en) * 2015-09-30 2019-06-11 Google Llc System and method for automatic meeting note creation and sharing using a user's context and physical proximity
ES2579103B1 (es) * 2015-11-03 2017-05-10 David ARAGALL I MARTÍ Método y sistema para la geolocalización de fotografías y su uso posterior como álbum o como identificador en una agenda de contactos.
US20170193456A1 (en) * 2016-01-06 2017-07-06 Htc Corporation Electronic device and calendaring method thereof
US9842094B2 (en) * 2016-02-12 2017-12-12 Adobe Systems Incorporated Undo, redo, and state switching using content-addressable data structures
US10733255B1 (en) 2016-06-30 2020-08-04 Snap Inc. Systems and methods for content navigation with automated curation
US10331750B2 (en) * 2016-08-01 2019-06-25 Facebook, Inc. Systems and methods to manage media content items
US10740093B2 (en) * 2016-09-01 2020-08-11 Dropbox, Inc. Advanced packaging techniques for improving work flows
KR102519159B1 (ko) 2018-01-23 2023-04-07 삼성전자주식회사 전자 장치 및 그 제어 방법
JP7167466B2 (ja) * 2018-03-30 2022-11-09 日本電気株式会社 映像伝送処理装置、方法、プログラム、及び記録媒体
US10986169B2 (en) 2018-04-19 2021-04-20 Pinx, Inc. Systems, methods and media for a distributed social media network and system of record
CN108848060B (zh) * 2018-05-17 2021-08-24 上海哔哩哔哩科技有限公司 一种多媒体文件处理方法、处理系统及计算机可读存储介质
US10929365B2 (en) * 2018-06-26 2021-02-23 Fuji Xerox Co., Ltd. Automatic generation of animated previews for presenting document differences in enterprise messaging
US10936178B2 (en) 2019-01-07 2021-03-02 MemoryWeb, LLC Systems and methods for analyzing and organizing digital photos and videos
US11763503B2 (en) * 2019-02-25 2023-09-19 Life Impact Solutions Media alteration based on variable geolocation metadata
US11340760B2 (en) 2019-09-06 2022-05-24 Dropbox, Inc. Generating a customized organizational structure for uploading content to a cloud-based storage system
US10942635B1 (en) * 2020-02-21 2021-03-09 International Business Machines Corporation Displaying arranged photos in sequence based on a locus of a moving object in photos
US11921812B2 (en) * 2022-05-19 2024-03-05 Dropbox, Inc. Content creative web browser

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5928330A (en) 1996-09-06 1999-07-27 Motorola, Inc. System, device, and method for streaming a multimedia file
US6281874B1 (en) 1998-08-27 2001-08-28 International Business Machines Corporation Method and system for downloading graphic images on the internet
GB2341462B (en) 1998-09-12 2003-06-11 Ibm Method for deployment of incremental versions of applications
US20050210413A1 (en) * 1999-11-24 2005-09-22 Quek Su M Utilization of digital images
US8595340B2 (en) 2001-01-18 2013-11-26 Yahoo! Inc. Method and system for managing digital content, including streaming media
US6629100B2 (en) 2001-10-01 2003-09-30 Ipac Acquisition Subsidiary I, Llc Network-based photosharing architecture for search and delivery of private images and metadata
US6954543B2 (en) * 2002-02-28 2005-10-11 Ipac Acquisition Subsidiary I, Llc Automated discovery, assignment, and submission of image metadata to a network-based photosharing service
JP3883979B2 (ja) 2003-03-31 2007-02-21 富士フイルムホールディングス株式会社 画像再生装置およびプログラム
US7660864B2 (en) * 2003-05-27 2010-02-09 Nokia Corporation System and method for user notification
JP2005182760A (ja) 2003-11-25 2005-07-07 Canon Inc 情報処理装置およびその制御方法
JP2005346440A (ja) * 2004-06-03 2005-12-15 Ntt Docomo Inc メタデータ付与支援システム、制御装置、及び、メタデータ付与支援方法
US20060080286A1 (en) * 2004-08-31 2006-04-13 Flashpoint Technology, Inc. System and method for storing and accessing images based on position data associated therewith
US20060139709A1 (en) * 2004-12-29 2006-06-29 Louis Bifano System and method for automatically sorting digital photographs
US7653302B2 (en) * 2005-03-24 2010-01-26 Syabas Technology Inc. Techniques for transmitting personal data and metadata among computing devices
US8195646B2 (en) 2005-04-22 2012-06-05 Microsoft Corporation Systems, methods, and user interfaces for storing, searching, navigating, and retrieving electronic information
US20070035764A1 (en) 2005-08-12 2007-02-15 Yahoo! Inc. System and method for uploading files
US7933972B1 (en) * 2005-09-29 2011-04-26 Qurio Holdings, Inc. Method and system for organizing categories of content in a distributed network
US20070174246A1 (en) * 2006-01-25 2007-07-26 Sigurdsson Johann T Multiple client search method and system
US20070198632A1 (en) * 2006-02-03 2007-08-23 Microsoft Corporation Transferring multimedia from a connected capture device
US8001471B2 (en) 2006-02-28 2011-08-16 Maven Networks, Inc. Systems and methods for providing a similar offline viewing experience of online web-site content
JP5129229B2 (ja) 2006-03-15 2013-01-30 グーグル・インコーポレーテッド サイズ変更された画像の自動表示
US7542994B2 (en) 2006-03-24 2009-06-02 Scenera Technologies, Llc Graphical user interface for rapid image categorization
US8015237B2 (en) * 2006-05-15 2011-09-06 Apple Inc. Processing of metadata content and media content received by a media distribution system
JP2007334696A (ja) * 2006-06-15 2007-12-27 Softbank Mobile Corp データ共有システム、通信端末及びサーバ
US8064894B1 (en) * 2006-08-07 2011-11-22 Aol Inc. Exchanging digital content
US7774431B2 (en) 2006-09-05 2010-08-10 Gloto Real time collaborative on-line multimedia albums
US20110276423A1 (en) 2007-08-07 2011-11-10 Onenews Corporation Systems and Methods for Content Communication
US7814151B2 (en) * 2007-10-23 2010-10-12 Cisco Technology, Inc. Wirelessly-enabled identification of digital media generated at an event
US8065325B2 (en) * 2007-12-12 2011-11-22 Packet Video Corp. System and method for creating metadata
US20090204885A1 (en) 2008-02-13 2009-08-13 Ellsworth Thomas N Automated management and publication of electronic content from mobile nodes
US8745133B2 (en) * 2008-03-28 2014-06-03 Yahoo! Inc. System and method for optimizing the storage of data
GB2461050A (en) 2008-06-18 2009-12-23 Geotate Bv Storing location metadata independently of image data
US20100076976A1 (en) * 2008-09-06 2010-03-25 Zlatko Manolov Sotirov Method of Automatically Tagging Image Data
KR20110057240A (ko) * 2008-09-18 2011-05-31 오팡가 네트웍스, 인크. 과중 미디어 콘텐트의 자동 검출 및 조정된 배송을 위한 시스템 및 방법
US8407216B2 (en) 2008-09-25 2013-03-26 Yahoo! Inc. Automated tagging of objects in databases
EP2180664A1 (en) 2008-10-22 2010-04-28 Vivendi Mobile Entertainment System and method for accessing multi-media content via a mobile terminal
US8418068B1 (en) 2008-12-05 2013-04-09 Brian Backus System, software application, and method for customizing a high-resolution image via the internet
US8311983B2 (en) * 2009-04-28 2012-11-13 Whp Workflow Solutions, Llc Correlated media for distributed sources
US8527602B1 (en) * 2009-05-28 2013-09-03 Google Inc. Content upload system with preview and user demand based upload prioritization
US20110069179A1 (en) * 2009-09-24 2011-03-24 Microsoft Corporation Network coordinated event capture and image storage
US8390702B2 (en) 2009-11-12 2013-03-05 Apple Inc. Adjusting time metadata of digital media items
US8140647B1 (en) * 2009-11-17 2012-03-20 Applied Micro Circuits Corporation System and method for accelerated data uploading
WO2011106412A1 (en) 2010-02-23 2011-09-01 Unity Corporation, Inc. Method and system of managing digital multimedia content
US8655111B2 (en) * 2010-05-13 2014-02-18 Shutterfly, Inc. System and method for creating and sharing photo stories
US8805924B2 (en) 2010-05-26 2014-08-12 Microsoft Corporation Optimistic concurrency utilizing distributed constraint enforcement
US8543816B2 (en) * 2010-08-18 2013-09-24 File Drop Vault Llc Secure, auditable file exchange system and method
US9043387B2 (en) 2010-09-29 2015-05-26 Open Text S.A. System, method and computer program product for smart upload automation
EP2466852A1 (en) 2010-12-17 2012-06-20 Swisscom AG Digital content management
US8725680B2 (en) * 2011-02-08 2014-05-13 Microsoft Corporation Media content location awareness and decision making
CA2829597C (en) 2011-03-07 2015-05-26 Kba2, Inc. Systems and methods for analytic data gathering from image providers at an event or geographic location
US8774598B2 (en) 2011-03-29 2014-07-08 Sony Corporation Method, apparatus and system for generating media content
US8918463B2 (en) * 2011-04-29 2014-12-23 Facebook, Inc. Automated event tagging
US9201895B2 (en) 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US9118642B2 (en) 2011-06-05 2015-08-25 Apple Inc. Asset streaming
KR101713988B1 (ko) * 2011-06-21 2017-03-22 네이버 주식회사 메타데이터를 추출하여 전송하는 콘텐츠 제공 방법 및 장치
GB2504034B8 (en) 2011-06-21 2015-09-02 Box Inc Batch uploading of content to a web-based collaboration environment
US9680929B2 (en) 2011-06-24 2017-06-13 Facebook, Inc. Concurrently uploading multimedia objects and associating metadata with the multimedia objects
US20130013438A1 (en) * 2011-07-05 2013-01-10 Li-Hui Chen Grouping Method for Group-buying Based on Wireless Communication Protocol
US9195679B1 (en) * 2011-08-11 2015-11-24 Ikorongo Technology, LLC Method and system for the contextual display of image tags in a social network
US20130041948A1 (en) * 2011-08-12 2013-02-14 Erick Tseng Zero-Click Photo Upload
US8543582B1 (en) * 2011-08-26 2013-09-24 Google Inc. Updateable metadata for media content
WO2013032919A1 (en) 2011-08-26 2013-03-07 Engagement Media Technologies, Inc. Systems and methods for automatic content communication
US10210586B2 (en) * 2011-09-09 2019-02-19 Facebook, Inc. Composited posting interface for social networking system
TWI451283B (zh) 2011-09-30 2014-09-01 Quanta Comp Inc 事故資訊整合及管理系統及其相關事故資訊整合及管理方法
US8885960B2 (en) * 2011-10-05 2014-11-11 Microsoft Corporation Linking photographs via face, time, and location
WO2013055371A1 (en) * 2011-10-14 2013-04-18 Box.Net, Inc. Automatic and semi-automatic tagging feature of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
US9305320B2 (en) 2011-10-19 2016-04-05 Facebook, Inc. Generation of activity stream from server-side and client-side data
US8331566B1 (en) * 2011-11-16 2012-12-11 Google Inc. Media transmission and management
US20130166391A1 (en) * 2011-12-27 2013-06-27 Anthony T. BLOW Crowd-determined file uploading methods, devices, and systems
KR101871363B1 (ko) * 2012-01-03 2018-08-02 삼성전자주식회사 컨텐츠 업로드 방법 및 그를 위한 사용자 단말, 및 연관 컨텐츠 제공 방법 및 그를 위한 컨텐츠 제공 서버
KR101944403B1 (ko) * 2012-01-04 2019-02-01 삼성전자주식회사 클라우드 시스템을 이용하는 단말기의 장치 및 방법
US9083673B2 (en) * 2012-02-10 2015-07-14 The Travelers Indemnity Company Systems, methods, and apparatus for facilitating claims processing
WO2013127449A1 (en) 2012-02-29 2013-09-06 Lirdy UG (haftungsbeschränkt) Method, apparatus and computer program for associating pictures related to an event
US20130332840A1 (en) * 2012-06-10 2013-12-12 Apple Inc. Image application for creating and sharing image streams
US8843535B2 (en) * 2012-06-25 2014-09-23 Oracle International Corporation Framework for applying metadata for multiple files managed using a content management system
KR101943988B1 (ko) * 2012-07-27 2019-01-31 삼성전자주식회사 컨텐트 전송 방법 및 시스템, 기기와 그 기록 매체
US9058662B2 (en) 2012-08-16 2015-06-16 Facebook, Inc. Systems and methods for non-destructive editing of digital images
US8745267B2 (en) * 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US9710944B2 (en) 2012-10-22 2017-07-18 Apple Inc. Electronic document thinning
US20150127754A1 (en) * 2013-11-04 2015-05-07 Photobucket Corporation Systems and methods for collecting media content
US9112936B1 (en) 2014-02-27 2015-08-18 Dropbox, Inc. Systems and methods for ephemeral eventing
US9462054B2 (en) 2014-02-27 2016-10-04 Dropbox, Inc. Systems and methods for providing a user with a set of interactivity features locally on a user device

Also Published As

Publication number Publication date
AU2014384636A1 (en) 2016-09-08
EP3111406B1 (en) 2019-03-06
AU2014384636B2 (en) 2017-04-20
US20150358224A1 (en) 2015-12-10
WO2015130399A1 (en) 2015-09-03
US20150244836A1 (en) 2015-08-27
US9112936B1 (en) 2015-08-18
JP2017511924A (ja) 2017-04-27
EP3111406A1 (en) 2017-01-04
US9942121B2 (en) 2018-04-10

Similar Documents

Publication Publication Date Title
JP6303023B2 (ja) 一時的なイベンティングに関するシステム及び方法
US9961149B2 (en) Systems and methods for maintaining local virtual states pending server-side storage across multiple devices and users and intermittent network connections
US11025746B2 (en) Systems and methods for managing content items having multiple resolutions
US11003327B2 (en) Systems and methods for displaying an image capturing mode and a content viewing mode
US9055063B2 (en) Managing shared content with a content management system
EP3111653B1 (en) Systems and methods for providing a user with a set of interactivity features on a user device
US10162517B2 (en) Cross-application content item management
US10067652B2 (en) Providing access to a cloud based content management system on a mobile device
US20210117469A1 (en) Systems and methods for selecting content items to store and present locally on a user device
US20140195516A1 (en) Systems and methods for presenting content items in a collections view
US9892172B2 (en) Date and time handling
US9473614B2 (en) Systems and methods for incorporating a control connected media frame
US20140270547A1 (en) Presentation and organization of content
US20150169207A1 (en) Systems and methods for generating personalized account reconfiguration interfaces
US10152538B2 (en) Suggested search based on a content item
US20150347490A1 (en) Enhancing event summaries of synced online content management system interactions

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180305

R150 Certificate of patent or registration of utility model

Ref document number: 6303023

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250