(58)【調査した分野】(Int.Cl.,DB名)
関連付けるステップが、前記イベントおよび前記コンテンツ提供の少なくとも1つと関連付けられる時間情報に、少なくとも一部、更に基づく、請求項1に記載のコンピュータにより実施される方法。
関連付けることが、前記イベントと前記コンテンツ提供の少なくとも1つと関連付けられる時間情報に、少なくとも一部、更に基づく、請求項6に記載のコンピューティングシステム。
【発明を実施するための形態】
【0012】
様々な図面における同様の参照記号は同様の要素を示す。
【0013】
本開示と一致するいくつかの例示的な実施形態によれば、オンライン空間があるイベントのために提供され得る。オンライン空間は、たとえば、スタンドアロンのウェブページまたはアカウントであり得る、またはソーシャルネットワークウェブサイト内に設けられ得る、1つまたは複数のウェブページまたはアカウントを含み得る。オンライン空間は、イベントに関する情報が、公開されること、および/または、イベントの参加者の間で、および/または他のユーザと共有されることを可能にし得る。いくつかの実施形態では、イベントに関する情報は、イベントの参加者によってアップロードされ、また、概ね同時にオンライン空間を介して他者と共有され得る。様々な実施形態では、イベントに関する情報は、たとえば、ビデオ、写真、または他のコンテンツを含み得る。いくつかの実施形態では、イベント処理は、イベントに関連しないコンテンツを除外するかどうかを判定し得る、1つまたは複数の保護(たとえば、サーバ側の)を実施することができる。
【0014】
図1を参照すると、イベント処理10が示されている。以下の議論では、イベント処理10が様々な方法で実施され得ることが理解されることが意図される。たとえば、イベント処理10は、サーバ側処理、クライアント側処理、またはサーバ側/クライアント側処理として実施され得る。
【0015】
たとえば、イベント処理10は、イベント処理10sを介した純粋なサーバ側処理として実施され得る。あるいは、イベント処理10は、クライアント側アプリケーション10c1、クライアント側アプリケーション10c2、クライアント側アプリケーション10c3、およびクライアント側アプリケーション10c4のうちの1つまたは複数を介した純粋なクライアント側処理として実施され得る。あるいはまた、イベント処理10は、クライアント側アプリケーション10c1、クライアント側アプリケーション10c2、クライアント側アプリケーション10c3、およびクライアント側アプリケーション10c4の1つまたは複数と組み合わされたイベント処理10sを介して、サーバ側/クライアント側処理として実施され得る。そのような例では、イベント処理10の機能の少なくとも一部はイベント処理10sによって実行されてよく、かつイベント処理10の機能の少なくとも一部はクライアント側アプリケーション10c1、10c2、10c3、および10c4の1つまたは複数によって実行され得る。
【0016】
したがって、本開示で使用されるようなイベント処理10は、イベント処理10s、クライアント側アプリケーション10c1、クライアント側アプリケーション10c2、クライアント側アプリケーション10c3、およびクライアント側アプリケーション10c4の任意の組合せを含み得る。
【0017】
図2も参照すると、また以下でより詳細に論じられるように、イベント処理10は、イベントと関連付けられるオンライン協同空間を定義することができる(100)。イベント処理10はまた、複数のイベント参加者をイベントと関連付けることができる(102)。コンテンツ提供が、イベント参加者の1人または複数から受け取られ得る(104)。
【0018】
イベント処理10はまた、受け取られたコンテンツ提供がイベントと関連付けられるかどうかを判定することができる。受け取られたコンテンツ提供がイベントと関連付けられる場合、イベント処理10は、受け取られたコンテンツ提供に基づいて、クライアントのイベントアプリケーションにイベントコンテンツの更新を送信して、イベントコンテンツのライブストリームを提供することができる。
【0019】
イベント処理10sは、サーバアプリケーションであってよく、コンピューティングデバイス12上に存在してよく、コンピューティングデバイス12によって実行されてよく、コンピューティングデバイス12はネットワーク14(たとえば、インターネットまたはローカルエリアネットワーク)に接続され得る。コンピューティングデバイス12の例は、限定はされないが、パーソナルコンピュータ、サーバコンピュータ、一連のサーバコンピュータ、ミニコンピュータ、メインフレームコンピュータ、または専用ネットワークデバイスを含み得る。
【0020】
コンピューティングデバイス12に結合される記憶デバイス16に記憶され得る、イベント処理10sの命令セットおよびサブルーチンは、コンピューティングデバイス12内に含まれる1つまたは複数のプロセッサ(図示されず)および1つまたは複数のメモリアーキテクチャ(図示されず)によって実行され得る。記憶デバイス16の例は、限定はされないが、ハードディスクドライブ、テープドライブ、光学ドライブ、RAIDデバイス、NASデバイス、ストレージエリアネットワーク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、およびすべての形態のフラッシュメモリ記憶デバイスを含み得る。
【0021】
ネットワーク14は、1つまたは複数の二次的ネットワーク(たとえば、ネットワーク18)に接続されてよく、二次的ネットワークの例は、限定はされないが、たとえば、ローカルエリアネットワーク、ワイドエリアネットワーク、またはイントラネットを含み得る。
【0022】
クライアント側アプリケーション10c1、10c2、10c3、10c4の例は、限定はされないが、ウェブブラウザ、ゲームコンソールのユーザインターフェース、テレビのユーザインターフェース、または特別なアプリケーション(たとえば、モバイルプラットフォーム上で実行されるアプリケーション)を含み得る。クライアント電子デバイス28、30、32、34に(それぞれ)結合される記憶デバイス20、22、24、26に(それぞれ)記憶され得る、クライアント側アプリケーション10c1、10c2、10c3、10c4の命令セットおよびサブルーチンは、クライアント電子デバイス28、30、32、34に(それぞれ)組み込まれた、1つまたは複数のプロセッサ(図示されず)および1つまたは複数のメモリアーキテクチャ(図示されず)によって実行され得る。記憶デバイス20、22、24、26の例は、限定はされないが、ハードディスクドライブ、テープドライブ、光学ドライブ、RAIDデバイス、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、およびすべての形態のフラッシュメモリ記憶デバイスを含み得る。
【0023】
クライアント電子デバイス28、30、32、34の例は、限定はされないが、データ対応携帯電話28、ラップトップコンピュータ30、携帯情報端末32、パーソナルコンピュータ34、ノートブックコンピュータ(図示されず)、サーバコンピュータ(図示されず)、ゲームコンソール(図示されず)、データ対応テレビコンソール(図示されず)、および専用ネットワークデバイス(図示されず)を含み得る。クライアント電子デバイス28、30、32、34は各々、オペレーティングシステムを実行してよい。
【0024】
ユーザ36、38、40、42は、ネットワーク14または二次的ネットワーク18を通じて直接、イベント処理10にアクセスすることができる。さらに、イベント処理10は、リンク線44を介して二次的ネットワーク18を通じてアクセスされ得る。
【0025】
様々なクライアント電子デバイス(たとえば、クライアント電子デバイス28、30、32、34)は、ネットワーク14(またはネットワーク18)に直接または間接的に結合され得る。たとえば、データ対応携帯電話28およびラップトップコンピュータ30は、データ対応携帯電話28、ラップトップコンピュータ30(それぞれ)と、ネットワーク14に直接結合されるように示されているセルラーネットワーク/ブリッジ50との間で(それぞれ)確立されたワイヤレス通信チャネル46、48を介して、ネットワーク14にワイヤレスに結合されるように示されている。さらに、携帯情報端末32は、携帯情報端末32と、ネットワーク14に直接結合されるように示されているワイヤレスアクセスポイント(すなわち、WAP)54との間で確立されたワイヤレス通信チャネル52を介して、ネットワーク14にワイヤレスに結合されるように示されている。WAP 54は、たとえば、携帯情報端末32とWAP 54との間のワイヤレス通信チャネル52を確立することが可能な、IEEE 802.11a、802.11b、802.11g、802.11n、Wi-Fi、および/またはBluetooth(登録商標)デバイスであり得る。加えて、ノートブックコンピュータ34は、有線のネットワーク接続を介してネットワーク18に直接結合されるように示されている。
【0026】
上で全般に論じられたように、イベント処理10は、イベントと関連付けられるオンライン協同空間を定義することができる(100)。たとえば、ある実施形態では、ユーザ(たとえば、ユーザ36)は、(たとえば、クライアント側アプリケーション10c1、または別のアプリケーションを使用して)イベント処理10sにアクセスすることができ、イベントが作成されることを要求することができる。イベントは、たとえば、計画された集まりまたは活動、たとえば、パーティ、会議などを含んでよく、それによって、様々な個人が、共通の場所および時間に集まることを計画し得る。他の実施形態では、イベントは、共通の目的または主題を含み得るが、共通の時間および/または場所を含むとは限らない。たとえば、イベントは、映画のオープニングを含み得る。そのような実施形態では、個人は、異なる時間および異なる位置(たとえば、異なる劇場、都市など)で映画のオープニングに参加することができる。様々な追加の/代替のイベントが、同様に作成され得る。
【0027】
イベントを作成することの要求を受け取ったことに応答して、イベント処理10は、イベントと関連付けられるオンライン協同空間を定義することができる(100)。オンライン協同空間は、たとえば、1つまたは複数のウェブページ(たとえば、スタンドアロンのウェブページであってよく、かつ/または、ソーシャルネットワーキングウェブサイト内の1つまたは複数のウェブページを含み得る)、イベントウォール(たとえば、ソーシャルネットワーキングウェブサイト内の1つまたは複数のウェブページと関連付けられ得る)、アカウント(たとえば、ソーシャルネットワーキングウェブサイトまたは他の協同オンライン空間のようなオンライン空間のアカウント)を含み得る。オンライン協同空間は、1人または複数のユーザによってアクセスされ得る、様々な追加の/代替のオンライン空間を含み得る。いくつかの実施形態では、ユーザ(たとえば、ユーザ36)は、イベントの様々な属性、たとえば、イベント処理10がイベントと関連付け得る属性を提供することができる。たとえば、ユーザ36は、イベントを特定する表題または名前、さらにはイベントを特定する他の情報、たとえばイベントの時間および位置を提供することができる。いくつかの実施形態では、イベント処理10は、イベントと関連付けられるオンライン協同空間を定義することができ(100)、ユーザによって提供される様々な属性も、イベントおよび/またはオンライン協同空間と関連付けられ得る。
【0028】
イベント処理10はまた、複数の参加者をイベントと関連付けることができる(102)。たとえば、ある実施形態では、ユーザ36(たとえば、イベントを最初に作成し得るユーザ)は、イベントに招待された1人または複数の個人を特定することができる。そのような実施形態では、イベント処理10は、ユーザ36によって特定された1人または複数の個人を、イベント参加者として関連付けることができる(102)。いくつかの実施形態では、1人または複数の個人をイベントと関連付けるステップ(102)は、1人または複数の個人をイベントに招待するステップを含み得る。たとえば、いくつかの実施形態では、イベント処理10は、1人または複数の個人への招待(たとえば、1人または複数の個人の各々と関連付けられる電子メールアドレスまたはソーシャルネットワーキング識別子などの、ユーザ36によって提供される識別情報に少なくとも一部基づく)を送信することができる。いくつかの実施形態では、1人または複数の個人は、少なくとも一部、ソーシャルネットワークグループにおけるメンバーシップ、オンライン会話への参加(たとえば、電子メールの会話、ソーシャルネットワークページまたはブログなどのオンライン空間内でのコメントへの寄与)などの、定義されたグループ中の1人または複数の個人のメンバーシップに少なくとも一部基づいて、ユーザ36によって特定され得る。様々な追加のグループおよび/または代替的なグループが同様に、1人または複数の個人を特定するために利用され得る。
【0029】
ユーザ36がイベントに招待される個人を特定することに加えて/その代替として、いくつかの実施形態では、ユーザ36によって最初に招待された1人または複数の個人は、1人または複数の追加の個人を招待することが可能にされ得る。そのような実施形態では、イベント処理10は、そのような追加の個人を、イベント参加者としてもイベントと関連付けることができる。さらにいくつかの実施形態では、イベントと関連付けられるオンライン協同空間は、イベントに招待されていない、または別様にイベントと関連付けられていない個人によってアクセス可能であり得る。いくつかの実施形態では、そのような個人は、(たとえば、イベントと関連付けられるオンライン協同空間と関連付けられる参加オプションを選択することのような、電子的な要求を出すことによって)イベントに参加する意思を示すことができる。個人がイベントを参加する意思を示したことに応答して、イベント処理10は、その個人を、イベント参加者としてイベントと関連付けることができる(102)。
【0030】
コンテンツ提供が、イベント参加者の1人または複数から受け取られ得る(104)。たとえば、イベント処理10は、イベントと関連付けられるイベント参加者の1人または複数が、イベントと関連付けられるオンライン協同空間にコンテンツをアップロードすることを許可し得る。いくつかの実施形態では、複数のイベント参加者は、イベントと関連付けられるオンライン協同空間にコンテンツをアップロードすることができる。さらに、いくつかの実施形態では、イベント参加者の1人または複数は、イベントの間に(たとえば、イベントが作成されたときにイベントの特性としてユーザによって入力されていることがある、イベントが予定された期間に)コンテンツ提供をアップロードすることができる。そのような実施形態では、イベント処理10は、イベントが進行している間に、1人または複数のイベント参加者から1つまたは複数のコンテンツ提供を受け取ることができる。様々な追加の実施形態および/または代替的な実施形態では、イベント参加者は、追加で、および/または代替的に、イベントの予定された時刻の前、および/またはイベントの予定された時刻の後に、コンテンツ提供をアップロードすることが可能にされ得る。
【0031】
イベントと関連付けられるオンライン協同空間にアップロードされたコンテンツは、イベントと関連付けられるオンライン協同空間へのコンテンツ提供を含み得る。オンライン協同空間へのコンテンツ提供は、イベント処理10によって受け取られ得る(104)。いくつかの実施形態では、コンテンツ提供の1つまたは複数は、イベントと関連付けられるメディアコンテンツを含み得る。メディアコンテンツは、たとえば、ビデオコンテンツ、写真コンテンツ、オーディオコンテンツ、およびテキストコンテンツの1つまたは複数を含み得る。ビデオコンテンツは、たとえば、イベントと関連付けられるビデオクリップ(たとえば、イベントにおいて記録された可能性のあるビデオクリップなど)を含み得る。同様に、写真コンテンツは、イベントと関連付けられる1つまたは複数の写真(たとえば、イベントにおいて撮影された可能性のある写真)を含み得る。様々な実施形態において、メディアコンテンツはさらに、イベントと関連付けられるオーディオコンテンツ(たとえば、イベントにおいて記録された可能性のあるオーディオクリップ)、および/またはイベントと関連付けられるテキストコンテンツ(たとえば、イベントに関連する、または別のコンテンツ提供に関連するコメント)を含み得る。様々な実施形態では、イベント参加者は、スマートフォン、タブレットなどのようなモバイルコンピューティングデバイスなどの、任意の適切なデバイスを使用して、メディアコンテンツを保存し、メディアコンテンツをアップロードすることができる。
【0032】
たとえば、
図3を参照すると、イベントと関連付けられるオンライン協同空間(たとえば、イベントページ150)の図表による表現。示されるように、イベントページ150は、1人または複数のイベント参加者によってアップロードされた可能性のある、1つまたは複数の写真(たとえば、写真152、154)を含み得る。加えて、イベントページ150は、イベント参加者によって作成されアップロードされた可能性がある、1つまたは複数のコメント(たとえば、コメント156)を含み得る。イベント処理10は、1人または複数のイベント参加者によってアップロードされるコンテンツ提供(たとえば、写真152、154、およびコメント156)を受け取ることができる(104)。様々な追加の、および/または代替的なコンテンツ提供も、たとえば上で論じられたように、イベント処理10によって受け取られ得る。いくつかの実施形態では、コンテンツ提供は、各コンテンツ提供がイベント処理によって受け取られる(104)時刻に基づいて、イベントページ150内で配置され、かつ/またはインデックスを付けられてよく、かつ/または、各コンテンツ提供は、各コンテンツ提供が受け取られた(104)時刻を示し得る、関連するタイムスタンプを含み得る。
【0033】
いくつかの実施形態では、コンテンツ提供の1つまたは複数は、イベントと関連付けられるメタデータコンテンツを含み得る。たとえば、メタデータコンテンツは、イベントコンテンツの1つまたは複数の断片と関連付けられる1つまたは複数のタグ、(イベントに出席しているかしていないかにかかわらず)1人または複数のイベント参加者と関連付けられるメタデータ、たとえば、RSVPステータス、イベント到着ステータス(event check-in status)などを含み得る。たとえば、
図3をさらに参照すると、1つまたは複数のメタデータタグ(たとえば、タグ158)は、イベント処理10によって受け取られる(104)コンテンツ提供と関連付けられ得る。たとえば、タグ158は、写真152内に含まれる1人または複数の個人、写真152に関する状況情報などを特定することができる。タグ158は、写真152と同時に、および/または写真152の受け取り(104)の後に受け取られてよい(104)。さらに、タグ158は、写真152をアップロードした同じイベント参加者から受け取られてよく(104)、かつ/または異なるイベント参加者から受け取られてよい(104)。同様の方式で、1つまたは複数のタグが、コンテンツ(たとえば、ビデオおよび他のメディア)の他の断片、および/または、ユーザ、位置などのような他のデータと関連付けられ得る。
【0034】
別の例として、ある実施形態では、イベントページ150は、イベントに参加する意思の肯定的な応答を送信したイベント参加者のリスト(たとえば、RSVPリスト160)を含み得る。ある実施形態では、イベントに参加する意思の肯定的な応答がイベント参加者から受け取られると、メタデータは、イベント参加者についての肯定的なRSVPステータスを示したイベント参加者と関連付けられ得る。同様に、イベントページ150は、イベントに到着したこと、および/または別様にイベントに能動的に参加していることを示したイベント参加者のリスト(たとえば、到着リスト162)を含み得る。ある実施形態では、イベントへの能動的な参加の指示がイベント参加者から受け取られると、メタデータは、肯定的な到着ステータスを示すイベント参加者と関連付けられ得る。様々な追加の、および/または代替的なメタデータが受け取られてよく、かつ/または、イベントページ150の要素、イベント参加者、および/またはイベントの他の態様と関連付けられてよい。
【0035】
イベント処理10はまた、受け取られた(104)コンテンツ提供に基づいて、クライアントのイベントアプリケーションにイベントコンテンツの更新を送信して、イベントコンテンツのライブストリームを提供することができる。ある例示的な実施形態では、イベントコンテンツの更新は、イベント処理10によって受け取られた(104)がクライアントのイベントアプリケーションにまだ送信されていない、任意のコンテンツ提供を含み得る。ある実施形態では、イベント処理10は、クライアントのイベントアプリケーションにイベントコンテンツの更新を送信して、イベントコンテンツのライブストリームを提供することができる。イベントコンテンツのライブストリームは、イベント処理10によるコンテンツ提供の受け取り(104)と概ね同時の(たとえば、イベント処理10によるコンテンツ提供の受け取り(104)と、クライアントのイベントアプリケーションへのイベントコンテンツの更新の送信との間の、比較的短い時間遅延を伴う)、クライアントのイベントアプリケーションによるイベントコンテンツの更新の受け取りを可能にするために、クライアントのイベントアプリケーションへのイベントコンテンツの更新の送信を含み得る。したがって、クライアントのイベントアプリケーションと関連付けられるユーザは、コンテンツ提供の記録および/またはアップロードと概ね同時のイベントコンテンツの更新を、(たとえば、クライアントのイベントアプリケーションを介して)受け取って見ることができる。クライアントのイベントアプリケーションは、イベントと関連付けられるオンライン協同空間にアクセスするためにユーザが利用し得るアプリケーションを含み得る。クライアントのイベントアプリケーション(たとえば、
図1に図示されるクライアント側アプリケーション10c1、10c2、10c3、および10c4の1つまたは複数を含み得る)の例は、限定はされないが、ウェブブラウザアプリケーションおよび/または専用アプリケーションを含み得る。上でも全般に論じられたように、イベント処理の機能の少なくとも一部分は、クライアント側アプリケーション10c1、10c2、10c3、10c4の1つまたは複数によって実行され得る。
【0036】
ある実施形態では、イベントのライブストリームは、クライアントのイベントアプリケーションによるオンライン協同空間の定期的なポーリングによって、少なくとも一部達成され得る。そのような実施形態と一致して、クライアントのイベントアプリケーションは、イベントコンテンツの更新に対するポーリング要求をイベント処理10に定期的に送信することができる。ポーリング要求は、任意の適切な時間間隔で(たとえば、設計基準およびユーザ選好に応じて)送信されてよく、いくつかの実施形態では、様々なユーザおよび/またはシステム設定に応じて可変であってよい。様々な例示的な実施形態では、ポーリングの時間間隔は、1秒、5秒、10秒、15秒、30秒、1分、または任意の他の適切なポーリングの時間間隔を含み得る。
【0037】
イベント処理10は、クライアントのイベントアプリケーションから、イベントコンテンツの更新に対するポーリング要求を受け取ることができる。さらに、クライアントからイベントコンテンツの更新に対するポーリング要求を受け取ったことに応答して、イベント処理10は、クライアントのイベントアプリケーションからの以前のポーリング要求以降の、1つまたは複数の受け取られた(104)コンテンツ提供を特定することができる。たとえば、イベント処理10は、ポーリング要求がクライアントのイベントアプリケーションから受け取られた最後の時間を決定することができる。いくつかの実施形態では、ポーリング要求がクライアントのイベントアプリケーションから受け取られた最後の時間を決定するステップは、クライアントのイベントアプリケーションと関連付けられる識別子、イベントと関連付けられるオンライン協同空間にアクセスするために利用されるユーザ認証情報(たとえば、ユーザ名、パスワードなど)、または、クライアントのイベントアプリケーションの1つまたは複数および/またはクライアントのイベントアプリケーションを利用するユーザを特定するために使用され得る他の識別子に少なくとも一部基づき得る。さらに、イベント処理10は、以前のポーリング要求がクライアントのイベントアプリケーションによって受け取られた後に受け取られた(104)1つまたは複数のコンテンツ提供を特定することができる。いくつかの実施形態では、クライアントのイベントアプリケーションによる最後のポーリング要求以降に受け取られた(104)コンテンツ提供は、コンテンツ提供と関連付けられるタイムスタンプ(たとえば、コンテンツ提供がイベント処理10によって受け取られた(104)時間を示し得る)に少なくとも一部基づいて特定され得る。クライアントのイベントアプリケーションによる以前のポーリング要求以降に受け取られた(104)、特定された(110)1つまたは複数のコンテンツ提供は、イベントコンテンツの更新であり得る。1つまたは複数のコンテンツ提供を特定すると(110)、イベント処理10は、イベントコンテンツの更新をクライアントのイベントアプリケーションに送信することができる。
【0038】
いくつかの実施形態では、イベント処理10は、以前のポーリング期間内に受け取られた1つまたは複数のコンテンツ提供を特定することができる。たとえば、特定のクライアントのイベントアプリケーションから受け取られた以前のポーリング要求を判定することに加えて、および/またはその代わりとして、イベント処理10は、システムおよび/またはユーザ設定に基づいて、ポーリング期間を決定することができる。いくつかの実施形態では、クライアントのイベントアプリケーションが最初にイベントと関連付けられるオンライン協同空間にアクセスするとき、クライアントのイベントアプリケーションは最初に、すべての利用可能なコンテンツ提供(たとえば、オンライン協同空間にアクセスした時点で受け取られていた(104)すべてのコンテンツ提供)をダウンロードすることができる。続いて、クライアントのイベントアプリケーションは、ポーリング期間においてポーリング要求を送信することができる。ポーリング期間が30秒であり得る、ある例示的な実施形態では、イベント処理10は、最近30秒以内(たとえば、以前のポーリング期間内)に受け取られた(104)可能性のある1つまたは複数のコンテンツ提供を特定することができる。イベント処理10は、コンテンツ提供と関連付けられるタイムスタンプ(たとえば、コンテンツ提供がイベント処理10によって受け取られた(104)時間を示し得る)に少なくとも一部基づいて、以前のポーリング期間内に受け取られた(104)ものとして、1つまたは複数のコンテンツ提供を特定することができる。以前のポーリング期間内に受け取られた(104)可能性のある、特定された1つまたは複数のコンテンツ提供が、イベントコンテンツの更新であり得る。1つまたは複数のコンテンツ提供を特定すると、イベント処理10は、イベントコンテンツの更新をクライアントのイベントアプリケーションに送信することができる。
【0039】
ある実施形態では、イベント処理10は、新たなコンテンツが受け取られた(104)ことと、クライアントのイベントアプリケーションによるダウンロードのためにコンテンツが利用可能であり得ることとを、クライアントのイベントアプリケーションに通知することができる。たとえば、ある実施形態では、イベント処理10は、複数のイベント参加者の1人から少なくとも第1のコンテンツ提供を受け取った(104)ことに応答する、イベントコンテンツの更新の通知をクライアントのイベントアプリケーションに送信することができる。上で全般に説明されたように、イベントコンテンツの更新は、クライアントのイベントアプリケーションに送信されていないコンテンツ提供を含み得る。ある例示的な実施形態では、イベント処理10は、クライアントのイベントアプリケーションが送信された通知を受信したことに応答する、クライアントのイベントアプリケーションからの更新要求を受け取ることができる。クライアントのイベントアプリケーションからの更新要求は、イベントコンテンツの更新がクライアントのイベントアプリケーションに送信されるべきであるという要求を含み得る。イベント処理10はさらに、クライアントのイベントアプリケーションからの更新要求に応答して、イベントコンテンツの更新を送信することができる。
【0040】
ある実施形態では、イベント処理10は、新たなイベントコンテンツを受け取った(104)ことに応答して、イベントコンテンツの更新をクライアントのイベントアプリケーションに送信することができる。たとえば、上で全般に説明されたように、イベント参加者はコンテンツ提供をアップロードすることができ、コンテンツ提供はイベント処理10によって受け取られ得る(104)。イベント参加者からイベントコンテンツ提供を受け取ると(104)、イベント処理10は、イベントコンテンツの更新をクライアントのイベントアプリケーションに送信することができ、このとき、イベントコンテンツの更新は、イベント参加者から受け取られた(104)コンテンツ提供を含み得る。そのような実施形態と一致して、イベント処理10は一般に、イベントコンテンツのライブストリームを、プッシュのコンテンツ更新として提供することができる。
【0041】
ある実施形態では、イベント処理10は、パーティモードを含んでよく、かつ/またはパーティモードと関連付けられてよく(たとえば、ソーシャルネットワーキングモバイルアプリケーションの機能)、パーティモードは、イベントの間に行われるコンテンツ提供(たとえば、写真、ビデオなど)の、クライアントのイベントアプリケーションへのアップロードを可能にするように設計されてよく、コンテンツ提供は他のイベント参加者により見られ得る。このようにして、イベント処理10は、内部論理を使用して写真をアップロードするかどうかを判断することができ、イベントは、一方的にアップロードされた写真を受け入れることができる。いくつかの場合には、不正常にアップロードされたものとしてアプリケーションが写真を識別する場合、これは問題となり得る。
【0042】
したがって、ある実施形態では、イベント処理10は、受け取られたコンテンツ提供がイベントと関連付けられるかどうかを判定することができる(106)。この判定は、以下でさらに詳細に説明される、種々の異なる技法を使用して行われ得る。受け取られたコンテンツ提供がイベントと関連付けられる場合、イベント処理10は、受け取られたコンテンツ提供に基づいて、イベントコンテンツの更新をクライアントのイベントアプリケーションに送信して(108)、イベントコンテンツのライブストリームを提供することができる。たとえば、イベント処理10は、ある基準が満たされた場合、クライアントのイベントアプリケーションから写真を除外するように構成され得る。いくつかのタイプの基準は、限定はされないが、イベントと関連付けられる終了時刻の後にとられたものとしてコンテンツを特定し得る、受け取られたコンテンツ提供と関連付けられ得る交換可能画像ファイルフォーマット(EXIF)情報を含んでよく、コンテンツは、コンテンツがイベントから何らかの閾値の距離(たとえば、イベント位置から1マイルより遠くなど)でとられたことを特定する、コンテンツと関連付けられるジオロケーション情報、および/または、適用不可能な写真または画像を特定するための任意の他の適切な方法を有し得る。たとえば、いくつかの場合、認証されたユーザのみ(たとえば、イベント参加者)が、写真をアップロードすることを許可され得る。したがって、イベント処理10は、各イベント参加者の識別情報を判定するように構成され得る。このようにして、認証されていないユーザがコンテンツをアップロードすることを試みる場合、イベント処理は、コンテンツがアップロードされることを防ぐことができる。
【0043】
いくつかの実施形態では、コンテンツがイベントと関連付けられるかどうかを判定するステップは、イベントおよびコンテンツ提供の少なくとも1つと関連付けられる時間情報に基づき得る。たとえば、イベントの開始よりも前の関連する日付および/または時刻を有する任意のコンテンツが除外され得る。この時間情報は、限定はされないが、上で論じられたEXIFデータの分析、コンテンツと関連付けられるメタデータ、または任意の他の適切な手法を含む、任意の適切な手法を使用して取得され得る。コンテンツがイベントと関連付けられるかどうかを判定するために、イベント時間と、コンテンツと関連付けられる時間との比較が行われ得る。
【0044】
いくつかの実施形態では、イベント処理10と関連付けられるサーバ側の保護は、特定の写真と関連付けられるコンテンツの1つまたは複数の項目を分析し、特定されたコンテンツをイベントと関連付けられる情報と比較するように構成され得る。特定されたコンテンツが、イベントと関連付けられる情報と一致しない場合、または実質的に一致しない場合、写真は除外され得る。
【0045】
加えて、および/または代替的に、ある実施形態では、受け取られたコンテンツは列に入れられてよく、ユーザ認証を受け取ったときにコンテンツを採用または除外するために、ユーザオプションがオンライン協同空間において提供され得る。いくつかの実施形態では、基準を定義し得る1つまたは複数の閾値が設定されてよく、基準が満たされない場合、特定の写真の除外をもたらす。閾値の概念の例は、限定はされないが、イベント位置からの設定された閾値の距離を超えること、または、イベントが開始または終了してからのある量の時間、イベントからある日数以内であることなどを含み得る。
【0046】
図4も参照すると、コンピューティングシステム12の線図が示されている。コンピューティングシステム12がこの図で示されるが、これは例示のためのみのものであり、他の構成が可能であるので、本開示の限定であることは意図されない。たとえば、イベント処理10を全体または一部実行することが可能な任意のコンピューティングデバイスが、
図4の中のコンピューティングデバイス12の代わりにされてよく、その例は、限定はされないが、クライアント電子デバイス28、30、32、34を含み得る。
【0047】
コンピューティングシステム12は、たとえばイベント処理10のためにデータを処理しかつ命令/コードを実行するように構成される、マイクロプロセッサ350を含み得る。マイクロプロセッサ350は、記憶デバイス16に結合され得る。上で論じられたように、記憶デバイス16の例は、限定はされないが、ハードディスクドライブ、テープドライブ、光学ドライブ、RAIDデバイス、NASデバイス、ストレージエリアネットワーク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、およびすべての形態のフラッシュメモリ記憶デバイスを含み得る。IOコントローラ352は、キーボード354、マウス356、USBポート(図示されず)、プリンタポート(図示されず)などの様々なデバイスとマイクロプロセッサ350を結合するように構成され得る。ディスプレイアダプタ360は、ディスプレイ362(たとえば、CRTまたはLCDモニタ)をマイクロプロセッサ350と結合するように構成されてよく、ネットワークアダプタ364(たとえば、イーサネット(登録商標)アダプタ)は、マイクロプロセッサ350をネットワーク14(たとえば、インターネットまたはローカルエリアネットワーク)に結合するように構成されてよい。
【0048】
当業者により理解されるように、本開示は、方法(たとえば、コンピューティングデバイス12で全体または一部が実行される)、システム(たとえば、コンピューティングデバイス12)、またはコンピュータプログラム製品(たとえば、記憶デバイス16内に符号化される)として具現化され得る。したがって、本開示は、完全なハードウェア実施形態、完全なソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または、すべてが本明細書では「回路」、「モジュール」、または「システム」と全般に呼ばれ得る、ソフトウェアとハードウェアの態様を組み合わせた実施形態の形式をとり得る。さらに、本開示は、媒体中に具現化されたコンピュータ使用可能プログラムコードを有する、コンピュータ使用可能記憶媒体(たとえば、記憶デバイス16)上のコンピュータプログラム製品の形式をとり得る。
【0049】
任意の適切なコンピュータ使用可能媒体またはコンピュータ可読媒体(たとえば、記憶デバイス16)が利用され得る。コンピュータ使用可能媒体またはコンピュータ可読媒体は、たとえば限定はされないが、電子式、磁気式、光学式、電磁式、赤外線式、または半導体のシステム、装置、デバイス、または伝搬媒体であり得る。コンピュータ可読媒体のより具体的な例(非網羅的なリスト)は、1つまたは複数の配線を有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラム可能読取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ(CD-ROM)、光学記憶デバイス、インターネットまたはイントラネットをサポートする送信媒体のような送信媒体、または磁気記憶デバイスを含み得る。コンピュータ使用可能媒体またはコンピュータ可読媒体はまた、プログラムが印刷される紙または別の適切な媒体であってよく、それは、プログラムが、たとえば紙または他の媒体の光学的なスキャンを介して電子的に記録され、次いでコンパイルされ、翻訳され、または別様に適切な方式で処理されて、必要であれば、次いでコンピュータメモリに記憶され得るからである。本文書の文脈では、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって使用される、またはそれらに関連するプログラムを、格納し、記憶し、通信し、伝搬し、または移送することができる、任意の媒体であり得る。コンピュータ使用可能媒体は、ベースバンドの中で、または搬送波の一部として、コンピュータ使用可能媒体により具現化されるコンピュータ使用可能プログラムコードを伴う、伝搬されるデータ信号を含み得る。コンピュータ使用可能プログラムコードは、限定はされないが、インターネット、有線、光ファイバケーブル、RFなどを含む、任意の適切な媒体を使用して送信され得る。
【0050】
本開示の動作を実行するためのコンピュータプログラムコードは、Java(登録商標)、Smalltalk、C++などのような、オブジェクト指向プログラミングで書かれ得る。しかしながら、本開示の動作を実行するためのコンピュータプログラムコードは、「C」プログラミング言語または同様のプログラミング言語などの、従来の手続き型プログラミング言語でも書かれ得る。プログラムコードは、全体がユーザのコンピュータ上で、一部がユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、一部がユーザのコンピュータ上、一部がリモートコンピュータ上で、または全体がリモートコンピュータもしくはサーバ上で実行され得る。後者の状況では、リモートコンピュータは、ローカルエリアネットワーク/ワイドエリアネットワーク/インターネット(たとえば、ネットワーク14)を通じてユーザのコンピュータに接続され得る。
【0051】
本開示は、本開示の実施形態による、方法、装置(システム)、およびコンピュータプログラム製品の、フローチャートの図および/またはブロック図を参照して説明される。フローチャートの図および/またはブロック図の各ブロック、およびフローチャートの図および/またはブロック図におけるブロックの組合せは、コンピュータプログラム製品によって実装され得る。これらのコンピュータプログラム命令は、汎用コンピュータ/専用コンピュータ/他のプログラム可能データ処理装置(たとえば、コンピューティングデバイス12)のプロセッサ(たとえば、プロセッサ350)に提供され得るので、コンピュータのプロセッサ(たとえば、プロセッサ350)または他のプログラム可能データ処理装置を介して実行される命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて規定される機能/動作を実施するための手段を作成する。
【0052】
コンピュータ(たとえば、コンピューティングデバイス12)または他のプログラム可能データ処理装置にある特定の方式で機能するように指示し得る、これらのコンピュータプログラム命令も、コンピュータ可読メモリ(たとえば、記憶デバイス16)に記憶され得るので、コンピュータ可読メモリに記憶された命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロック図において規定される機能/動作を実施する命令手段を含む、製造物品を生成する。
【0053】
フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて規定される機能/動作を実施するためのステップを、コンピュータまたは他のプログラム可能装置上で実行される命令が提供するように、コンピュータで実施される処理を生成するために、一連の動作ステップがコンピュータまたは他のプログラム可能装置上で実行されるようにするための、コンピュータプログラム命令も、コンピュータ(たとえば、コンピューティングデバイス12)または他のプログラム可能データ処理装置にロードされ得る。
【0054】
図面におけるフローチャートおよびブロック図は、本開示の様々な実施形態による、システム、方法、およびコンピュータプログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を例示し得る。この点において、フローチャートまたはブロック図の中の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、またはコードの一部を表し得る。いくつかの代替的な実装形態では、ブロック中に記載された機能は、図面の記載された順序以外で実行され得ることにも留意されたい。たとえば、連続して図示される2つのブロックは、実際には、実質的に同時に実行されてよく、またはブロックは、場合によっては、関与する機能に応じて、逆の順序で実行され得る。ブロック図および/またはフローチャートの図の各ブロック、ならびにブロック図および/またはフローチャートの図の中のブロックの組合せは、規定された機能もしくは動作、または専用ハードウェアとコンピュータ命令の組合せを実行する、専用のハードウェアベースのシステムによって実装され得ることにも留意されたい。
【0055】
本明細書で使用される用語は、特定の実施形態のみを説明することを目的としており、本開示を限定することは意図されない。本明細書で使用される場合、単数形「a」、「an」、および「the」は、別段文脈が明確に示さない限り、複数形も含むことが意図される。本明細書で使用される場合、「含む」および/または「含んでいる」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/またはコンポーネントの存在を規定するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および/またはこれらのグループの存在または追加を排除しないことがさらに理解されるだろう。
【0056】
対応する構造、材料、動作、および、以下の特許請求の範囲におけるすべてのmeans plus functionまたはstep plus functionの要素の等価物は、具体的に特許請求されるような他の特許請求される要素と組み合わせてその機能を実行するための、任意の構造、材料、または動作を含むことが意図される。本開示の説明は、例示および説明のために提示されているが、網羅的であること、または開示された形式の開示に限定されることは意図されていない。本開示の範囲および趣旨から逸脱することなく、多くの修正および変更が当業者には明らかであろう。実施形態は、本開示の原理および実際の適用形態を最良に説明するために、および、他の当業者が、企図される特定の使用法に適するような様々な修正を伴う様々な実施形態の開示を理解できるようにするために、選択され説明された。
【0057】
本出願の開示を詳細に、およびその実施形態を参照してこのように説明してきたので、添付の特許請求の範囲で定義される本開示の範囲から逸脱することなく、修正および変更が可能であることが明らかである。