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