[go: up one dir, main page]

JP6323994B2 - コンテンツ管理装置、コンテンツ管理方法及びプログラム - Google Patents

コンテンツ管理装置、コンテンツ管理方法及びプログラム Download PDF

Info

Publication number
JP6323994B2
JP6323994B2 JP2013119886A JP2013119886A JP6323994B2 JP 6323994 B2 JP6323994 B2 JP 6323994B2 JP 2013119886 A JP2013119886 A JP 2013119886A JP 2013119886 A JP2013119886 A JP 2013119886A JP 6323994 B2 JP6323994 B2 JP 6323994B2
Authority
JP
Japan
Prior art keywords
document
user
information
management service
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013119886A
Other languages
English (en)
Other versions
JP2014238651A (ja
Inventor
佐藤 雄一郎
雄一郎 佐藤
孝能 小澤
孝能 小澤
北形 圭
圭 北形
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013119886A priority Critical patent/JP6323994B2/ja
Priority to US14/293,464 priority patent/US9971901B2/en
Publication of JP2014238651A publication Critical patent/JP2014238651A/ja
Application granted granted Critical
Publication of JP6323994B2 publication Critical patent/JP6323994B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/2753Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content
    • H04M1/2757Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips providing data content by data transmission, e.g. downloading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、コンテンツ管理装置、コンテンツ管理方法及びプログラムに関する。
近年、ネットワークインフラの整備によるネットワーク回線が高速化し、グリッドコンピューティング技術が向上している。これに伴い、サーバーコンピュータ側で文書ファイルや帳票データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。
ユーザーは、クライアントコンピュータのブラウザからインターネットを介してクラウドサービスのWebページにアクセスし、文書ファイルや帳票データのアップロード、ダウンロード、表示又は共有を行うことができる。
クラウドサービスには、マイクロブログ機能を含むものが存在する。マイクロブログ機能とは、コミュニケーションサービスの1つである。マイクロブログ機能では、サービスにアカウントを持つユーザーが短いメッセージを投稿することができる。ユーザーによる投稿それぞれには、固有の識別子が割り当てられる。
更に、「タイムライン」と呼ばれるユーザー専用のWebページには、自身の投稿、「フォロー」したユーザーの投稿、及び自身が所属するグループへの投稿が表示される。これにより、ユーザーは、フォローやグループを介したコミュニケーションをとることができる。ここで、「フォロー」とは、他のユーザーの投稿を自分のWebページで表示できるようにユーザーを登録することである。また、「グループ」とは、所属組織や担当プロジェクト等共通の性質をもつユーザーで分類したユーザー群である。
グループへの投稿は、グループに所属するユーザーのWebページにのみ表示される。上記のようなマイクロブログサービスとしては、例えばSalesforce.comのChatterが挙げられる。
上述の文書管理サービスにおいても他サービスとの連携が重要になっており、文書へのアクセスURL情報や共有情報をマイクロブログサービスに投稿することで、他のユーザーに文書の存在を通知することが可能となっている。
文書作成ユーザーと閲覧ユーザーとが異なる場合において、文書へのアクセス権制御を行う方法として従来では、文書作成者が閲覧者に対して個別に署名済みアクセストークンを付与する方法がある(特許文献1参照)。
特開2004−213265号公報
複数のサービスが連携してワークフローを実現することが増加している。文書管理サービスに登録されている文書のURLをマイクロブログサービスで共有する場合、マイクロブログサービスの特定グループに所属するユーザーだけに文書閲覧を許可したい場合がある。
しかしながら文書管理サービスとマイクロブログサービスとは、一般的に異なるサービスとして提供されており、セキュリティドメインが異なる。つまり、各々のサービスでユーザー管理がなされているため、文書管理サービスではマイクロブログサービスの特定グループに所属するユーザーだけに文書閲覧を許可することができない問題があった。
本発明はこのような問題点に鑑みなされたもので、コンテンツを管理するコンテンツ管理装置において投稿管理サービスのグループ設定に応じた文書閲覧や文書更新等のアクセス権の制御を行うことを目的とする。
そこで、本発明は、コンテンツ管理装置であって、文書を管理する文書管理手段と、前記文書を公開する対象のグループを特定するためのグループ情報を有する投稿管理サービスが発行した、前記コンテンツ管理装置が前記投稿管理サービスにアクセスするためのアクセストークンを受信するアクセストークン受信手段と、前記コンテンツ管理装置によって認証されたユーザーが、前記コンテンツ管理装置による前記投稿管理サービスへのアクセスを許可したことに応じて前記投稿管理サービスにより発行された認可コードを受信する認可コード受信手段と、前記認可コード受信手段によって受信した認可コードと、クライアント情報とを用いて、前記投稿管理サービスにアクセスするためのアクセストークンを取得するリクエストを前記投稿管理サービスに送信する送信手段と、前記送信手段によって送信されたリクエストに基づいて発行されたアクセストークンを送信し、前記ユーザーが所属するグループを特定するグループ情報を前記投稿管理サービスから受信するグループ情報受信手段と、前記グループ情報受信手段によって受信したグループ情報と文書とを関連付けて登録するための文書登録画面を表示する表示手段と、前記表示手段によって表示された文書登録画面において、文書を登録するための機能が選択された場合、前記文書登録画面において選択されたグループ情報文書とを関連付けて保存する保存手段と、前記投稿管理サービスにユーザーがアクセスし、前記保存手段により保存された文書の保存先である文書データ保存先がアクセスされたことで、前記文書データ保存先へのアクセス要求を前記コンテンツ管理装置が受信した場合、前記文書データ保存先にアクセスしたユーザーのユーザー情報に紐付くアクセストークンを特定し、特定されたアクセストークンを前記投稿管理サービスに送信し、送信されたアクセストークンを用いて前記投稿管理サービスが特定したグループ情報を取得し、取得したグループ情報が、前記文書データ保存先で特定される文書に紐づくグループ情報に含まれるか否かを確認することで、前記文書データ保存先にアクセスしたユーザーが前記文書データ保存先で特定される文書を制御することを許可する否かを判断する第1の判断手段と、を有する。
本発明によれば、コンテンツを管理するコンテンツ管理装置において投稿管理サービスのグループ設定に応じた文書閲覧や文書更新等のアクセス権の制御を行うことができる。
コンテンツ共有システムの構成を示す図である。 クライアント装置、マイクロブログサービス提供サーバ装置及び文書管理サービス提供サーバ装置のハードウェア構成を示す図である。 マイクロブログサービス提供サーバ装置上で動作するソフトウェアモジュールの構成を示す図である。 ログイン画面及び認可画面の一例を示す図である。 マイクロブログサービスの認証部で管理されDBに記憶されているユーザー情報、グループ情報、クライアント情報及びトークン情報の一例を示す図である。 メッセージ情報及びコメント情報の一例を示す図である。 実施形態1のタイムライン画面の一例を示す図である。 文書管理サービス提供サーバ装置のソフトウェアモジュールの構成を示す図である。 実施形態1の文書管理サービスのページ生成部が生成し、クライアント端末のWebブラウザで表示するログイン画面の一例を示す図である。 文書管理サービスに含まれる、文書共有サービス及び認証サービス上で管理される、文書データ情報、メッセージ情報、ユーザー情報、認証トークン情報の一例を示す図である。 文書共有サービスのページ生成部が生成し、クライアント端末のWebブラウザで表示する文書プレビュー画面の一例を示す図である。 クライアント装置のWebブラウザから文書管理サービスにアクセスして文書登録画面表示リクエストを行った場合の文書登録画面の一例を示す図である。 文書管理サービスの文書登録リクエスト受信時の処理の一例を示すフローチャートである。 文書管理サービスへの文書アクセス処理の流れを説明するフローチャートである。 実施形態2のメッセージ情報のデータ構造の一例を示す図である。 実施形態2の文書登録画面の一例を示す図である。 実施形態2の文書管理サービスの文書登録リクエスト受信時の処理の一例を示すフローチャートである。 実施形態2の文書管理サービスへの文書アクセス処理の流れを説明するフローチャートである。 実施形態3におけるマイクロブログ識別子とマイクロブログURLとの対応を表す表の一例を示す図である。 メッセージ情報管理部が生成する組み合わせURLの一例を示す図である。 実施形態3における文書管理サービスへの文書アクセス処理の流れの一例を示すフローチャートである。 実施形態4のタイムライン画面の一例を示す図である。 実施形態4の文書管理サービスに含まれる、文書共有サービス及び認証サービス上で管理される、文書データ情報、メッセージ情報、ユーザー情報、認証トークン情報の一例を示す図である。 実施形態4の文書管理サービスの文書登録リクエスト受信時の処理の一例を示すフローチャートである。 クライアント端末のWebブラウザから文書管理サービスにアクセスして文書更新画面表示リクエストを行った場合の文書更新画面の一例を示す図である。 文書管理サービスの文書更新リクエスト受信時の処理の一例を示すフローチャートである。 実施形態5の文書管理サービスの文書登録リクエスト受信時の処理の一例を示すフローチャートである。 実施形態5の文書管理サービスの文書登録リクエスト受信時の処理の一例を示すフローチャートである。 文書管理サービスが保持するメッセージ情報の一例を示す図である。 実施形態6における文書管理サービスへの文書更新処理の流れの一例を示すフローチャートである。 文書所有者変更画面の一例を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。
<<実施形態1>>
<システム構成>
図1は、コンテンツ共有システムの構成を示す図である。コンテンツ共有システムは、クライアント装置101と、マイクロブログサービス提供サーバ装置102と、文書管理サービス提供サーバ装置103とを備えている。
クライアント装置101、マイクロブログサービス提供サーバ装置102及び文書管理サービス提供サーバ装置103は、ネットワーク100により互いに通信可能に接続されている。ネットワークとしては、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATM(Asynchronous Transfer Mode)やフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等が挙げられる。また、ネットワークは、これらの組み合わせにより実現される、いわゆる通信ネットワークであってもよい。ネットワークは、データの送受信が可能であればよい。各サービス間の通信手段は、異なっていてもよい。例えば、クライアント装置101からマイクロブログサービス提供サーバ装置102への通信手段と、文書管理サービス提供サーバ装置103への通信手段とは異なっていてもよい。
クライアント装置101は、マイクロブログサービス提供サーバ装置102及び文書管理サービス提供サーバ装置103に対してリクエストを発行する。マイクロブログサービス提供サーバ装置102は、クライアント装置101や文書管理サービス提供サーバ装置103からのリクエストに応じて、メッセージの書き込みや読み出し、ユーザー情報の提供を行う。
マイクロブログサービス提供サーバ装置102は、ユーザーから投稿されたメッセージやコメント等の情報を管理する。マイクロブログサービス提供サーバ装置102は、投稿管理サービスを実行する装置の一例である。
文書管理サービス提供サーバ装置103は、コンテンツ管理サービスを実行する装置の一例であり、コンテンツとしての文書を管理する。文書管理サービス提供サーバ装置103は、クライアント装置101からのリクエストに応じて、文書の登録、削除、閲覧、更新等といった文書管理(コンテンツ管理)を行う。なお、文書管理サービス提供サーバ装置103が処理対象とする文書は、電子データの文書(ドキュメントや画像等の様々なファイル)である。文書管理サービス提供サーバ装置103は、文書を一意に識別するURLと紐づけて記憶する。文書管理サービス提供サーバ装置103に記憶されている文書は、文書管理サービス提供サーバ装置103の管理するユーザー間で共有される。文書管理サービス提供サーバ装置103は、コンテンツ管理装置の一例である。また、文書は、コンテンツの一例である。
コンテンツ共有システムは、文書管理サービス提供サーバ装置103が提供する文書管理サービスにおいて管理される文書に関する情報を、マイクロブログサービス提供サーバ装置102が提供するマイクロブログサービスに投稿する。このことにより、文書管理サービスにおいて管理される文書をマイクロブログサービスの登録ユーザー間で共有する仕組みが提供される。
なお、本実施の形態においては、文書管理サービス及びマイクロブログサービスをそれぞれ異なる装置が実行することとして説明する。しかし、これらサービスは、コンテンツ共有システムが有する何れかの装置において実現されればよい。他の例としては、マイクロブログサービスと文書管理サービスとは、同一装置内に設けられていてもよい。
<ハードウェア構成>
図2は、図1のクライアント装置101、マイクロブログサービス提供サーバ装置102及び文書管理サービス提供サーバ装置103のハードウェア構成を示す図である。CPU201は、内部バスで接続される各デバイス(後述のROM、RAM他)を直接又は間接的に制御し、後述する各種機能を実現するためのプログラムを実行する。ROM202は、BIOS等を格納している。RAM(直接記憶装置)203は、CPU201のワーク領域として利用されたり、後述の各種機能を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりする。
HDD204は、基本ソフトウェアであるOS(Operating System)やソフトウェアモジュールのプログラムを記憶している。入力装置205は、不図示のキーボードやポインティングデバイス等である。出力装置206は、ディスプレイ等の表示装置である。I/F207は、ネットワーク100に接続するためのインターフェースである。
これらハードウェアでは、装置の起動後、CPU201によりBIOSが実行されOSのプログラムがHDD204からRAM203に実行可能にロードされる。CPU201は、OSのプログラムに従って後述する各種ソフトウェアモジュールのプログラムをHDD204からRAM203に随時、実行可能にロードする。各種ソフトウェアモジュールのプログラムは、上記各デバイスの協調によりCPU201によって実行され動作する。また、I/F207は、ネットワーク100に接続されており、OSのプログラムに従ってCPU201により制御され、上述した通信手段による通信を実現している。
また、図2に示す大量のCPU201、ROM202、RAM203、I/F207やHDD204等のコンピュータハードウェア資源を仮想化してもよい。更に、仮想化されたソフトウェアを動作させるためのプラットフォームを公開するクラウドプラットフォーム上でソフトウェアを動作させてもよい。クラウドプラットフォーム上のソフトウェアのプログラムは、クラウドプラットフォームが有するRAM203に展開され、CPU201で実行される。大量のコンピュータ資源はクラウドプラットフォームにより仮想化されているため、ソフトウェアはクラウドプラットフォームのバックグラウンドで動作するコンピュータ資源を意識する必要はない。代表的なクラウドプラットフォームの形態には、OSやWebアプリケーションを登録できるものがある。本例においては、クラウドプラットフォームの形態は問わない。クラウドプラットフォーム上のソフトウェアは、仮想化されたI/F207を介して上述した通信手段による通信を実現する。
<クライアント装置101>
クライアント装置101は、情報処理を行うためのクライアントコンピュータである。クライアント装置101で動作する各ソフトウェアモジュールは上述したように、CPU201によってHDD204に記憶されているプログラムがRAM203にロードされ、CPU201によって実行されることにより実現される。
クライアント装置101は、I/F207を介してネットワーク100に接続されている。クライアント装置101は、永続記憶装置を接続したコンピュータであってもよいし、一時記憶装置のみによって構成されたThin Client構成をとってもよい。
クライアント装置101は、Webブラウザ104を有している。クライアント装置101は、Webブラウザ104を用いてマイクロブログサービス300や文書管理サービス800にリクエストを行う。Webブラウザ104は、マイクロブログサービス300や文書管理サービス800から受信したHTMLを解析し、解析結果を表示装置に表示する等、各種情報を出力装置206としての表示装置に表示する。
<マイクロブログサービス提供サーバ装置102のソフトウェアモジュール構成>
図3は、マイクロブログサービス提供サーバ装置102上で動作するソフトウェアモジュール(マイクロブログサービス300)の構成を示す図である。各ソフトウェアモジュールは、CPU201によって図2で示したHDD204に記憶されているプログラムがRAM203にロードされ実行されることにより実現される。マイクロブログサービス300は、送受信部301と、制御部302と、ページ生成部303と、認証部304と、メッセージ管理部305と、を有している。DB306は、認証部304及びメッセージ管理部305により参照されるDBであり、図2に示すHDD204等に記憶されているものとする。
送受信部301は、クライアント装置101のWebブラウザ104や文書管理サービス800との通信を処理する。
制御部302は、送受信部301が受け付けたリクエストに従って処理を実行する。ページ生成部303は、Webブラウザ104にレスポンスを返すためのWebページを生成する。
認証部304は、ログインリクエストしてきたユーザーの認証を行い、更にユーザー情報やグループ情報、クライアント情報、トークン情報といったアクセス権を管理する。認証部304がアクセス権を管理する際に参照される認証データは、DB306に記憶されている。
メッセージ管理部305は、メッセージデータをDB306に格納し、要求に応じてDB306のメッセージの取得及びメッセージの更新を行う。DB306には、マイクロブログサービス300のメッセージデータ及び上述のアクセス権に関する情報が格納されている。
<マイクロブログサービス300の認証・認可>
図4は、ログイン画面400及び認可画面410の一例を示す図である。ログイン画面400及び認可画面410は、マイクロブログサービス300のページ生成部303により生成され、クライアント装置101のWebブラウザ104により表示される。
Webブラウザ104からマイクロブログサービス300にリクエストが行われると、送受信部301は、リクエストを受け付ける。続いて、制御部302により処理が認証部304に割り振られる。
認証部304は、リクエストを割り振られると、認証セッションが有効かどうか判断を行う。そして、認証部304は、制御部302に認証セッションが有効か無効かの結果を通知する。
制御部302は、認証セッションが無効である場合には、ページ生成部303にログイン画面400を生成させ、リクエストに対してログイン画面400を応答する。制御部302は、認証セッションが有効である場合には、リクエストに応じてページ生成部303に認可画面410及び後述するタイムライン画面(図7)を生成させる。制御部302は、リクエストに対して、生成した認可画面410及びタイムライン画面を応答する。
認証部304は、認証トークンにより認証セッションを管理する。認証部304は、認証に成功した場合に、認証トークンをWebブラウザ104に返す。Webブラウザ104は、認証トークンをリクエストに付加することで認証を継続することができる。マイクロブログサービス300へのすべてのリクエストは認証部304によりセッション管理される。
なお、マイクロブログサービス300がリクエストを受信した際には、認証部304による認証セッションの確認が必ず行われるが、以降の説明においては、説明の簡略化のため、各リクエストにおける認証セッションの確認処理に関する説明は省略する。
図4に示すように、ログイン画面400は、ユーザー名401、パスワード402及びログインボタン403を有している。ユーザー名401及びパスワード402は、マイクロブログサービス300への認証に必要なユーザー名とパスワードとの入力欄である。ログインボタン403が押下されると、Webブラウザ104は、入力されたユーザー名401とパスワード402とをパラメータとして含むログリンリクエストをマイクロブログサービス300に送信する。
認可画面410は、認可メッセージ411、許可ボタン412及び拒否ボタン413を有している。認可画面410は、文書管理サービス800にマイクロブログサービス300で管理する情報へのアクセス許可(認可)を与えてよいかを、ユーザーに確認する画面である。認可の方法としてOAuthプロトコルが一般的であり、認可画面410は、OAuthプロトコルで規定される認可画面の一例である。
文書管理サービス800は、マイクロブログサービス300の情報を生成、取得、更新、削除する際にWebブラウザ104を経由してマイクロブログサービス300にスコープをパラメータとして認可リクエストを送信する。
スコープとは、認可許可する範囲を示すものである。本実施形態にかかる文書管理サービス800は、マイクロブログサービス300の情報取得とメッセージ投稿とを認可の範囲としてスコープ指定する。
マイクロブログサービス300の送受信部301が認可リクエストを受信すると、制御部302は、ページ生成部303に認可画面410の生成を指示する。そして、制御部302は、Webブラウザ104からの認可リクエストに対して認可画面410を応答する。
認可メッセージ411は、認可に関する情報をユーザーに提示するメッセージである。図4に示す例においては、認可メッセージ411として、文書管理サービス800に対して、スコープで指定されたマイクロブログサービス300の情報取得及びメッセージ投稿の認可を求めるメッセージを表示している。
許可ボタン412が押下されると、Webブラウザ104は、マイクロブログサービス300に認可許可リクエストを送信する。拒否ボタン413が押下されると、Webブラウザ104は、マイクロブログサービス300に認可拒否リクエストを送信する。
マイクロブログサービス300の送受信部301が認可許可リクエストを受け付けると、認証部304は、認可コードを発行する。認可コードは、Webブラウザ104を経由して文書管理サービス800に送信される。
文書管理サービス800は、受信した認可コードとクライアント情報とをパラメータとしてマイクロブログサービス300にトークン取得リクエストを送信する。マイクロブログサービス300は、トークン取得リクエストを受信すると、リクエストされたクライアント情報と後述のクライアント情報520(図5)との一致を確認し、トークン情報530を発行する。
マイクロブログサービス300は、トークン取得リクエストの応答としてアクセストークン532及びリフレッシュトークン533を文書管理サービス800に返す。文書管理サービス800は、マイクロブログサービス300へのリクエストにアクセストークン532を付加する。これにより、文書管理サービス800は、マイクロブログサービス300のスコープした範囲を対象としたリクエストを行うことができる。
リフレッシュトークン533は、アクセストークン532を更新するためのトークンである。マイクロブログサービス300は、トークン更新リクエストでリフレッシュトークン及びクライアント情報を受信すると、それぞれと自身が記憶しているリフレッシュトークン533及びクライアント情報520との一致を確認する。
マイクロブログサービス300は、クライアント情報520の一致が確認できると、アクセストークン532とリフレッシュトークン533との更新を行う。マイクロブログサービス300は、トークン更新リクエストの応答として、更新した新しいアクセストークン532及びリフレッシュトークン533を返す。
アクセストークン532及びリフレッシュトークン533には、使用有効期限が設けられている。アクセストークン532の使用有効期限が切れたタイミングにおいて、リフレッシュトークン533を用いたアクセストークン532の更新が行われる。
図5は、マイクロブログサービス300の認証部304で管理されDB306に記憶されているユーザー情報500、グループ情報510、クライアント情報520及びトークン情報530の一例を示す図である。
ユーザー情報500は、マイクロブログサービス300に登録されている登録ユーザーに関する情報である。ユーザー情報500は、ユーザーID501、ユーザー名502、パスワード503、アイコンファイルパス504、フォローしているユーザーID505、フォローされているユーザーID506及び所属グループID507を含んでいる。
ユーザーID501は、ユーザー情報500を一意に識別する識別子である。ユーザー名502及びパスワード503は認証に必要なユーザー名及びパスワードである。アイコンファイルパス504は、ユーザーを示すアイコン画像の格納先ファイルパスである。
フォローしているユーザーID505は、ユーザーがフォローしているユーザーのユーザーIDであり、複数のユーザーIDを記憶することができる。フォローされているユーザーIDは、ユーザーがフォローされているユーザーのユーザーIDであり、複数のユーザーIDを記憶することができる。フォローについては後述する。
所属グループID507は、ユーザーが所属しているグループのグループIDであり、複数のグループIDを記憶することができる。
グループ情報510は、マイクロブログサービス300の登録ユーザーが属するグループに関する情報である。グループ情報510は、グループID511、グループ名512、所属ユーザーID513及び公開情報514を含んでいる。ユーザーは、グループを生成し、生成したグループに所属することができる。
グループID511は、グループ情報510を一意に識別する識別子である。グループ名512は、グループに付与された名前である。所属ユーザーID513は、グループに所属するユーザーIDであり、複数のユーザーIDを記憶することができる。公開情報514は、グループに所属しているユーザー以外のユーザーがアクセスできるかどうか判断するためのフラグであり、公開か非公開が設定される。
クライアント情報520は、クライアントID521及びシークレット522を含んでいる。クライアントID521は、マイクロブログサービス300に接続するクライアントのクライアント情報520を一意に識別するための識別子である。シークレット522は、クライアントに対するパスワードである。
クライアントID521及びシークレット522は、マイクロブログサービス300によって発行される。クライアント装置101は、クライアントID521及びシークレット522を用いて、マイクロブログサービス300に認可許可リクエストを行うことができる。
トークン情報530は、ユーザーID531、アクセストークン532、リフレッシュトークン533及びスコープ534を含んでいる。トークン情報530は、マイクロブログサービス300による認可によって発行されるトークンを管理する情報である。ユーザーID531は、トークンが発行されたユーザーIDである。
アクセストークン532は、クライアント装置101がリクエストする際に使用されるトークンである。リフレッシュトークン533は、アクセストークン532を更新するためのトークンである。スコープ534は、認可する範囲を指定する情報である。
<マイクロブログサービス300のマイクロブログ機能>
マイクロブログサービス300は、マイクロブログ機能を提供する。マイクロブログ機能とは、ユーザーがマイクロブログサービス300に投稿したメッセージを他のユーザーや特定のグループ内で共有する機能である。ユーザーは、メッセージ投稿、グループへのメッセージ投稿、共有されたメッセージ参照等を行うことができる。またマイクロブログサービス300は、投稿されたメッセージに対してコメントする機能も提供している。
図6は、メッセージ情報700及びコメント情報710の一例を示す図である。メッセージ情報700は、マイクロブログサービス300に対して投稿されたメッセージに関する情報である。コメント情報710は、マイクロブログサービス300に対して投稿されたコメントに関する情報である。
メッセージ情報700は、メッセージID701、メッセージ702、リンク703、ユーザーID704、投稿先705及び時刻706を含んでいる。メッセージ情報700は、マイクロブログサービス300がメッセージの投稿要求であるメッセージ投稿リクエストを受け付けた際にメッセージ管理部305によって生成され、DB306に格納される。
メッセージID701は、メッセージ情報700を一意に識別する投稿識別子である。メッセージ702は、投稿されたメッセージ文字列である。リンク703は、投稿されたURLである。ユーザーID704は、メッセージを投稿したユーザーのユーザーIDである。
投稿先705は、メッセージが投稿された宛先である。また、投稿先705は、メッセージを投稿したユーザーが投稿内容であるメッセージを共有するユーザーを示すメッセージ共有ユーザーを示す情報である。投稿先705には、より具体的には、ユーザーIDやグループIDが格納される。また、投稿先705には、ユーザーIDやグループIDが複数格納されていてもよい。なお、投稿先705には登録されないが、投稿ユーザーも当然投稿内容を共有するものであり、メッセージ共有ユーザーに含まれる。メッセージの宛先が指定されていない場合には、投稿先705には何も格納されない。時刻706は、メッセージが投稿された日時である。
このように、マイクロブログサービス300のメッセージ情報700において、メッセージIDと、投稿先のユーザーID及びグループIDとが対応付けられている。
コメント情報710は、コメントID711、コメント712、メッセージID713、ユーザーID714及び時刻715を含んでいる。コメント情報710は、マイクロブログサービス300がコメント投稿リクエストを受け付けた際にメッセージ管理部305によって生成され、DB306に格納される。
コメントID711は、コメント情報710を一意に識別する識別子である。コメント712は、投稿されたコメント文字列である。メッセージID713は、ユーザーがコメントしたメッセージ情報700のメッセージIDである。ユーザーID714は、コメントしたユーザーのユーザーIDである。時刻715は、コメントされた日時である。
なお、メッセージ情報700及びコメント情報710は、DB306に格納される。即ち、DB306は、メッセージIDとメッセージ共有ユーザー情報とを対応付けて記憶する。
図7は、実施形態1のタイムライン画面の一例を示す図である。タイムライン画面610は、「userA」のユーザーのタイムライン画面である。タイムライン画面620は、「userB」のユーザーのタイムライン画面である。タイムライン画面630は、「Group2」のグループのタイムライン画面である。
マイクロブログサービス300は、ユーザーの認証に成功すると、認証したユーザーのタイムライン画面を生成し、Webブラウザ104に返す。
ユーザーのタイムライン画面610、620は、ユーザー情報表示領域(611、621)、メッセージ投稿領域(612、622)及びコメント投稿領域(613〜615、623、624)を含んでいる。
ユーザー情報表示領域(611、621)は、ユーザーアイコン及びユーザー名を含んでいる。ユーザーアイコンとして、アイコンファイルパス504で指定される領域に格納されている画像が表示される。ユーザー名には、ユーザー名502の情報が表示される。
メッセージ投稿領域(612、622)は、メッセージ入力欄、リンク入力欄及び投稿ボタンを含んでいる。投稿ボタンが押下されると、Webブラウザ104は、メッセージ入力欄及びリンク入力欄に入力されている情報をパラメータとして含むメッセージ投稿リクエストをマイクロブログサービス300に送信する。マイクロブログサービス300は、メッセージ投稿リクエストを受信すると、メッセージ情報700を生成する。マイクロブログサービス300は、その後タイムライン画面を再生成し、Webブラウザ104に返す。
コメント投稿領域(613〜615、623、624)は、メッセージ表示領域、コメント表示領域、コメント入力欄及びコメントボタンを含んでいる。メッセージ表示領域は、メッセージを投稿したユーザーのユーザーアイコン、ユーザー名、投稿先、メッセージ及びリンクを含んでいる。
ユーザーアイコンは、ユーザーID704に紐づくアイコンファイルパス504に格納された画像である。投稿先は、投稿先705に格納されるユーザーID又はグループIDに紐づくユーザー名502、グループ名512である。
コメント表示領域には、メッセージ表示領域に表示されるメッセージのメッセージID701と一致するメッセージID713を持つコメント情報が時刻715の新しい順に表示される。コメント表示領域は、コメント投稿したユーザーのユーザーアイコン、ユーザー名502及びコメント712を含んでいる。
ユーザーアイコンは、ユーザーID714に紐づくアイコンファイルパス504に保存された画像である。コメントボタンが押下されると、Webブラウザ104は、コメント入力欄の入力データをパラメータとして含むコメント投稿リクエストをマイクロブログサービス300に送信する。マイクロブログサービス300は、コメント投稿リクエストを受信すると、コメント情報710を生成後、タイムライン画面を再生成し、Webブラウザ104に返す。
コメント投稿領域613は、userBがGroup1に対して投稿したメッセージに対してuserCとuserDとのコメントが表示されている例である。コメント投稿領域614は、userDがGroup2に対して投稿したメッセージとリンクが表示されている例である。
コメント投稿領域615は、userDがuserAに対して投稿したメッセージとリンクが表示されている例である。コメント投稿領域623は、コメント投稿領域613と同じものである。コメント投稿領域624は、userCがuserBに対して投稿したメッセージとリンクとが表示されている例である。
自ユーザーのタイムライン画面に表示されるメッセージ情報700は次の3つの条件を満たすものとする。第1の条件は、ユーザーID704がユーザーID501又はフォローしているユーザーID505と一致することである。第2の条件は、投稿先705のユーザーIDが自ユーザーのユーザーID501と一致することである。第3の条件は、投稿先705のグループIDが所属グループID507と一致することである。
またユーザーのタイムライン画面は、他ユーザーのタイムライン画面も参照することができる。他ユーザーのタイムライン画面はタイムライン画面中のユーザー名にリンクされており、リンクが押下されることにより表示される。
他ユーザーのタイムラインに表示されるメッセージ情報700は、次の3つの条件を満たすものとする。第1の条件は、ユーザーID704が自ユーザー又は表示ユーザーのユーザーID501と一致することである。第2の条件は、ユーザーID704が表示ユーザーのフォローしているユーザーID505と一致することである。第3の条件は、投稿先705のグループIDが表示ユーザーの所属グループID507と一致し、かつ、公開情報514が公開に設定されていることである。
以上の条件を満たすメッセージ情報700とメッセージに紐づくコメント情報710とがユーザーのタイムライン画面に表示される。
なお、コメント表示領域の表示順はコメント表示領域に表示するメッセージ情報700の時刻706及びコメント情報710の時刻715のうち最新の時刻で、時刻の新しい順である。
図7のタイムライン画面630は、「Group2」のタイムライン画面である。グループのタイムライン画面630は、タイムライン画面中のグループ名にリンクされており、リンクが押下されることにより表示される。
グループのタイムライン画面は、グループ情報表示領域631、メッセージ投稿領域632及びコメント投稿領域633を含んでいる。グループ情報表示領域631には、グループ名512の情報が表示される。メッセージ投稿領域632は、ユーザーのタイムライン画面におけるメッセージ投稿領域(612、622)と同様であるが、グループを投稿先として投稿される。コメント投稿領域633は、ユーザーのタイムライン画面におけるメッセージ投稿領域(613〜615、623、624)と同様である。
グループのタイムライン画面630に表示されるメッセージ情報700は、次の条件を満たすこととする。第1の条件は、投稿先705のグループIDが表示グループのグループID511と一致することである。第2の条件は、表示グループのグループID511と自ユーザーの所属グループID507が一致することである。第3の条件は、表示グループの公開情報514が公開に設定されていることである。
上記の条件を満たすメッセージ情報700及びメッセージに紐づくコメント情報710がグループのタイムライン画面に表示される。なお、コメント表示領域の表示順は、コメント表示領域に表示するメッセージ情報700の時刻706、コメント情報710の時刻715のうち最新の時刻で、時刻の新しい順である。
<マイクロブログサービス300のWebAPI>
マイクロブログサービス300は、WebAPIを提供する。WebAPIとは、リクエストに応じてマイクロブログサービス300で管理する情報の登録、取得、更新、削除を行う機能である。マイクロブログサービス300で管理する情報としては、ユーザー情報500、グループ情報510、トークン情報530、メッセージ情報700、コメント情報710がある。
クライアント装置101等から、WebAPIへのリクエストを行うためには先述の認可を行いリクエストにアクセストークン532、クライアントID521、シークレット522を付加する必要がある。
WebAPIへのリクエストとしては、ユーザー情報500、グループ情報510、メッセージ情報700又はコメント情報710のそれぞれを登録、取得、更新、削除するリクエストがある。WebAPIへのリクエストとしては、他にトークン更新リクエスト、ユーザータイムライン取得リクエスト、グループタイムライン取得リクエスト等がある。
トークン更新リクエストは、アクセストークン532を更新するためのリクエストである。マイクロブログサービス300は、トークン更新リクエストのパラメータとしてリフレッシュトークン533、クライアントID521、シークレットを付加することで、アクセストークン532とリフレッシュトークン533とを再発行し応答する。
ユーザータイムライン取得リクエストは、パラメータに指定されたユーザーID501のタイムラインを取得するリクエストである。ユーザータイムライン取得リクエストで取得できる情報は図7のユーザーのタイムライン画面のコメント投稿領域(613〜615、623、624)に表示されるメッセージ情報700及びコメント情報710である。ユーザータイムライン取得リクエストで取得できるメッセージ情報700の条件は、先述のユーザーのタイムライン画面に表示されるメッセージ情報700の条件と同じである。
グループタイムライン取得リクエストは、パラメータに指定されたグループID511のタイムラインを取得するリクエストである。グループタイムライン取得リクエストで取得できる情報は、図7のグループのタイムライン画面のコメント投稿領域633に表示されるメッセージ情報700及びコメント情報710である。グループタイムライン取得リクエストで取得できるメッセージ情報700の条件は、先述のグループのタイムライン画面に表示されるメッセージ情報700の条件と同じである。
WebAPIから情報取得するリクエストには、クエリーをパラメータとして指定することができる。クエリーとは、データの検索条件である。マイクロブログサービス300は、クエリーに指定された検索条件に合致する情報を返す。例えばメッセージ情報取得リクエストに複数のメッセージID701をクエリーとして指定された場合、マイクロブログサービス300は、管理するメッセージ情報700からクエリーで指定されたメッセージID701と一致するメッセージ情報700を返す。
<文書管理サービス提供サーバ装置のソフトウェアモジュール構成>
図8は、文書管理サービス提供サーバ装置103のソフトウェアモジュール(文書管理サービス800)の構成を示す図である。文書管理サービス800は、文書共有サービス801と認証サービス811とを有している。文書共有サービス801は、送受信部802と、制御部803と、ページ生成部804と、文書管理部805と、メッセージ情報管理部806と、を有している。認証サービス811は、送受信部812と、制御部813と、ユーザー管理部814と、トークン管理部815と、を有している。
なお、各ソフトウェアモジュールのプログラムは、図2で示したHDD204に記憶されており、上述したようにCPU201によってRAM203にロードされ、実行されることにより各ソフトウェアモジュールが実現されるものである。
また、DB807は、文書共有サービス801により参照されるDBであり、図2に示すHDD204等に記憶されている。同様に、DB816は、認証サービス811により参照されるDBであり、HDD204等に記憶されている。
送受信部802は、クライアント装置101のWebブラウザ104や、マイクロブログサービス300、認証サービス811との通信を処理する。制御部803は、送受信部802が受け付けたリクエストに従って処理を実行する。ページ生成部804は、Webブラウザ104にレスポンスを返すためのWebページを生成する。
文書管理部805は、DB807に格納されている文書及び後述の文書情報1400を管理する。文書管理部805は、例えば、制御部803からの要求に応じて文書及び文書情報1400の登録、取得、更新、削除を行う。
メッセージ情報管理部806は、メッセージ情報1410を、DB807上で管理する。メッセージ情報管理部806は、例えば、要求に応じてメッセージ情報1410の登録、取得、更新、削除を行う。ここでメッセージ情報1410は、文書及び文書情報1400と、マイクロブログサービス300上のメッセージとを関連付ける情報である。
なお、DB807には、文書、文書情報1400及びメッセージ情報1410に加えて、文書共有サービス801のユーザー設定情報等も格納される。
認証サービス811の送受信部812は、文書共有サービス801との通信を処理する。制御部813は、送受信部812が受け付けたリクエストに従って処理を実行する。ユーザー管理部814は、DB816に格納されている後述のユーザー情報1420を管理する。ユーザー管理部814は、例えば制御部813からの要求に応じてユーザー情報1420の登録、取得、更新、削除を行う。
トークン管理部815は、ユーザー情報1420と同じくDB816に格納される後述の認証トークン情報1430及びマイクロブログアクセストークン情報1440を管理する。トークン管理部815は、例えば制御部813からの要求に応じて認証トークン情報1430及びマイクロブログアクセストークン情報1440の登録、取得、更新、削除を行う。
<文書管理サービスの認証>
図9は、実施形態1の文書管理サービス800のページ生成部804が生成し、クライアント装置101のWebブラウザ104で表示するログイン画面900の一例を示す図である。
Webブラウザ104から文書管理サービス800にリクエストが送信される。すると、送受信部802がリクエストを受け付け、制御部803から、送受信部802を通して、認証サービス811に認証チェック要求を送信する。この際、制御部803は、リクエストに認証トークン1331が含まれるか確認し、含まれる場合には、認証サービス811に認証トークンを渡す。認証サービス811は、送受信部812で要求を受け付けると、制御部813が、トークン管理部815に後述の認証トークン情報1330の有効性のチェックを依頼する。
制御部813は、トークン管理部815から認証トークンが有効であるか否かの結果を受け、その結果を、送受信部812を通して、文書共有サービス801に送信する。認証トークンの有効性のチェックには、認証トークン情報1330が参照され、該当する認証トークン1331が記憶されているか、時刻1333から有効期限が切れていないか等がチェックされる。文書共有サービス801の制御部803は、認証トークンが無効だった場合にページ生成部804でログイン画面900を生成し、リクエストに対してログイン画面900を応答する。制御部803は、認証トークンが有効だった場合にはリクエストに応じて、後述するプレビュー画面1000等を生成し応答する。
ログイン画面900はユーザー名901、パスワード902、ログインボタン903から構成される。ユーザー名901、パスワード902は文書管理サービス800への認証に必要なユーザーIDとパスワードとを入力するための入力欄である。ログインボタン903が押下されると入力されたユーザー名401とパスワード402とがパラメータとして含まれたログインリクエストが文書管理サービス800に送信される。
ログインリクエストは、認証サービス811の制御部813によって、妥当性のチェックが行われる。制御部813は、ログインリクエストに含まれるユーザー名901とパスワード902との組み合わせが後述のユーザー情報1320に存在しているかを確認する。存在している場合には、制御部813は、認証トークン情報1330を発行し、DB816に保持すると共に認証トークン1331をWebブラウザ104に返す。Webブラウザ104は、認証IDをリクエストに付加することで認証を継続することができる。文書管理サービス800へのすべてのリクエストは認証サービス811により認証情報管理される。文書管理サービス800がリクエストを受信した際には認証情報の確認が必ず行われるが本実施形態では認証情報の確認は以降、説明の簡略化のため省略する。
<文書管理サービスにおける、管理情報>
図10は、文書管理サービス800に含まれる、文書共有サービス801及び認証サービス811上で管理される、文書データ情報1300、メッセージ情報1310、ユーザー情報1320、認証トークン情報1330の一例を示す図である。
文書データ情報1300及びメッセージ情報1310は、文書共有サービス801のDB807に保存される文書データに関する情報である。
文書データ情報1300は、文書データに関する付加情報であり、文書ID1301、文書データ保存先1302、ユーザーID1303、文書名1304から構成される。文書ID1301は、文書データを一意に識別する識別子である。文書データ保存先1302は、文書データへのアクセスに必要なファイルパスやURL等を示す。ユーザーID1303は、文書データの登録を行った文書管理サービスにおけるユーザーを表す識別子である。文書名1304は、文書データのタイトルであり、ユーザーが任意に決定できる文字列である。文書データ情報1300等は、コンテンツ情報の一例である。
また、文書データ情報1300には、これ以外に、文書データのサイズや、ページ数等の文書データに関する任意の情報が含まれてもよい。
メッセージ情報1310は、文書共有サービス801に保存される文書データについて、マイクロブログサービス300に投稿されたメッセージに関する情報を保持するものである。メッセージ情報1310は、文書ID1311、投稿先グループID1312から構成される。文書ID1311は、文書データ情報1300とメッセージ情報1310とを関連づけるための識別子である。投稿先グループID1312は、マイクロブログサービス300上におけるメッセージ投稿先グループIDを示す。
ユーザー情報1320、認証トークン情報1330、マイクロブログアクセストークン情報1340は、認証サービス811のDB816に保存される文書データに関する情報である。ユーザー情報1320は、文書管理サービス800の利用者として登録されているユーザーの情報である。ユーザー情報1320は、ユーザーID1321、パスワード1322から構成される。ユーザーID1321は、文書管理サービス800内でのユーザーを一意に識別する識別子である。パスワード1322は、ユーザーがWebブラウザ104を介して、文書管理サービス800へログインする際に、ユーザーID1321と共に、認証に使用されるパスワードである。また、ユーザー情報1320には、これ以外に、氏名や、メールアドレス等のユーザーに関する任意の情報が含まれてよい。
認証トークン情報1330は、文書管理サービス800へログイン済みのユーザーの認証情報である。認証トークン情報1330は、認証トークン1331、ユーザーID1332、時刻1333から構成される。認証トークン1331は、認証済みであることを証明するための少なくとも文書管理サービス内で一意の文字列である。ユーザーID1332は、認証済みのユーザーのユーザーIDを表す。時刻1333には、認証トークン1331の有効期限を決定するための日付や、時刻が格納される。
マイクロブログアクセストークン情報1340は、文書管理サービス800が、マイクロブログサービス300にアクセスする際に必要なユーザーの認可情報である。マイクロブログアクセストークン情報1340は、ユーザーID1341、マイクロブログURL1342、アクセストークン1343、リフレッシュトークン1344から構成される。ユーザーID1341は、文書管理サービス800上のユーザーを識別する識別子であり、ユーザー情報1320のユーザーID1321と対応している。マイクロブログURL1342は、マイクロブログアクセストークン情報1340が使用されるべきマイクロブログのURLである。アクセストークン1343は、ユーザーID1341でマイクロブログURL1342にアクセスする際に必要な認可情報を含む文字列である。また、リフレッシュトークン1344は、マイクロブログサービス300で発行される、アクセストークン1343の更新に必要なトークンである。
<文書共有サービス801の文書プレビュー>
図11は、文書共有サービス801のページ生成部804が生成し、クライアント装置101のWebブラウザ104で表示するプレビュー画面1000の一例を示す図である。
Webブラウザ104から文書共有サービス801に、文書を識別する情報を含む、文書プレビューリクエストが行われると、送受信部802がリクエストを受け付け制御部803が、文書管理部805から文書データ情報1300を取得する。ここで、Webブラウザ104から送信する文書を識別する情報とは、例えば、文書ID1301を含むURL等である。制御部803は、このURLに含まれる文書ID1301を参照することで、要求に合った文書データ情報1300を、文書管理部805から取得することができる。制御部803は、取得した文書データ情報1300を参照し、ページ生成部804にて、Webブラウザ104で表示可能なプレビュー画面1000を生成する。更に、制御部803は、送受信部802を通して、生成したプレビュー画面1000をWebブラウザ104に返す。プレビュー画面1000には、文書データ情報1300の文書データ保存先1302を参照して取得した文書データ画像1010が表示されると共に、文書名1002や、ユーザー名1001等が表示される。また、プレビュー操作を行う領域1020には、ページ送りを行うためのボタン1021や、表示ページの指定を行う入力エリア1022が表示される。
<文書管理サービス800への文書登録>
図12及び図13にて、文書管理サービス800への文書登録処理の流れを説明する。
図12は、クライアント装置101のWebブラウザ104から文書管理サービス800にアクセスして文書登録画面表示リクエストを行った場合の文書登録画面1100の一例を示す図である。文書登録画面1100には、登録する文書データを指定するためのファイル名1101、登録文書にアクセスするURLをマイクロブログサービスに投稿する際のメッセージ投稿先グループ1102、及び文書登録ボタン1103が含まれる。文書登録ボタン1103が押下されると、クライアント装置101から文書管理サービス800に対して、ファイル名1101で指定した文書データと、文書URLを投稿する投稿先グループIDと、を含む文書登録リクエストが発行される。文書登録画面1100は、登録する文書と、メッセージ投稿先グループと、を選択可能な画面の一例である。
図13は、実施形態1の文書管理サービス800の文書登録リクエスト受信時の処理の一例を示すフローチャートである。S1201からS1203までのログイン処理については<文書管理サービスの認証>にて記載済みのため省略する。
S1204において制御部803は、送受信部802を通して文書管理サービス800からマイクロブログサービス300へのアクセストークン取得リクエストをマイクロブログサービス300へリダイレクトする。
S1204からS1209までで実施するアクセストークン取得のシーケンスについては、上述の<マイクロブログサービス300の認証・認可>で説明済みのため省略する。取得したアクセストークンはトークン管理部815がアクセストークン1343としてDB816に保存する。
S1210で、文書管理サービス800の文書管理部805は、S1209で取得したアクセストークン1343と共にユーザーの所属グループID取得リクエストをマイクロブログサービス300へ送信する。
S1211においてマイクロブログサービス300の認証部304は、DB306に保存しているトークン情報530から、受信されたアクセストークン532に一致するレコードのユーザーID531を取得する。そして認証部304は、取得したDB306に保存しているユーザー情報500からユーザーID531が一致するレコードの所属グループID507のリストを取得する。マイクロブログサービス300は、取得された所属グループID507のリストを文書管理サービス800へ送信する。
次にS1212にて、文書管理サービス800は、文書登録画面1100のメッセージ投稿先グループ1102に、受信した所属グループIDリストをセットしユーザーに選択できる形で文書登録画面1100をWebブラウザ104に送信する。
S1213において、ユーザーによりWebブラウザ104に表示された文書登録画面1100の文書登録ボタン1103が押下されると、文書データ、メッセージ投稿先グループIDを含む文書登録リクエストが文書管理サービス800に送信される。
S1214において、文書管理サービス800の制御部803は、送受信部802を通じて文書登録リクエストを受信すると、文書管理部805を通して文書データをDB807に保存し、文書データ情報1300を生成する。そのとき、文書管理部805は、文書ID1311及び投稿先グループID1312をメッセージ情報1310としてDB807に保存する。
S1215で、文書管理サービス800のメッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312と共に、文書データ保存先1302をメッセージとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。
投稿リクエストを受信したマイクロブログサービス300の制御部302は、認証部304を通じてアクセストークン1343がメッセージ書き込み許可されたアクセストークンであることを確認する。メッセージ書き込みが許可されたアクセストークンであれば、制御部302は、メッセージ管理部305を通じて文書データ保存先1302をメッセージとして投稿先グループID1312で指定されたグループ領域に書き込む(S1216)。
以上で文書管理サービス800への文書登録処理が完了する。登録した文書データへは、Webブラウザ104でマイクロブログサービス300に接続し、前記メッセージに記載された文書データ保存先1302を実行することでアクセスすることができる。文書データ保存先1302が記載されたメッセージは、S1214にて指定した投稿先グループID1312に所属するユーザーのみがアクセス(閲覧)可能である。
<文書管理サービス800の文書アクセス>
図14は、文書管理サービス800への文書アクセス処理の流れを説明するフローチャートである。Webブラウザ104からマイクロブログサービス300にアクセスし、グループのタイムライン画面630に表示された文書データ保存先1302にアクセスすることで以下に記載の文書アクセス処理が開始される。つまり、文書管理サービス800は、文書データ保存先1302を介したアクセス要求を受け取ると、文書アクセス処理を開始する。文書のアクセス要求は、コンテンツに対する制御要求の一例である。
S1401にて、ユーザーはWebブラウザ104を介して文書管理サービス800にログインする。ログイン処理の詳細は<文書管理サービスの認証>にて記載済みのため省略する。
次にS1402において、制御部803は、文書管理部805を通じてアクセス対象の文書ID1301のユーザーID1303とS1401でログインしたユーザーID1321とが一致するかどうかを確認する。一致する場合は、制御部803は、アクセス対象の文書データを登録したユーザーと文書管理サービス800にログインしたユーザーとが同一であると判断する。そして、制御部803は、文書へのアクセス可能と判断し、S1407にてWebブラウザ104にプレビュー画面1000を送信する。
一致しなかった場合、S1403において、制御部803は、メッセージ情報管理部806を通じ、文書ID1311に紐づいた投稿先グループID1312が存在するかどうかを確認する。投稿先グループID1312が存在しなかった場合、制御部803は、S1408にてアクセス不可と判断し、その旨を示すエラー情報をWebブラウザ104に送信する。
S1403において、制御部803は、文書ID1311に紐づいた投稿先グループID1312が存在した場合、S1404を実行する。
S1404において、制御部803は、認証サービス811のトークン管理部815を通じて、文書管理サービス800にログイン中のユーザーにおけるマイクロブログサービスへのアクセストークン1343を取得する。このときアクセストークン1343が存在しない場合、制御部813は、トークン管理部815を通じて、マイクロブログサービス300へアクセストークン取得リクエストを送信する。アクセストークン取得処理詳細は、上述の<マイクロブログサービス300の認証・認可>で説明済みのため省略する。
S1405において、制御部803は、送受信部802を通じてアクセストークン1343と共に所属グループID取得リクエストをマイクロブログサービス300へ送信する。所属グループID取得リクエストを受信したマイクロブログサービス300は、アクセストークンに一致するマイクロブログサービス300のユーザーの所属グループIDリストを制御部803へ送信する。
S1406にて、制御部803は、取得した所属グループIDリストに、S1403で取得した投稿先グループID1312が含まれているか否かを比較する。含まれていた場合、アクセス可能と判断し、S1407において、制御部803は、ページ生成部804を通じてWebブラウザ104にプレビュー画面1000を送信する。
S1406にて取得した所属グループIDリストに、S1403で取得した投稿先グループID1312が含まれていない場合、制御部803は、アクセス不可と判断してS1408を実行する。
以上により、文書管理サービス800における文書アクセス処理が完了する。
本実施形態の文書登録及び文書アクセス処理によれば、文書登録時及び、ユーザーの文書アクセス時にマイクロブログサービス300に対する所属グループIDリストの取得のためのAPIコールがそれぞれ1回のみ実施される。
<<実施形態2>>
本実施形態では、複数のマイクロブログサービスに対してそれぞれ文書にアクセスするためのURLを共有したいグループにメッセージ投稿し、文書へのアクセス制御を行う方法を説明する。
以下、複数のマイクロブログサービス300はそれぞれマイクロブログサービスA、マイクロブログサービスBとし、また実施形態1で記載済みの内容については説明を省略する。また、同一符号を付している場合は、同一の処理として説明を省略する。以下の実施形態においても同様である。
図15は、実施形態2のメッセージ情報1310のデータ構造の一例を示す図である。
マイクロブログURL1313は、マイクロブログサービス300へアクセスするためのURLであり、例えば、マイクロブログサービス300のWebサービスのエンドポイントURLが格納される。マイクロブログURL1313は、マイクロブログアクセストークン情報1340のマイクロブログURL1342と対応する。
図16は、実施形態2の文書登録画面1600の一例を示す図である。文書登録画面1600には、登録文書にアクセスするURLをマイクロブログサービスA及びマイクロブログサービスBへ投稿する際のメッセージ投稿先グループ1601が含まれる。
図17は、実施形態2の文書管理サービス800の文書登録リクエスト受信時の処理の一例を示すフローチャートである。S1701からS1703までのログイン処理については<文書管理サービスの認証>にて記載済みのため省略する。
S1704からS1711まで及びS1712からS1719までは、文書管理サービス800がそれぞれマイクロブログサービスA及びマイクロブログサービスBからアクセストークン及び所属グループIDリストを取得する処理である。これはS1204からS1211までと同様の処理のため省略する。
次にS1720において、文書管理サービス800は、文書登録画面1600のメッセージ投稿先グループ1601に、受信した所属グループIDリストをセットしユーザーに選択できる形で文書登録画面1600をWebブラウザ104に送信する。
ユーザーによりWebブラウザ104に表示された文書登録画面1600の文書登録ボタン1103が押下される。すると、S1721において、文書データ、メッセージ投稿先グループIDを含む文書登録リクエストがWebブラウザ104から文書管理サービス800に送信される。
S1722において、文書管理サービス800の制御部803は、送受信部802を通じて文書登録リクエストを受信すると、文書管理部805を通して文書データをDB807に保存し、文書データ情報1300を生成する。そのとき、文書管理部805は、文書ID1311及び投稿先グループID1312、マイクロブログURL1313をマイクロブログサービスA、マイクロブログサービスBそれぞれについてメッセージ情報1310としてDB807に保存する。
S1723で、文書管理サービス800のメッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312と共に、文書データ保存先1302をメッセージとして書き込むための投稿リクエストをマイクロブログサービスAへ送信する。
投稿リクエストを受信したマイクロブログサービスAの制御部302は、認証部304を通じてアクセストークン1343がメッセージ書き込み許可されたアクセストークンであることを確認する。メッセージ書き込みが許可されたアクセストークンであれば、制御部302は、メッセージ管理部305を通じて文書データ保存先1302をメッセージとして投稿先グループID1312で指定されたグループ領域に書き込む(S1724)。
S1725、S1726はS1723及びS1724をマイクロブログサービスBに対して実行する処理であり、説明の簡略化のため省略する。
以上で実施形態2の文書管理サービス800への文書登録処理が完了する。
図18は、実施形態2の文書管理サービス800への文書アクセス処理の流れを説明するフローチャートである。Webブラウザ104からマイクロブログサービスA又はマイクロブログサービスBにアクセスし、グループのタイムライン画面630に表示された文書データ保存先1302にアクセスすることで以下に記載の文書アクセス処理が開始される。
S1801からS1803まではS1401からS1403までで記載済みのため省略する。
また、S1806、S1808及びS1809は、それぞれS1405、S1407及びS1408で記載済のため省略する。
S1804にて、文書管理サービス800の制御部803は、メッセージ情報管理部806を通してメッセージ情報1310から、文書ID1311が一致する投稿先グループID1312、マイクロブログURL1313を取得する。制御部803は、取得したメッセージ情報1310のレコードすべての投稿先グループID1312について比較を行った場合、S1809を実行する。ここで、比較とは、後述するS1805〜S1807の処理のことである。
未比較のレコードが存在する場合、S1805では、制御部803は、前記レコードのマイクロブログURL1313に対してアクセストークン取得リクエストを送信する。前記処理の詳細はS1404にて記載済みのため省略する。
S1807において、制御部803は、S1406で取得した所属グループIDリストに、S1805で使用したマイクロブログURL1313とマイクロブログURL1342とが一致するレコードの投稿先グループID1312が含まれているかを確認する。
含まれていた場合、アクセス可能と判断し、S1808において、制御部803は、ページ生成部804を通じてWebブラウザ104にプレビュー画面1000を送信する。
以上で実施形態2の文書管理サービス800への文書アクセス処理が完了する。
<<実施形態3>>
本実施形態では、複数のマイクロブログサービスに対してそれぞれ文書にアクセスするためのURLを共有したいグループにメッセージ投稿し、文書へのアクセス制御を行う方法を説明する。
以下、複数のマイクロブログサービス300はそれぞれマイクロブログサービスA、マイクロブログサービスBとして実施形態を説明する。
実施形態3におけるメッセージ情報1310のデータ構造は、図15と同様である。
図19は、実施形態3におけるマイクロブログ識別子2002とマイクロブログURL1313との対応を表す表の一例を示す図である。文書管理サービス800のユーザーは、文書共有サービス801の利用開始時に事前に不図示のマイクロブログURL設定画面を操作することで対応表2001の作成を指示し、メッセージ情報管理部806が対応表2001をDB807に保存する。
実施形態3における文書登録画面は、図16と同様であり、対応表2001に記載されたマイクロブログ識別子2002が、メッセージ投稿先グループの候補(図16の例では、マイクロブログサービスA、マイクロブログサービスB)として表示される。
実施形態3における文書管理サービス800の文書登録リクエスト受信時の処理を、図17を用いて説明する。
実施形態2の処理と異なるのは、S1723、S1724、S1725、S1726である。
S1723で、文書管理サービス800のメッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312と共に組み合わせURL1901を、メッセージとして書き込むための投稿リクエストをマイクロブログサービスAへ送信する。ここで組み合わせURL1901は、メッセージ情報管理部806が、DB807に保存された対応表2001を参照して、マイクロブログURL1313に対応するマイクロブログ識別子2002と文書データ保存先1302とを組み合わせて生成したものである。マイクロブログ識別子2002は、投稿管理サービスにアクセスするための識別情報の一例である。
図20は、メッセージ情報管理部806が生成する組み合わせURL1901の一例を示す図である。メッセージ情報管理部806は、文書データ保存先1302とマイクロブログ識別子2002とを、URLとパラメータとの区切りを示すセパレータ文字列1902及び制御部803が解釈可能なパラメータ文字列1903で連結する。このことでメッセージ情報管理部806は、組み合わせURL1901を生成する。
再び、図17を用いた説明に戻る。
投稿リクエストを受信したマイクロブログサービスAの制御部302は、認証部304を通じてアクセストークン1343がメッセージ書き込み許可されたアクセストークンであることを確認する。メッセージ書き込みが許可されたアクセストークンであれば、マイクロブログサービスAの制御部302は、S1724に処理を進める。S1724において、マイクロブログサービスAの制御部302は、メッセージ管理部305を通じて組み合わせURL1901をメッセージとして投稿先グループID1312で指定されたグループ領域に書き込む。
S1725、S1726はS1723及びS1724をマイクロブログサービスBに対して実行する処理であり、S1723、S1724と同様であるため省略する。
以上で実施形態3における文書管理サービス800への文書登録処理が完了する。
図21は、実施形態3における文書管理サービス800への文書アクセス処理の流れの一例を示すフローチャートである。Webブラウザ104からマイクロブログサービスA又はマイクロブログサービスBにアクセスし、グループのタイムライン画面630に表示された文書データ保存先1302にアクセスすることで以下に記載の文書アクセス処理が開始される。
なお、以下では、図18と異なる点を主に説明する。
S1810にて、文書管理サービス800の制御部803は、メッセージ情報管理部806を通してメッセージ情報1310から、文書ID1311が一致する投稿先グループID1312、マイクロブログURL1313を取得する。
S1811にて、制御部803は、組み合わせURL1901と対応表2001とから認証先となるマイクロブログURLを特定する。制御部803は、メッセージ情報1310に記載のマイクロブログURL1313の中に合致するマイクロブログURLがある場合に、そのマイクロブログURLを認証先とする。特定できない、又は合致するマイクロブログURLがない場合は、制御部803は、S1809を実行する。
S1805において、制御部803は、マイクロブログURL1313に対してアクセストークン取得リクエストを送信する。この処理の詳細はS1404にて記載済みのため省略する。
以上で実施形態3における文書管理サービス800への文書アクセス処理が完了する。
以上、本実施形態によれば、各文書を参照する際に連携すべきマイクロブログサービスを特定でき、文書閲覧時の認証が1回で済む。それにより認証処理の手間を減らしAPIコール数を減らすことができる。
<<実施形態4>>
上述した実施形態では、文書に対する制御の一例としてアクセス制御を例に説明を行ったが、これに限定されるものではなく、文書の更新制御にも適用することができる。
図22は、実施形態4のタイムライン画面の一例を示す図である。図22では、図7と異なる点について主に説明する。
コメント投稿領域6140はuserDがGroup2に対して投稿したメッセージとリンクとであり、その投稿に対してUserCのコメントが表示されている例である。コメント投稿領域6150はuserDがuserAに対して投稿したメッセージとリンクとが表示されている例である。コメント投稿領域6240はuserCがuserBに対して投稿したメッセージとリンクとが表示されている例である。コメント投稿領域6330はユーザーのタイムライン画面におけるメッセージ投稿領域(613、6140、6150、623、6240)と同様である。
本実施形態の制御部803は、認証トークンが有効だった場合にはリクエストに応じて、プレビュー画面1000等を生成し応答したり、後述する文書更新画面2700等を生成し応答したりする。
図23は、実施形態4の文書管理サービス800に含まれる、文書共有サービス801及び認証サービス811上で管理される、文書データ情報1300、メッセージ情報、ユーザー情報1320、認証トークン情報1330の一例を示す図である。
本実施形態の文書データ情報1300は、文書データに関する付加情報であり、文書ID1301、文書データ保存先1302、ユーザーID1303、文書名1304、更新バージョン1305から構成される。更新バージョン1305は、文書の更新バージョンであり、文書更新を実行するたびにバージョンがインクリメントされる。
図24は、実施形態4の文書管理サービス800の文書登録リクエスト受信時の処理の一例を示すフローチャートである。
S2401でメッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312、文書データ保存先1302、文書データ更新リクエスト情報をメッセージとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。文書データ更新リクエスト情報は、文書データ保存先1302の文書データを更新するためのURL形式のリクエストであり、このURLには文書ID1301が含まれる。投稿リクエストを受信したマイクロブログサービス300の制御部302は、認証部304を通じてアクセストークン1343がメッセージ書き込み許可されたアクセストークンであることを確認する。メッセージ書き込みが許可されたアクセストークンであれば、制御部302は、S2402に処理を進める。S2402において、制御部302は、メッセージ管理部305を通じて文書データ保存先1302と文書データ更新リクエスト情報とをメッセージとして投稿先グループID1312で指定されたグループ領域に書き込む。文書管理サービス800のメッセージ情報管理部806は、マイクロブログサービス300から返却されるメッセージID701をメッセージ情報1310にメッセージID1314として保存する。
図25は、クライアント装置101のWebブラウザ104から文書管理サービス800にアクセスして文書更新画面表示リクエストを行った場合の文書更新画面2700の一例を示す図である。Webブラウザ104から文書共有サービス801に、文書を識別する情報を含む文書更新画面表示リクエストが行われると、文書管理サービス800は、文書を識別する情報を含めた文書更新画面2700を生成し、Webブラウザ104に返す。文書を識別する情報とは文書ID1301である。文書更新画面2700には、更新する対象の文書名2701、更新する文書データを指定するためのファイル名2702、文書更新の実行リクエストを送る文書更新ボタン2703、が含まれる。更新する対象の文書名2701は、文書データ情報1300の文書名1304に格納されている情報である。文書更新ボタン2703が押下されると、クライアント装置101から文書管理サービス800に対して、ファイル名2702で指定した文書データと文書ID1301と共に文書更新するリクエストが発行される。
図26は、文書管理サービス800の文書更新リクエスト受信時の処理の一例を示すフローチャートである。
S2001にて、ユーザーは文書管理サービス800にログインする。ログイン処理の詳細は<文書管理サービスの認証>にて記載済みのため省略する。
次にS2002において、制御部803は、文書管理部805を通じてアクセス対象の文書ID1301のユーザーID1303とS2001でログインしたユーザーID1321とが一致するかどうかを確認する。一致する場合は、制御部803は、更新対象の文書データを登録したユーザーと文書管理サービス800にログインしたユーザーとが同一であると判断し、文書更新が可能と判断し、S2007で文書更新を実行する。文書更新処理については後述する。
一致しなかった場合、S2003において、制御部803は、メッセージ情報管理部806を通じ、文書ID1311に紐づいた投稿先グループID1312が存在するかどうかを確認する。投稿先グループID1312が存在しなかった場合、S2008において、制御部803は、文書更新不可と判断し、その旨を示すエラー情報をWebブラウザ104に送信する。
S2003にて文書ID1311に紐づいた投稿先グループID1312が存在した場合、制御部803は、S2004を実行する。S2004にて、制御部803は、認証サービス811のトークン管理部815を通じて、文書管理サービス800にログイン中のユーザーにおけるマイクロブログサービスへのアクセストークン1343を取得する。このときアクセストークン1343が存在しない場合、制御部813は、トークン管理部815を通じて、マイクロブログサービス300へアクセストークン取得リクエストを送信する。アクセストークン取得処理詳細は、上述の<マイクロブログサービス300の認証・認可>で説明済みのため省略する。
S2005にて、制御部803は、送受信部802を通じてアクセストークン1343と共に所属グループID取得リクエストをマイクロブログサービス300へ送信する。所属グループID取得リクエストを受信したマイクロブログサービス300は、アクセストークンに一致するマイクロブログサービス300のユーザーの所属グループIDリストを制御部803へ送信する。
S2006にて、制御部803は、前記取得した所属グループIDリストに、S2003で取得した投稿先グループID1312が含まれているか否かを比較する。含まれていた場合、文書更新可能と判断し、S2007にて、制御部803は、文書更新を実行する。
S2007の文書更新処理では、制御部803が、Webブラウザ104から送受信部802を通じて受信した文書データを、文書管理部805を通してDB807に保存する。そのとき、文書管理部805は、Webブラウザ104から送受信部802を通じて受信した文書ID1301に紐づいたDB807内の文書データ保存先1302に文書データを保存する。更に、文書管理部805は、文書データ情報1300の更新バージョン1305をインクリメントする。
S2009にて、メッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312と共に、文書更新情報をメッセージID1314のコメントとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。更新情報には更新した文書データの文書名が含まれる。
以上により、文書管理サービス800における文書更新処理が完了する。
本実施形態の文書登録及び文書アクセス処理、文書更新処理によれば、文書登録時及び、ユーザーの文書アクセス時、文書更新時にマイクロブログサービス300に対する所属グループIDリストの取得のためのAPIコールがそれぞれ1回のみ実施される。
<<実施形態5>>
実施形態4を実施形態2に適用した一例を以下に説明する。
図27は、実施形態5の文書管理サービス800の文書登録リクエスト受信時の処理の一例を示すフローチャートである。
S2601においてメッセージ情報管理部806はアクセストークン1343、投稿先グループID1312、文書データ保存先1302、文書データ更新リクエスト情報をメッセージとして書き込むための投稿リクエストをマイクロブログサービスAへ送信する。
投稿リクエストを受信したマイクロブログサービスAの制御部302は、認証部304を通じてアクセストークン1343がメッセージ書き込み許可されたアクセストークンであることを確認する。メッセージ書き込みが許可されたアクセストークンであれば、制御部302は、S2602の処理を実行する。S2602において、制御部302は、メッセージ管理部305を通じて文書データ保存先1302、文書データ更新リクエスト情報をメッセージとして投稿先グループID1312で指定されたグループ領域に書き込む。
S2603、S2604はS2601及びS2602をマイクロブログサービスBに対して実行する処理であり、説明の簡略化のため省略する。
<<実施形態6>>
文書登録を行ったユーザーが文書登録時に指定された投稿先グループID1312の所属から外れた場合、文書登録を行ったユーザーが文書更新するとS2009で投稿先グループID1312文書更新情報の投稿ができず文書更新情報をグループで共有できない。本実施形態では、文書登録を行ったユーザーが文書登録時に指定された投稿先グループID1312から抜けた場合は、文書更新を行わず文書登録を行ったユーザーに対し文書所有者変更を示唆する方法を説明する。
図28は、実施形態5の文書管理サービス800の文書登録リクエスト受信時の処理の一例を示すフローチャートである。
S2115において文書管理サービス800のメッセージ情報管理部806は、S2109で取得したマイクロブログアクセストークン情報1340のユーザーID1341を図29のメッセージ情報2200のユーザーID2204に保存する。ここで、図29は、文書管理サービス800が保持するメッセージ情報2200の一例を示す図である。メッセージ情報2200の2201から2203までの情報は1310から1313までと同等の情報である。
S2116にてメッセージ情報管理部806はアクセストークン1343、投稿先グループID1312、文書データ保存先1302、文書データ更新リクエスト情報をメッセージとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。
図30は、実施形態6における文書管理サービス800への文書更新処理の流れの一例を示すフローチャートである。Webブラウザ104からマイクロブログサービスにアクセスし、グループのタイムライン画面630に表示された文書データを更新するためのリクエスト情報にアクセスすることで以下に記載の文書更新処理が開始される。つまり、文書管理サービス800は、文書データを更新するためのリクエスト情報を介した文書の更新要求を受け取ると、文書更新処理を開始する。文書の更新要求は、コンテンツに対する制御要求の一例である。
S2301からS2306まで及びS2311は、S2001からS2006まで及びS2008までで記載済みのため省略する。
S2307は、文書管理サービス800がマイクロブログサービス300からアクセストークン及び所属グループIDリストを取得する処理である。S2307にて、制御部803は、送受信部802を通じてアクセストークン1343、投稿先グループID1312と共に投稿先グループIDに所属するユーザーのユーザーIDリストを取得するリクエストをマイクロブログサービス300へ送信する。所属ユーザーIDリスト取得リクエストを受信したマイクロブログサービス300は、指定のグループIDに一致するマイクロブログサービス300の所属ユーザーIDリストを制御部803へ送信する。
S2308にて、制御部803は、前記取得した所属ユーザーIDリストに文書登録を行ったユーザーのユーザーID2204と一致するユーザーIDがあるかを確認する。
一致するユーザーIDが存在しない場合は、S2312にて、制御部803は、更新エラーを文書管理サービス800のページ生成部804で生成させ、Webブラウザ104にエラー画面を返す。
また、S2313にて、文書管理サービス800のメッセージ情報管理部806は、アクセストークン1343、ユーザーID2204、文書所有者変更リクエスト情報をメッセージとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。この処理は、投稿リクエスト送信の処理の一例である。ここで、ユーザーID2204は、文書の登録者のユーザーIDであり、文書の登録者のタイムライン画面630に文書所有者変更リクエストがメッセージとして表示される。
S2308にてユーザーID2204と一致するユーザーIDが存在する場合、S2309にて、文書管理サービス800の制御部803は、文書更新処理を行う。文書更新処理についてはS2007で記載済みのため省略する。
また、S2310にて、メッセージ情報管理部806は、アクセストークン1343、投稿先グループID1312、文書更新情報をメッセージID1314のコメントとして書き込むための投稿リクエストをマイクロブログサービス300へ送信する。更新情報には更新した文書データの文書名が含まれる。
図31は、文書所有者変更画面2400の一例を示す図である。この画面は、文書の登録者が自身のマイクロブログサービス300のタイムライン画面630に表示された所有者変更リクエストにアクセスすることで、文書管理サービス800が生成し、Webブラウザ104に表示される。
2401は、所有者変更対象の文書データの文書名1304と所有者のユーザーID1303とである。変更先ユーザーリスト2402は、文書管理サービス800が、S2307にて、マイクロブログサービス300から取得した所属ユーザーIDリストである。所有者変更ボタン2403が押下され、所属ユーザーIDリストで選択したユーザーIDと共に所有者変更リクエストが文書管理サービス800に送られる。すると、文書管理サービス800は、文書データ情報1300のユーザーID1303を更新する。
以上が、文書登録を行ったユーザーが文書登録時に指定された投稿先グループID1312から外れた場合に、文書更新を行わず文書登録を行ったユーザーに対し文書所有者変更を示唆する方法の説明である。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、コンテンツを管理するコンテンツ管理装置において投稿管理サービスのグループ設定に応じた文書閲覧や文書更新等のアクセス権の制御を行うことができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

Claims (8)

  1. コンテンツ管理装置であって、
    文書を管理する文書管理手段と、
    前記文書を公開する対象のグループを特定するためのグループ情報を有する投稿管理サービスが発行した、前記コンテンツ管理装置が前記投稿管理サービスにアクセスするためのアクセストークンを受信するアクセストークン受信手段と、
    前記コンテンツ管理装置によって認証されたユーザーが、前記コンテンツ管理装置による前記投稿管理サービスへのアクセスを許可したことに応じて前記投稿管理サービスにより発行された認可コードを受信する認可コード受信手段と、
    前記認可コード受信手段によって受信した認可コードと、クライアント情報とを用いて、前記投稿管理サービスにアクセスするためのアクセストークンを取得するリクエストを前記投稿管理サービスに送信する送信手段と、
    前記送信手段によって送信されたリクエストに基づいて発行されたアクセストークンを送信し、前記ユーザーが所属するグループを特定するグループ情報を前記投稿管理サービスから受信するグループ情報受信手段と、
    前記グループ情報受信手段によって受信したグループ情報と文書とを関連付けて登録するための文書登録画面を表示する表示手段と、
    前記表示手段によって表示された文書登録画面において、文書を登録するための機能が選択された場合、前記文書登録画面において選択されたグループ情報文書とを関連付けて保存する保存手段と、
    前記投稿管理サービスにユーザーがアクセスし、前記保存手段により保存された文書の保存先である文書データ保存先がアクセスされたことで、前記文書データ保存先へのアクセス要求を前記コンテンツ管理装置が受信した場合、
    前記文書データ保存先にアクセスしたユーザーのユーザー情報に紐付くアクセストークンを特定し、特定されたアクセストークンを前記投稿管理サービスに送信し、送信されたアクセストークンを用いて前記投稿管理サービスが特定したグループ情報を取得し、
    取得したグループ情報が、前記文書データ保存先で特定される文書に紐づくグループ情報に含まれるか否かを確認することで、前記文書データ保存先にアクセスしたユーザーが前記文書データ保存先で特定される文書を制御することを許可する否かを判断する第1の判断手段と、
    を有するコンテンツ管理装置。
  2. 前記コンテンツ管理装置に前記文書が登録された後に、
    前記文書の保存先の情報を前記投稿管理サービスに送信する送信手段を更に有する請求項1に記載のコンテンツ管理装置。
  3. 前記投稿管理サービスにユーザーがアクセスし、前記保存手段により保存された文書の保存先である文書データ保存先がアクセスされたことで、前記文書データ保存先へのアクセス要求を前記コンテンツ管理装置が受信した場合、
    前記文書データ保存先にアクセスしたユーザーと、前記文書データ保存先で特定される文書を前記保存手段によって保存したユーザーとが一致するかを判定する判定手段を更に有し、
    前記判定手段によって一致すると判定された場合は、
    前記文書データ保存先にアクセスしたユーザーが前記文書データ保存先で特定される文書を制御することを許可する請求項1又は2に記載のコンテンツ管理装置。
  4. 前記投稿管理サービスが複数の異なるサービスである場合、
    前記文書登録画面は、
    前記複数の異なるサービスから受信したグループ情報の中から、前記文書と紐付けるグループ情報を選択するための画面を提供する請求項1乃至3のいずれか1つに記載のコンテンツ管理装置。
  5. 前記制御は
    前記文書に対するアクセス、又は前記文書に対する更新である請求項1乃至4のいずれか1つに記載のコンテンツ管理装置。
  6. 前記判定手段によって一致しないと判定された場合は
    前記文書データ保存先にアクセスしたユーザーのユーザー情報に紐付くアクセストークンを特定し、特定されたアクセストークンを前記投稿管理サービスに送信し、送信されたアクセストークンを用いて前記投稿管理サービスが特定したグループ情報を取得し、
    取得したグループ情報が、前記文書データ保存先で特定される文書に紐づくグループ情報に含まれることを確認した後に、
    前記投稿管理サービスに前記アクセストークンと、前記文書データ保存先にアクセスしたユーザーのグループ情報とを送信し、送信されたアクセストークンとグループ情報によって前記投稿管理サービスが特定したユーザー情報を前記コンテンツ管理装置が取得し、
    取得したユーザー情報に前記文書データ保存先にアクセスしたユーザーのユーザー情報が含まれているかを確認した後に、
    前記文書データ保存先にアクセスしたユーザーによる前記文書の更新を許可する否かを判断する第2の判断手段を更に有する請求項3記載のコンテンツ管理装置。
  7. コンテンツ管理装置が実行するコンテンツ管理方法であって、
    文書を管理する文書管理ステップと、
    前記文書を公開する対象のグループを特定するためのグループ情報を有する投稿管理サービスが発行した、前記コンテンツ管理装置が前記投稿管理サービスにアクセスするためのアクセストークンを受信するアクセストークン受信ステップと、
    前記コンテンツ管理装置によって認証されたユーザーが、前記コンテンツ管理装置による前記投稿管理サービスへのアクセスを許可したことに応じて前記投稿管理サービスにより発行された認可コードを受信する認可コード受信ステップと、
    前記認可コード受信ステップによって受信した認可コードと、クライアント情報とを用いて、前記投稿管理サービスにアクセスするためのアクセストークンを取得するリクエストを前記投稿管理サービスに送信する送信ステップと、
    前記送信ステップによって送信されたリクエストに基づいて発行されたアクセストークンを送信し、前記ユーザーが所属するグループを特定するグループ情報を前記投稿管理サービスから受信するグループ情報受信ステップと、
    前記グループ情報受信ステップによって受信したグループ情報と文書とを関連付けて登録するための文書登録画面を表示する表示ステップと、
    前記表示ステップによって表示された文書登録画面において、文書を登録するための機能が選択された場合、前記文書登録画面において選択されたグループ情報文書とを関連付けて保存する保存ステップと、
    前記投稿管理サービスにユーザーがアクセスし、前記保存ステップにより保存された文書の保存先である文書データ保存先がアクセスされたことで、前記文書データ保存先へのアクセス要求を前記コンテンツ管理装置が受信した場合、
    前記文書データ保存先にアクセスしたユーザーのユーザー情報に紐付くアクセストークンを特定し、特定されたアクセストークンを前記投稿管理サービスに送信し、送信されたアクセストークンを用いて前記投稿管理サービスが特定したグループ情報を取得し、
    取得したグループ情報が、前記文書データ保存先で特定される文書に紐づくグループ情報に含まれるか否かを確認することで、前記文書データ保存先にアクセスしたユーザーが前記文書データ保存先で特定される文書を制御することを許可する否かを判断する第1の判断ステップと、
    を含むコンテンツ管理方法。
  8. コンピュータを、請求項1乃至6のいずれか1つに記載のコンテンツ管理装置の各手段として機能させるためのプログラム。
JP2013119886A 2013-06-06 2013-06-06 コンテンツ管理装置、コンテンツ管理方法及びプログラム Active JP6323994B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013119886A JP6323994B2 (ja) 2013-06-06 2013-06-06 コンテンツ管理装置、コンテンツ管理方法及びプログラム
US14/293,464 US9971901B2 (en) 2013-06-06 2014-06-02 Content management apparatus and content management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013119886A JP6323994B2 (ja) 2013-06-06 2013-06-06 コンテンツ管理装置、コンテンツ管理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014238651A JP2014238651A (ja) 2014-12-18
JP6323994B2 true JP6323994B2 (ja) 2018-05-16

Family

ID=52006388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013119886A Active JP6323994B2 (ja) 2013-06-06 2013-06-06 コンテンツ管理装置、コンテンツ管理方法及びプログラム

Country Status (2)

Country Link
US (1) US9971901B2 (ja)
JP (1) JP6323994B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6354132B2 (ja) * 2013-10-09 2018-07-11 富士ゼロックス株式会社 中継装置、中継システム及びプログラム
JP6354407B2 (ja) * 2014-07-11 2018-07-11 株式会社リコー 認証システム、認証方法、プログラム及び通信システム
JP6971597B2 (ja) * 2017-03-10 2021-11-24 キヤノン株式会社 情報処理装置、表示制御方法、及びプログラム
JP6813403B2 (ja) * 2017-03-25 2021-01-13 エンブレース株式会社 医療・介護情報管理方法、医療・介護情報管理システム及び医療・介護情報管理プログラム
US10599377B2 (en) 2017-07-11 2020-03-24 Roku, Inc. Controlling visual indicators in an audio responsive electronic device, and capturing and providing audio using an API, by native and non-native computing devices and services
US11062710B2 (en) 2017-08-28 2021-07-13 Roku, Inc. Local and cloud speech recognition
US11062702B2 (en) 2017-08-28 2021-07-13 Roku, Inc. Media system with multiple digital assistants
US10579808B2 (en) * 2017-11-10 2020-03-03 Facebook, Inc. Systems and methods for generating previews of content protected by authentication protocols
US11145298B2 (en) 2018-02-13 2021-10-12 Roku, Inc. Trigger word detection with multiple digital assistants
US11153305B2 (en) * 2018-06-15 2021-10-19 Canon U.S.A., Inc. Apparatus, system and method for managing authentication with a server
US12058123B2 (en) * 2019-06-24 2024-08-06 Nokia Technologies Oy Apparatuses and methods relating to authorization of network functions

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000082001A (ja) * 1998-09-04 2000-03-21 Ai Soft Kk データ管理装置およびデータ管理方法
JP2001202405A (ja) * 2000-01-17 2001-07-27 Fuji Xerox Co Ltd タスク関与者間のコミュニケーション機能を有するプロジェクト管理装置およびプロジェクト管理方法
US20030023677A1 (en) * 2001-07-25 2003-01-30 Graham Morison Zuill On-line project collaboration system
JP2003256685A (ja) * 2002-03-01 2003-09-12 Toshiharu Kato ボランティア活動・ビジネス活動支援方法
JP2004213265A (ja) 2002-12-27 2004-07-29 Hitachi Ltd 電子文書管理装置、文書作成者装置、文書閲覧者装置、電子文書管理方法及び電子文書管理システム
JP2004272380A (ja) * 2003-03-05 2004-09-30 Nippon Telegr & Teleph Corp <Ntt> グループ認証方法及びシステム、サービス提供装置、認証装置、サービス提供プログラム及びそれを記録した記録媒体、認証プログラム及びそれを記録した記録媒体
US20060246884A1 (en) * 2005-04-29 2006-11-02 Siemens Communications, Inc. Contact information sharing with mobile telephone
US20070143475A1 (en) * 2005-12-15 2007-06-21 Brian Daigle Identification services
JP4977452B2 (ja) * 2006-01-24 2012-07-18 株式会社リコー 情報管理装置、情報管理方法、情報管理プログラム、記録媒体及び情報管理システム
JP2008129930A (ja) * 2006-11-22 2008-06-05 I & Plus Co Ltd 異なるブログ運営会社のウェブログを横断的に管理したポータルサイト
US9602605B2 (en) * 2007-10-26 2017-03-21 Facebook, Inc. Sharing digital content on a social network
JP4944060B2 (ja) * 2008-04-10 2012-05-30 ディサークル株式会社 グループウェアサーバ装置、グループウェアサーバプログラム及びグループウェアサーバ装置の動作方法
US7783646B2 (en) * 2008-07-17 2010-08-24 International Business Machines Corporation System, method, and computer readable media for identifying and rating virtual universe objects
JP4900847B2 (ja) * 2008-08-19 2012-03-21 有限会社アール・シー・エス コンテンツデータ管理装置及びそのプログラム
US20100161758A1 (en) * 2008-12-22 2010-06-24 Mostafa Tofigh Method and apparatus for enabling content sharing among endpoint devices
US20110320560A1 (en) * 2010-06-29 2011-12-29 Microsoft Corporation Content authoring and propagation at various fidelities
US9280794B2 (en) * 2012-03-19 2016-03-08 David W. Victor Providing access to documents in an online document sharing community

Also Published As

Publication number Publication date
JP2014238651A (ja) 2014-12-18
US9971901B2 (en) 2018-05-15
US20140365526A1 (en) 2014-12-11

Similar Documents

Publication Publication Date Title
JP6323994B2 (ja) コンテンツ管理装置、コンテンツ管理方法及びプログラム
US12111894B2 (en) User experience container level identity federation and content security
CN106856475B (zh) 授权服务器以及认证协作系统
JP6120650B2 (ja) コンテンツ管理装置、コンテンツ管理方法及びプログラム
US10911428B1 (en) Use of metadata for computing resource access
US12199988B2 (en) Proxy authorization of a network device
US11102189B2 (en) Techniques for delegation of access privileges
US9608972B2 (en) Service providing system and data providing method that convert a process target data into output data with a data format that a service receiving apparatus is able to output
US9455970B2 (en) Information processing system, information processing apparatus, and authentication method
KR20200002985A (ko) 데이터 공유 방법, 클라이언트, 서버, 컴퓨팅 장치 및 저장 매체
US9537849B2 (en) Service provision system, service provision method, and computer program product
US9871778B1 (en) Secure authentication to provide mobile access to shared network resources
US9916308B2 (en) Information processing system, document managing server, document managing method, and storage medium
US20170041504A1 (en) Service providing system, information processing apparatus, program, and method for generating service usage information
US20210336950A1 (en) Service providing system, login setting method, and information processing system
US11153293B1 (en) Identity information linking
WO2016088199A1 (ja) 印刷システム、方法、およびプログラム
CN108629188B (zh) 管理设备和文档管理系统
JP6303312B2 (ja) サービス提供システム及び画像提供方法
US20150040189A1 (en) Service provision system, service provision method, and computer program product
US11995173B2 (en) Service providing system, application usage method, and information processing system
JP2015127950A (ja) 情報処理システム及び情報処理方法
JP6604367B2 (ja) 処理装置及び情報処理装置
JP2015084516A (ja) 情報処理システム、情報処理装置、及び情報処理方法
JP2014241113A (ja) コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170815

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180410

R151 Written notification of patent or utility model registration

Ref document number: 6323994

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151