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