(57)【要約】【課題】マイクロブログサービスにおけるユーザー間の共有関係と、コンテンツのアクセス権とを連動させることによりユーザーの利便性を向上させることを目的とする。【解決手段】コンテンツの表示要求を受け付ける表示要求受付手段と、表示要求の送信元ユーザー情報と、表示要求にかかるコンテンツに対して投稿管理サービスに投稿された投稿内容の投稿識別子とを含む投稿取得要求を投稿管理サービスに送信する第１の送信手段と、投稿管理サービスにおいて、送信元ユーザーが投稿識別子により識別される投稿内容を共有する投稿内容共有ユーザーとして指定されていると判断された場合に、投稿管理サービスから一致情報を受信する第１の受信手段と、一致情報を受信した場合に表示要求にかかる前記コンテンツの表示を許可する表示制御手段とを有する。【選択図】図８
2014203300.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを管理し、前記コンテンツに関するコンテンツ情報を投稿管理サービスに投稿することにより前記コンテンツを複数のユーザー間で共有するコンテンツ管理装置であって、
前記コンテンツの表示要求を受け付ける表示要求受付手段と、
前記表示要求を受け付けた場合に、前記表示要求の送信元ユーザーを示す送信元ユーザー情報と、前記表示要求にかかる前記コンテンツに対して前記投稿管理サービスに投稿された投稿内容を識別する投稿識別子とを含む投稿取得要求を前記投稿管理サービスに送信する第１の送信手段と、
前記投稿管理サービスにおいて、前記送信元ユーザーが前記投稿識別子により識別される投稿内容を共有する投稿内容共有ユーザーとして指定されていると判断された場合に、前記投稿管理サービスから一致情報を受信する第１の受信手段と、
前記一致情報を受信した場合に前記表示要求にかかる前記コンテンツの表示を許可し、前記一致情報を受信しない場合に前記表示要求にかかる前記コンテンツの表示を拒否する表示制御手段と
を有することを特徴とするコンテンツ管理装置。
【請求項２】
前記投稿内容と、前記投稿内容共有ユーザーを示す投稿内容共有ユーザー情報とを受け付ける投稿内容受付手段と、
前記投稿内容受付手段が受け付けた前記投稿内容の前記投稿識別子を前記コンテンツに対応付けて記憶手段に記憶する第１の管理手段と、
前記投稿内容と、前記投稿内容共有ユーザー情報とを含む投稿要求を前記投稿管理サービスに送信する第２の送信手段と
をさらに有し、
前記第１の送信手段は、前記記憶手段において、前記表示要求にかかる前記コンテンツに対応付けられている前記投稿識別子を含む前記投稿取得要求を送信することを特徴とする請求項１に記載のコンテンツ管理装置。
【請求項３】
前記投稿管理サービスに登録されている登録ユーザーが所属するグループ及び前記登録ユーザーのうち少なくとも一方を示す登録情報を、前記投稿管理サービスから受信する第２の受信手段と、
前記登録情報を選択肢として示す共有先選択画面を生成する第１の画面生成手段と、
前記共有先選択画面において、前記投稿内容の投稿ユーザーから、前記投稿内容を共有すべきユーザー及びグループのうち少なくとも一方の選択を受け付ける第１の選択受付手段と
をさらに有し、
前記第２の送信手段は、前記第１の選択受付手段が選択を受け付けたユーザー及びグループのうち少なくとも一方を示す前記投稿内容共有ユーザー情報を含む前記投稿要求を前記投稿管理サービスに送信することを特徴とする請求項２に記載のコンテンツ管理装置。
【請求項４】
前記記憶手段は、前記コンテンツに対応付けて、前記コンテンツの共有が許可されたコンテンツ共有許可ユーザーを示すコンテンツ共有許可ユーザー情報をさらに記憶し、
前記表示制御手段により前記コンテンツの表示が許可された場合に、前記記憶手段を参照し、前記送信元ユーザー情報に基づいて、前記送信元ユーザーが前記コンテンツ共有許可ユーザーとして指定されているか否かを判断し、前記送信元ユーザーが前記コンテンツ共有許可ユーザーとして指定されている場合に、前記送信元ユーザーによる前記コンテンツに対する投稿を許可し、前記送信元ユーザーが前記コンテンツ共有許可ユーザーとして指定されていない場合に、前記送信元ユーザーによる前記コンテンツに対する投稿を拒否する第２の管理手段をさらに有することを特徴とする請求項２に記載のコンテンツ管理装置。
【請求項５】
前記投稿管理サービスに登録されている登録ユーザーが所属するグループ及び前記登録ユーザーのうち少なくとも一方を示す登録情報を、前記投稿管理サービスから受信する第２の受信手段と、
前記登録情報を選択肢として示す共有許可指定画面を生成する第２の画面生成手段と、
前記共有許可指定画面において、前記コンテンツの作成ユーザーから、前記コンテンツの共有を許可するユーザー及びグループのうち少なくとも一方の選択を受け付ける第２の選択受付手段と
をさらに有し、
前記記憶手段は、前記第２の選択受付手段が選択を受け付けたユーザー及びグループのうち少なくとも一方を示す前記コンテンツ共有許可ユーザー情報を前記コンテンツに対応付けて記憶し、
前記第２の管理手段は、前記送信元ユーザーが前記コンテンツ共有許可ユーザー情報に示されるユーザーに含まれる場合又は前記送信元ユーザーが前記コンテンツ共有許可ユーザー情報に示されるグループに属する場合に、前記送信元ユーザーが前記コンテンツ共有許可ユーザーとして指定されていると判断することを特徴とする請求項４に記載のコンテンツ管理装置。
【請求項６】
前記表示要求に含まれる前記投稿内容に対する前記投稿識別子の発行指示を投稿識別子管理装置に送信する第３の送信手段と、
前記投稿識別子管理装置から前記投稿識別子を受信する第３の受信手段と
をさらに備え、
前記第１の送信手段は、前記第３の受信手段が受信した前記投稿識別子を含む前記投稿取得要求を前記投稿管理サービスに送信することを特徴とする請求項１乃至５何れか１項に記載のコンテンツ管理装置。
【請求項７】
コンテンツを管理し、前記コンテンツに関するコンテンツ情報を投稿管理サービスに投稿することにより前記コンテンツを複数のユーザー間で共有するコンテンツ管理装置で実行されるコンテンツ管理方法であって、
前記コンテンツの表示要求を受け付ける表示要求受付ステップと、
前記表示要求を受け付けた場合に、前記表示要求の送信元ユーザーを示す送信元ユーザー情報と、前記表示要求にかかる前記コンテンツに対して前記投稿管理サービスに投稿された投稿内容を識別する投稿識別子とを含む投稿取得要求を前記投稿管理サービスに送信する第１の送信ステップと、
前記投稿管理サービスにおいて、前記送信元ユーザーが前記投稿識別子により識別される投稿内容を共有する投稿内容共有ユーザーとして指定されていると判断された場合に、前記投稿管理サービスから一致情報を受信する第１の受信ステップと、
前記一致情報を受信した場合に前記表示要求にかかる前記コンテンツの表示を許可し、前記一致情報を受信しない場合に前記表示要求にかかる前記コンテンツの表示を拒否する表示制御ステップと
を含むことを特徴とするコンテンツ管理方法。
【請求項８】
コンテンツを管理し、前記コンテンツに関するコンテンツ情報を投稿管理サービスに投稿することにより前記コンテンツを複数のユーザー間で共有するコンピュータを、
前記コンテンツの表示要求を受け付ける表示要求受付手段と、
前記表示要求を受け付けた場合に、前記表示要求の送信元ユーザーを示す送信元ユーザー情報と、前記表示要求にかかる前記コンテンツに対して前記投稿管理サービスに投稿された投稿内容を識別する投稿識別子とを含む投稿取得要求を前記投稿管理サービスに送信する第１の送信手段と、
前記投稿管理サービスにおいて、前記送信元ユーザーが前記投稿識別子により識別される投稿内容を共有する投稿内容共有ユーザーとして指定されていると判断された場合に、前記投稿管理サービスから一致情報を受信する第１の受信手段と、
前記一致情報を受信した場合に前記表示要求にかかる前記コンテンツの表示を許可し、前記一致情報を受信しない場合に前記表示要求にかかる前記コンテンツの表示を拒否する表示制御手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ管理装置、コンテンツ管理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ネットワークインフラの整備によるネットワーク回線が高速化し、グリッドコンピューティング技術が向上している。これに伴い、サーバーコンピュータ側で文書ファイルや帳票データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。
ユーザーは、クライアントコンピュータのブラウザからインターネットを介してクラウドサービスのＷｅｂページにアクセスし、文書ファイルや帳票データのアップロード、ダウンロード、表示又は共有を行うことができる。
【０００３】
クラウドサービスには、マイクロブログ機能を含むものが存在する。マイクロブログ機能とは、コミュニケーションサービスの１つである。マイクロブログ機能では、サービスにアカウントを持つユーザーが短いメッセージを投稿することができる。ユーザーによる投稿それぞれには、固有の識別子が割り当てられる。
さらに、「タイムライン」と呼ばれるユーザー専用のＷｅｂページには、自身の投稿と「フォロー」したユーザーの投稿、及び自身が所属するグループへの投稿が表示される。これにより、ユーザーは、フォローやグループを介したコミュニケーションをとることができる。ここで、「フォロー」とは、他のユーザーの投稿を自分のＷｅｂページで表示できるようにユーザーを登録することである。また、「グループ」とは、所属組織や担当プロジェクトなど共通の性質をもつユーザーで分類したユーザー群である。
グループへの投稿は、グループに所属するユーザーのＷｅｂページにのみ表示される。上記のようなマイクロブログサービスとしては、例えばＳａｌｅｓｆｏｒｃｅ．ｃｏｍのＣｈａｔｔｅｒが挙げられる。
【０００４】
文書ファイルや帳票データなどのコンテンツを管理するサービスと、マイクロブログサービスとを連携する仕組みも知られている。このような連携においては、コンテンツへのアクセスＵＲＬ情報をマイクロブログサービスに投稿することで、他のユーザーにコンテンツの存在を共有することができる。ユーザーは、マイクロブログサービスのタイムラインに表示されるアクセスＵＲＬ情報からコンテンツにアクセスすることができる。
コンテンツ管理においてユーザーやグループによるコンテンツへのアクセス制御は重要な要件である。従来のコンテンツを管理するシステムやマイクロブログサービスのような情報共有システムにおけるアクセス制御方法としては、ディレクトリサービスシステムによる一元管理、システム間での連携などによるものが知られている。
【０００５】
さらに、近年では、アプリケーションプラットフォームのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）からクラウドコンピューティングシステムへの移行に伴い、セキュリティドメインが異なる様々なクラウドサービスが増加してきている。これにより、異なるサービス間での連携も増えつつある。
セキュリティドメインがクラウドサービス間で異なる場合には、アクセス制御もＷｅｂ上で実施する必要があり、ディレクトリサービスシステムでアクセス制御を一元管理することはできない。
特許文献１においては、このような問題を解決する技術が開示されている。すなわち、特許文献１には、コンテンツの回覧要求をしたユーザーとコンテンツオーナーのソーシャルグラフ情報（ユーザーの相関関係）やグループ属性とにより、Ｗｅｂ上でアクセス制御する方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１２８７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載のアクセス制御方法では、マイクロブログサービスでコンテンツを共有した場合に、マイクロブログサービスで共有されているにも関わらずコンテンツを参照することができないという不整合が発生する場合がある。このような場合、ユーザーは、マイクロブログサービスで共有されたコンテンツへのリンクを押下して初めてコンテンツへのアクセス権がないことに気づくことになり利便性に欠けるという問題があった。
【０００８】
本発明はこのような問題点に鑑みなされたもので、マイクロブログサービスにおけるユーザー間の共有関係と、コンテンツのアクセス権とを連動させることによりユーザーの利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
そこで、本発明は、コンテンツを管理し、前記コンテンツに関するコンテンツ情報を投稿管理サービスに投稿することにより前記コンテンツを複数のユーザー間で共有するコンテンツ管理装置であって、前記コンテンツの表示要求を受け付ける表示要求受付手段と、前記表示要求を受け付けた場合に、前記表示要求の送信元ユーザーを示す送信元ユーザー情報と、前記表示要求にかかる前記コンテンツに対して前記投稿管理サービスに投稿された投稿内容を識別する投稿識別子とを含む投稿取得要求を前記投稿管理サービスに送信する第１の送信手段と、前記投稿管理サービスにおいて、前記送信元ユーザーが前記投稿識別子により識別される投稿内容を共有する投稿内容共有ユーザーとして指定されていると判断された場合に、前記投稿管理サービスから一致情報を受信する第１の受信手段と、前記一致情報を受信した場合に前記表示要求にかかる前記コンテンツの表示を許可し、前記一致情報を受信しない場合に前記表示要求にかかる前記コンテンツの表示を拒否する表示制御手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、マイクロブログサービスにおけるユーザー間の共有関係と、コンテンツのアクセス権とを連動させることによりユーザーの利便性を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】コンテンツ共有システムの構成を示す図である。
【図２】クライアント装置、マイクロブログサービス及び文書管理サービスのハードウェア構成を示す図である。
【図３】マイクロブログサービス上で動作するソフトウェアモジュールの構成を示す図である。
【図４】ログイン画面及び認可画面の一例を示す図である。
【図５】ユーザー情報、グループ情報、クライアント情報及びトークン情報を示す図である。
【図６】メッセージ情報及びコメント情報の一例を示す図である。
【図７】タイムライン画面の一例を示す図である。
【図８】文書管理サービスのソフトウェアモジュール構成を示す図である。
【図９】文書情報、メッセージ情報、ユーザー情報及び認証トークン情報を示す図である。
【図１０】ログイン画面の一例を示す図である。
【図１１】プレビュー画面の一例を示す図である。
【図１２】共有先選択画面の一例を示す図である。
【図１３】共有許可指定画面の一例を示す図である。
【図１４】文書登録画面の一例を示す図である。
【図１５】プレビュー画面を表示する処理のシーケンス図である。
【図１６】図１５に示すステップＳ１５０６における文書管理サービスの処理を示すフローチャートである。
【図１７】マイクロブログサービスへメッセージ投稿される際のシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面に基づいて説明する。
＜システム構成＞
図１は、コンテンツ共有システムの構成を示す図である。コンテンツ共有システムは、クライアント装置１０１と、マイクロブログサービス提供サーバ装置１０２と、文書管理サービス提供サーバ装置１０３とを備えている。
クライアント装置１０１、マイクロブログサービス提供サーバ装置１０２及び文書管理サービス提供サーバ装置１０３は、ネットワーク１００により互いに通信可能に接続されている。
【００１３】
ネットワークとしては、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）やフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等が挙げられる。
また、ネットワークは、これらの組み合わせにより実現される、いわゆる通信ネットワークであってもよい。ネットワークは、データの送受信が可能であればよい。各サービス間の通信手段は、異なっていてもよい。例えば、クライアント装置１０１からマイクロブログサービス提供サーバ装置１０２への通信手段と、文書管理サービス提供サーバ装置１０３への通信手段とは異なっていてもよい。
【００１４】
クライアント装置１０１は、マイクロブログサービス提供サーバ装置１０２及び文書管理サービス提供サーバ装置１０３に対してリクエストを発行する。マイクロブログサービス提供サーバ装置１０２は、クライアント装置１０１や文書管理サービス提供サーバ装置１０３からのリクエストに応じて、メッセージの書き込みや読み出し、ユーザー情報の提供を行う。
マイクロブログサービス提供サーバ装置１０２は、ユーザーから投稿されたメッセージやコメントなどの情報を管理する。マイクロブログサービス提供サーバ装置１０２は、投稿管理サービスを実行する装置の一例である。
【００１５】
文書管理サービス提供サーバ装置１０３は、コンテンツ管理サービスを実行する装置の一例であり、コンテンツとしての文書を管理する。文書管理サービス提供サーバ装置１０３は、クライアント装置１０１からのリクエストに応じて、文書の登録、削除、閲覧、更新等といった文書管理（コンテンツ管理）を行う。なお、文書管理サービス提供サーバ装置１０３が処理対象とする文書は、電子データの文書である。
文書管理サービス提供サーバ装置１０３は、文書を一意に識別するＵＲＬと紐づけて記憶する。文書管理サービス提供サーバ装置１０３に記憶されている文書は、文書管理サービス提供サーバ装置１０３の管理するユーザー間で共有される。文書管理サービス提供サーバ装置１０３は、コンテンツ管理装置の一例である。
【００１６】
コンテンツ共有システムは、文書管理サービス提供サーバ装置１０３が提供する文書管理サービスにおいて管理される文書に関する情報をマイクロブログサービス提供サーバ装置１０２が提供するマイクロブログサービスに投稿する。このことにより、文書をマイクロブログサービスの登録ユーザー間で共有する仕組みが提供される。
なお、本実施の形態においては、文書管理サービス及びマイクロブログサービスをそれぞれ異なる装置が実行することとして説明する。しかし、これらサービスは、コンテンツ共有システムが有するいずれかの装置において実現されればよい。他の例としては、マイクロブログサービスと文書管理サービスとは、同一装置内に設けられていてもよい。
【００１７】
＜ハードウェア構成＞
図２は、図１のクライアント装置１０１、マイクロブログサービス提供サーバ装置１０２及び文書管理サービス提供サーバ装置１０３のハードウェア構成を示す図である。ＣＰＵ２０１は、内部バスで接続される各デバイス（後述のＲＯＭ、ＲＡＭ他）を直接又は間接的に制御し、後述する各種機能を実現するためのプログラムを実行する。
ＲＯＭ２０２は、ＢＩＯＳ等を格納している。ＲＡＭ（直接記憶装置）２０３は、ＣＰＵ２０１のワーク領域として利用されたり、後述の各種機能を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりする。
ＨＤＤ２０４は、基本ソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やソフトウェアモジュールのプログラムを記憶している。入力装置２０５は、不図示のキーボードやポインティングデバイスなどである。出力装置２０６は、ディスプレイなどの表示装置である。Ｉ／Ｆ２０７は、ネットワーク１００に接続するためのインターフェースである。
【００１８】
これらハードウェアでは、装置の起動後、ＣＰＵ２０１によりＢＩＯＳが実行されＯＳがＨＤＤ２０４からＲＡＭ２０３に実行可能にロードされる。ＣＰＵ２０１は、ＯＳの動作に従って後述する各種ソフトウェアモジュールのプログラムをＨＤＤ２０４からＲＡＭ２０３に随時、実行可能にロードする。各種ソフトウェアモジュールのプログラムは、上記各デバイスの協調によりＣＰＵ２０１によって実行され動作する。
また、Ｉ／Ｆ２０７は、ネットワーク１００に接続されており、ＯＳの動作に従ってＣＰＵ２０１により制御され、上述した通信手段による通信を実現している。
【００１９】
また、図２に示すＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、Ｉ／Ｆ２０７やＨＤＤ２０４などのコンピュータハードウェア資源を仮想化してもよい。さらに、仮想化されたソフトウェアを動作させるためのプラットフォームを公開するクラウドプラットフォーム上でソフトウェアを動作させてもよい。クラウドプラットフォーム上のソフトウェアのプログラムは、クラウドプラットフォームが有するＲＡＭ２０３に展開され、ＣＰＵ２０１で実行される。
大量のコンピュータ資源はクラウドプラットフォームにより仮想化されているため、ソフトウェアはクラウドプラットフォームのバックグラウンドで動作するコンピュータ資源を意識する必要はない。代表的なクラウドプラットフォームの形態には、ＯＳやＷｅｂアプリケーションを登録できるものがある。
本例においては、クラウドプラットフォームの形態は問わない。クラウドプラットフォーム上のソフトウェアは、仮想化されたＩ／Ｆ２０７を介して上述した通信手段による通信を実現する。
【００２０】
＜クライアント装置１０１＞
クライアント装置１０１は、情報処理を行うためのクライアントコンピュータである。クライアント装置１０１で動作する各ソフトウェアモジュールは前述したように、ＣＰＵ２０１によってＨＤＤ２０４に記憶されているプログラムがＲＡＭ２０３にロードされ、ＣＰＵ２０１によって実行されることにより実現される。
クライアント装置１０１は、Ｉ／Ｆ２０７を介してネットワーク１００に接続されている。クライアント装置１０１は、永続記憶装置を接続したコンピュータであってもよいし、一時記憶装置のみによって構成されたＴｈｉｎ  Ｃｌｉｅｎｔ構成をとってもよい。
クライアント装置１０１は、Ｗｅｂブラウザ１０４を有している。クライアント装置１０１は、Ｗｅｂブラウザ１０４を用いてマイクロブログサービス３００や文書管理サービス８００にリクエストを行う。Ｗｅｂブラウザ１０４は、マイクロブログサービス３００や文書管理サービス８００から受信したＨＴＭＬを解析し、解析結果を表示装置に表示するなど各種情報を出力装置２０６としての表示装置に表示する。
【００２１】
＜マイクロブログサービス提供サーバ装置１０２のソフトウェアモジュール構成＞
図３は、マイクロブログサービス提供サーバ装置１０２上で動作するソフトウェアモジュール（マイクロブログサービス３００）の構成を示す図である。各ソフトウェアモジュールは、ＣＰＵ２０１によって図２で示したＨＤＤ２０４に記憶されているプログラムがＲＡＭ２０３にロードされ実行されることにより実現される。
マイクロブログサービス３００は、送受信部３０１と、制御部３０２と、ページ生成部３０３と、認証部３０４と、メッセージ管理部３０５とを有している。ＤＢ３０６は、認証部３０４及びメッセージ管理部３０５により参照されるＤＢであり、図２に示すＨＤＤ２０４等に記憶されているものとする。
送受信部３０１は、クライアント装置１０１のＷｅｂブラウザ１０４や文書管理サービス８００との通信を処理する。制御部３０２は、送受信部３０１が受け付けたリクエストに従って処理を実行する。ページ生成部３０３は、Ｗｅｂブラウザ１０４にレスポンスを返すためのＷｅｂページを生成する。
【００２２】
認証部３０４は、ログインリクエストしてきたユーザーの認証を行い、さらにユーザー情報やグループ情報、クライアント情報、トークン情報といったアクセス権を管理する。認証部３０４がアクセス権を管理する際に参照される認証データは、ＤＢ３０６に記憶されている。
メッセージ管理部３０５は、メッセージデータをＤＢ３０６に格納し、要求に応じてＤＢ４０８のメッセージの取得及びメッセージの更新を行う。ＤＢ３０６には、マイクロブログサービス３００のメッセージデータ及び前述のアクセス権に関する情報が格納されている。
【００２３】
＜マイクロブログサービス３００の認証・認可＞
図４は、ログイン画面４００及び認可画面４１０の一例を示す図である。ログイン画面４００及び認可画面４１０は、マイクロブログサービス３００のページ生成部３０３により生成され、クライアント装置１０１のＷｅｂブラウザ１０４により表示される。
Ｗｅｂブラウザ１０４からマイクロブログサービス３００にリクエストが行われると、送受信部３０１は、リクエストを受け付ける。続いて、制御部３０２により処理が認証部３０４に割り振られる。
認証部３０４は、リクエストを割り振られると、認証セッションが有効かどうか判断を行う。そして、認証部３０４は、制御部３０２に認証セッションが有効か無効かの結果を通知する。
制御部３０２は、認証セッションが無効である場合には、ページ生成部３０３にログイン画面４００を生成させ、リクエストに対してログイン画面４００を応答する。制御部３０２は、認証セッションが有効である場合には、リクエストに応じてページ生成部３０３に認可画面４１０及び後述するタイムライン画面（図７）を生成させる。制御部３０２は、リクエストに対して、生成した認可画面４１０及びタイムライン画面を応答する。
【００２４】
認証部３０４は、認証トークンにより認証セッションを管理する。認証部３０４は、認証に成功した場合に、認証トークンをＷｅｂブラウザ１０４に返す。Ｗｅｂブラウザ１０４は、認証トークンをリクエストに付加することで認証を継続することができる。マイクロブログサービス３００へのすべてのリクエストは認証部３０４によりセッション管理される。
なお、マイクロブログサービス３００がリクエストを受信した際には、認証部３０４による認証セッションの確認が必ず行われるが、以降の説明においては、説明の簡略化のため、各リクエストにおける認証セッションの確認処理に関する説明は省略する。
【００２５】
図４に示すように、ログイン画面４００は、ユーザー名４０１、パスワード４０２及びログインボタン４０３を有している。ユーザー名４０１及びパスワード４０２は、マイクロブログサービス３００への認証に必要なユーザー名とパスワードとの入力欄である。ログインボタン４０３が押下されると、Ｗｅｂブラウザ１０４は、入力されたユーザー名４０１とパスワード４０２とをパラメータとして含むログリンリクエストをマイクロブログサービス３００に送信する。
認可画面４１０は、認可メッセージ４１１、許可ボタン４１２及び拒否ボタン４１３を有している。認可画面４１０は、文書管理サービス８００にマイクロブログサービス３００で管理する情報へのアクセス許可（認可）を与えてよいかを、ユーザーに確認する画面である。認可の方法としてＯＡｕｔｈプロトコルが一般的であり、認可画面４１０は、ＯＡｕｔｈプロトコルで規定される認可画面の一例である。
文書管理サービス８００は、マイクロブログサービス３００の情報を生成、取得、更新、削除する際にＷｅｂブラウザ１０４を経由してマイクロブログサービス３００にスコープをパラメータとして認可リクエストを送信する。
スコープとは、認可許可する範囲を示すものである。本実施形態にかかる文書管理サービス８００は、マイクロブログサービス３００の情報取得とメッセージ投稿とを認可の範囲としてスコープ指定する。
マイクロブログサービス３００の送受信部３０１が認可リクエストを受信すると、制御部３０２は、ページ生成部３０３に認可画面４１０の生成を指示する。そして、制御部３０２は、Ｗｅｂブラウザ１０４からの認可リクエストに対して認可画面４１０を応答する。
【００２６】
認可メッセージ４１１は、認可に関する情報をユーザーに提示するメッセージである。図４に示す例においては、認可メッセージ４１１として、文書管理サービス８００に対して、スコープで指定されたマイクロブログサービス３００の情報取得及びメッセージ投稿の認可を求めるメッセージを表示している。
許可ボタン４１２が押下されると、Ｗｅｂブラウザ１０４は、マイクロブログサービス３００に認可許可リクエストを送信する。拒否ボタン４１３が押下されると、Ｗｅｂブラウザ１０４は、マイクロブログサービス３００に認可拒否リクエストを送信する。
マイクロブログサービス３００の送受信部３０１が認可許可リクエストを受け付けると、認証部３０４は、認可コードを発行する。認可コードは、Ｗｅｂブラウザ１０４を経由して文書管理サービス８００に送信される。
【００２７】
文書管理サービス８００は、受信した認可コードとクライアント情報とをパラメータとしてマイクロブログサービス３００にトークン取得リクエストする。マイクロブログサービス３００は、トークン取得リクエストを受信すると、リクエストされたクライアント情報と後述のクライアント情報５２０（図５）との一致を確認し、トークン情報５３０を発行する。
マイクロブログサービス３００は、トークン取得リクエストの応答としてアクセストークン５３２及びリフレッシュトークン５３３を文書管理サービス８００に返す。文書管理サービス８００は、マイクロブログサービス３００へのリクエストにアクセストークン５３２を付加する。これにより、文書管理サービス８００は、マイクロブログサービス３００のスコープした範囲を対象としたリクエストを行うことができる。
【００２８】
リフレッシュトークン５３３は、アクセストークン５３２を更新するためのトークンである。マイクロブログサービス３００は、トークン更新リクエストでリフレッシュトークン及びクライアント情報を受信すると、それぞれと自身が記憶しているリフレッシュトークン５３３及びクライアント情報５２０との一致を確認する。
マイクロブログサービス３００は、クライアント情報５２０の一致が確認できると、アクセストークン５３２とリフレッシュトークン５３３との更新を行う。マイクロブログサービス３００は、トークン更新リクエストの応答として、更新した新しいアクセストークン５３２及びリフレッシュトークン５３３を返す。
アクセストークン５３２及びリフレッシュトークン５３３には、使用有効期限が設けられている。アクセストークン５３２の使用有効期限が切れたタイミングにおいて、リフレッシュトークン５３３を用いたアクセストークン５３２の更新が行われる。
【００２９】
図５は、マイクロブログサービス３００の認証部３０４で管理されＤＢ３０６に記憶されているユーザー情報５００、グループ情報５１０、クライアント情報５２０及びトークン情報５３０の一例を示す図である。
ユーザー情報５００は、マイクロブログサービス３００に登録されている登録ユーザーに関する情報である。ユーザー情報５００は、ユーザーＩＤ５０１、ユーザー名５０２、パスワード５０３、アイコンファイルパス５０４、フォローしているユーザーＩＤ５０５、フォローされているユーザーＩＤ５０６及び所属グループＩＤ５０７を含んでいる。
ユーザーＩＤ５０１は、ユーザー情報５００を一意に識別する識別子である。ユーザー名５０２及びパスワード５０３は認証に必要なユーザー名及びパスワードである。アイコンファイルパス５０４は、ユーザーを示すアイコン画像の格納先ファイルパスである。
【００３０】
フォローしているユーザーＩＤ５０５は、ユーザーがフォローしているユーザーのユーザーＩＤであり、複数のユーザーＩＤを記憶することができる。フォローされているユーザーＩＤは、ユーザーがフォローされているユーザーのユーザーＩＤであり、複数のユーザーＩＤを記憶することができる。フォローについては後述する。
所属グループＩＤ５０７は、ユーザーが所属しているグループのグループＩＤであり、複数のグループＩＤを記憶することができる。
【００３１】
グループ情報５１０は、マイクロブログサービス３００の登録ユーザーが属するグループに関する情報である。グループ情報５１０は、グループＩＤ５１１、グループ名５１２、所属ユーザーＩＤ５１３及び公開情報５１４を含んでいる。ユーザーは、グループを生成し、生成したグループに所属することができる。
グループＩＤ５１１は、グループ情報５１０を一意に識別する識別子である。グループ名５１２は、グループに付与された名前である。所属ユーザーＩＤ５１３は、グループに所属するユーザーＩＤであり、複数のユーザーＩＤを記憶することができる。公開情報５１４は、グループに所属しているユーザー以外のユーザーがアクセスできるかどうか判断するためのフラグであり、公開か非公開が設定される。
【００３２】
クライアント情報５２０は、クライアントＩＤ５２１及びシークレット５２２を含んでいる。クライアントＩＤ５２１は、マイクロブログサービス３００に接続するクライアントのクライアント情報５２０を一意に識別するための識別子である。シークレット５２２は、クライアントに対するパスワードである。
クライアントＩＤ５２１及びシークレット５２２は、マイクロブログサービス３００によって発行される。クライアント装置１０１は、クライアントＩＤ５２１及びシークレット５２２を用いて、マイクロブログサービス３００に認可許可リクエストを行うことができる。
トークン情報５３０は、ユーザーＩＤ５３１、アクセストークン５３２、リフレッシュトークン５３３及びスコープ５３４を含んでいる。トークン情報５３０は、マイクロブログサービス３００による認可によって発行されるトークンを管理する情報である。ユーザーＩＤ５３１は、トークンが発行されたユーザーＩＤである。
アクセストークン５３２は、クライアント装置１０１がリクエストする際に使用されるトークンである。リフレッシュトークン５３３は、アクセストークン５３２を更新するためのトークンである。スコープ５３４は、認可する範囲を指定する情報である。
【００３３】
＜マイクロブログサービス３００のマイクロブログ機能＞
マイクロブログサービス３００は、マイクロブログ機能を提供する。マイクロブログ機能とは、ユーザーがマイクロブログサービス３００に投稿したメッセージを他のユーザーや特定のグループ内で共有する機能である。ユーザーは、メッセージ投稿、グループへのメッセージ投稿、共有されたメッセージ参照等を行うことができる。またマイクロブログサービス３００は、投稿されたメッセージに対してコメントする機能も提供している。
図６は、メッセージ情報７００及びコメント情報７１０の一例を示す図である。メッセージ情報７００は、マイクロブログサービス３００に対して投稿されたメッセージに関する情報である。コメント情報７１０は、マイクロブログサービス３００に対して投稿されたコメントに関する情報である。
【００３４】
メッセージ情報７００は、メッセージＩＤ７０１、メッセージ７０２、リンク７０３、ユーザーＩＤ７０４、投稿先７０５及び時刻７０６を含んでいる。メッセージ情報７００は、マイクロブログサービス３００がメッセージの投稿要求であるメッセージ投稿リクエストを受け付けた際にメッセージ管理部３０５によって生成され、ＤＢ３０６に格納される。
メッセージＩＤ７０１は、メッセージ情報７００を一意に識別する投稿識別子である。メッセージ７０２は、投稿されたメッセージ文字列である。リンク７０３は、投稿されたＵＲＬである。ユーザーＩＤ７０４は、投稿したユーザーＩＤである。
【００３５】
投稿先７０５は、投稿した宛先である。投稿先７０５は、投稿したユーザーが投稿内容であるメッセージを共有するユーザーを示すメッセージ共有ユーザーを示す情報である。投稿先７０５には、より具体的には、ユーザーＩＤやグループＩＤが格納される。
また、投稿先７０５には、ユーザーＩＤやグループＩＤが複数格納されていてもよい。なお、投稿先７０５には登録されないが、投稿ユーザーも当然投稿内容を共有するものであり、メッセージ共有ユーザーに含まれる。メッセージの宛先が指定されていない場合には、投稿先７０５には何も格納されない。時刻７０６は、投稿した日時である。なお、メッセージ共有ユーザーは、投稿内容共有ユーザーの一例である。
このように、マイクロブログサービス３００のメッセージ情報７００において、メッセージＩＤと、投稿先のユーザーＩＤ及びグループＩＤとが対応付けられている。メッセージＩＤは、投稿識別子の一例である。グループＩＤは、投稿内容共有ユーザー情報の一例である。
【００３６】
コメント情報７１０は、コメントＩＤ７１１、コメント７１２、メッセージＩＤ７１３、ユーザーＩＤ７１４及び時刻７１５を含んでいる。コメント情報７１０は、マイクロブログサービス３００がコメント投稿リクエストを受け付けた際にメッセージ管理部３０５によって生成され、ＤＢ３０６に格納される。
コメントＩＤ７１１は、コメント情報７１０を一意に識別する識別子である。コメント７１２は、投稿されたコメント文字列である。メッセージＩＤ７１３は、コメントしたメッセージ情報７００のメッセージＩＤである。ユーザーＩＤ７１４は、コメントしたユーザーＩＤである。時刻７１５は、コメントした日時である。
なお、メッセージ情報７００及びコメント情報７１０は、ＤＢ３０６に格納される。すなわち、ＤＢ３０６は、メッセージＩＤとメッセージ共有ユーザー情報とを対応付けて記憶する。
【００３７】
図７は、タイムライン画面の一例を示している。タイムライン画面６１０は、「ｕｓｅｒＡ」のユーザーのタイムライン画面である。タイムライン画面６２０は、「ｕｓｅｒＢ」のユーザーのタイムライン画面である。タイムライン画面６３０は、「Ｇｒｏｕｐ２」のグループのタイムライン画面である。
マイクロブログサービス３００は、ユーザーの認証に成功すると、認証したユーザーのタイムライン画面を生成し、Ｗｅｂブラウザ１０４に返す。
ユーザーのタイムライン画面６１０，６２０は、ユーザー情報表示領域（６１１、６２１）、メッセージ投稿領域（６１２、６２２）及びコメント投稿領域（６１３〜６１５、６２３，６２４）を含んでいる。
【００３８】
ユーザー情報表示領域（６１１、６２１）は、ユーザーアイコン及びユーザー名を含んでいる。ユーザーアイコンとして、アイコンファイルパス５０４で指定される領域に格納されている画像が表示される。ユーザー名には、ユーザー名５０２の情報が表示される。
メッセージ投稿領域（６１２、６２２）は、メッセージ入力欄、リンク入力欄及び投稿ボタンを含んでいる。投稿ボタンが押下されると、Ｗｅｂブラウザ１０４は、メッセージ入力欄及びリンク入力欄に入力されている情報をパラメータとして含むメッセージ投稿リクエストをマイクロブログサービス３００に送信する。マイクロブログサービス３００は、メッセージ投稿リクエストを受信すると、メッセージ情報７００を生成する。マイクロブログサービス３００は、その後タイムライン画面を再生成し、Ｗｅｂブラウザ１０４に返す。
【００３９】
コメント投稿領域（６１３〜６１５、６２３，６２４）は、メッセージ表示領域、コメント表示領域、コメント入力欄及びコメントボタンを含んでいる。メッセージ表示領域は、メッセージを投稿したユーザーのユーザーアイコン、ユーザー名、投稿先、メッセージ及びリンクを含んでいる。
ユーザーアイコンは、ユーザーＩＤ７０４に紐づくアイコンファイルパス５０４に格納された画像である。投稿先は、投稿先７０５に格納されるユーザーＩＤ又はグループＩＤに紐づくユーザー名５０２、グループ名５１２である。
【００４０】
コメント表示領域は、メッセージ表示領域に表示されるメッセージのメッセージＩＤ７０１と一致するメッセージＩＤ７１３を持つコメント情報を時刻７１５の新しい順に表示する。コメント表示領域は、コメント投稿したユーザーのユーザーアイコン、ユーザー名５０２及びコメント７１２を含んでいる。
ユーザーアイコンは、ユーザーＩＤ７１４に紐づくアイコンファイルパス５０４に保存された画像である。コメントボタンが押下されると、Ｗｅｂブラウザ１０４は、コメント入力欄の入力データをパラメータとして含むコメント投稿リクエストをマイクロブログサービス３００に送信する。マイクロブログサービス３００は、コメント投稿リクエストを受信すると、コメント情報７１０を生成後、タイムライン画面を再生成し、Ｗｅｂブラウザ１０４に返す。
【００４１】
コメント投稿領域６１３は、ｕｓｅｒＢがＧｒｏｕｐ１に対して投稿したメッセージに対してｕｓｅｒＣとｕｓｅｒＤのコメントが表示されている例である。コメント投稿領域６１４は、ｕｓｅｒＤがＧｒｏｕｐ２に対して投稿したメッセージとリンクが表示されている例である。
コメント投稿領域６１５は、ｕｓｅｒＤがｕｓｅｒＡに対して投稿したメッセージとリンクが表示されている例である。コメント投稿領域６２３は、コメント投稿領域６１３と同じものである。コメント投稿領域６２４は、ｕｓｅｒＣがｕｓｅｒＢに対して投稿したメッセージとリンクが表示されている例である。
【００４２】
自ユーザーのタイムライン画面に表示されるメッセージ情報７００は次の３つの条件を満たすものとする。第１の条件は、ユーザーＩＤ７０４がユーザーＩＤ５０１又はフォローしているユーザーＩＤ５０５と一致することである。第２の条件は、投稿先７０５のユーザーＩＤが自ユーザーのユーザーＩＤ５０１と一致することである。第３の条件は、投稿先７０５のグループＩＤが所属グループＩＤ５０７と一致することである。
またユーザーのタイムライン画面は、他ユーザーのタイムライン画面も参照することができる。他ユーザーのタイムライン画面はタイムライン画面中のユーザー名にリンクされており、リンクが押下されることにより表示される。
他ユーザーのタイムラインに表示されるメッセージ情報７００は、次の３つの条件を満たすものとする。第１の条件は、ユーザーＩＤ７０４が自ユーザー又は表示ユーザーのユーザーＩＤ５０１と一致することである。第２の条件は、ユーザーＩＤ７０４が表示ユーザーのフォローしているユーザーＩＤ５０５と一致することである。第３の条件は、投稿先７０５のグループＩＤが表示ユーザーの所属グループＩＤ５０７と一致し、かつ公開情報５１４が公開に設定されていることである。
以上の条件を満たすメッセージ情報７００とメッセージに紐づくコメント情報７１０とがユーザーのタイムライン画面に表示される。
なおコメント表示領域の表示順はコメント表示領域に表示するメッセージ情報７００の時刻７０６及びコメント情報７１０の時刻７１５のうち最新の時刻で、時刻の新しい順である。
【００４３】
図７のタイムライン画面６３０は、「Ｇｒｏｕｐ２」のタイムライン画面である。グループのタイムライン画面６３０は、タイムライン画面中のグループ名にリンクされており、リンクが押下されることにより表示される。
グループのタイムライン画面は、グループ情報表示領域６３１、メッセージ投稿領域６３２及びコメント投稿領域６３３を含んでいる。グループ情報表示領域６３１には、グループ名５１２の情報が表示される。メッセージ投稿領域６３２は、ユーザーのタイムライン画面におけるメッセージ投稿領域（６１２、６２２）と同様であるが、グループを投稿先として投稿される。コメント投稿領域６３３は、ユーザーのタイムライン画面におけるメッセージ投稿領域（６１３〜６１５、６２３，６２４）と同様である。
【００４４】
グループのタイムライン画面６３０に表示されるメッセージ情報７００は、次の条件を満たすこととする。第１の条件は、投稿先７０５のグループＩＤが表示グループのグループＩＤ５１１と一致することである。第２の条件は、表示グループのグループＩＤ５１１と自ユーザーの所属グループＩＤ５０７が一致することである。第３の条件は、表示グループの公開情報５１４が公開に設定されていることである。
上記の条件を満たすメッセージ情報７００及びメッセージに紐づくコメント情報７１０がグループのタイムライン画面に表示される。なおコメント表示領域の表示順は、コメント表示領域に表示するメッセージ情報７００の時刻７０６、コメント情報７１０の時刻７１５のうち最新の時刻で、時刻の新しい順である。
【００４５】
＜マイクロブログサービス３００のＷｅｂＡＰＩ＞
マイクロブログサービス３００は、ＷｅｂＡＰＩを提供する。ＷｅｂＡＰＩとは、リクエストに応じてマイクロブログサービス３００で管理する情報の登録、取得、更新、削除を行う機能である。マイクロブログサービス３００で管理する情報としては、ユーザー情報５００、グループ情報５１０、トークン情報５３０、メッセージ情報７００、コメント情報７１０がある。
クライアント装置１０１などから、ＷｅｂＡＰＩへのリクエストを行うためには先述の認可を行いリクエストにアクセストークン５３２、クライアントＩＤ５２１、シークレット５２２を付加する必要がある。
ＷｅｂＡＰＩへのリクエストとしては、ユーザー情報５００、グループ情報５１０、メッセージ情報７００又はコメント情報７１０それぞれを登録、取得、更新、削除するリクエストがある。ＷｅｂＡＰＩへのリクエストとしては、他にトークン更新リクエスト、ユーザータイムライン取得リクエスト、グループタイムライン取得リクエストがある。
【００４６】
トークン更新リクエストは、アクセストークン５３２を更新するためのリクエストである。マイクロブログサービス３００は、トークン更新リクエストのパラメータとしてリフレッシュトークン５３３、クライアントＩＤ５２１、シークレットを付加することで、アクセストークン５３２とリフレッシュトークン５３３とを再発行し応答する。
ユーザータイムライン取得リクエストは、パラメータに指定されたユーザーＩＤ５０１のタイムラインを取得するリクエストである。ユーザータイムライン取得リクエストで取得できる情報は図７のユーザーのタイムライン画面のコメント投稿領域（６１３〜６１５、６２３、６２４）に表示されるメッセージ情報７００及びコメント情報７１０である。ユーザータイムライン取得リクエストで取得できるメッセージ情報７００の条件は、先述のユーザーのタイムライン画面に表示されるメッセージ情報７００の条件と同じである。
【００４７】
グループタイムライン取得リクエストは、パラメータに指定されたグループＩＤ５１１のタイムラインを取得するリクエストである。グループタイムライン取得リクエストで取得できる情報は、図７のグループのタイムライン画面のコメント投稿領域（６３３）に表示されるメッセージ情報７００及びコメント情報７１０である。グループタイムライン取得リクエストで取得できるメッセージ情報７００の条件は、先述のグループのタイムライン画面に表示されるメッセージ情報７００の条件と同じである。
ＷｅｂＡＰＩから情報取得するリクエストには、クエリーをパラメータとして指定することができる。クエリーとは、データの検索条件である。マイクロブログサービス３００は、クエリーに指定された検索条件に合致する情報を返す。例えばメッセージ情報取得リクエストに複数のメッセージＩＤ７０１をクエリーとして指定した場合、マイクロブログサービス３００は、管理するメッセージ情報７００からクエリーで指定されたメッセージＩＤ７０１と一致するメッセージ情報７００を返す。
【００４８】
＜文書管理サービス提供サーバ装置のソフトウェアモジュール構成＞
図８は、文書管理サービス提供サーバ装置１０３のソフトウェアモジュール（文書管理サービス８００）の構成を示す図である。文書管理サービス８００は、文書共有サービス８０１と認証サービス８１１とを有している。文書共有サービス８０１は、送受信部８０２と、制御部８０３と、ページ生成部８０４と、文書管理部８０５と、メッセージ情報管理部８０６とを有している。認証サービス８１１は、送受信部８１２と、制御部８１３と、ユーザー管理部８１４と、トークン管理部８１５とを有している。
なお、各ソフトウェアモジュールのプログラムは、図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ、実行されることにより各ソフトウェアモジュールが実現されるものである。
また、ＤＢ８０７は、文書共有サービス８０１により参照されるＤＢであり、図２に示すＨＤＤ２０４等に記憶されている。同様に、ＤＢ８１６は、認証サービス８１１により参照されるＤＢであり、ＨＤＤ２０４等に記憶されている。
【００４９】
送受信部８０２は、クライアント装置１０１のＷｅｂブラウザ１０４や、マイクロブログサービス３００、認証サービス８１１との通信を処理する。制御部８０３は、送受信部８０２が受け付けたリクエストに従って処理を実行する。ページ生成部８０４は、Ｗｅｂブラウザ１０４にレスポンスを返すためのＷｅｂページを生成する。
文書管理部８０５は、ＤＢ８０７に格納されている文書及び後述の文書情報１４００を管理する。文書管理部８０５は、例えば、制御部８０３からの要求に応じて文書及び文書情報１４００の登録、取得、更新、削除を行う。
メッセージ情報管理部８０６は、メッセージ情報１４１０を、ＤＢ８０７上で管理する。メッセージ情報管理部８０６は、例えば、要求に応じてメッセージ情報１４１０の登録、取得、更新、削除を行う。ここでメッセージ情報１４１０は、文書及び文書情報１４００と、マイクロブログサービス３００上のメッセージとを関連付ける情報である。
なお、ＤＢ８０７には、文書、文書情報１４００及びメッセージ情報１４１０に加えて、文書共有サービス８０１のユーザー設定情報等も格納される。
【００５０】
認証サービス８１１の送受信部８１２は、文書共有サービス８０１との通信を処理する。制御部８１３は、送受信部８１２が受け付けたリクエストに従って処理を実行する。ユーザー管理部８１４は、ＤＢ８１６に格納されている後述のユーザー情報１４２０を管理する。ユーザー管理部８１４は、例えば制御部８１３からの要求に応じてユーザー情報１４２０の登録、取得、更新、削除を行う。
トークン管理部８１５は、ユーザー情報１４２０と同じくＤＢ８１６に格納される後述の認証トークン情報１４３０及びマイクロブログアクセストークン情報１４４０を管理する。トークン管理部８１５は、例えば制御部８１３からの要求に応じて認証トークン情報１４３０及びマイクロブログアクセストークン情報１４４０の登録、取得、更新、削除を行う。
【００５１】
＜文書管理サービス８００における管理情報＞
図９は、文書情報１４００、メッセージ情報１４１０、ユーザー情報１４２０、認証トークン情報１４３０及びマイクロブログアクセストークン情報１４４０を示す図である。文書情報１４００及びメッセージ情報１４１０は、文書共有サービス８０１のＤＢ８０７に格納される情報である。
文書情報１４００は、コンテンツとしての文書に関する情報、すなわちコンテンツ情報である。文書情報１４００は、文書に関する付加情報である。文書情報１４００は、文書ＩＤ１４０１、文書保存先１４０２、ユーザーＩＤ１４０３、文書名１４０４、共有したメッセージＩＤ１４０５、共有許可したユーザーＩＤ及びグループＩＤ１４０６を含んでいる。
文書ＩＤ１４０１は、文書を一意に識別する識別子である。文書保存先１４０２は、文書へのアクセスに必要なファイルパスやＵＲＬ等を示す情報である。なお、文書は、文書管理サービス提供サーバ装置１０３のＨＤＤ２０４に格納されている。他の例としては、文書は、他の装置に記憶されていてもよい。この場合には、記憶する装置へのアクセスに必要な情報が文書保存先１４０２に格納される。
【００５２】
ユーザーＩＤ１４０３は、文書管理サービス８００において、文書の作成及び登録を行ったユーザー、すなわち作成ユーザーを表す識別子である。文書名１４０４は、文書のタイトルであり、ユーザーが任意に決定できる文字列である。
共有したメッセージＩＤ１４０５は、マイクロブログサービス３００に文書情報１４００を投稿した際に発行される投稿識別子である。すなわち、共有したメッセージＩＤ１４０５は、マイクロブログサービス３００のメッセージＩＤ７０１に対応する情報である。
共有許可したユーザーＩＤ及びグループＩＤ１４０６は、文書の作成ユーザーが文書の共有を許可したユーザーＩＤやグループＩＤである。ここで、共有許可したユーザーＩＤ及びグループＩＤ１4０６は、文書（コンテンツ）を共有すべきユーザーを示す文書共有ユーザー（コンテンツ共有ユーザー）の一例である。
また、文書情報１４００には、これ以外に、文書のサイズや、ページ数等の文書に関する任意の情報が含まれてもよい。
【００５３】
メッセージ情報１４１０は、文書管理サービス提供サーバ装置１０３に格納されている文書に対し、マイクロブログサービス３００に投稿されたメッセージに関する情報を含んでいる。メッセージ情報１４１０は、メッセージＩＤ１４１１、マイクロブログＵＲＬ１４１２、メッセージ投稿ユーザーＩＤ１４１３、投稿先１４１４及び文書ＩＤ１４１５を含んでいる。
メッセージＩＤ１４１１は、マイクロブログサービス３００上でメッセージを一意に識別す識別子である。メッセージＩＤ１４１１は、メッセージが投稿された際にマイクロブログサービス３００により発行される投稿識別子である。
【００５４】
マイクロブログＵＲＬ１４１２は、マイクロブログサービス３００へアクセスするためのＵＲＬである。マイクロブログＵＲＬ１４１２には、例えば、マイクロブログサービス３００のＷｅｂサービスのエンドポイントＵＲＬが格納される。
メッセージ投稿ユーザーＩＤ１４１３は、マイクロブログサービス３００上でのメッセージを投稿したユーザーのユーザーＩＤである。投稿先１４１４は、マイクロブログサービス３００上におけるメッセージ投稿先ユーザーのＩＤ又は、投稿先グループのＩＤを示す情報である。文書ＩＤ１４１５は、文書情報１４００とメッセージ情報１４１０とを関連づけるための識別子である。
なお、共有したメッセージＩＤ１４０５や、共有許可したユーザーＩＤ及びグループＩＤ１４０６を文書ＩＤに対応付ける文書情報１４００やメッセージ情報１４１０は、ＤＢ８０７に記憶されている。
【００５５】
ユーザー情報１４２０、認証トークン情報１４３０及びマイクロブログアクセストークン情報１４４０は、認証サービス８１１のＤＢ８１６に格納される情報である。ユーザー情報１４２０は、文書管理サービス８００の利用者として登録されているユーザーの情報である。
ユーザー情報１４２０は、ユーザーＩＤ１４２１及びパスワード１４２２を含んでいる。ユーザーＩＤ１４２１は、文書管理サービス８００内でのユーザーを一意に識別する識別子である。パスワード１４２２は、ユーザーがＷｅｂブラウザ１０４を介して、文書管理サービス８００へログインする際に、ユーザーＩＤ１４２１と共に、認証に使用されるパスワードである。また、ユーザー情報１４２０には、これ以外に、氏名や、メールアドレス等のユーザーに関する任意の情報が含まれてよい。
【００５６】
認証トークン情報１４３０は、文書管理サービス８００へログイン済みのユーザーの認証情報である。認証トークン情報１４３０は、認証トークン１４３１、ユーザーＩＤ１４３２及び時刻１４３３を含んでいる。認証トークン１４３１は、認証済みであることを証明するための少なくとも文書管理サービス８００内で一意の文字列である。ユーザーＩＤ１４３２は、認証済みのユーザーのユーザーＩＤを示す情報である。時刻１４３３には、認証トークン１４３１の有効期限を決定するための日付や、時刻が格納される。
マイクロブログアクセストークン情報１４４０は、文書管理サービス８００が、マイクロブログサービス３００にアクセスする際に必要なユーザーの認可情報である。マイクロブログアクセストークン情報１４４０は、ユーザーＩＤ１４４１、マイクロブログＵＲＬ１４４２、アクセストークン１４４３及びリフレッシュトークン１４４４を含んでいる。
【００５７】
ユーザーＩＤ１４４１は、文書管理サービス８００上のユーザーを識別する識別子である。ユーザーＩＤ１４４１は、ユーザー情報１４２０のユーザーＩＤ１４２１と対応している。マイクロブログＵＲＬ１４４２は、マイクロブログアクセストークン情報１４４０が使用されるべきマイクロブログのＵＲＬであり、メッセージ情報１４１０のマイクロブログＵＲＬ１４１２と対応する。
アクセストークン１４４３は、ユーザーＩＤ１４４１でマイクロブログＵＲＬ１４４２にアクセスする際に必要な認可情報を含む文字列である。また、リフレッシュトークン１４４４は、マイクロブログサービス３００で発行される、アクセストークン１４４３の更新に必要なトークンである。
【００５８】
＜文書管理サービス８００の認証＞
図１０は、クライアント装置１０１のＷｅｂブラウザ１０４により表示される文書管理サービスログイン画面９００の一例を示す図である。文書管理サービスログイン画面９００は、文書管理サービス８００のページ生成部８０４により生成される。
Ｗｅｂブラウザ１０４から文書管理サービス８００にリクエストが行われると、送受信部８０２がリクエストを受け付ける。続いて、制御部８０３から、送受信部８０２を通して、認証サービス８１１に認証チェック要求が送信される。
【００５９】
この際、制御部８０３は、リクエストに認証トークン１４３１が含まれるか確認し、含まれる場合には、認証サービス８１１に認証トークンを渡す。認証サービス８１１は、送受信部８１２で要求を受け付ける。続いて、制御部８１３が、トークン管理部８１５に認証トークン情報１４３０の有効性のチェックを依頼する。
制御部８１３は、トークン管理部８１５から認証トークン１４３１が有効であるか否かの結果を受け取る。制御部８１３は、送受信部８１２を介して、有効か否かの結果を文書共有サービス８０１に送信する。
【００６０】
認証トークン１４３１の有効性のチェックの際には、認証トークン情報１４３０が参照され、対象となる認証トークン１４３１が記憶されているか、時刻１４３３から有効期限が切れていないか等がチェックされる。文書共有サービス８０１の制御部８０３は、認証トークン１４３１が無効だった場合にページ生成部８０４に文書管理サービスログイン画面９００の生成を指示する。
そして、制御部８０３は、リクエストに対し、生成した文書管理サービスログイン画面９００を応答する。制御部８０３は、認証トークン１４３１が有効だった場合にはリクエストに応じて、後述するプレビュー画面１０００等を生成し応答する。
【００６１】
文書管理サービスログイン画面９００は、ユーザー名９０１、パスワード９０２及びログインボタン９０３を含んでいる。ユーザー名９０１及びパスワード９０２は、文書管理サービス８００への認証に必要なユーザーＩＤ及びパスワードの入力欄である。ログインボタン９０３が押下されると、Ｗｅｂブラウザ１０４は、ユーザー名９０１及びパスワード９０２に入力された情報をパラメータとして含むログインリクエストを、文書管理サービス８００に送信する。
認証サービス８１１の制御部８１３は、ログインリクエストが行われると、妥当性のチェックを行う。制御部８１３は、ログインリクエストに含まれるユーザー名９０１とパスワード９０２との組み合わせが、ユーザー情報１４２０において対応付けられて存在しているかを確認する。
【００６２】
ログインリクエストに含まれる組み合わせがユーザー情報１４２０に存在している場合には、制御部８１３は、認証トークン情報１４３０を発行する。そして、制御部８１３は、認証トークン情報１４３０をＤＢ８１６に格納すると共に、認証トークン１４３１をＷｅｂブラウザ１０４に返す。
Ｗｅｂブラウザ１０４は、取得した認証トークン１４３１をリクエストに付加することで認証を継続することができる。文書管理サービス８００へのすべてのリクエストは認証サービス８１１により認証管理される。文書管理サービス８００がリクエストを受信した際には認証情報の確認が必ず行われるが、説明の簡略化のため、認証情報の確認は以降、その説明を省略する。
【００６３】
＜文書共有サービス８０１の文書プレビュー＞
図１１は、クライアント装置１０１のＷｅｂブラウザ１０４により表示される文書のプレビュー画面１０００の一例を示す図である。プレビュー画面１０００は、文書共有サービス８０１のページ生成部８０４により生成される。
プレビュー画面１０００の生成処理においては、まず、Ｗｅｂブラウザ１０４から文書共有サービス８０１に、文書を識別する情報を含む、文書プレビューリクエストが送信される。送受信部８０２がリクエストを受け付けると、制御部８０３は、文書管理部８０５から文書情報１４００を取得する。
【００６４】
ここで、Ｗｅｂブラウザ１０４から送信される、文書を識別する情報とは、例えば、文書ＩＤ１４０１を含むＵＲＬなどでよい。制御部８０３は、このＵＲＬに含まれる文書ＩＤ１４０１を参照することで、要求に合った文書情報１４００を、文書管理部８０５から取得することができる。
制御部８０３は、取得した文書情報１４００を参照し、ページ生成部８０４に、Ｗｅｂブラウザ１０４で表示可能なプレビュー画面１０００の生成を指示する。さらに、制御部８０３は、送受信部８０２を通して、生成されたプレビュー画面１０００をＷｅｂブラウザ１０４に返す。
【００６５】
プレビュー画面１０００には、文書情報１４００の文書保存先１４０２を参照して取得した文書画像１０１０を表示すると共に、文書名１００２や、ユーザー名１００１等を表示する。また、プレビュー操作を行う領域１０２０には、ページ送りを行うためのボタン１０２１や、表示ページの指定を行う入力エリア１０２２が表示される。メッセージ投稿領域１０３０は、マイクロブログサービス３００へメッセージ投稿するための領域である。
メッセージ投稿領域１０３０は、メッセージ入力欄１０３１、リンク情報１０３２、マイクロブログで共有ボタン１０３３及び共有許可指定ボタン１０３４を含んでいる。リンク情報１０３２には、プレビュー中の文書を識別するための文書ＩＤ１４０１を含むＵＲＬが表示される。文書ＩＤ１４０１を含むＵＲＬにＷｅｂブラウザ１０４からリクエストが送信されると、文書ＩＤ１４０１により特定される文書のプレビュー画面１０００が表示される。
【００６６】
マイクロブログで共有ボタン１０３３が押下されると、Ｗｅｂブラウザ１０４は、メッセージ入力欄１０３１に入力されているメッセージとリンク情報１０３２とをパラメータとして含む共有リクエストを文書共有サービス８０１に送信する。共有リクエストを受け付けた文書共有サービス８０１は、後述の共有先選択画面１１００を生成し、Ｗｅｂブラウザ１０４に返す。共有先選択画面１１００の生成方法及び共有先選択画面１１００の詳細は後述する。
共有許可指定ボタン１０３４が押下されると、Ｗｅｂブラウザ１０４は、文書共有サービス８０１に共有許可指定リクエストを送信する。共有許可指定リクエストを受け付けた文書共有サービス８０１は、後述の共有許可指定画面１２００を生成し、Ｗｅｂブラウザ１０４に返す。共有許可指定画面１２００の生成方法及び共有許可指定画面１２００の詳細は後述する。
【００６７】
＜文書共有サービス８０１の共有先選択＞
図１２は、クライアント装置１０１のＷｅｂブラウザ１０４により表示される共有先選択画面１１００の一例を示す図である。共有先選択画面１１００は、文書共有サービス８０１のページ生成部８０４により生成される。共有先選択画面１１００は、図１１に示すプレビュー画面１０００のメッセージ入力欄１０３１に入力されたメッセージの投稿先のユーザーやグループを選択するための画面である。
共有先選択画面１１００は、ユーザー名１１０１、選択領域１１０２及び共有ボタン１１０３を含んでいる。選択領域１１０２には、投稿先の選択肢として、文書管理サービス８００に登録されている登録ユーザーや登録ユーザーの所属するグループ等が表示されている。
共有ボタン１１０３が押下されると、Ｗｅｂブラウザ１０４は、選択領域１１０２の選択項目、入力ユーザー名をパラメータとして含む共有リクエストを文書共有サービス８０１に送信する。共有リクエストは、メッセージを共有するユーザーを登録するリクエストである。文書共有サービス８０１の文書管理部８０５は、送受信部８０２が受信した共有リクエストに従い、メッセージ情報７００の投稿先７０５にメッセージ共有ユーザー情報としてユーザーＩＤ又はグループＩＤを登録する。
【００６８】
選択領域１１０２における全てのユーザーがチェックされた場合は、ユーザーやグループを指定せずにメッセージが投稿される。選択領域１１０２における全てのフォローユーザーがチェックされた場合は、ログインユーザーのフォローしているユーザーＩＤ５０５を投稿先７０５としてメッセージが投稿される。
選択領域１１０２における全てのフォローされているユーザーがチェックされた場合は、ログインユーザーのフォローされているユーザーＩＤ５０６を投稿先７０５としてメッセージが投稿される。選択領域１１０２におけるユーザーやグループが選択された場合は、選択されたユーザーやグループを投稿先７０５としてメッセージが投稿される。選択領域１１０２において任意のユーザーが入力された場合は、入力ユーザーのユーザーＩＤ、グループＩＤを投稿先７０５としてメッセージが投稿される。
なお選択領域に表示されるユーザーやグループは、ログインユーザーのフォローしているユーザーＩＤ５０５とフォローしているユーザーＩＤ５０６とである。
【００６９】
メッセージの投稿が行われると、文書共有サービス８０１の送受信部８０２は、メッセージ投稿に指定された投稿先７０５を受信する。すなわち、送受信部８０２による処理は、メッセージの投稿ユーザーから、メッセージを共有すべきユーザー及びグループのうち少なくとも一方の選択を受け付ける第１の選択処理の一例である。
【００７０】
マイクロブログサービス３００へのメッセージ投稿の前に共有先選択画面１１００にマイクロブログサービス３００に登録されているユーザーやグループが表示されるので、ユーザーは、表示された中から所望の共有先を指定することができる。
また、共有先選択画面１１００には、投稿ユーザーのユーザー情報５００において、フォローしているユーザーＩＤ５０５や、フォローされているユーザーＩＤ５０６に登録されているユーザー等が選択可能に表示されている。これにより、所望の投稿先の選択のためのユーザー操作を簡略化することができる。
【００７１】
＜文書共有サービス８０１の共有許可選択＞
図１３は、クライアント装置１０１のＷｅｂブラウザ１０４により表示される共有許可指定画面１２００の一例を示す図である。共有許可指定画面１２００は、送受信部８０２がマイクロブログサービス３００から受信したユーザー情報５００及びグループ情報５１０に基づいて、文書共有サービス８０１のページ生成部８０４により表示される。ここで、ユーザー情報５００及びグループ情報５１０は、マイクロブログサービス３００の登録情報の一例である。
共有許可指定画面１２００は、図１１に示すプレビュー画面１０００に表示されている文書に対し、文書オーナーが共有を許可するユーザーを指定するための画面である。共有許可指定画面１２００は、文書オーナー、すなわち文書を作成したユーザーに対してのみ表示される画面であり、共有許可指定は、文書オーナーのみが行うことができる。すなわち、送受信部８０２の処理は、第２の受信処理の一例である。また、ページ生成部８０４の処理は、共有許可指定画面を生成する第２の画面生成処理の一例である。
【００７２】
共有許可指定画面１２００は、ユーザー名１２０１、選択領域１２０２、ユーザー指定領域１２０３及び指定ボタン１２０４を含んでいる。選択領域１２０２には、共有許可を指定するユーザー及びグループの選択肢として、文書管理サービス８００に登録されている登録ユーザーや登録ユーザーの所属するグループ等が表示されている。
共有ボタン１１０３が押下されると、Ｗｅｂブラウザ１０４は、選択領域１２０２やユーザー指定領域１２０３の選択項目、入力ユーザー名をパラメータとして含む共有許可指定リクエストを文書共有サービス８０１に送信する。
文書共有サービス８０１の送受信部８０２は、共有許可指定リクエストを受け取る。すなわち、送受信部８０２は、文書の作成ユーザーから、文書を共有すべきユーザー及びグループのうち少なくとも一方の選択を受け付ける。文書管理部８０５は、共有許可指定リクエストに基づいて、選択項目、入力ユーザー名により共有許可したユーザーＩＤ及びグループＩＤ１４０６の値を変更する。
【００７３】
選択領域１２０２における全てのユーザーがチェックされたとする。この場合には、チェックされた内容が、Ｗｅｂブラウザ１０４から文書管理サービス８００に送信される。文書管理サービス８００においては、文書共有サービス８０１の送受信部８０２が、チェックされた内容を受信する。そして、文書共有サービス８０１の文書管理部８０５は、チェックされた内容に従い、共有許可したユーザーＩＤ及びグループＩＤ１４０６の値を、全ユーザーを示す値に変更する。
すなわち、送受信部８０２の処理は、文書オーナー（コンテンツの作成ユーザー）から文書（コンテンツ）の共有を許可すべきユーザー又はグループのうち少なくとも一方の選択を受け付ける第２の選択受付処理の一例である。
【００７４】
選択領域１２０２における文書オーナーがチェックされた場合は、文書管理部８０５は、共有許可したユーザーＩＤ及びグループＩＤ１４０６の値を削除する。選択領域１２０２において、文書オーナーに共有されたユーザー、グループ所属ユーザーがチェックされた場合は、文書管理部８０５は、共有許可したユーザーＩＤ及びグループＩＤ１４０６の値を文書オーナーのユーザーＩＤに変更する。
選択領域１２０２においてユーザー指定領域１２０３で全てのフォローユーザーがチェックされた場合には、文書管理部８０５は、ログインユーザーのフォローしているユーザーＩＤ５０５を共有許可したユーザーＩＤ及びグループＩＤ１４０６に格納する。また、選択領域１２０２においてユーザー指定領域１２０３で全てのフォローされているユーザーがチェックされるとする。この場合は、文書管理部８０５は、ログインユーザーのフォローされているユーザーＩＤ５０６を共有許可したユーザーＩＤ及びグループＩＤ１４０６に格納する。
【００７５】
選択領域１２０２において選択したユーザーが指定された場合には、以下の通り、ユーザー指定領域１２０３の指定に従い共有許可したユーザーＩＤ及びグループＩＤ１４０６の情報が格納される。なお、ユーザー指定領域１２０３に表示されるユーザーやグループはログインユーザーのフォローしているユーザーＩＤ５０５とフォローしているユーザーＩＤ５０６とである。
ユーザー指定領域１２０３でユーザーやグループが選択された場合は、文書管理部８０５は、選択されたユーザーＩＤやグループＩＤを共有許可したユーザーＩＤ及びグループＩＤ１４０６に格納する。選択領域１２０２においてユーザー指定領域１２０３で任意のユーザーが入力された場合は、文書管理部８０５は、入力されたユーザーのユーザーＩＤ、グループＩＤを共有許可したユーザーＩＤ及びグループＩＤ１４０６に格納する。
このように、共有許可指定画面１２００においてマイクロブログサービス３００に対しメッセージを投稿することのできるユーザーやグループを、ユーザーから選択可能に表示する。したがって、ユーザーは共有許可するユーザー及びグループを簡単な操作で指定することができる。
【００７６】
＜文書共有サービス８０１への文書登録＞
図１４は、クライアント装置１０１のＷｅｂブラウザ１０４により表示される文書登録画面１３００の一例を示す図である。文書登録画面１３００は、クライアント装置１０１のＷｅｂブラウザ１０４から文書共有サービス８０１にアクセスして文書登録画面表示リクエストを送信した場合に、文書共有サービス８０１のページ生成部８０４により生成される。
文書登録画面１３００には、登録する文書を指定するためのファイル名１３０１及び文書登録ボタン１３０２が含まれる。文書登録ボタン１３０２を押下することで、クライアント装置１０１から文書管理サービス８００に対して、ファイル名１３０１が指された文書を送信するための文書登録リクエストが発行される。
【００７７】
ユーザーにより、文書登録画面１３００の文書登録ボタン１３０２が押下されると、Ｗｅｂブラウザ１０４は、文書とともに文書登録リクエストを文書共有サービス８０１に送信する。文書登録リクエストを受け付けた文書共有サービス８０１は、文書のデータをＨＤＤ２０４に格納し、文書情報１４００を生成する。
文書共有サービス８０１へ文書を登録する手段としては、他の例として、文書登録サービスを外部サービスとして設け、文書登録サービスの文書登録画面１３００で文書登録する構成でもよい。その場合、文書登録サービスは、文書登録リクエストを受け付ける。そして、文書登録サービスは、文書共有サービス８０１にネットワーク１００を介してＷｅｂＡＰＩで文書登録リクエストを転送する。
文書共有サービス８０１のＷｅｂＡＰＩは、マイクロブログサービス３００のＷｅｂＡＰＩと同様であり、文書共有サービス８０１で管理するデータを登録、取得、更新、削除する機能である。
【００７８】
＜文書プレビュー画面表示＞
図１５は、プレビュー画面１０００を表示する処理のシーケンス図である。プレビュー画面１０００は、マイクロブログサービス３００にログインした後、ユーザーのタイムライン画面６１０、６２０上に表示されている文書ＵＲＬが押下された際に実行される。
まず、クライアント装置１０１のＷｅｂブラウザ１０４からのログインリクエストをマイクロブログサービス３００が受け付ける（ステップＳ１５０１）。マイクロブログサービス３００は、ログインリクエストを受け付けると、ログイン画面４００を返す。さらに、マイクロブログサービス３００は、Ｗｅｂブラウザ１０４において、ログイン画面４００に入力された情報に基づいて、ユーザー認証を行う（Ｓ１５０２）。
【００７９】
マイクロブログサービス３００は、認証に成功すると、ユーザーのタイムライン画面６１０、６２０を返す。ここでＷｅｂブラウザ１０４に表示されるユーザーのタイムライン画面６１０、６２０には、６１４、６１５、６２４のように文書管理サービス８００へのリンクが投稿されている。またリンクには文書を識別するための文書ＩＤ１４０１も付加されている。
続いて、Ｗｅｂブラウザ１０４において、ユーザーのタイムライン画面６１０、６２０に表示されている文書管理サービス８００へのリンクの押下を検知する（ステップＳ１５０３）。これにより、Ｗｅｂブラウザ１０４は、文書管理サービス８００に対してプレビュー画面表示リクエストを送信する（Ｓ１５０４）。
【００８０】
文書管理サービス８００に未ログインの場合には、文書管理サービス８００から文書管理サービスログイン画面９００が送信される（ステップＳ１５０５）。続いて、文書管理サービス８００は、文書管理サービスログイン画面９００に入力された内容に基づいて、ユーザー認証を行う。ユーザーが文書管理サービス８００に既にログイン済みの場合にはＳ１５０５の処理は実行されない。
続いて、文書管理サービス８００は、プレビュー画面表示リクエストされた文書をログインユーザーに対して表示可能かどうか、文書に対する投稿が可能かどうか、文書の共有指定が可能かどうかを判断する（ステップＳ１５０６）。なお、Ｓ１５０６における判断は図１６を参照しつつ詳細を後述する。
続いて、文書管理サービス８００は、ステップＳ１５０６において文書を表示可能と判断した場合に、プレビュー画面１０００を生成し、プレビュー画面１０００をＷｅｂブラウザ１０４に返す（ステップＳ１５０７）。以上で、プレビュー画面１０００を表示する処理が完了する。
【００８１】
図１６は、図１５において説明したステップＳ１５０６における文書管理サービス８００の処理を示すフローチャートである。すなわち、文書管理サービス８００がＷｅｂブラウザ１０４からのプレビュー画面表示リクエストを受け付け、認証に成功した後、レスポンスを返すまでのフローである。
文書管理サービス８００は、まずプレビュー画面表示リクエストを取得する（ステップＳ１６０１）。プレビュー画面表示リクエストには、当該リクエストを行ったリクエストユーザーに対して発行された認証トークンが付加されている。ここで、プレビュー画面表示リクエストは、文書（コンテンツ）の表示要求の一例である。また、リクエストユーザーは、表示要求の送信元ユーザーの一例である。ステップＳ１６０１の処理は、表示要求受付処理の一例である。また、認証トークンは、送信元ユーザーに対して発行された情報であり、送信元ユーザーを示す送信元ユーザー情報に相当する。
【００８２】
文書管理サービス８００のユーザー管理部８１４は、認証トークンによりリクエストユーザーを特定する（Ｓ１６０２）。次に、文書管理サービス８００の文書管理部８０５は、リクエストユーザーが文書の登録ユーザー、すなわち文書オーナーと一致するか否かを判断する。より具体的には、文書管理部８０５は、文書情報１４００を参照し、リクエストユーザーのユーザーＩＤとユーザーＩＤ１４０３とを比較する。
両者が一致する場合、すなわち、リクエストユーザーが文書オーナーである場合には（ステップＳ１６０３，Ｙｅｓ）、ページ生成部８０４は、プレビュー画面１０００を生成する（Ｓ１６０４）。
【００８３】
Ｓ１６０３において、リクエストユーザーと文書オーナーが一致する場合には、文書管理部８０５は、リクエストユーザーに対する文書の表示、文書に対するメッセージの投稿及び文書に対する共有許可指定を許可する。そして、ステップＳ１０６４においては、ページ生成部８０４は、文書管理部８０５による文書の表示許可の判断に基づき、プレビュー画面１０００を表示する。
さらに、ページ生成部８０４は、文書管理部８０５による文書に対するメッセージの投稿許可の判断に基づき、プレビュー画面１０００にマイクロブログで共有ボタン１０３３を付加する。さらに、ページ生成部８０４は、文書管理部８０５による文書に対する共有許可指定の許可の判断に基づき、プレビュー画面１０００に共有許可指定ボタン１０３４を付加する。
【００８４】
一方、ステップＳ１６０３において、リクエストユーザーが文書オーナーに一致しない場合には（ステップＳ１６０３，Ｎｏ）、文書管理部８０５は、ステップＳ１６０５に進む。ステップＳ１６０５において、文書管理部８０５は、制御部８０３を介し、プレビュー画面表示リクエストにかかる文書の共有したメッセージＩＤ１４０５を取得する（ステップＳ１６０５）。
次に、送受信部８０２は、共有したメッセージＩＤ１４０５をパラメータとしてメッセージ情報取得リクエストを、マイクロブログサービス３００に送信する（ステップＳ１６０６）。なおＳ１６０６におけるメッセージ情報取得リクエストの送信は、リクエストユーザーのアクセストークン１４４３で行われる。メッセージ情報取得リクエストは、投稿識別子としてのメッセージＩＤを含む投稿取得要求の一例である。ステップＳ１６０６の処理は、第１の送信処理の一例である。
【００８５】
マイクロブログサービス３００においては、メッセージ情報取得リクエストを取得すると、トークン情報５３０を参照し、アクセストークンから、リクエストユーザーのユーザーＩＤを特定する。
次に、マイクロブログサービス３００は、ＤＢ３０６に格納されているメッセージ情報７００を参照し、リクエストユーザーが閲覧可能なメッセージ情報７００を特定する。すなわち、マイクロブログサービス３００は、リクエストユーザーがメッセージ共有ユーザーに指定されているメッセージ情報７００を特定する。ここで、メッセージ共有ユーザーは、メッセージ情報７００のユーザーＩＤ７０４及び投稿先７０５に登録されているユーザーである。
なお、本実施の形態においては、メッセージ情報７００のユーザーＩＤ７０４及び投稿先７０５として登録されているユーザーをメッセージ共有ユーザーとすることとしたが、これに限定されるものではない。設計者等は、任意のユーザーをメッセージ共有ユーザーとして定め、これをメッセージ情報７００等として登録することができる。
【００８６】
マイクロブログサービス３００は、より具体的には、ユーザーＩＤ７０４又は投稿先７０５にリクエストユーザーのユーザーＩＤが格納されているメッセージ情報７００をリクエストユーザーが閲覧可能なメッセージ情報７００として特定する。
また、マイクロブログサービス３００は、投稿先７０５に、リクエストユーザーが所属するグループのグループＩＤが格納されているメッセージ情報７００をリクエストユーザーが閲覧可能なメッセージ情報７００として特定する。なお、マイクロブログサービス３００は、リクエストユーザーの所属するグループを特定する際には、ユーザー情報５００又はグループ情報５１０を参照する。
【００８７】
以上、マイクロブログサービス３００の処理により、メッセージ情報７００が特定された場合には、特定されたメッセージ情報７００が文書管理サービス８００に送信される。メッセージ情報が特定されない場合には、メッセージ情報７００は送信されない。
すなわち、文書管理サービス８００は、リクエストユーザーがメッセージ共有ユーザーに指定されているメッセージ情報７００が存在する場合に、このメッセージ情報７００を取得することができる。すなわち、メッセージ情報７００は、リクエストユーザーがメッセージ共有ユーザーとして指定されている場合にのみ送信される情報である。
文書管理サービス８００は、メッセージ情報７００の受信の有無により、リクエストユーザーがメッセージ共有ユーザーとして指定されているか否かを判断することができる。すなわち、メッセージ情報７００は、リクエストユーザーがメッセージ共有ユーザーとして指定されているときに送信される一致情報の一例である。
【００８８】
続いて、文書管理部８０５は、ステップＳ１６０５において送信したメッセージ取得リクエストに対し、文書管理サービス８００の送受信部８０２がメッセージ情報７００を取得できたか否かを判断する（ステップＳ１６０７）。メッセージ情報７００を取得できた場合には（ステップＳ１６０７，Ｙｅｓ）、文書管理部８０５は、プレビュー画面１０００の表示を許可すると判断し、ステップＳ１６０９に進む。
ステップＳ１６０７において、メッセージ情報７００を取得できなかった場合には（ステップＳ１６０７，Ｎｏ）、文書管理部８０５は、プレビュー画面１０００の表示を拒否すると判断し、ステップＳ１６０８に進む。
ここで、ステップＳ１６０７の処理は、一致情報を受信する第１の受信処理及びプレビュー画面１０００の表示の拒否を判断する表示制御処理の一例である。
【００８９】
ステップＳ１６０７において、メッセージ情報７００を取得できなかった場合、すなわちリクエストがエラーだった場合には（ステップＳ１６０７，Ｎｏ）、ページ生成部８０４は、アクセスエラー画面を生成する（Ｓ１６０８）。アクセスエラー画面の詳細は省略するが、アクセス権限がなく文書プレビューできない旨のメッセージが記載された画面である。
このように、本実施の形態にかかるコンテンツ共有システムにおいては、リクエストユーザーが文書へのアクセス権を有しない場合には、プレビュー画面の表示を行わず、アクセスエラー画面を表示する。したがって、プレビュー画面が表示されたにもかかわらず、閲覧ユーザーにアクセス権がないために、文書へのリンクを拒否されるという不都合を解消することができる。
【００９０】
Ｓ１６０７において、メッセージ情報７００を取得できた場合、すなわちリクエストに成功した場合（ステップＳ１６０７，Ｙｅｓ）、文書管理部８０５は、ステップＳ１６０９へ進む。すなわち、文書管理部８０５は、ＤＢ８０７から共有許可したユーザーＩＤ及びグループＩＤ１４０６を取得する（Ｓ１６０９）。
ここで、共有許可したユーザーＩＤ及びグループＩＤ１４０６には、文書の共有を許可すべき文書共有許可ユーザー（コンテンツ共有許可ユーザー）を示す情報、すなわちコンテンツ共有許可ユーザー情報が登録されている。
【００９１】
次に、文書管理部８０５は、リクエストユーザーのユーザーＩＤが共有許可したユーザーＩＤ及びグループＩＤ１４０６のユーザーＩＤとして指定されているかどうか判断する。Ｓ１６１０においてリクエストユーザーが共有許可したユーザーＩＤ及びグループＩＤ１４０６のユーザーＩＤとして指定されている場合（ステップＳ１６１０，Ｙｅｓ）、文書管理部８０５は、リクエストユーザーに対しメッセージの投稿などの共有を許可する。
そして、ページ生成部８０４は、共有ボタン１０３３を付加したプレビュー画面１０００を生成する（ステップＳ１６１４）。なお、ステップＳ１６１４において生成されたプレビュー画面１０００には、共有許可指定ボタン１０３４は付加されない。
【００９２】
一方、ステップＳ１６１０において、リクエストユーザーのユーザーＩＤが共有許可したユーザーＩＤ及びグループＩＤ１４０６のユーザーＩＤとして指定されていない場合（ステップＳ１６１０，Ｎｏ）、文書管理部８０５は、ステップＳ１６１１に進む。すなわち、文書管理部８０５は、ＤＢ８０７からリクエストユーザーが共有許可したグループＩＤ１４０６の所属ユーザーＩＤ５１３をマイクロブログサービス３００から取得する（ステップＳ１６１１）。
続いて、文書管理部８０５は、リクエストユーザーのユーザーＩＤを参照し、リクエストユーザーがＳ１６１１で取得したグループ所属ユーザーとして指定されているかどうか判断する。
【００９３】
Ｓ１６１２においてリクエストユーザーが共有許可したグループＩＤ１４０６に所属している場合（ステップＳ１６１２，Ｙｅｓ）、文書管理部８０５は、リクエストユーザーに対しメッセージの投稿などの共有を許可する。そして、ステップＳ１６１４に進み、共有ボタン１０３３を付加したプレビュー画面１０００が生成される。
一方、Ｓ１６１２においてリクエストユーザーが共有許可したグループＩＤ１４０６に所属していない場合（ステップＳ１６１２，Ｎｏ）、文書管理部８０５は、リクエストユーザーに対しメッセージなどの投稿の共有を拒否する。そして、ページ生成部８０４は、共有ボタン１０３３及び共有許可指定ボタン１０３４のいずれも含まないプレビュー画面１０００を生成する（ステップＳ１６１３）。
【００９４】
そして、送受信部８０２は、ステップＳ１６０４、Ｓ１６１３、Ｓ１６１４、Ｓ１６０８で作成した画面をＷｅｂブラウザ１０４に返す（ステップＳ１６１５）。
ステップＳ１６１０，Ｓ１６１２の処理は、リクエストユーザーがコンテンツに対するメッセージの投稿の拒否を判断する第２の管理処理の一例である。
【００９５】
以上のように、本実施の形態のコンテンツ共有システムにおいては、文書オーナーに対してのみ表示可能な共有許可指定画面１２００で指定されたユーザーやグループ所属ユーザーには共有ボタン１０３３を表示する。一方で、共有許可指定画面１２００で指定されていないユーザーである場合には共有ボタン１０３３を表示しない。
これにより、メッセージの投稿を共有できるユーザーを限定することができる。さらに、ドキュメントオーナー以外のユーザーにより共有されることでドキュメントオーナーの知らないところで文書へのアクセス権が付加されるのを防ぐことができる。
【００９６】
＜文書共有シーケンス＞
図１７は、文書管理サービス８００が生成したプレビュー画面１０００がＷｅｂブラウザ１０４に表示された後、マイクロブログサービス３００へメッセージ投稿される際のシーケンス図である。
文書管理サービス８００において生成されたプレビュー画面１０００がＷｅｂブラウザ１０４に送信され、Ｗｅｂブラウザ１０４によりプレビュー画面１０００が表示される（ステップＳ１７０１）。続いて、Ｗｅｂブラウザ１０４において、プレビュー画面１０００のマイクロブログで共有ボタン１０３３の押下が検知される（ステップＳ１７０２）。
【００９７】
共有ボタン１０３３の押下に従い、Ｗｅｂブラウザ１０４は、文書管理サービス８００に共有先選択リクエストを送信する（ステップＳ１７０３）。共有先選択リクエストにはメッセージ入力欄１０３１に入力されたメッセージがパラメータとして付加される。
以降、Ｓ１７０４〜Ｓ１７０８の処理は、文書管理サービス８００がマイクロブログサービス３００のＷｅｂＡＰＩにリクエストするための認可フローである。マイクロブログサービス３００の認可については先述したため説明を省略する。
【００９８】
ステップＳ１７０８に続き、文書管理サービス８００の送受信部８０２は、マイクロブログサービス３００にユーザー情報及びグループ情報取得リクエストを行う（ステップＳ１７０９）。そして、文書管理サービス８００は、リクエストに対し、ログインユーザー（投稿ユーザー）のユーザー情報５００及びグループ情報５１０（登録情報）を取得する（ステップＳ１７１０）（第２の受信処理）。ここで取得するグループ情報５１０は所属グループＩＤ５０７とグループＩＤ５１１の一致するグループ情報５１０である。
次に、ページ生成部８０４は、Ｓ１７１０で取得したユーザー情報５００及びグループ情報５１０を用いて共有先選択画面１１００を生成する。送受信部８０２は、生成された共有先選択画面１１００をＷｅｂブラウザ１０４に返す（ステップＳ１７１１）。なお、ステップＳ１７１１の処理は、第１の画面生成処理の一例である。
【００９９】
次に、Ｗｅｂブラウザ１０４において、共有先選択画面１１００の共有ボタン１１３３の押下を検知すると（ステップＳ１７１２）、文書管理サービス８００に共有リクエストを送信する（Ｓ１７１３）。ここで、共有リクエストには、共有先選択画面１１００の選択領域１１０２で選択された情報がパラメータとして付加される。
すなわち、ステップＳ１７１２の処理は、投稿ユーザーからメッセージを共有すべきユーザー又はグループのうち少なくとも一方の選択を受け付ける第１の選択受付処理の一例である。また、ステップＳ１７０３およびステップＳ１７１３の処理は、メッセージと投稿内容共有ユーザー情報とを受け付ける投稿内容受付処理の一例である。
【０１００】
次に、文書管理サービス８００の送受信部８０２は、マイクロブログサービス３００にメッセージ投稿リクエストを行う（ステップＳ１７１４）。メッセージ投稿リクエストのパラメータにはログインユーザーのユーザーＩＤ、Ｓ１７０３の共有先選択リクエストで受信したメッセージ、文書ＵＲＬ、共有先選択画面１１００の説明で先述の投稿先が付加される。すなわち、ステップＳ１７１４の処理は、メッセージ共有ユーザー情報とメッセージとを含むメッセージ投稿リクエストをマイクロブログサービス３００に送信する第２の送信処理の一例である。
【０１０１】
マイクロブログサービス３００は、文書管理サービス８００からメッセージ投稿リクエストを受け付けると、メッセージ投稿リクエストに含まれるメッセージに対する投稿識別子であるメッセージＩＤを発行する。さらに、マイクロブログサービス３００は、メッセージＩＤを含むメッセージ情報７００を生成する。次に、マイクロブログサービス３００は、メッセージＩＤ７０１を文書管理サービス８００に返す（ステップＳ１７１５）。
このように、本実施の形態にかかるマイクロブログサービス３００は、投稿識別子としてのメッセージＩＤを発行する投稿識別子管理装置として機能する。
【０１０２】
さらに、マイクロブログサービス３００は、メッセージ投稿リクエストを投稿識別子の発行指示として取得するものである。すなわち、ステップＳ１７１４の処理は、投稿識別子の発行指示としてメッセージ投稿リクエストを送信する第３の送信処理の一例である。また、ステップＳ１７１５の処理は、第３の受信処理の一例である。
なお、他の例としては、投稿識別子としてのメッセージＩＤの発行は、マイクロブログサービス３００が実装されているマイクロブログサービス提供サーバ装置１０２以外の装置により行われてもよい。この場合には、マイクロブログサービス提供サーバ装置１０２以外の装置である投稿識別子管理装置は、発行したメッセージＩＤをマイクロブログサービス３００に送信する。
【０１０３】
次に、文書管理サービス８００は、メッセージ投稿リクエストのレスポンスとして受信したメッセージＩＤを、共有したメッセージＩＤ１４０５に格納する。なおＳ１７１４、Ｓ１７１５のフローは共有先選択画面１１００で選択又は入力されたすべてのユーザー、グループに対して繰り返し行われる。
ステップＳ１７１６において、投稿識別子としてのメッセージＩＤは、文書情報１４００において、コンテンツとしての文書に対応付けて記憶手段に格納される。すなわち、ステップＳ１７１６の処理は、第１の管理処理の一例である。
【０１０４】
なお、図１６の処理フロー、図１５、図１７のシーケンスにおける文書管理サービス８００の処理フローは文書管理サービス８００のプログラムとしてＨＤＤ２０４に記憶されておいる。そして、このプログラムがＣＰＵ２０１によってＲＡＭ２０３にロードされ実行されることにより上記処理フローが実現される。
また図１５、１６、１７で示す処理フロー中で参照される情報は、文書管理サービス８００のプログラムによりＨＤＤ２０４に保存、ＲＡＭ２０３にロードされ利用される。参照される情報としては、文書情報１４００、メッセージ情報１４１０、ユーザー情報１４２０、認証トークン情報１４３０及びマイクロブログアクセストークン情報１４４０がある。
以上のように、本実施の形態にかかるコンテンツ共有システムにおいては、マイクロブログサービスに登録されているユーザー間の共有関係とコンテンツのアクセス権を関連付けることができる。これにより、ユーザーによるコンテンツや投稿に対する操作性を向上させることができる。
【０１０５】
なお、上記説明においては、文書管理サービス８００がマイクロブログサービス３００へメッセージ投稿することとした。しかし、メッセージ投稿を行うのは文書管理サービス８００以外のサービスや文書管理サービス提供サーバ装置１０３以外の装置であってもよい。例えば、文書管理サービス８００以外の外部サービスがマイクロブログサービス３００へメッセージを投稿してもよい。この場合には、メッセージＩＤを文書管理サービス８００にＷｅｂＡＰＩで通知してもよい。なお、この場合も、文書管理サービス８００は、メッセージＩＤの通知を受け付けることとし、これをメッセージＩＤ１４０５に格納し、管理する。
これにより、他のサービスでメッセージ投稿され、文書が共有された場合においても、文書管理サービス８００は、ＷｅｂＡＰＩでメッセージＩＤを受け取ることができアクセス制御することができる。
【０１０６】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１０７】
以上、上述した各実施形態によれば、マイクロブログサービスにおけるユーザー間の共有関係と、コンテンツのアクセス権とをコンテンツのアクセス権とを連動させることができる。
【０１０８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
2014203300.tif 000003
【図２】
2014203300.tif 000004
【図３】
2014203300.tif 000005
【図４】
2014203300.tif 000006
【図５】
2014203300.tif 000007
【図６】
2014203300.tif 000008
【図７】
2014203300.tif 000009
【図８】
2014203300.tif 000010
【図９】
2014203300.tif 000011
【図１０】
2014203300.tif 000012
【図１１】
2014203300.tif 000013
【図１２】
2014203300.tif 000014
【図１３】
2014203300.tif 000015
【図１４】
2014203300.tif 000016
【図１５】
2014203300.tif 000017
【図１６】
2014203300.tif 000018
【図１７】
2014203300.tif 000019