(57)【特許請求の範囲】
【請求項１】
第１ユーザから第１コンテンツを含むコンテンツ登録リクエストを受信する工程と、
前記第１コンテンツの識別情報を生成し、前記第１コンテンツ及び前記第１コンテンツの識別情報をコンテンツストレージに保存する工程と、
前記第１コンテンツの識別情報を利用して、前記第１ユーザと前記第１ユーザの通知を購読する他のユーザそれぞれのインデックスをアップデートするためのインデックスアップデート命令を生成する工程と、
前記インデックスアップデート命令に基づいて、インデックスストレージに保存された前記他のユーザそれぞれのインデックスに、前記第１コンテンツの識別情報を追加するインデックスアップデート命令処理工程と、
第２ユーザからニュースフィード提供リクエストを受信する工程と、
前記第２ユーザのインデックスに含まれた前記第１コンテンツの識別情報に基づいて、前記コンテンツストレージに保存されたコンテンツを読み取り、前記第１コンテンツを含むニュースフィードを、前記第２ユーザに提供する工程と、を含むコンテンツ共有サービス提供方法。
【請求項２】
前記インデックスアップデート命令処理工程は、
前記第１ユーザと前記第１ユーザの通知を購読する他のユーザの数が、所定の単位購読者数を超える場合、前記インデックスアップデート命令を２個以上に分割して生成し、前記生成された複数のインデックスアップデート命令をキューに保存し、
前記キューに保存された複数のインデックスアップデート命令によって、インデックスストレージに保存された前記他のユーザそれぞれのインデックスに、前記第１コンテンツの識別情報を追加することを特徴とする請求項１に記載のコンテンツ共有サービス提供方法。
【請求項３】
前記インデックスアップデート命令は、前記第１ユーザの識別情報及び前記第１コンテンツの識別情報を含むか、あるいは第１ユーザと前記第１ユーザの通知を購読する購読者それぞれの識別情報、及び前記第１コンテンツの識別情報を含むことを特徴とする請求項１に記載のコンテンツ共有サービス提供方法。
【請求項４】
前記保存する工程以後に、
前記インデックスストレージに保存された前記第１ユーザのインデックスに、前記第１コンテンツの識別情報を追加する工程をさらに含むことを特徴とする請求項１に記載のコンテンツ共有サービス提供方法。
【請求項５】
前記コンテンツストレージは、
複数のコンテンツ及び識別情報をマッチングして保存し、
前記提供する工程は、
前記第２ユーザのインデックスに含まれたコンテンツの識別情報にマッチングされるコンテンツを、前記コンテンツストレージから読み取ることを特徴とする請求項１に記載のコンテンツ共有サービス提供方法。
【請求項６】
前記インデックスストレージは、
前記コンテンツ共有サービスに加入したユーザそれぞれのインデックスを保存し、
前記インデックスには、前記それぞれのユーザが購読した他のユーザが登録したコンテンツの識別情報が列挙されることを特徴とする請求項１に記載のコンテンツ共有サービス提供方法。
【請求項７】
前記インデックスにおいて、前記コンテンツの識別情報は、前記コンテンツが登録された順に列挙されることを特徴とする請求項６に記載のコンテンツ共有サービス提供方法。
【請求項８】
前記ニュースフィードは、前記第２ユーザのインデックスに、コンテンツの識別情報が追加されて保存された順に、前記コンテンツの識別情報に対応するコンテンツを並べる画面であることを特徴とする請求項１に記載のコンテンツ共有サービス提供方法。
【請求項９】
コンピュータを、
第１ユーザから第１コンテンツを含むコンテンツ登録リクエストを受信する手段と、
前記第１コンテンツの識別情報を生成し、前記第１コンテンツ、及び前記第１コンテンツの識別情報をコンテンツストレージに保存する手段と、
前記第１コンテンツの識別情報を利用して、前記第１ユーザと前記第１ユーザの通知を購読する他のユーザそれぞれのインデックスをアップデートするためのインデックスアップデート命令を生成する手段と、
前記インデックスアップデート命令に基づいて、インデックスストレージに保存された前記他のユーザそれぞれのインデックスに、前記第１コンテンツの識別情報を追加するインデックスアップデート命令処理手段と、
第２ユーザからニュースフィード提供リクエストを受信する手段と、
前記第２ユーザのインデックスに含まれた第１コンテンツの識別情報に基づいて、前記コンテンツストレージに保存されたコンテンツを読み取り、前記第１コンテンツを含むニュースフィードを、前記第２ユーザに提供する手段と、
して機能させるコンピュータプログラム。
【請求項１０】
前記インデックスアップデート命令処理手段は、
前記第１ユーザと前記第１ユーザの通知を購読する他のユーザの数が、所定の単位購読者数を超える場合、前記インデックスアップデート命令を２個以上に分割して生成し、前記生成された複数のインデックスアップデート命令をキューに保存し、
前記キューに保存された複数のインデックスアップデート命令によって、インデックスストレージに保存された前記他のユーザそれぞれのインデックスに、前記第１コンテンツの識別情報を追加することを特徴とする請求項９に記載のコンピュータプログラム。
【請求項１１】
第１ユーザから、第１コンテンツを含むコンテンツ登録リクエストを受信し、前記第１コンテンツの識別情報を生成し、前記第１コンテンツ、及び前記第１コンテンツの識別情報をコンテンツストレージに保存するコンテンツ登録手段と、
前記第１コンテンツの識別情報を利用して、前記第１ユーザと前記第１ユーザの通知を購読する他のユーザそれぞれのインデックスをアップデートするためのインデックスアップデート命令を生成するインデックスアップデート命令生成手段と、
前記インデックスアップデート命令に基づいて、インデックスストレージに保存された前記他のユーザそれぞれのインデックスに、前記第１コンテンツの識別情報を追加するインデックスアップデート手段と、
第２ユーザからニュースフィード提供リクエストを受信し、前記第２ユーザのインデックスに含まれた前記第１コンテンツの識別情報に基づいて、前記コンテンツストレージに保存されたコンテンツを読み取り、前記第１コンテンツを含むニュースフィードを、前記第２ユーザに提供するニュースフィード提供手段と、を含むコンテンツ共有サービス提供装置。
【請求項１２】
前記インデックスアップデート手段は、
前記第１ユーザと前記第１ユーザの通知を購読する他のユーザの数が、所定の単位購読者数を超える場合、前記インデックスアップデート命令を２個以上に分割して生成し、前記生成された複数のインデックスアップデート命令をキューに保存し、
前記キューに保存された複数のインデックスアップデート命令によって、インデックスストレージに保存された前記他のユーザそれぞれのインデックスに、前記コンテンツの識別情報を追加することを特徴とする請求項１１に記載のコンテンツ共有サービス提供装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラムに関する。
【背景技術】
【０００２】
最近、インターネットなどの通信網の普及、及びアクセス性の向上により、インターネット上で、ユーザがコンテンツを互いに共有する要求が急激に増大しており、ユーザ間でコンテンツを共有するインターフェースを提供するサービスが活発に提供されている。主に、ユーザの関係を基盤として、コンテンツ共有が行われている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明が解決しようとする課題は、コンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラムを提供することであり、さらに詳細には、ユーザの関係を基に、ニュースフィード画面を提供するためのインデックスを生成する処理と、インデックスを参照し、ニュースフィードを提供する処理とを効率的に行うことができるコンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラムを提供することである。
【課題を解決するための手段】
【０００４】
本発明の一実施形態は、第１ユーザから第１コンテンツを含むコンテンツ登録リクエストを受信する工程と、前記第１コンテンツの識別情報を生成し、前記第１コンテンツ及び前記第１コンテンツの識別情報をコンテンツストレージに保存する工程と、前記第１コンテンツの識別情報を利用して、前記第１ユーザと所定の関係を有する他のユーザそれぞれのインデックスをアップデートするためのインデックスアップデート命令を生成する工程と、前記インデックスアップデート命令に基づいて、インデックスストレージに保存された前記他のユーザそれぞれのインデックスに、前記第１コンテンツの識別情報を追加するインデックスアップデート命令処理工程と、第２ユーザからニュースフィード提供リクエストを受信する工程と、前記第２ユーザのインデックスに含まれた前記第１コンテンツの識別情報に基づいて、前記コンテンツストレージに保存されたコンテンツを読み取り、前記第１コンテンツを含むニュースフィードを、前記第２ユーザに提供する工程と、を含むコンテンツ共有サービス提供方法を開示する。
【０００５】
本発明の他の実施形態は、コンピュータを利用して、前述のステップを実行するために媒体に保存されたコンピュータプログラムを開示する。
【０００６】
本発明のさらに他の実施形態は、第１ユーザから、コンテンツを含むコンテンツ登録リクエストを受信し、前記コンテンツの識別情報を生成し、前記コンテンツ、及び前記コンテンツの識別情報をコンテンツストレージに保存するコンテンツ登録手段と、前記コンテンツの識別情報を利用して、前記第１ユーザと所定の関係を有する他のユーザそれぞれのインデックスをアップデートするためのインデックスアップデート命令を生成するインデックスアップデート命令生成手段と、前記インデックスアップデート命令に基づいて、インデックスストレージに保存された前記他のユーザそれぞれのインデックスに、前記コンテンツの識別情報を追加するインデックスアップデート手段と、第２ユーザからニュースフィード提供リクエストを受信し、前記第２ユーザのインデックスに含まれたコンテンツの識別情報に基づいて、前記コンテンツストレージに保存されたコンテンツを読み取り、前記コンテンツを含むニュースフィードを、前記第２ユーザに提供するニュースフィード提供手段と、を含むコンテンツ共有サービス提供装置を開示する。
【０００７】
前述した以外の他の側面、特徴、利点は、以下の図面、特許請求の範囲、及び発明の詳細な説明から明確になるであろう。
このような一般的であって具体的な側面が、システム、方法、コンピュータプログラム、またはいかなるシステム、方法、コンピュータプログラムの組み合わせをも使用して実施される。
【発明の効果】
【０００８】
本発明によるコンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラムは、コンテンツ識別情報を利用してニュースフィード用インデックスを生成するので、インデックス生成に必要なデータ処理量が顕著に低減する。
本発明の実施形態についてのコンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラムは、コンテンツストレージを利用してコンテンツを一律に管理するので、ユーザが登録したコンテンツが、購読者に伝達する過程において、コンテンツ内容が変形される恐れが低減する。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施形態によるコンテンツ共有システムの構成を示した図面である。
【図２】本発明の一実施形態によるコンテンツ共有サービス提供装置の構成を示したブロック図である。
【図３】本発明の一実施形態によるコンテンツサービス提供方法を図示したフローチャートである。
【図４】本発明の一実施形態によって、ニュースフィード提供部によって提供されるニュースフィード画面の例である。
【発明を実施するための形態】
【００１０】
本発明は、多様な変形を加えることができ、さまざまな実施形態を有することができるが、特定の実施形態を図面に例示し、詳細に説明する。本発明の効果、特徴、及びそれらを達成する方法は、図面と共に詳細に説明する実施形態を参照すれば、明確になるであろう。しかし、本発明は、以下で開示される実施形態に限定されるものではなく、多様な形態によって具現されるのである。
以下、添付された図面を参照し、本発明の実施形態について詳細に説明するが、図面を参照して説明するとき、同一あるいは対応する構成要素は、同一の図面符号を付し、それに係わる重複説明は省略する。
【００１１】
以下の実施形態において、第１、第２のような用語は、限定的な意味ではなく、１つの構成要素を他の構成要素と区別する目的に使用された。以下の実施形態において、単数の表現は、文脈上明らかに異なる意味でない限り、複数の表現を含む。以下の実施形態において、「含む」または「有する」というような用語は、明細書上に記載された特徴または構成要素が存在するということを意味するものであり、１以上の異なる特徴または構成要素が付加される可能性をあらかじめ排除するものではない。図面では、説明の便宜上、構成要素の大きさが誇張されていたり縮小されていたりする。例えば、図面に示された各構成の大きさ及び厚みは、説明の便宜上任意に示されており、本発明は、必ずしも図示されたところに限定されるものではない。
【００１２】
図１は、本発明の一実施形態によるコンテンツ共有システムの構成を示した図面である。
図１を参照すると、本発明の一実施形態によるコンテンツ共有システムは、サーバ１００、ユーザ端末２００、及びそれらを連結するネットワーク３００を含む。
【００１３】
本発明の一実施形態によって提供されるコンテンツ共有システムは、コンテンツ共有サービスを提供する。詳細には、一実施形態によって提供されるコンテンツ共有システムは、ユーザがコンテンツをアップロードし、アップロードしたコンテンツを他のユーザと共有し、他のユーザがアップロードしたコンテンツを照会して購読し、人気コンテンツを照会することができるコンテンツ共有サービスを提供する。一実施形態によるコンテンツ共有システムは、ユーザがコンテンツをアップロードすると、それをサーバ１００に登録し、他のユーザが、サーバ１００に登録されたコンテンツを照会して購読することができるインターフェースを提供する。ユーザは、本人または他のユーザがアップロードしたコンテンツを「推薦」するか、あるいは「いいね」というようなトグルを選択したり、コンテンツに対する共感を表示したり、コンテンツにコメントを作成したり、コンテンツを自分のアカウントに共有したりするというような活動が可能である。
【００１４】
本発明の一実施形態によって提供されるコンテンツ共有システムは、ユーザが互いに関係を結ぶことができるサービスを提供し、ユーザとの関係を基に、ソーシャルネットワークサービス（ＳＮＳ）を提供することができる。例えば、ユーザは、互いを友達関係に指定し、コンテンツ共有システムは、ユーザがアップロードしたコンテンツを、友達関係に指定された他のユーザに提供することができる。または、ユーザは、他のユーザのコンテンツに対して、購読申請を行うことができ、該コンテンツ共有システムは、特定ユーザが購読申請したユーザのコンテンツを１枚のページに集め、特定ユーザにニュースフィード（news feed）画面として提供する。ニュースフィードとは、ユーザが購読した他のユーザの通知、及び／またはユーザと友達関係に指定された他のユーザの通知を列挙して示す画面を意味する。
【００１５】
本発明の一実施形態によって提供されるコンテンツ共有システムは、１人のユーザがアップロードしたコンテンツを集め、１枚のページに提供するホーム画面を提供することもでき、何人かのユーザがそれぞれアップロードしたコンテンツを集め、１枚のページに提供するニュースフィード画面を提供することもできる。また、１つのコンテンツに係わるエンドページを提供することもできる。また、特定検索語に対応するコンテンツを集め、１枚のページに提供するコンテンツ検索サービスを提供することができる。
【００１６】
本発明の一実施形態によって、ユーザによってアップロードされるコンテンツは、インターネットやコンピュータ通信などを介して提供される各種情報や内容物を意味し、イメージ、オーディオ、ビデオ、テキストなどを含んでもよい。一実施形態によるコンテンツは、イメージ、オーディオ、ビデオなどの映像／音源と、それについての説明として、ユーザが入力するテキストである本文を含んでもよいが、それに限定されるものではない。
【００１７】
サーバ１００は、前述のコンテンツ共有サービスを、ユーザ端末２００に提供することができる。サーバ１００は、ユーザ端末２００と通信しながら、ユーザ端末２００のリクエストを処理し、コンテンツを管理し、ユーザアカウント情報を管理することができる。例えば、サーバ１００は、ユーザ端末２００からコンテンツ登録リクエストが受信されれば、コンテンツを登録し、登録されたコンテンツを基に、複数ユーザそれぞれにニュースフィードを提供するために、複数ユーザそれぞれのインデックスをアップデートすることができる。このとき、サーバ１００は、コンテンツ共有サービスに加入した全てのユーザのインデックスをアップデートする必要はなく、コンテンツを登録したユーザの通知を購読するようにあらかじめ設定されたユーザのインデックス、及びコンテンツを登録したユーザ本人のインデックスをアップデートすることができる。このとき、サーバ１００は、１回に過度に多くのコンテンツが登録されることにより、アップデートしなければならないユーザの数が増加したり、登録されたコンテンツの数が多くないとしても、購読者の数が多く、過度に多くのユーザのインデックスをアップデートしなければならない場合、過度に多くの負荷がかかることを防止するために、インデックスアップデート命令を生成する過程、及びインデックスアップデート命令を処理する過程を、時間上異なる時点に遂行するか、あるいは物理的に異なるシステム資源を利用して行うことができる。
【００１８】
ユーザ端末２００は、有線無線通信環境で、ウェブサービスを利用することができる通信端末を意味する。ここで、ユーザ端末２００は、ユーザのパソコン２０１でもあり、またはユーザの携帯用端末２０２でもある。図１では、携帯用端末２０２がスマートフォンとして図示されているが、本発明の思想は、それに制限されるものではなく、前述のように、ウェブブラウジングが可能なアプリケーションを搭載した端末であるならば、制限なしに用いることができる。
【００１９】
一方、ユーザ端末２００は、画面を表示する表示部、及びユーザからデータを入力される入力装置を具備する。該入力装置は、例えば、キーボード、マウス、トラックボール、マイク、ボタン、タッチパネルなどを含んでもよいが、それらに限定されるものではない。
ネットワーク３００は、ユーザ端末２００とサーバ１００とを連結する役割を行う。例えば、ネットワーク３００は、ユーザ端末２００がサーバ１００に接続した後、パケットデータを送受信することができるように接続経路を提供する。
図面には図示されていないが、本発明の一実施形態によるサーバ１００は、メモリ、入力／出力部、プログラム保存部、制御部などを含んでもよい。
【００２０】
図２は、本発明の一実施形態によるコンテンツ共有サービス提供装置１１０の構成を示したブロック図である。
本発明の一実施形態によるコンテンツ共有サービス提供装置１１０は、プロセッサ（processor）のように、データを処理することができる全種の装置に該当する。例えば、コンテンツ共有サービス提供装置１１０は、少なくとも１以上のプロセッサに該当するか、あるいは少なくとも１以上のプロセッサを含んでもよい。ここで、「プロセッサ」は、例えば、プログラム内に含まれたコードまたは命令によって表現された機能を遂行するために、物理的に構造化された回路を有する、ハードウェアに内蔵されたデータ処理装置を意味する。このように、ハードウェアに内蔵されたデータ処理装置の一例として例えば、マイクロプロセッサ（microprocessor）、中央処理装置（ＣＰＵ：central processing unit：ＣＰＵ）、プロセッサコア（processor core）、マルチプロセッサ（multiprocessor）、ＡＳＩＣ（application-specific integrated circuit）、ＦＰＧＡ（field programmable gate array）などの処理装置を含めることができるが、本発明の範囲は、それらに限定されるものではない。それにより、コンテンツ共有サービス提供装置１１０は、マイクロプロセッサや汎用コンピュータシステムのような他のハードウェア装置に含まれた形態にも駆動される。コンテンツ共有サービス提供装置１１０は、図１に図示されたサーバ１００に搭載される。
【００２１】
図２に図示されたコンテンツ共有サービス提供装置１１０は、本実施形態の特徴が不明確になることを防止するために、本実施形態と係わる構成要素のみを図示したものである。従って、図２に図示された構成要素以外に、他の汎用的な構成要素がさらに含まれてもよいということを、本実施形態と係わる技術分野の当業者であるならば、理解することができるであろう。
【００２２】
例えば、コンテンツ共有サービス提供装置１１０は、他のネットワーク装置と、有線無線連結を介して、制御信号またはデータ信号のような信号を送受信するために必要なハードウェア及びソフトウェアを含む通信部をさらに含んでもよい。
また、コンテンツ共有サービス提供装置１１０は、コンテンツ共有サービス提供装置１１０が処理するデータを、一時的または永久に保存する機能を遂行するメモリをさらに含んでもよい。該メモリは、磁気記録媒体（magnetic storage media）またはフラッシュ記録媒体（flash storage media）を含んでもよいが、本発明の範囲は、それらに限定されるものではない。
【００２３】
コンテンツ共有サービス提供装置１１０は、本発明の一実施形態によるコンテンツ共有サービスを提供することができる。詳細には、コンテンツ共有サービス提供装置１１０は、ユーザから、コンテンツを受信して登録し、登録されたコンテンツを他のユーザに提供する役割を行う。登録されたコンテンツは、コンテンツを登録したユーザの通知を購読するようにあらかじめ設定された他のユーザに提供される。登録されたコンテンツが他のユーザに提供される時点は、他のユーザそれぞれが、自分が購読したユーザの通知をまとめて見ることができるニュースフィード画面の提供をリクエストした時点でもある。ただし、もしユーザが、自分のインデックスがアップデートされたとき、新たな通知に対する通知を受けるように設定したならば、登録されたコンテンツが当該ユーザに提供される時点は、ユーザのインデックスがアップデートされた時点でもある。
【００２４】
図２を参照すれば、本発明の一実施形態によるコンテンツ共有サービス提供装置１１０は、コンテンツ登録部１１１、インデックスアップデート命令生成部１１２、インデックスアップデート部１１３及びニュースフィード提供部１１４を含む。
それぞれの構成は、１つのプロセッサ上でいずれも具現され、機能によって区分されもするが、それに限定されるものではなく、それぞれ別個のプロセッサ上でも具現されうるということは言うまでもない。また、それぞれの構成の機能は、１つのプログラムコードを介して統合的にも具現されるが、各構成の機能が、別個のプログラムコードに作成され、各プログラムコードが連繋され、コンテンツ共有サービス提供装置１１０が提供するコンテンツ共有サービスを提供する方式によっても具現される。
【００２５】
コンテンツ共有サービス提供装置１１０は、ユーザアカウント・ストレージ１１５、コンテンツストレージ１１６、インデックスストレージ１１７及びキュー（queue）１１８を含む。ユーザアカウント・ストレージ１１５、コンテンツストレージ１１６、インデックスストレージ１１７及びキュー１１８は、１つの保存装置としても構成されるが、複数の分離された保存装置としても構成される。ユーザアカウント・ストレージ１１５、コンテンツストレージ１１６、インデックスストレージ１１７及びキュー１１８は、コンテンツ共有サービス提供装置１１０内に含まれているように図示されているが、これに限定されるものではない。例えば、ユーザアカウント・ストレージ１１５、コンテンツストレージ１１６、インデックスストレージ１１７及びキュー１１８は、サーバ１００と分離されて具備され、コンテンツ共有サービス提供装置１１０と、有線または無線で通信可能になるようにも具備されるということは言うまでもない。
【００２６】
ユーザアカウント・ストレージ１１５は、本発明の一実施形態によるコンテンツ共有サービスに加入した全てのユーザのアカウント情報を保存する。ユーザアカウント・ストレージ１１５は、ユーザ間の友達関係、各ユーザが購読した他のユーザのアカウントリスト、各ユーザを購読した購読者のアカウントリストなどを保存する。
コンテンツストレージ１１６は、ユーザが登録したコンテンツを保存する。ユーザから、コンテンツ照会リクエストが受信されたとき、コンテンツストレージ１１６に保存されたコンテンツが読み取られてユーザに提供される。コンテンツストレージ１１６には、コンテンツ内容、コンテンツ識別番号、コンテンツ作成者情報などが保存される。コンテンツストレージ１１６は、コンテンツと識別情報とをマッチングして保存する。すなわち、コンテンツストレージ１１６は、複数のコンテンツ、及び各コンテンツにマッチングされる識別情報を保存する。
【００２７】
インデックスストレージ１１７は、各ユーザに提供するニュースフィード画面を構成するためのインデックスを保存する。インデックスストレージ１１７は、各ユーザ別に、ニュースフィード用インデックスを保存する。各ユーザのインデックスには、各ユーザが購読した他のユーザの通知についての識別情報が、各通知の登録時間順序で列挙される。特定ユーザの通知とは、特定ユーザによって登録されたコンテンツ、特定ユーザのコンテンツ共有サービス内での活動履歴などを含む。例えば、各ユーザのインデックスには、各ユーザが購読した他のユーザがアップロードしたコンテンツの識別情報が、コンテンツの登録時間順序で列挙される。コンテンツの登録時間は、コンテンツストレージ１１６にコンテンツが保存された時間でもある。一方、各ユーザのインデックスには、本人の通知についての識別情報がさらに含まれるということも言うまでもない。
【００２８】
ユーザからニュースフィード画面提供リクエストが受信されれば、インデックスストレージ１１７に保存された当該ユーザのインデックスを参照し、インデックスに含まれたコンテンツ識別番号に該当するコンテンツが、コンテンツストレージ１１６で読み取られ、読み取られたコンテンツを含むニュースフィード画面が、ニュースフィード画面提供リクエストを伝送したユーザに提供される。
キュー１１８は、インデックスアップデート部１１３が処理するインデックスアップデート命令を保存する。キュー１１８は、複数の命令を入力された順に、並べて保存するアレイメモリでもある。インデックスアップデート命令生成部１１２は、インデックスアップデート命令を生成し、キュー１１８に保存することができ、インデックスアップデート部１１３は、キュー１１８に保存された順に、インデックスアップデート命令を呼び出して処理する。
【００２９】
以下では、ユーザが登録したコンテンツを他のユーザに提供するために、他のユーザのインデックスをアップデートし、アップデートされたインデックスを基に、他のユーザに、ニュースフィード画面を提供する本発明の一実施形態について説明する。このとき、説明の便宜上、コンテンツを登録するユーザを第１ユーザと呼び、ニュースフィード提供をリクエストするユーザを第２ユーザと呼ぶ。しかし、このような第１、第２のような用語は、説明の対象になるユーザを区分するための目的のみに使用されるものであり、限定的な意味で使用されるものではない。例えば、第１ユーザと第２ユーザは、同一ユーザでもあり、異なるユーザでもある。
【００３０】
一実施形態によるコンテンツ登録部１１１は、第１ユーザからコンテンツ登録リクエストを受信する。コンテンツ登録リクエストは、コンテンツを含み、該コンテンツは、テキスト、イメージ、音源、位置情報のうち少なくとも一つを含んでもよい。
コンテンツ登録部１１１は、第１ユーザから受信されたコンテンツの識別情報を生成し、コンテンツ、及びコンテンツの識別情報をマッチングし、コンテンツストレージ１１６に保存する。コンテンツ登録部１１１は、第１ユーザの識別情報とコンテンツの識別情報とをインデックスアップデート命令生成部１１２に伝送する。一実施形態によるインデックスアップデート命令生成部１１２は、第１ユーザの識別情報と、コンテンツの識別情報とを利用して、第１ユーザと所定の関係を有する他のユーザそれぞれに係わるインデックスをアップデートするためのインデックスアップデート命令を生成する。前記第１ユーザと所定の関係を有する他のユーザは、前記第１ユーザによってアップロードされたコンテンツを含むチャネルに加入したユーザである。
【００３１】
一実施形態によれば、インデックスアップデート命令生成部１１２は、第１ユーザの識別情報を利用して、第１ユーザと所定の関係を有する他のユーザの識別情報リストを、ユーザアカウント・ストレージ１１５から獲得する。第１ユーザと所定の関係を有する他のユーザとは、第１ユーザの通知を購読する購読者を意味する。その後、インデックスアップデート命令生成部１１２は、ユーザアカウント・ストレージ１１５から獲得した第１ユーザの購読者の識別情報リスト、及び第１ユーザによって登録されたコンテンツの識別情報を含むインデックスアップデート命令を生成する。インデックスアップデート命令は、インデックスストレージ１１７に保存された第１ユーザの購読者それぞれのインデックスに、第１ユーザによって登録されたコンテンツの識別情報を追加するための命令である。インデックスアップデート命令は第１ユーザの識別情報をさらに含むように作成される。すなわち、インデックスアップデート命令は、第１ユーザの購読者だけではなく、第１ユーザ本人のインデックスにも、ユーザによって登録されたコンテンツの識別情報を追加するための命令でもある。
【００３２】
一実施形態によれば、インデックスアップデート命令生成部１１２は、第１ユーザの購読者の数により、インデックスアップデート命令を２以上に分割して生成することができる。例えば、第１ユーザの購読者の数が、所定の単位購読者数を超えれば、インデックスアップデート命令を２以上に分割して生成することができる。それぞれのインデックスアップデート命令は、単位購読者数を超えない数の購読者のインデックスに、第１ユーザが登録したコンテンツ識別情報を追加するための命令でもある。
【００３３】
例えば、第１ユーザの購読者の数が１，０００人であり、所定の単位購読者数が４００人である場合、インデックスアップデート命令生成部１１２は、第１ユーザの購読者のうち、最初の購読者から４００番目の購読者まで全４００人の購読者のインデックスに、第１ユーザが登録したコンテンツの識別情報を追加するための第１インデックスアップデート命令を生成し、第１ユーザの購読者のうち、４０１番目の購読者から８００番目の購読者まで全４００人の購読者のインデックスに、第１ユーザが登録したコンテンツの識別情報を追加するための第２インデックスアップデート命令を生成し、第１ユーザの購読者のうち、８０１番目の購読者から１，０００番目の購読者まで全２００人の購読者のインデックスに、第１ユーザが登録したコンテンツの識別情報を追加するための第３インデックスアップデート命令を生成し、全３個のインデックスアップデート命令を生成することができる。インデックスアップデート命令生成部１１２は、生成された３個のインデックスアップデート命令をキュー１１８に順に保存することができる。
【００３４】
他の実施形態において、インデックスアップデート命令生成部１１２は、第１ユーザの購読者の数を考慮せず、第１ユーザが登録したコンテンツの識別情報を追加するための第２インデックスアップデート命令のみを生成することもできる。このような場合、インデックスアップデート部１１３がアップデート命令を処理する時点で、第１ユーザの購読者の数を考慮し、前記第２インデックスアップデート命令を、複数のアップデート命令に分割することができる。例えば、インデックスアップデート部１１３は、前記第２インデックスアップデート命令に含まれた、全購読者数ほどのインデックスをアップデートする過程を１回で処理することもでき、インデックスアップデート部１１３は、前記第２インデックスアップデート命令と対応し、所定の単位購読者数ほどのインデックスをアップデートする過程を数回にわたって処理することもできる。すなわち、第１ユーザの購読者の数が１，０００人であり、所定の単位購読者数が４００人である場合、インデックスアップデート部１１３は、１，０００人の購読者のインデックスをアップデートする過程を処理したり、１ないし４００番目の購読者のインデックスをアップデートする過程、４０１番目ないし８００番目の購読者のインデックスをアップデートする過程、８０１番目ないし１，０００番目の購読者のインデックスをアップデートする過程を順に処理したりすることもできる。他の実施形態において、インデックスアップデート部１１３は、複数回にわたってインデックスをアップデートするために、前記第２インデックスアップデート命令と対応して生成された複数のインデックスアップデート命令をキューに保存し、前記キューに保存された複数のインデックスアップデート命令を順に処理することができる。
【００３５】
このように、１つのインデックスアップデート命令によってアップデートされるインデックスの個数を制限することにより、１つのインデックスアップデート命令を処理するプロセッサに過負荷がかかることを防止することができる。また、キュー１１８に保存されたインデックスアップデート命令を処理するプロセッサがいくつかある場合、第１ユーザの購読者の数が過度に多い場合にも、複数のプロセッサが、第１ユーザの購読者のインデックスをアップデートする処理を分けて行うことにより、第１ユーザのコンテンツ登録によるインデックスアップデート処理が迅速に終了する。
【００３６】
一実施形態によるインデックスアップデート部１１３は、前記インデックスアップデート命令語に基づいて、前記第１ユーザの各加入者のインデックスを更新する。例えば、インデックスアップデート部１１３は、前記インデックスアップデート命令語中に含まれたコンテンツの前記識別情報を、前記第１ユーザの各加入者のインデックスに加える。しかし、本発明の実施形態は、前記内容に限定されるものではない。前記インデックスアップデート部１１３は、キュー１１８に保存されたインデックスアップデート命令を一つずつ呼び出し、インデックスアップデート命令に基づいて、第１ユーザの購読者それぞれのインデックスをアップデートする。詳細には、インデックスアップデート部１１３は、第１ユーザの購読者それぞれのインデックスに、インデックスアップデート命令に含まれたコンテンツ識別情報を追加する。インデックスアップデート部１１３は、キュー１１８に保存された順に、インデックスアップデート命令を呼び出して処理する。すなわち、インデックスアップデート部１１３は、キュー１１８に先に保存されたインデックスアップデート命令を先に処理する。
【００３７】
一実施形態によってインデックスアップデート命令が、第１ユーザの購読者それぞれの識別情報と、第１ユーザが登録したコンテンツの識別情報とを含む場合、インデックスアップデート部１１３は、インデックスストレージ１１８に保存された第１ユーザの購読者それぞれのインデックスに、第１ユーザが登録したコンテンツの識別情報を追加する。インデックスアップデート部１１３は、特定インデックスに、特定コンテンツ識別情報を追加するとき、最先の空間に特定コンテンツ識別情報を追加することができる。インデックスは、複数のコンテンツ識別情報を順に並べて保存することができ、新たに追加されたコンテンツ識別情報は、インデックスの最初の行に保存される。このような保存方式によれば、インデックスには、コンテンツ識別情報が追加された順に列挙されて保存され、最近保存されたコンテンツ識別情報であればあるほど、前列に保存される。ただし、本発明は、それに限定されるものではなく、最近保存されたコンテンツ識別情報であればあるほど、最後の行に保存されるように設計されてもよい。
【００３８】
一方、インデックスアップデート部１１３は、コンテンツを登録した当事者である第１ユーザのインデックスも、アップデートすることができる。各ユーザのニュースフィードには、自分が購読した他のユーザのコンテンツだけではなく、自分が作成したコンテンツも表示される。詳細には、インデックスアップデート部１１３は、インデックスアップデート命令を参照し、インデックスストレージ１１７に保存された第１ユーザのインデックスに、第１ユーザが登録したコンテンツの識別情報を追加することができる。
【００３９】
インデックスアップデート部１１３は、複数のプロセッサを含み、複数のプロセッサそれぞれは、キュー１１８に保存されたインデックスアップデート命令を一つずつ呼び出し、非同期的に処理することができる。複数のプロセッサそれぞれは、キュー１１８から呼び出したインデックスアップデート命令の処理が終われば、キュー１１８から次のインデックスアップデート命令を呼び出して処理し、複数のプロセッサそれぞれは、独立してインデックスアップデート命令を処理することができる。
【００４０】
一実施形態によるニュースフィード提供部１１４は、第２ユーザからニュースフィード提供リクエストを受信し、インデックスストレージ１１７に保存された第２ユーザのインデックスに基づいて、第２ユーザに、ニュースフィードを提供する。詳細には、ニュースフィード提供部１１４は、インデックスストレージ１１７に保存された第２ユーザのインデックスに含まれたコンテンツ識別情報にマッチングされるコンテンツを、コンテンツストレージ１１６から読み取り、読み取られたコンテンツを含むニュースフィードを第２ユーザに提供する。
【００４１】
前述のように、第２ユーザのインデックスが、最近保存されたコンテンツ識別情報であればあるほど、前列に保存するように設計された場合、ニュースフィード提供部１１４は、ニュースフィードに、複数のコンテンツを並べて提供するとき、第２ユーザのインデックスに、各コンテンツの識別情報が保存されている順序と同一順序でコンテンツを並べて提供する。
ただし、他の実施形態によって、最近保存されたコンテンツ識別情報であればあるほど、インデックスの最後の行に保存されるように設計された場合には、ニュースフィード提供部１１４は、第２ユーザのインデックスに、各コンテンツの識別情報が保存されている順序と逆順に、ニュースフィード画面にコンテンツを並べて提供することができる。
【００４２】
ニュースフィード提供部１１４は、第２ユーザのインデックスに含まれた複数のコンテンツ識別情報のうち、所定の個数を超えないほどのコンテンツ識別情報を選択し、選択されたコンテンツ識別情報に対応するコンテンツを、コンテンツストレージ１１６から読み取り、読み取られたコンテンツを含むニュースフィードを、第２ユーザに提供する。ニュースフィードにコンテンツが列挙される順序は、インデックスにコンテンツの識別情報が列挙された順序に対応することができる。
【００４３】
このとき、ニュースフィード提供部１１４は、第２ユーザのインデックスに含まれた複数のコンテンツ識別情報のうち、所定の個数を超えないほどコンテンツ識別情報を選択するとき、インデックスの前部から、所定の個数を超えないほどのコンテンツ識別情報を選択することができる。それによれば、第２ユーザのインデックスに最近追加された所定の個数を超えないほどのコンテンツ識別情報に対応するコンテンツを含むニュースフィードが提供される。例えば、第２ユーザのインデックスに、全５０個のコンテンツ識別情報が列挙されて保存され、所定の個数が２０個である場合、ニュースフィード提供部１１４は、第２ユーザのインデックスに保存された５０個のコンテンツ識別情報のうち、前から２０個のコンテンツ識別情報に対応するコンテンツを含むニュースフィードを提供する。ただし、他の実施形態によって、最近保存されたコンテンツ識別情報であればあるほど、インデックスの最後の行に保存されるように設計された場合には、ニュースフィード提供部１１４は、インデックスの後列から、所定の個数を超えないほどのコンテンツ識別情報を選択するのである。
【００４４】
このように、ニュースフィードが制限的に提供されても、第２ユーザから追加コンテンツリクエストがあれば、ニュースフィード提供部１１４は、所定の個数までのコンテンツ識別情報に対応するコンテンツを、ニュースフィードにさらに含めて提供することができる。例えば、第２ユーザのインデックスに、全５０個のコンテンツ識別情報が列挙されて保存され、所定の個数が２０個であり、前から２０個のコンテンツ識別情報に対応するコンテンツを含むニュースフィードが先に提供された場合、ユーザから、追加コンテンツリクエストが受信されれば、ニュースフィード提供部１１４は、２１番目から４０番目までのコンテンツ識別情報に対応するコンテンツを、コンテンツストレージ１１６から読み取り、ニュースフィードにさらに含めて提供する。その場合、ニュースフィードは、全４０個のコンテンツを含む。
【００４５】
前述の本発明の実施形態によれば、コンテンツ自体についての処理は、最初のコンテンツを登録するときと、最終ニュースフィード提供のためにコンテンツを読み取るときとに限定される。それ以外のインデックスを処理する過程では、単にコンテンツの識別情報が利用されるだけである。
【００４６】
このような本発明の実施形態によれば、コンテンツ共有サービスのユーザが増え、ユーザ間の購読関係が複雑になっても、インデックス処理に必要なデータ処理量を最小化することにより、インデックス処理を迅速に行うことができるという効果がある。
【００４７】
図３は、本発明の一実施形態によるコンテンツサービス提供方法を図示したフローチャートである。
図３に図示されたフローチャートは、第１ユーザ２１０、サーバ１００、第２ユーザ２２０において、時系列的に処理されるステップから構成される。ここで、サーバ１００は、図２に図示されたコンテンツサービス提供装置１１０を具備する。従って、以下において省略された内容であるとしても、図２で図示された構成について、以上で記述された内容は、図３に図示されたフローチャートにも適用されるということが分かる。
【００４８】
図３を参照すれば、ステップ３１において、第１ユーザ２１０は、コンテンツ登録リクエストをサーバ１００に伝送する。コンテンツ登録リクエストは、コンテンツを含む。ステップ３２において、サーバ１００、詳細には、図２のコンテンツ登録部１１１は、ステップ３１で受信されたコンテンツの識別情報を生成し、コンテンツ及びコンテンツの識別情報をコンテンツストレージ１１６に保存する。
【００４９】
ステップ３３において、サーバ１００、詳細には、図２のインデックスアップデート命令生成部１１２は、ステップ３２で生成されたコンテンツの識別情報を利用して、第１ユーザと所定の関係を有する他のユーザそれぞれのインデックスをアップデートするためのインデックスアップデート命令を生成する。
【００５０】
ステップ３４において、サーバ１００、詳細には、図２のインデックスアップデート部１１３は、ステップ３３で生成されたインデックスアップデート命令により、第１ユーザと所定の関係を有する他のユーザそれぞれのインデックスに、ステップ３２で生成されたコンテンツの識別情報を追加する。ユーザのインデックスは、インデックスストレージ１１７に保存され、ステップ３４において、インデックスアップデート部１１３は、インデックスストレージ１１７に保存されたインデックスをアップデートする。
【００５１】
ステップ３５において、第２ユーザは、ニュースフィード提供をリクエストする。
ステップ３６において、サーバ１００、詳細には、図２のニュースフィード提供部１１４は、インデックスストレージ１１７に保存された第２ユーザのインデックスを参照し、第２ユーザにニュースフィードを提供する。
【００５２】
図４は、一実施形態によって、ニュースフィード提供部１１４によって提供されるニュースフィード画面の例である。
図４に図示された画面４０は、第２ユーザのニュースフィード画面の例であり、第２ユーザが購読する他のユーザの通知が列挙されているということが分かる。例えば、図４を参照すれば、第２ユーザに提供されたニュースフィードの画面４０は、第２ユーザが購読したユーザであるRichardのコンテンツ４１と、第２ユーザが購読した他のユーザであるDavidのコンテンツ４２とが列挙されている。
【００５３】
図４を参照すれば、コンテンツ４１は、イメージ４１１及び本文４１２を含んでもよい。コンテンツ４１に対して、ユーザは、共感を表示したりコメントを作成したりすることができ、コンテンツ４１に対する共感情報とコメント情報とがコンテンツ下端４１３に表示されているということが分かる。
【００５４】
インデックスストレージ１１７に保存された第２ユーザのインデックスには、まず第一に、Richardのコンテンツ識別情報が保存され、その次に、Davidのコンテンツの識別情報が保存されている。
また、コンテンツストレージ１１６には、Richardのコンテンツ識別情報、及びそれにマッチングされる実際のコンテンツと、Davidのコンテンツ識別情報、及びそれにマッチングされる実際のコンテンツとが保存されている。
【００５５】
ニュースフィード提供部１１４は、インデックスストレージ１１７に保存された第２ユーザのインデックスに含まれたコンテンツ識別情報を参照し、各コンテンツ識別情報にマッチングされるコンテンツをコンテンツストレージ１１６から読み取り、読み取られたコンテンツを、第２ユーザのインデックスに、コンテンツ識別情報が列挙された順序と同一順序で並べ、ニュースフィード画面４０を提供する。
【００５６】
このように、インデックスは、実際のコンテンツの内容を保存せず、コンテンツの識別情報のみを保存する。従って、ニュースフィード提供部１１４は、ニュースフィード画面を構成するために、インデックスストレージ１１７及びコンテンツストレージ１１６をいずれも参照しなければならない。
【００５７】
一方、図３に図示された本発明の一実施形態によるコンテンツ共有サービス提供方法は、コンピュータで実行されるプログラムに作成可能であり、コンピュータで読み取り可能な記録媒体を利用して、前記プログラムを動作させる汎用デジタルコンピュータでも具現される。前記コンピュータで読み取り可能な記録媒体は、磁気記録媒体（例えば、ＲＯＭ（read only memory）、フロッピーディスク、ハードディスクなど）、光学的に読み取り可能な媒体（例えば、ＣＤ（compact disc）−ＲＯＭ、ＤＶＤ（digital versatile disc）など）のような記録媒体を含む。
【００５８】
以上、本発明について、その望ましい実施形態を中心に説明した。本発明は、図面に図示された実施形態を参照して説明したが、それらは例示的なものに過ぎず、本発明が属する技術分野で当業者であるならば、本発明が、本発明の本質的な特性から外れない範囲で変形された形態に具現され、均等な他の実施例が可能であるということを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなく、説明的な観点から考慮されなければならない。本発明の範囲は、前述の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にある全ての差異は、本発明に含まれたものであると解釈されるものである。
【産業上の利用可能性】
【００５９】
本発明のコンテンツ共有サービス提供方法、その装置及びそのコンピュータプログラムは、例えば、コンテンツ共有関連の技術分野に効果的に適用可能である。
【符号の説明】
【００６０】
４０          画面
４１，４２    コンテンツ
４１１        イメージ
４１２        本文
４１３        コンテンツ下端
１００        サーバ
２００        ユーザ端末
２０１        パソコン
２０２        携帯用端末
２１０        第１ユーザ
２２０        第２ユーザ
３００        ネットワーク
１１０        コンテンツ共有サービス提供装置
１１１        コンテンツ登録部
１１２        インデックスアップデート命令生成部
１１３        インデックスアップデート部
１１４        ニュースフィード提供部
１１５        ユーザアカウント・ストレージ
１１６        コンテンツストレージ
１１７        インデックスストレージ
１１８        キュー
【図１】
0006789033.tif 000002
【図２】
0006789033.tif 000003
【図３】
0006789033.tif 000004
【図４】
0006789033.tif 000005