(57)【要約】      （修正有）【課題】アプリケーションの利用時にユーザ登録と外部サービスとの認可連携を一連の操作の中で実現するサービス連携システムを提供する。【解決手段】サービス連携システムは、第一クラウドシステム１００と第二クラウドシステム２００を備える。第一クラウドシステムは、サービスアプリ１１２の第一ユーザ情報をサービスアプリ１１２利用時にそのアプリ上で登録できる。第二クラウドシステムは、外部サービス３０１との連携情報を含むサービスアプリ２１５の第二ユーザ情報をサービスアプリ２１５の利用開始前に登録させる。第一クラウドシステムを介して呼び出されたサービスアプリ２１５上でユーザ情報の登録リクエストを受け付けた場合、サービス認可部２１４は、アプリと連携する外部サービスを判定し、判定された外部サービスに対して認可連携処理を要求する。ユーザ登録部２１２は外部サービスによる認可連携処理の結果をユーザＩＤと関連付ける。【選択図】図４
2018156405.tif 000002
【特許請求の範囲】
【請求項１】
第一アプリケーションのユーザに係る第一ユーザ情報を前記第一アプリケーションの利用時に前記第一アプリケーション上で登録可能な第一ユーザ管理手段を備えた第一プラットフォームシステムと、外部サービスとの連携情報を含む第二アプリケーションのユーザに係る第二ユーザ情報を前記第二アプリケーションの利用開始前に登録させる第二ユーザ管理手段を備えた第二プラットフォームシステムと、が接続されたサービス連携システムであって、
前記第二プラットフォームシステムは、前記第一プラットフォームシステムを介して呼び出された前記第二アプリケーション上で前記第二ユーザ情報の登録リクエストを受け付けた場合に、前記第二アプリケーションと連携する前記外部サービスを判定する外部サービス判定手段と、判定された前記外部サービスに対して認可連携処理を要求するサービス認可手段と、を備え、
前記第二ユーザ管理手段は、前記外部サービスによる前記認可連携処理の結果を表す認可連携情報をユーザ識別情報に関連付けることを特徴とするサービス連携システム。
【請求項２】
前記サービス認可手段は、前記外部サービス判定手段によって判定された前記外部サービスが前記第二ユーザ情報の登録を要求するユーザに対して未連携の外部サービスである場合に、当該外部サービスに対して前記認可連携処理を要求することを特徴とする請求項１に記載のサービス連携システム。
【請求項３】
前記サービス認可手段は、前記第二アプリケーションが前記外部サービスに対して要求する認可スコープの中に、前記ユーザに係る未許可の認可スコープがある場合に、前記外部サービスに対して前記未許可の認可スコープに係る前記認可連携処理を要求することを特徴とする請求項１又は２に記載のサービス連携システム。
【請求項４】
前記第二プラットフォームシステムは、電子メールを送信するメール送信手段を備え、
前記第二ユーザ管理手段は、未登録のユーザから前記第二ユーザ情報の登録リクエストを受け付けた場合に、メールアドレスの入力を要求するアドレス入力画面を送信し、該ユーザ用の前記第二ユーザ情報の入力画面を形成するユーザ登録用ＵＲＬを生成し、
前記メール送信手段は、前記アドレス入力画面に入力された前記メールアドレス宛に、前記ユーザ登録用ＵＲＬを記述した電子メールを送信することを特徴とする請求項１乃至３の何れか一項に記載のサービス連携システム。
【請求項５】
第一アプリケーションのユーザに係る第一ユーザ情報を前記第一アプリケーションの利用時に前記第一アプリケーション上で登録可能な第一ユーザ管理手段を備えた第一プラットフォームシステムと、外部サービスとの連携情報を含む前記第二アプリケーションのユーザに係る第二ユーザ情報を第二アプリケーションの利用開始前に登録させる第二ユーザ管理手段を備えた第二プラットフォームシステムと、が接続されたシステムにおけるサービス連携方法であって、
前記第一プラットフォームシステムを介して呼び出された前記第二アプリケーション上で前記第二ユーザ情報の登録リクエストを受け付けた場合に、前記第二アプリケーションと連携する前記外部サービスを判定する外部サービス判定ステップと、
判定された前記外部サービスに対して認可連携処理を要求するサービス認可ステップと、
前記外部サービスによる前記認可連携処理の結果を表す認可連携情報をユーザ識別情報に関連付けるステップと、
を実行することを特徴とするサービス連携方法。
【請求項６】
第一アプリケーションのユーザに係る第一ユーザ情報を前記第一アプリケーションの利用時に前記第一アプリケーション上で登録可能な第一ユーザ管理手段を備えた第一プラットフォームシステムに接続されて、外部サービスとの連携情報を含む第二アプリケーションのユーザに係る第二ユーザ情報を前記第二アプリケーションの利用開始前に登録させる第二ユーザ管理手段を備えたサーバであって、
前記第一プラットフォームシステムを介して呼び出された前記第二アプリケーション上で前記第二ユーザ情報の登録リクエストを受け付けた場合に、前記第二アプリケーションと連携する外部サービスを判定する外部サービス判定手段と、
判定された前記外部サービスに対して認可連携処理を要求するサービス認可手段と、を備え、
前記第二ユーザ管理手段は、前記外部サービスによる前記認可連携処理の結果を表す認可連携情報をユーザ識別情報に関連付けることを特徴とするサーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス連携システム、サービス連携方法、及びサーバに関する。
【背景技術】
【０００２】
アプリケーションがＡＰＩを介して他のサーバのサービスを利用することにより、アプリケーションと他のサーバとが連続的に処理を実行して一連のサービスを提供できるようにしたサービス連携システム知られている。サービス連携システムにおいて複数のサービスを跨がるサービスを提供するためには、両サービスを連携させる処理が必要である。
特許文献１に記載のサービス連携システムにおいては、予め、サービス連携装置がアプリケーション毎に各ユーザに発行した共通ユーザＩＤと、外部サービスの利用に必要な接続先ユーザＩＤとを関連付けてデータベースに格納しておく。アプリケーションから共通ユーザＩＤを含む外部サービスへの連携要求を受信した場合に、サービス連携措置は接続先ユーザＩＤを用いて外部サービスにアクセスする。従って、アプリケーションは共通ユーザＩＤとＡＰＩを呼び出すだけで、外部サービスと連携したサービスをユーザに提供できる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来のサービス連携システムにおいては、ユーザが複数のサービスを跨がるサービスを利用する前に、事前にユーザＩＤに対して外部サービスを連携させておく必要があった。即ち、ユーザは、まずアプリケーションに係るユーザ管理データベースにユーザ登録した後、別途、認可連携用サイトから利用する外部サービスを選択し、対象外部サービスが未認証の場合は外部サービス用のユーザＩＤ／パスワード情報を入力し認証（ログイン）を行う。認証済みの状態であれば、外部サービスとの認可連携を許可する。上記作業の完了後にアプリケーションを起動することで、ユーザは外部サービスと連携したサービスを受けることができる。このように従来はアプリケーション利用前の作業が煩雑であった。
本発明は上述の事情に鑑みてなされたものであり、アプリケーションの利用時にユーザ登録と外部サービスとの認可連携を一連の操作の中で実現することを目的とする。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために、請求項１に記載の発明は、第一アプリケーションのユーザに係る第一ユーザ情報を前記第一アプリケーションの利用時に前記第一アプリケーション上で登録可能な第一ユーザ管理手段を備えた第一プラットフォームシステムと、外部サービスとの連携情報を含む第二アプリケーションのユーザに係る第二ユーザ情報を前記第二アプリケーションの利用開始前に登録させる第二ユーザ管理手段を備えた第二プラットフォームシステムと、が接続されたサービス連携システムであって、前記第二プラットフォームシステムは、前記第一プラットフォームシステムを介して呼び出された前記第二アプリケーション上で前記第二ユーザ情報の登録リクエストを受け付けた場合に、前記第二アプリケーションと連携する前記外部サービスを判定する外部サービス判定手段と、判定された前記外部サービスに対して認可連携処理を要求するサービス認可手段と、を備え、前記第二ユーザ管理手段は、前記外部サービスによる前記認可連携処理の結果を表す認可連携情報をユーザ識別情報に関連付けることを特徴とする。
【発明の効果】
【０００５】
本発明によれば、アプリケーションの利用時にユーザ登録と外部サービスとの認可連携を一連の操作の中で実現することが可能となる。
【図面の簡単な説明】
【０００６】
【図１】本発明の一実施形態に係るサービス連携システムの概略構成を示す図である。
【図２】ＰＣのハードウェア構成の一例を示すブロック図である。
【図３】ＭＦＰのハードウェア構成の一例を示すブロック図である。
【図４】本発明の一実施形態に係るサービス連携システムの機能構成を示すブロック図である。
【図５】第二クラウドシステムの第二ユーザ管理ＤＢに記憶されるテーブルの一例を示す図であり、（ａ）はユーザ管理テーブルであり、（ｂ）は外部サービス連携用テーブルである。
【図６】（ａ）〜（ｅ）は、第一クラウドシステムから第二クラウドシステムのアプリケーションを利用する時に実行されるユーザ登録処理及びサービス連携処理に係る画面遷移及び処理概要の一例を示す図である。
【図７】第二クラウドシステムのユーザ登録及びサービス連携に係る処理を示したシーケンス図である。
【図８】実際の画面例を示す図であり、（ａ）はアドレス入力画面を、（ｂ）はメール送信完了画面を示す図である。
【図９】実際の画面例を示す図であり、（ａ）はユーザ登録画面を、（ｂ）はユーザ登録完了画面を示す図である。
【図１０】実際の画面例を示す図であり、（ａ）は認可連携画面を、（ｂ）は認可連携確認画面を示す図である。
【図１１】（ａ）〜（ｄ）は、第一クラウドシステムから第二クラウドシステムのアプリケーションを利用する際に実行されるサービス連携処理に係る画面遷移及び処理概要の一例を示す図である。
【図１２】サービス連携に係る処理を示したシーケンス図である。
【図１３】（ａ）〜（ｄ）は、第一クラウドシステムから第二クラウドシステムのアプリケーションを利用する際に実行されるサービス連携処理に係る画面遷移及び処理概要の一例を示す図である。
【図１４】サービス連携に係る処理を示したシーケンス図である。
【発明を実施するための形態】
【０００７】
〔第一の実施形態〕
本発明は、ユーザがアプリケーションにより実現されるクラウド上のサービスを利用する際に、ユーザ登録と外部サービスの認可連携とを一連の操作の中で実現する点に特徴がある。上記記載の本発明の特徴について、以下の図面を用いて詳細に解説する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
なお、本明細書、及び／又は図面に示されているＢｏｘ、Ｃｏｎｃｕｒ、ＤｒｏｐＢｏｘ、Ｇｏｏｇｌｅ、Ｏｆｆｉｃｅ３６５の語は、それぞれ登録商標である。
【０００８】
また、本明細書においては「アプリケーション」を「アプリ」と省略して記載することがある。
【０００９】
＜システム概要＞
図１は、本発明の一実施形態に係るサービス連携システムの概略構成を示す図である。
【００１０】
サービス連携システム１は、バックエンドとして、第一プラットフォームシステムの下で第一クラウドサービスを提供する第一クラウドシステム１００と、第二プラットフォームシステムの下で第二クラウドサービスを提供する第二クラウドシステム２００と、第二クラウドシステム２００と連携する複数の外部サービス３０１Ｘ、３０１Ｙ、３０１Ｚ…を含む外部サービス群３００と、第二クラウドシステム２００から送信された電子メールを受信するメール受信サーバ４００とを備える。上記各システムの機能は、夫々、単一のサーバ（装置）によって実現されてもよいし、複数のサーバ（装置）によって実現されてもよい。
また、サービス連携システム１は、上記各システムを利用するクライアント側の装置として、ＭＦＰ（Multifunction Peripheral：プリンタ複合機、画像形成装置）５００と、ＰＣ（Personal Computer）６００を備える。ＭＦＰ５００とＰＣ６００は、バックエンドに対するフロントエンドとして機能する。
サービス連携システムを構成する各システム及び装置は、ネットワークＮを介して互いにデータを送受信可能に接続されている。
【００１１】
＜＜第一クラウドシステム＞＞
第一クラウドシステム１００は、複数の機能モジュール１０１と、第一ユーザ管理ＤＢ１０２を備える。
第一クラウドシステム１００は機能モジュール１０１として、ＭＦＰ５００からのリクエストに基づいてＭＦＰ５００に対してプリントサービスやスキャニングサービス等の各種のサービスを、ネットワークＮを介して夫々提供するサービスアプリ（第一アプリケーション）、各サービスアプリを呼び出すボタンを表示したホーム画面を生成するランチャーアプリ、各サービスアプリを利用するユーザをサービスアプリ毎に管理するユーザ管理モジュール（第一ユーザ管理手段）、ユーザのログイン認証を行う認証モジュール等を備えている。
第一ユーザ管理ＤＢ（第一ユーザ管理手段）１０２は、各サービスアプリが提供するサービスを利用するユーザのユーザ情報（第一ユーザ情報）を記憶する手段である。第一クラウドシステム１００においては、各サービスを利用するユーザのユーザ情報がユーザ管理モジュールによってサービスアプリ毎に管理される。即ち、ユーザ管理モジュールはユーザ情報として、ユーザ名（ユーザＩＤ）、組織名（組織ＩＤ）、メールアドレス、パスワード、氏名等をサービス毎に個別に管理する。また、第一クラウドシステム１００においてユーザ情報は、サービスアプリの提供時に、言い換えれば、ユーザによるサービスアプリの利用時（又は利用開始時）に、各サービスアプリの画面上で登録可能な構成となっている。
【００１２】
＜＜第二クラウドシステム＞＞
第二クラウドシステム２００は、第一クラウドシステム１００と同様に、複数の機能モジュールと第二ユーザ管理ＤＢ２０４を備える。
第二クラウドシステム２００は機能モジュールとして、認証モジュール２０１、ＧＵＩ（Graphical User Interface）モジュール２０２、及びサービスモジュール２０３を備える。認証モジュール２０１は、第二クラウドシステム２００の各サービスを利用するユーザのユーザ情報の登録、管理、及び認証を行う。ＧＵＩモジュール２０２は、認証モジュール２０１を利用したユーザ情報の登録や管理等に係る各処理を行うためのＧＵＩ（ｈｔｍｌコンテンツ）を保持する。サービスモジュール２０３は、ＭＦＰ５００からのリクエストに基づいてＭＦＰ５００に対してプリントサービスやスキャニングサービス等の各種のサービスをネットワークＮを介して提供するアプリケーションモジュールである。
第二ユーザ管理ＤＢ２０４は、各サービスモジュール２０３が提供するサービスを利用するユーザのユーザ情報を記憶する手段である。第二クラウドシステム２００においては、各サービスを利用するユーザのユーザ情報が認証モジュール２０１によって一元に管理される。即ち、認証モジュール２０１は、ユーザ情報として、ユーザ名（ユーザＩＤ）、組織名（組織ＩＤ）、メールアドレス、パスワード、氏名等を複数のサービスでまとめて一元に管理する。認証モジュール２０１は、ユーザ認証の際に第二ユーザ管理ＤＢ２０４にアクセスして、ユーザ認証に必要な情報を読み出し、読み出した情報に基づいてユーザ認証を行う。
なお、第二クラウドシステム２００においてユーザ情報は、サービスの提供前に、言い換えれば、ユーザによるサービスの利用開始前に登録されていることを原則とする。しかし、第一クラウドシステム１００を介してサービスを提供する場合、ユーザ情報は、第一クラウドシステム１００と同様にサービスの提供時に、言い換えれば、ユーザによるサービスの利用時（又は利用開始時）に、各サービスモジュールの画面上から登録可能である。
【００１３】
＜＜外部サービス群＞＞
外部サービス群３００は、複数の外部サービス３０１（３０１Ｘ、３０１Ｙ、３０１Ｚ…）を含む。各外部サービス３０１はＯＳＳ（Open-source software）としても提供される外部ストレージサービスである。外部サービス３０１は、第二クラウドシステム２００が提供する各サービスモジュール２０３と連携して、ユーザに各種のサービスを提供する。
例えば外部サービス３０１は、ＭＦＰ５００によって読み取られたスキャニングデータを記憶したり、スキャニングデータをＯＣＲ処理すると共に処理結果であるＯＣＲデータを記憶するといったサービスを提供する。
【００１４】
＜＜メール受信サーバ＞＞
メール受信サーバ４００は、第二クラウドシステム２００から送信された電子メールを受信し、蓄積するサーバである。
【００１５】
＜＜ＭＦＰ＞＞
ＭＦＰ５００は、各クラウドシステム１００、２００からネットワークＮを介してサービスの提供を受ける装置である。ＭＦＰ５００には、予めブラウザ５０１がインストールされている。ブラウザ５０１は、各クラウドシステム１００、２００が提供するサービスを呼び出すことができる。ブラウザ５０１は、呼び出した各サービスに係る画面（ｈｔｍｌコンテンツ）を表示し、各サービスに対して処理リクエストを送信することができる。
なお、上記各クラウドシステムが提供するサービスを受けるため、ＭＦＰ５００にはブラウザ５０１の代わりに、又はブラウザ５０１と合わせて、上記各クラウドシステムの双方に対応した又は夫々に個別に対応した専用のアプリケーションがインストールされていてもよい。更に、上記各クラウドシステムが提供するサービスを受ける装置はＭＦＰ５００以外の電子機器でもよく、例えばＰＣやスマートフォン等であってもよい。
【００１６】
＜＜ＰＣ＞＞
ＰＣ６００は、ＭＦＰ５００により第二クラウドシステム２００から提供されるサービスを利用するにあたって、当該サービスを利用するユーザに係るユーザ情報の入力を受け付けると共に、入力されたユーザ情報を第二クラウドシステム２００に送信して登録させるようにリクエストする装置である。ＰＣ６００には、予めブラウザ６０１がインストールされており、ブラウザ６０１上に第二クラウドシステム２００から送信されたユーザ情報の登録画面等（ｈｔｍｌコンテンツ）を表示させることができる。
更に、ＰＣ６００は、第二クラウドシステム２００から送信された電子メールを、ブラウザ６０１により、又は専用のメールアプリにより、メール受信サーバ４００から取得して表示することができる。
なお、上記各機能を実現する装置はＰＣ６００以外であってもよく、例えばスマートフォン等の携帯端末であってもよい。
【００１７】
＜ハードフェア構成＞
図２は、ＰＣのハードウェア構成の一例を示すブロック図である。
ＰＣ６００は、ＣＰＵ（Central Processing Unit）６１１、ＲＯＭ（Read Only Memory）６１２、ＲＡＭ（Random Access Memory）６１３、ＨＤＤ（Hard Disk Drive）６１４、操作部６１５、表示部６１６、及び通信ＩＦ６１７を備えており、上記各部はバスを介して接続されている。
ＣＰＵ６１１は、ＰＣ６００を統括的に制御する演算装置である。ＲＯＭ６１２は、ＢＩＯＳやブートプログラム等を記憶した不揮発性のメモリである。ＲＡＭ６１３は、ＣＰＵ６１１が実行するプログラムのワークエリアとなる揮発性メモリである。ＨＤＤ６１４は、ＲＯＭ６１２とは異なるプログラムやデータ等を記憶する不揮発性の記憶手段である。ＣＰＵ６１１はＲＯＭ６１２又はＨＤＤ６１４から読み出したデータをＲＡＭ６１３に展開して実行することにより、各種の機能を実現する。
操作部６１５は、ユーザからの操作を受け付ける手段である。表示部６１６は、ユーザに対して操作結果等を表示するインターフェースである。操作部６１５は、例えばキーボードやマウス等により構成され、表示部６１６はディスプレイ等により構成される。操作部６１５と表示部６１６を一体化してタッチパネルディスプレイによって構成してもよい。
通信ＩＦ６１７は、ネットワークＮと接続し、ネットワークＮを介して接続された各装置との間でデータを送受信するためのインターフェースである。
なお、図１に示す第一クラウドシステム１００、第二クラウドシステム２００、及び各外部サービス３０１を構成する各サーバ、並びにメール受信サーバ４００のハードウェア構成も、ＰＣ６００のハードウェア構成と同様であるため、説明を省略する。
【００１８】
図３は、ＭＦＰのハードウェア構成の一例を示すブロック図である。
ＭＦＰ５００は、コントローラ５１０、操作表示部５１６、エンジン制御部５１８、スキャナエンジン５１９、及びプリントエンジン５２０等を有する。
コントローラ５１０は、ＣＰＵ５１１、ＲＯＭ５１２、ＲＡＭ５１３、ＨＤＤ５１４、操作表示ＩＦ５１５、及び通信ＩＦ５１７等を備えており、上記各部はバスを介して接続されている。ＣＰＵ５１１、ＲＯＭ５１２、ＲＡＭ５１３、ＨＤＤ５１４、及び通信ＩＦ５１７は、ＰＣ６００が備える構成と同様であるため、説明を省略する。操作表示ＩＦ５１５は、操作表示部５１６をコントローラ５１０に接続するためのインターフェースである。
操作表示部５１６は、ユーザからの操作を受け付けると共に、ユーザに対して各種データを表示する手段であり、例えばタッチパネルディスプレイによって実現される。なお、操作を受け付ける手段と操作結果等を表示する手段とを別体のハードウェアから構成してもよい。
エンジン制御部５１８は、スキャナエンジン５１９や、プリントエンジン５２０を制御する手段である。スキャナエンジン５１９は、原稿等の画像を読み取る装置である。プリントエンジン５２０は、印刷用紙等の記録媒体に画像を形成する装置である。
【００１９】
＜機能ブロック＞
図４は、本発明の一実施形態に係るサービス連携システムの機能構成を示すブロック図である。
クライアント端末７００は、図１に示したＭＦＰ５００又はＰＣ６００であり、本システムにおけるフロントエンドである。クライアント端末７００は、ブラウザ７０１内に、ＵＩ（User Interface）部７０２、Ｃｏｏｋｉｅ保持部７０３、及びＷｅｂストレージ７０４を有する。
ＵＩ部７０２は、ブラウザ７０１のインターフェースであり、図２又は図３に示すＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに展開して実行することにより実現される。
Ｃｏｏｋｉｅ保持部７０３は、第一クラウドシステム１００又は第二クラウドシステム２００との間のデータ通信に関するＣｏｏｋｉｅ情報を保持する領域である。
Ｗｅｂストレージ７０４は、クライアント端末７００がＵＩ部７０２を介して取得したデータを記憶する領域であり、セッションストレージとローカルストレージを含む。セッションストレージは、ウィンドウやタブ単位での一回限りのセッションで有効なストレージである。ローカルストレージは、永続的にデータを保持する領域である。
Ｃｏｏｋｉｅ保持部７０３とＷｅｂストレージ７０４は、図２又は図３のＲＡＭ又はＨＤＤによって実現される。
【００２０】
第一クラウドシステム１００は、ホーム画面を生成するランチャーアプリ１１１、及び各種のサービスを提供するサービスアプリ１１２（第一アプリケーション）等を備える。ランチャーアプリ１１１、及びサービスアプリ１１２は、ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに展開して実行することにより実現される。
第二クラウドシステム２００は、メール送信部（メール送信手段）２１１、ユーザ登録部（第二ユーザ管理手段）２１２、ユーザ認証部（ユーザ認証手段）２１３、サービス認可部（外部サービス判定手段、サービス認可手段）２１４、サービスアプリ（第二アプリケーション）２１５、第二ユーザ管理ＤＢ（第二ユーザ管理手段）２０４、及びキャッシュ２１７を備える。メール送信部２１１、ユーザ登録部２１２、ユーザ認証部２１３、サービス認可部２１４、及び、サービスアプリ２１５は、ＣＰＵがＲＯＭに記憶されたプログラムをＲＡＭに展開して実行することにより実現される。第二ユーザ管理ＤＢ２０４はＨＤＤによって実現され、キャッシュ２１７はＲＡＭによって実現される。
メール送信部２１１は、クライアント端末７００のＵＩ部７０２から入力されたメールアドレス宛に所定のＵＲＬを記述した電子メールを送信する手段である。ユーザ登録部２１２は、サービスアプリ２１５を利用するユーザに係るユーザ情報（第二ユーザ情報）の登録や管理に係る各処理を行う。ユーザ認証部２１３は、ユーザを認証する処理を実行する。サービス認可部２１４は、第二クラウドシステム２００が提供するサービスに対して外部サービス３０１を認可し、連携させる処理を実行する。
サービスアプリ２１５は、クライアント端末７００にプリントサービスやスキャンサービス等の各種のサービスを提供するアプリケーションソフトウェアである。
【００２１】
第二ユーザ管理ＤＢ２０４は、第二クラウドシステム２００が提供するサービスを利用するユーザのリストであるユーザ管理テーブルと、第二クラウドシステム２００が提供するサービスと外部サービス３０１とを連携させるためのテーブルであるサービス連携テーブルとを記憶する。キャッシュ２１７は、各種データの一次記憶領域である。
なお、本図と図１との対応関係は以下の通りである。メール送信部２１１とユーザ登録部２１２はＧＵＩモジュール２０２に対応し、ユーザ認証部２１３とサービス認可部２１４はＧＵＩモジュール２０２と認証モジュール２０１に対応する。サービスアプリ２１５はサービスモジュール２０３に対応する。
【００２２】
＜サービス連携用テーブル＞
図５は、第二クラウドシステムの第二ユーザ管理ＤＢに記憶されるテーブルの一例を示す図であり、（ａ）はユーザ管理テーブルであり、（ｂ）は外部サービス連携用テーブルである。
図５（ａ）のユーザ管理テーブルには、ユーザを識別する一意のユーザＩＤ（ユーザ識別情報）に対して、ユーザが所属する組織を識別する一意の組織ＩＤ（組織識別情報）、ユーザの姓名、メールアドレス、性別等が関係づけて記憶される。ユーザ管理テーブルは、ユーザ認証部２１３がユーザ認証を行う際、及び、ユーザ登録部２１２がユーザを第二クラウドシステム２００の利用者として登録する際に、第二ユーザ管理ＤＢ２０４から読み出される。ユーザ登録部２１２は、ユーザ管理テーブルを利用して、ユーザの重複登録のチェック、及び新規ユーザの登録を実行する。
なお、ユーザＩＤは、第二クラウドシステム２００の各サービスアプリを利用するに際して共通に用いられる識別情報であり、新規ユーザ登録の際に第二クラウドシステム２００によって発行される。また、ユーザＩＤは、それ単体で他のユーザＩＤと識別可能な一意性を持っていてもよいし、ユーザＩＤと組織ＩＤを組み合わせることにより、他のユーザＩＤと組織ＩＤの組み合わせから識別可能な一意性が生ずるようにしてもよい。
【００２３】
図５（ｂ）の外部サービス連携用テーブルは、ユーザ毎（ユーザＩＤ毎）に用意される。外部サービス連携用テーブルには、各サービスアプリが提供するサービスに与えられた一意のサービスＩＤ（サービス識別情報）に対して、外部サービスの名称、外部サービスへのリダイレクトＵＲＬ、及び、外部サービスとの認可連携状態を示す認可連携情報等が関係づけて記憶される。なお、認可連携情報には、サービスＩＤが表すサービスに対して外部サービスが認可連携されているか否かを示す認可可否情報、及び認可連携されている外部サービスの権限の範囲を示す認可スコープ等を含む。外部サービス連携用テーブルは、サービス認可部２１４が、ユーザが利用するアプリケーションに対して外部サービスを認可連携する際に、第二ユーザ管理ＤＢ２０４から読み出される。
【００２４】
＜ユーザ登録の操作概要＞
図６（ａ）〜（ｅ）は、第一クラウドシステムから第二クラウドシステムのアプリケーションを利用する時に実行されるユーザ登録処理及びサービス連携処理に係る画面遷移及び処理概要の一例を示す図である。
【００２５】
図６（ａ）は、ＭＦＰ５００に表示されるホーム画面８１０の一例を示す図である。ホーム画面８１０は、第一クラウドシステム１００が提供するサービスアプリケーションの一つであるランチャーアプリ１１１（図４）によって形成されるｈｔｍｌコンテンツの画面である。
ホーム画面８１０には、第一クラウドシステム１００が提供するアプリケーションＡ、Ｂ…を呼び出すアプリボタン８１１Ａ、８１１Ｂ、及び第二クラウドシステム２００が提供するアプリａを呼び出すアプリボタン８１１ａが表示されている。なお、本実施形態において第二クラウドシステム２００からは、一つのアプリが提供されるものとする。
ここで、ＭＦＰ５００の所有者である組織（例えば会社などの法人）は、予め第一クラウドシステム１００の提供者、及び第二クラウドシステム２００の提供者とサービスの利用契約をしている必要がある。ホーム画面８１０には、組織が各サービスの提供者との間で利用契約したアプリに対応するアプリボタンが表示される。組織に所属する一般ユーザが組織ＩＤ、ユーザＩＤ及びパスワード等の認証情報を用いてＭＦＰ５００から第一クラウドシステム１００にログインすることにより、ＭＦＰ５００のブラウザ５０１にホーム画面８１０が表示される。更に、各ユーザは、ホーム画面８１０に表示されたアプリの利用時（又は利用開始時）に、組織ＩＤと関連付けられた自身のユーザＩＤにてアプリに対するユーザ登録を行う必要がある。
ユーザがアプリボタン８１１ａを押下して、アプリの呼び出しを指示することにより、ブラウザの画面は図６（ｂ）に遷移する。
【００２６】
図６（ｂ）は、第二クラウドシステム２００上のアプリが提供するアプリ画面８２０の一例を示す図である。アプリ画面８２０は、ユーザリストボタン８２１、登録ボタン８２２、及び戻るボタン８２３を備えている。ユーザリストボタン８２１は、アプリを利用するユーザをリスト表示するためのボタンであり、登録ボタン８２２はユーザＩＤにアプリを関連付けて登録するためのボタンであり、戻るボタン８２３はホーム画面８１０に遷移するためのボタンである。
ユーザが登録ボタン８２２を押下してユーザ登録を指示することにより、ブラウザの画面が遷移する。なお、本実施形態のように未登録のユーザが新規にユーザ登録をする場合は図６（ｃ）に示す画面に遷移する。
【００２７】
図６（ｃ）は、ユーザにメールアドレスを入力させるアドレス入力画面８３０の一例を示す図である。
ユーザがアドレス入力欄８３１にメールアドレスを入力してＳｅｎｄボタン８３２を押下すると、入力されたメールアドレスが第二クラウドシステム２００に送信される。第二クラウドシステム２００は、送信されたメールアドレス宛にユーザ登録用ＵＲＬを含む電子メールを送信する。
【００２８】
図６（ｄ）は、ユーザ登録画面等の一例を示す図である。
ユーザが、ＭＦＰ５００とは異なるクライアント端末であるＰＣ６００にて電子メールを受信し、受信した電子メールに記載されたユーザ登録用ＵＲＬをブラウザ６０１にて開くと、ユーザ登録画面８４０が表示される。
ユーザ登録画面８４０は、メールアドレス以外のユーザ情報を登録する画面である。ユーザは、ユーザ登録画面８４０にて必要な情報を入力し、保存ボタン８４１を押下すると、ユーザ情報が第二クラウドシステム２００のユーザ登録部２１２（図中、Ａｐｐ．ａ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ＆  ＩＤ  ｍａｎａｇｅｍｅｎｔ）に送信される。ユーザ登録部２１２は、送信されたユーザ情報を第二ユーザ管理ＤＢ２０４（図４）のユーザ管理テーブル（図５（ａ））に記憶させる。
【００２９】
図６（ｅ）は、外部サービスとの認可連携を実行する認可連携画面８５０の一例を示す図である。図６（ｄ）に示すユーザ情報の登録が成功した場合、もし対象外部サービスが未認証であれば認証画面（ログイン画面）が表示される。ユーザは、外部サービス用のユーザＩＤ／パスワード情報を入力し、認証が完了すると、ＰＣ６００のブラウザ６０１には認可連携画面８５０が表示される。
認可連携画面８５０は、アプリが特定の外部サービスとの認可連携を必要とするアプリの場合、例えばアプリがスキャナアプリであり、画像読取装置にて読み取ったスキャンデータを特定の外部ストレージサービスに送信して記憶させる場合に、当該アプリと特定の外部ストレージサービスとが連携できるように、外部ストレージサービスがアプリを認可する処理（外部ストレージサービスに対するアクセス許可をアプリに与える処理）を実行するための画面である。
認可連携画面８５０は許可ボタン８５１を有している。ユーザは、アプリと特定の外部サービスとの認可連携を受け容れる場合に許可ボタン８５１を押下する。
【００３０】
＜フローチャート／シーケンスチャート＞
第二クラウドシステムにおけるユーザ登録処理及びサービス連携処理について図６、図８を参照して説明する。図７は、第二クラウドシステムのユーザ登録及びサービス連携に係る処理を示したシーケンス図である。
ステップＳ１０１において、ユーザがＭＦＰ５００のブラウザ５０１からホーム画面８１０（図６（ａ））を要求する指示を入力する。即ち、ユーザは、ＭＦＰ５００のブラウザ５０１に表示されたログイン画面に組織ＩＤ、ユーザＩＤ及びパスワードを入力し、第一クラウドシステム１００へのログイン（初回ログイン）を指示する。
ステップＳ１０３において、ＭＦＰ５００は、第一クラウドシステム１００に対して組織ＩＤ、ユーザＩＤ及びパスワードを送信してシステムへのログインをリクエストすると共に、ホーム画面８１０をリクエストする。また、ＭＦＰ５００のブラウザ５０１は、組織ＩＤをＷｅｂストレージ７０４（図４）のセッションストレージに保持する。
ステップＳ１０４において、第一クラウドシステム１００は認証モジュールによりログイン認証処理を実行する。
ステップＳ１０５において、第一クラウドシステム１００は認証処理が成功した場合にＭＦＰ５００のブラウザ５０１にホーム画面８１０を返却する。これにより、ブラウザ５０１にホーム画面８１０が表示される。
【００３１】
ステップＳ１０７においてユーザは、ホーム画面８１０に表示されたアプリボタン８１１ａを押下することにより、第二クラウドシステム２００上のアプリの呼び出しを指示する。
ステップＳ１０９においてＭＦＰ５００は、第二クラウドシステム２００に対してアプリの呼び出しをリクエストする。
ステップＳ１１１において、第二クラウドシステム２００はＭＦＰ５００に対してアプリ画面８２０（図６（ｂ））を返却する。
ステップＳ１１３において、ユーザは、アプリ画面８２０の登録ボタン８２２を押下して、ユーザ登録の実行を指示する。
ステップＳ１１５において、ＭＦＰ５００は、第二クラウドシステム２００に対して、アドレス入力画面８３０（図６（ｃ）、図８（ａ））をリクエストする。
ステップＳ１１７において、第二クラウドシステム２００のユーザ登録部２１２は、ＭＦＰ５００に対してアドレス入力画面８３０を返却する。
【００３２】
ステップＳ１１９において、ユーザは、アドレス入力画面８３０のアドレス入力欄８３１に自身のメールアドレスを入力し、Ｓｅｎｄボタン８３２を押下する。
ステップＳ１２１においてＭＦＰ５００のブラウザ５０１は、アプリにより提供されるサービスを識別するサービスＩＤと入力されたメールアドレスと、セッションストレージに保持されている組織ＩＤと共に、該当メールアドレス宛への電子メールの送信リクエストと電子メールの送信完了画面の送付リクエストを送信する。
ステップＳ１２３において、ユーザ登録部２１２は、新規なユーザ情報として、ユーザＩＤに組織ＩＤとメールアドレスを関連付けたレコードをユーザ管理テーブル（図５（ａ））に作成し、第二ユーザ管理ＤＢ２０４に記憶させる。また、ユーザ登録部２１２は、当該ユーザ用の外部サービス連携用テーブル（図５（ｂ））を作成して第二ユーザ管理ＤＢ２０４に記憶させる。
ステップＳ１２５において、第二クラウドシステム２００のメール送信部２１１は、該当アドレスにユーザ登録用ＵＲＬを記載した電子メールを送信する。
ステップＳ１２７において、メール送信部２１１は、ＭＦＰ５００のブラウザ５０１にメール送信完了画面（図８（ｂ））を返却する。
【００３３】
本ステップ以降、ユーザはＰＣ６００を操作する。
ステップＳ１２９において、ＰＣ６００は電子メールを受信する。なお、電子メールはブラウザ６０１で受信しても、専用のメールアプリで受信してもよい。
ステップＳ１３１においてユーザは、受信した電子メールに記載されたＵＲＬへのリンクを選択し、当該ＵＲＬに示されたＷｅｂページの表示を指示する。
ステップＳ１３３において、ＰＣ６００のブラウザ６０１は、第二クラウドシステム２００のユーザ登録部２１２に対してユーザ登録画面８４０（図６（ｄ）、図９（ａ））を要求する。
ステップＳ１３５において、ユーザ登録部２１２は、ユーザ登録画面８４０を返却する。
【００３４】
ステップＳ１３７において、ユーザは、ユーザ登録画面の各項目欄に必要な事項を入力し、保存ボタン８４１（図６（ｄ）、図９（ａ））を押下する。
ステップＳ１３９において、ブラウザ６０１は、第二クラウドシステム２００に対してユーザ情報の登録リクエストと、アプリにより提供されるサービスと連携する外部サービスの判定リクエストを送信する。
ステップＳ１４１において、ユーザ登録部２１２は、入力された情報をユーザＩＤと関連付けて第二ユーザ管理ＤＢ２０４のユーザ管理テーブル（図５（ａ））に記憶させる。
ステップＳ１４３において、サービス認可部２１４は、ステップＳ１２１にて送信されたサービスＩＤに基づいて、当該サービスと連携する外部サービスを判定し（外部サービス判定ステップ）、判定結果をユーザ登録部２１２に渡す。
ステップＳ１４５において、ユーザ登録部２１２は、ユーザ登録完了画面（図９（ｂ））を返却する。ユーザ登録完了画面は、サービスＩＤに関連付けられた外部サービスとの認可連携を実行するか否かをユーザに選択させるボタンを含む。
【００３５】
ステップＳ１４７において、ユーザは、サービスＩＤに関連付けられた外部サービスとの認可連携を実行する場合、ユーザ登録完了画面８７０に表示されたコネクトボタン８７１（図９（ｂ））を押下する。
ステップＳ１４９において、ブラウザ６０１は、認可連携画面を要求する。
ステップＳ１５１において、サービス認可部２１４は外部サービス３０１に対して、認可連携画面を要求する。
ステップＳ１５３において、外部サービス３０１は、認可連携画面８５０（図６（ｅ）、図１０（ａ））を返却する。なお、外部サービスが未認証である場合、外部サービス３０１はステップＳ１５３に先立って認証画面を返却する。ユーザから外部サービス用のユーザＩＤとパスワードが入力されて認証処理が完了した後に、外部サービス３０１はステップＳ１５３の処理を実行する。
ステップＳ１５５において、サービス認可部２１４は、認可連携画面８５０を返却する。
【００３６】
ステップＳ１５７において、ユーザは外部サービス３０１との認可連携を許可する場合、認可連携画面８５０の許可ボタン８５１を押下する。
ステップＳ１５９において、ブラウザ６０１は、サービス認可部２１４に対して認可連携をリクエストする。
ステップＳ１６１において、サービス認可部２１４は、外部サービス３０１に対して認可連携をリクエストする（サービス認可ステップ）。
ステップＳ１６３において、外部サービス３０１は認可連携処理を実行し、認可連携の可否を応答する。
ステップＳ１６４において、ユーザ登録部２１２は、外部サービス３０１による認可連携処理の結果を表す認可可否情報を含む認可連携情報を、ユーザＩＤに関連付けて第二ユーザ管理ＤＢ２０４中の外部サービス連携用テーブルに記憶させる。即ち、ユーザ登録部２１２は、ユーザ毎に用意された外部サービス連携用テーブルに認可連携処理の結果（認可連携の可否、及び認可スコープ）を記憶させる。
ステップＳ１６５においてサービス認可部２１４は、認可連携確認画面（図１０（ｂ））をブラウザ６０１に返却する。
【００３７】
＜画面サンプル＞
図８は、実際の画面例を示す図であり、（ａ）はアドレス入力画面を、（ｂ）はメール送信完了画面を示す図である。
図８（ａ）に示すアドレス入力画面８３０は、図６（ｃ）に対応する画面であり、図７のシーケンスチャートのステップＳ１１９にてブラウザ５０１に表示される画面である。即ち、アドレス入力画面８３０は第一クラウドシステム１００のユーザが第一クラウドシステム１００を介して第二クラウドシステム２００が提供するサービスを利用する場合（図６（ｂ）の登録ボタン８２２を押下した場合）にＭＦＰ５００のブラウザ５０１に表示される画面である。第二クラウドシステム２００のサービスを新規に利用するユーザは、第二クラウドシステム２００に対してアカウントを登録する必要がある。第二クラウドシステム２００にアカウント登録されていない第一クラウドシステム１００用のユーザＩＤに対しては、アドレス入力画面８３０が表示される。
アドレス入力画面８３０のアドレス入力欄８３１にメールアドレスを入力し、Ｓｅｎｄボタン８３２を押下すると、ＭＦＰ５００のブラウザ５０１に表示される画面は図８（ｂ）に示すメール送信完了画面８６０に遷移する（ステップＳ１２７）。
【００３８】
図９は、実際の画面例を示す図であり、（ａ）はユーザ登録画面を、（ｂ）はユーザ登録完了画面を示す図である。
図９（ａ）に示すユーザ登録画面８４０は、図６（ｄ）に対応する画面であり、図７のステップＳ１３７にてＰＣ６００のブラウザ６０１に表示される画面である。ユーザ登録画面は新規にアカウント登録する各ユーザに対して固有に与えられる画面であり、メールアドレスの項目には図９（ａ）にて入力したメールアドレスが既に入力されている。ユーザがアカウント登録に必要な項目として、ユーザ名、パスワード、姓名を各欄に入力し、保存ボタン８４１を押下することでアカウントの登録処理が実行される。
図９（ｂ）に示すユーザ登録完了画面８７０は、ユーザ登録画面８４０で保存ボタン８４１を押下した場合に表示される画面であり、図７のステップＳ１４７にてＰＣ６００のブラウザ６０１に表示される画面である。引き続き、外部サービスとの認可連携を希望する場合、ユーザはコネクトボタン８７１を押下する。
【００３９】
図１０は、実際の画面例を示す図であり、（ａ）は認可連携画面を、（ｂ）は認可連携確認画面を示す図である。
図１０（ａ）に示す認可連携画面８５０は、図６（ｅ）に対応する画面であり、図７のステップＳ１５７にてＰＣ６００のブラウザ６０１に表示される画面である。認可連携画面８５０は外部サービスから提供される。外部サービスとの認可連携を希望する場合、ユーザは許可ボタン８５１を押下する。
図１０（ｂ）に示す認可連携確認画面８８０は、図７のステップＳ１６５にてＰＣ６００のブラウザ６０１に返却される画面である。ユーザは、ユーザＩＤに対する外部サービスとの認可連携状態、及び認可連携が正常に終了したか否かを認可連携確認画面８８０にて確認できる。
【００４０】
＜各クラウドシステムにおけるユーザ管理方法＞
各クラウドシステムにおけるユーザ管理方法について補足する。
第一クラウドシステム１００においては、ユーザ情報がサービスアプリごとに管理される。即ち、図６（ａ）のホーム画面に表示された第一クラウドシステム１００の各アプリの利用時（又は利用開始時）に、ユーザはアプリの画面から（アプリ上で）ユーザ名（ユーザＩＤ）、パスワード、姓名を入力してアプリ毎にユーザ登録する必要がある。アプリに対して登録されたユーザのユーザＩＤは、初回ログイン時に入力された組織ＩＤに関連付けて管理される。また、外部サービスとの認可連携処理は、各アプリに対するユーザ登録の際に実行される。
第二クラウドシステム２００においては、ユーザ情報がシステム内で一元に管理されている。第一クラウドシステム１００を介在させずに第二クラウドシステム２００を利用する場合、アプリの利用開始前に予めユーザ名（ユーザＩＤ）、組織名（組織ＩＤ）、パスワード、姓名等のユーザ情報の登録処理、及び外部サービスとの認可連携処理を完了している必要がある。
本実施形態は、第一クラウドシステム１００を介して第二クラウドシステム２００のサービスを利用する場合に、第一クラウドシステム１００と同様にアプリの利用時（又は利用開始時）にアプリの画面からユーザ登録と外部サービスとの認可連携を行うようにしたものである。ユーザは、図６（ｃ）のアドレス入力画面に入力したアドレス宛に送信された電子メールを開き、該電子メールに記載されたＵＲＬにアクセスすることで、ユーザ情報の登録から外部サービスとの認可連携までの処理を一連の操作の中で実行することができる。
即ち、アプリから通知されるサービスＩＤを利用することによって、アプリに対するユーザ登録の有無や認可連携の有無を判定することができるので、ユーザが、アプリの利用開始前に、予めクラウドシステムに対するユーザ登録や、外部サービスとの認可連携を行わなくともよい。従って、ユーザビリティが向上する。
【００４１】
〔第二の実施形態〕
本発明の第二の実施形態に係るサービス連携システムについて説明する。第二クラウドシステムにおいては、組織が契約している何れかのアプリに対してユーザ登録を行えば、組織が契約している他のアプリに対してもユーザが関連付けられるため、以降、ユーザはユーザ情報の入力操作（アプリに対するユーザ登録）をしなくとも他のアプリを利用することができる。しかし、外部サービスとの認可連携が完了していないアプリについては、外部サービスと連携したサービスを提供できない。
そこで、本実施形態においては、第二クラウドシステムの利用者として登録されたユーザについて、簡易な操作で外部サービスとの認可連携を行うようにした点に特徴がある。具体的には、他のアプリについてはユーザ情報の入力を省略してユーザ認証のみを行い、ユーザ認証できた場合に外部サービスとの認可連携を行う点に特徴がある。
【００４２】
＜ユーザ登録の操作概要＞
図１１は、第一クラウドシステムから第二クラウドシステムのアプリケーションを利用する際に実行されるサービス連携処理に係る画面遷移及び処理概要の一例を示す図である。なお、図６に示した画面と同様の画面については、適宜説明を省略する。
【００４３】
図１１（ａ）は、ＭＦＰ５００に表示されるホーム画面８１０の一例を示す図である。
ホーム画面８１０には、第一クラウドシステム１００上のアプリＡ、Ｂを夫々呼び出すアプリボタン８１１Ａ、８１１Ｂ、及び第二クラウドシステム２００上のアプリａ、ｂを夫々呼び出すアプリボタン８１１ａ、８１１ｂが表示されている。本実施形態において第二クラウドシステムからは複数のアプリが提供されるものとする。ただし、アプリａ、ｂは、アプリ内で連携する外部サービスが互いに異なる。即ち、アプリａは外部ストレージサービスＳｔｏｒａｇｅＸと連携し、スキャナエンジン５１９（図３）にて読み取ったスキャンデータをＳｔｏｒａｇｅＸに送信して保存するアプリである。また、アプリｂは外部ストレージサービスＳｔｏｒａｇｅＹと連携し、スキャンデータをＳｔｏｒａｇｅＹに送信して保存するアプリである。
ユーザがアプリボタン８１１ｂを押下して、アプリｂの呼び出しを指示することにより、ブラウザの画面は図１１（ｂ）に遷移する。
【００４４】
図１１（ｂ）は、第二クラウドシステム２００上のアプリが提供するアプリ画面８２０の一例を示す図である。アプリ画面８２０は図６（ｂ）と同様であるが、操作ボタンとして登録・認証ボタン８２４を備えている。
ユーザが登録・認証ボタン８２４を押下することにより、ＭＦＰ５００のブラウザ５０１の画面が図１１（ｃ）に示す画面に遷移する。
【００４５】
図１１（ｃ）は、ユーザにユーザＩＤとパスワードを入力させるＩＤ／ＰＷ入力画面８９０の一例を示す図である。ＩＤ／ＰＷ入力画面８９０は、ＩＤ／ＰＷ入力欄８９１、ＯＫボタン８９２、新規登録ボタン８９３を備える。
ＩＤ／ＰＷ入力画面８９０は、登録済みユーザに対しては第二クラウドシステム２００にログインする画面として機能し、新規ユーザに対しては第二クラウドシステム２００にユーザ登録を促す画面として機能する。即ち、登録済みユーザがＩＤ／ＰＷ入力欄８９１にユーザＩＤとパスワードを入力してＯＫボタン８９２を押下すると、入力されたユーザＩＤとパスワードに組織ＩＤが付加されて第二クラウドシステム２００に送信される。第二クラウドシステム２００は、送信されたユーザＩＤと組織ＩＤとパスワードを用いてログイン認証を実行する。ログイン認証が成功した場合、ブラウザ５０１の画面が図１１（ｄ）に示す画面に遷移する。
新規ユーザが「新規登録はこちら」等の表示に従って新規登録ボタン８９３を押下することで、画面が図６（ｃ）に示すアドレス入力画面に遷移し、ユーザ登録処理へと進むことができる。
このように、本実施形態においては、ユーザが第二クラウドシステム２００に既に登録されている否かによって処理が異なる。以下の説明では、アプリａ（ＳｃａｎＴｏＳｔｏｒａｇｅＸ）について既にユーザ登録処理とＳｔｏｒａｇｅＸに対する認可連携処理（第一の実施形態において説明した一連の処理）が完了しているものとする。また、アプリｂ（ＳｃａｎＴｏＳｔｏｒａｇｅＹ）については、初回の利用であり、ＳｔｏｒａｇｅＹに対する認可連携が行われていないものとする。
第一の実施形態においては、第二クラウドシステムの新規ユーザが登録ボタン８２２（図６）を押下することで、ユーザ登録処理と認可連携処理が実行された。しかし、アプリａから第二クラウドシステムに対するユーザ登録が既に行われている本実施形態においては、処理を簡便にするためにユーザ登録処理を省略し、アプリｂと連携するＳｔｏｒａｇｅＹに対する認可連携のみを実行する。
【００４６】
図１１（ｄ）は、外部サービスとの認可連携を実行する認可連携画面８５０の一例を示す図である。本図に示す画面は図６（ｅ）に示す認可連携画面８５０と同様の画面であるので、説明を省略する。ただし、図１１（ｄ）はＭＦＰ５００のブラウザ５０１に表示される点で図６（ｅ）とは異なっている。
【００４７】
＜シーケンスチャート＞
第二クラウドシステムにおけるサービス連携処理について説明する。
図１２は、サービス連携に係る処理を示したシーケンス図である。なお、図７と同様のステップについては適宜説明を省略する。
ステップＳ２０１〜Ｓ２１１は、ステップＳ１０１〜Ｓ１１１と同様である。
ステップＳ２１３において、ユーザは、アプリ画面８２０の登録・認証ボタン８２４（図１１（ｂ））を押下する。
ステップＳ２１５において、ＭＦＰ５００は、第二クラウドシステム２００に対して、ＩＤ／ＰＷ入力画面（図１１（ｃ））をリクエストする。
ステップＳ２１７において、第二クラウドシステム２００のユーザ認証部２１３は、ＭＦＰ５００に対してＩＤ／ＰＷ入力画面８９０を返却する。
【００４８】
ステップＳ２１９において、ユーザは、ＩＤ／ＰＷ入力画面８９０のＩＤ／ＰＷ入力欄８９１にユーザＩＤ、及びパスワードを入力し、ＯＫボタン８９２を押下する。
ステップＳ２２１においてＭＦＰ５００のブラウザ５０１は、第二クラウドシステム２００に対して、サービスを識別するサービスＩＤ、ユーザＩＤ、パスワード、セッションストレージに保持されている組織ＩＤ及びログインリクエストを送信する。
ステップＳ２２３において、ユーザ認証部２１３はユーザ認証処理を実行する。即ち、ユーザ認証部２１３は、ＭＦＰ５００のブラウザ５０１から送信されたユーザＩＤと組織ＩＤとパスワードを、第二ユーザ管理ＤＢ２０４のユーザ管理テーブル（図５（ａ））内のデータを照合してユーザの認証を行う。認証できた場合は、ステップＳ２２７に進む。
ステップＳ２２５において、サービス認可部２１４は、ステップＳ２２１にて送信されたサービスＩＤに基づいて、当該サービスと連携する外部サービスを判定し（外部サービス判定ステップ）、判定結果をユーザ登録部２１２に渡す。
ステップＳ２２６において、ユーザ登録部２１２は外部サービス連携用テーブルに基づいて、ステップＳ２２５において判定された外部サービスが当該ユーザに対して既に認可連携されているか否かを判定する。判定された外部サービスが当該ユーザに対して未連携の外部サービスである場合、ステップＳ２２７に進む。
ステップＳ２２７において、サービス認可部２１４はサービスＩＤに関連付けられている外部サービス３０１に対して、認可連携画面を要求する。
ステップＳ２２９おいて、外部サービス３０１は、認可連携画面（図１１（ｄ））を返却する。
ステップＳ２３１において、サービス認可部２１４は、認可連携画面を返却する。
【００４９】
ステップＳ２３３〜Ｓ２４１は、処理に関係するブラウザがＭＦＰ５００のブラウザ５０１である点以外は図７のステップＳ１５７〜Ｓ１６５と同様であるため、説明を省略する。
このように、本実施形態によれば、第二クラウドシステム２００に登録されているユーザであっても、アプリから渡されるサービスＩＤに基づいて、未連携の外部サービスに対して認可連携処理を要求できる。
【００５０】
〔第三の実施形態〕
本発明の第三の実施形態に係るサービス連携システムについて説明する。
アプリが外部サービスに対して要求する権限の範囲（認可スコープ）は、アプリによって異なる。例えば、外部ストレージサービスからデータを読み出して処理するアプリと、処理したデータを外部ストレージサービスに記憶させるアプリとでは、必要とする認可スコープが異なる。従って、あるアプリとの間で既に認可連携されている外部サービスであっても、より広い認可スコープを必要とする他のアプリを利用する場合には、改めて他のアプリに対応した認可スコープで認可連携をしなければ、他のアプリを利用することができない。
そこで、本実施形態においては、許可されていない認可スコープを必要とするアプリを利用する場合に、当該認可スコープについて改めて認可連携を実行する。
【００５１】
＜ユーザ登録の操作概要＞
図１３は、第一クラウドシステムから第二クラウドシステムのアプリケーションを利用する際に実行されるサービス連携処理に係る画面遷移及び処理概要の一例を示す図である。なお、図１１に示した画面と同様の画面については、適宜説明を省略する。
【００５２】
図１３（ａ）は、ＭＦＰ５００に表示されるホーム画面８１０の一例を示す図である。
ホーム画面８１０には、第一クラウドシステム１００上のアプリＡ、Ｂを夫々呼び出すアプリボタン８１１Ａ、８１１Ｂ、及び第二クラウドシステム２００上のアプリａ、ｂを夫々呼び出すアプリボタン８１１ａ、８１１ｂが表示されている。
本実施形態において、アプリａ、ｂは、アプリ内で連携する外部サービスがＳｔｏｒａｇｅＹであるという点で共通するが、アプリｂがＳｔｏｒａｇｅＹに対して要求する認可スコープはアプリａよりも広いものとする。また、アプリａ（ＰｒｉｎｔＦｒｏｍＳｔｏｒａｇｅＹ）についてはユーザ登録処理が行われており、ＳｔｏｒａｇｅＹに対する認可連携処理がアプリａの必要な認可スコープ（スコープａ）について完了しているものとする。更に、アプリｂ（ＳｃａｎＴｏＳｔｏｒａｇｅＹ）については、初回の利用であり、アプリｂが必要とする認可スコープ（スコープｂ）の一部について、ＳｔｏｒａｇｅＹとは認可連携が行われていないものとする。
ユーザがアプリボタン８１１ｂを押下して、アプリｂの呼び出しを指示することにより、ブラウザの画面は図１３（ｂ）に遷移する。
【００５３】
図１３（ｂ）は、第二クラウドシステム２００上のアプリが提供するアプリ画面８２０の一例を示す図である。ユーザが登録・認証ボタン８２４を押下することにより、ＭＦＰ５００のブラウザ５０１の画面が図１３（ｃ）に示す画面に遷移する。
図１３（ｃ）は、ユーザにユーザＩＤとパスワードを入力させるＩＤ／ＰＷ入力画面８９０の一例を示す図である。ユーザがＩＤ／ＰＷ入力欄８９１にユーザＩＤとパスワードを入力してＯＫボタン８９２を押下し、ログイン認証が成功した場合、ブラウザ５０１の画面が図１３（ｄ）に示す認可連携画面に遷移する。
図１３（ｄ）は、外部サービスとの認可連携を実行する認可連携画面８５０の一例を示す図である。認可連携画面８５０には、アプリｂが必要とする認可スコープが表示される。ユーザは、アプリｂと外部サービスとの認可連携について、表示された認可スコープを受け容れる場合に許可ボタン８５１を押下することで、アプリｂに付いての認可連携処理が実行される。
【００５４】
＜シーケンスチャート＞
第二クラウドシステムにおけるサービス連携処理について説明する。図１４は、サービス連携に係る処理を示したシーケンス図である。なお、図１２と同様のステップについては適宜説明を省略する。
ステップＳ３０１〜Ｓ３２５は、ステップＳ２０１〜Ｓ２２５と同様である。
ステップＳ３２６において、ユーザ登録部２１２は、ステップＳ３２１において送信されたサービスＩＤに関連付くサービスが要求する認可スコープと、ステップＳ３２５において判定された外部サービスが認可連携している認可スコープの範囲を判定する。即ち、ユーザ登録部２１２は、外部サービス連携用テーブルに基づいて、サービスが要求する認可スコープが、外部サービスと認可連携されている認可スコープの範囲内であるか否かを判定する。サービスが要求する認可スコープの全部又は一部が未許可である場合、再認可連携が必要となるため、ステップＳ２２７に進む。
ステップＳ２２７において、サービス認可部２１４はサービスＩＤに関連付けられている外部サービス３０１に対して、認可連携画面を要求する。
ステップＳ２２９おいて、外部サービス３０１は、認可連携画面（図１３（ｄ））を返却する。
ステップＳ２３１において、サービス認可部２１４は、認可連携画面を返却する。
ステップＳ３３３〜Ｓ３４１は、ステップＳ２３３〜Ｓ２４１と同様であるため、説明を省略する。
このように、本実施形態によれば、第二クラウドシステム上で互いに認可スコープが異なる複数のアプリを利用する場合であっても、再度の認可連携処理を実行することで、各アプリを外部サービスと連携させて利用することができる。
【００５５】
〔本発明の実施態様例と作用、効果のまとめ〕
＜第一の実施態様＞
本態様は、第一アプリケーション（サービスアプリ１１２）のユーザに係る第一ユーザ情報を第一アプリケーションの利用時に第一アプリケーション上で登録可能な第一ユーザ管理手段（機能モジュール１０１、第一ユーザ管理ＤＢ１０２）を備えた第一プラットフォームシステム（第一クラウドシステム１００）と、外部サービス３０１との連携情報を含む第二アプリケーション（サービスアプリ２１５）のユーザに係る第二ユーザ情報を第二アプリケーションの利用開始前に登録させる第二ユーザ管理手段（第二ユーザ管理ＤＢ２０４、ユーザ登録部２１２）を備えた第二プラットフォームシステム（第二クラウドシステム２００）と、が接続されたサービス連携システム１であって、第二プラットフォームシステムは、第一プラットフォームシステムを介して呼び出された第二アプリケーション上で第二ユーザ情報の登録リクエストを受け付けた場合に、第二アプリケーションと連携する外部サービスを判定する外部サービス判定手段（サービス認可部２１４）と、判定された外部サービスに対して認可連携処理を要求するサービス認可手段（サービス認可部２１４）と、を備え、第二ユーザ管理手段は、外部サービスによる認可連携処理の結果を表す認可連携情報をユーザ識別情報に関連付ける（ユーザ毎に用意された外部サービス連携用テーブルに記憶させる）ことを特徴とする。
【００５６】
第一プラットフォームシステムは、第一アプリケーションに係るユーザ登録を第一アプリケーションの利用時に第一アプリケーション上で行うことを前提とするシステムである。これに対し、第二プラットフォームシステムは、第二アプリケーションに係るユーザ登録と外部サービスとの認可連携とを、第二アプリケーションの利用開始前に実施しておくことを前提とするシステムである。仮に、第一プラットフォームシステムのユーザが第二プラットフォームシステム上のサービスを利用する場合、ユーザ登録や外部サービスとの認可連携に係る処理フローが異なるため、処理の違いに困惑するという問題がある。
本態様は、第一プラットフォームシステムのユーザが、第一プラットフォームシステムを介して第二プラットフォームシステム上の第二アプリケーションを利用する場合に、第一プラットフォームシステムを利用する場合と同様の感覚で第二アプリケーションに対するユーザ登録や外部サービスとの認可連携を実施できるようにしたものである。即ち、ユーザが第二アプリケーションに関わる一連の操作の中で、ユーザ登録と外部サービスとの認可連携を実施できるようにしたので、事前にユーザ登録と外部サービスとの認可連携を実施しておく必要がなく、第一プラットフォームシステムと同様の感覚で第二プラットフォームシステムを利用できる。
【００５７】
＜第二の実施態様＞
本態様に係るサービス連携システム１において、サービス認可手段（サービス認可部２１４）は、外部サービス判定手段（サービス認可部２１４）によって判定された外部サービス３０１が第二ユーザ情報の登録を要求するユーザに対して未連携の外部サービスである場合に、当該外部サービスに対して認可連携処理を要求することを特徴とする。
ここで、サービス認可手段は、第二プラットフォームシステムに新規に登録されるユーザについて、第二アプリケーションと連携する外部サービスに対して認可連携処理を要求する。また、サービス認可手段は、第二プラットフォームシステムに既に登録されているユーザについて、認可連携されていない外部サービスと連携する第二アプリケーションへのユーザ登録が要求された場合、当該外部サービスに対して認可連携処理を要求する。
このように、本態様によれば、第二プラットフォームシステムのアプリケーションを利用するユーザとして登録されているか否かに関わらず、第二アプリケーションに関わる一連の操作の中で、未連携の外部サービスとの認可連携を実施できる。
【００５８】
＜第三の実施態様＞
本態様に係るサービス連携システム１において、サービス認可手段（サービス認可部２１４）は、第二アプリケーション（サービスアプリ２１５）が外部サービス３０１に対して要求する認可スコープの中に、ユーザに係る未許可の認可スコープがある場合に、外部サービスに対して未許可の認可スコープに係る認可連携を要求することを特徴とする。
登録ユーザとの間で既に認可連携されている外部サービスであっても、既にユーザ登録されている第二アプリケーションと、新規にユーザ登録する第二アプリケーションとでは、外部サービスに要求する認可スコープが異なる場合がある。このような場合であっても、許可されていない認可スコープについて、新規な第二アプリケーションに関わる一連のユーザ登録操作の中で認可連携を実施し、ユーザが完全なサービスを受けられるようにする。
【００５９】
＜第四の実施態様＞
本態様に係るサービス連携システム１において、第二プラットフォームシステム（第二クラウドシステム２００）は、電子メールを送信するメール送信手段（メール送信部２１１）を備え、第二ユーザ管理手段（第二ユーザ管理ＤＢ２０４、ユーザ登録部２１２）は、未登録のユーザから第二ユーザ情報の登録リクエストを受け付けた場合に、メールアドレスの入力を要求するアドレス入力画面８３０を送信し、該ユーザ用の第二ユーザ情報の入力画面を形成するユーザ登録用ＵＲＬを生成し、メール送信手段は、アドレス入力画面に入力されたメールアドレス宛に、ユーザ登録用ＵＲＬを記述した電子メールを送信することを特徴とする。
【００６０】
＜第五の実施態様＞
本態様は、第一アプリケーション（サービスアプリ１１２）のユーザに係る第一ユーザ情報を第一アプリケーションの利用時に第一アプリケーション上で登録可能な第一ユーザ管理手段（機能モジュール１０１、第一ユーザ管理ＤＢ１０２）を備えた第一プラットフォームシステム（第一クラウドシステム１００）と、外部サービス３０１との連携情報を含む第二アプリケーション（サービスアプリ２１５）のユーザに係る第二ユーザ情報を第二アプリケーションの利用開始前に登録させる第二ユーザ管理手段（第二ユーザ管理ＤＢ２０４、ユーザ登録部２１２）を備えた第二プラットフォームシステム（第二クラウドシステム２００）と、が接続されたシステム（サービス連携システム１）におけるサービス連携方法であって、第一プラットフォームシステムを介して呼び出された第二アプリケーション上で第二ユーザ情報の登録リクエストを受け付けた場合に、第二アプリケーションと連携する外部サービスを判定する外部サービス判定ステップ（ステップＳ１４３）と、判定された外部サービスに対して認可連携処理を要求するサービス認可ステップ（ステップＳ１６１）と、外部サービスによる認可連携処理の結果を表す認可連携情報をユーザ識別情報に関連付けるステップ（ステップＳ１６４）と、を実行することを特徴とする。
本態様は、第一の実施態様と同様の効果を奏する。
【００６１】
＜第六の実施態様＞
本態様は、第一アプリケーション（サービスアプリ１１２）のユーザに係る第一ユーザ情報を第一アプリケーションの利用時に第一アプリケーション上で登録可能な第一ユーザ管理手段（機能モジュール１０１、第一ユーザ管理ＤＢ１０２）を備えた第一プラットフォームシステム（第一クラウドシステム１００）に接続されて、外部サービス３０１との連携情報を含む第二アプリケーション（サービスアプリ２１５）のユーザに係る第二ユーザ情報を第二アプリケーションの利用開始前に登録させる第二ユーザ管理手段（第二ユーザ管理ＤＢ２０４、ユーザ登録部２１２）を備えたサーバ（第二クラウドシステム２００を提供するサーバ）であって、第一プラットフォームシステムを介して呼び出された第二アプリケーション上で第二ユーザ情報の登録リクエストを受け付けた場合に、第二アプリケーションと連携する外部サービスを判定する外部サービス判定手段（サービス認可部２１４）と、判定された外部サービスに対して認可連携処理を要求するサービス認可手段（サービス認可部２１４）と、を備え、第二ユーザ管理手段は、外部サービスによる認可連携処理の結果を表す認可連携情報をユーザ識別情報に関連付ける（ユーザ毎に用意された外部サービス連携用テーブルに記憶させる）ことを特徴とする。
本態様は、第一の実施態様と同様の効果を奏する。
【符号の説明】
【００６２】
１…サービス連携システム、１００…第一クラウドシステム（第一プラットフォームシステム）、１０１…機能モジュール（第一ユーザ管理手段）、１０２…第一ユーザ管理ＤＢ（第一ユーザ管理手段）、１１１…ランチャーアプリ、１１２…サービスアプリ（第一アプリケーション）、２００…第二クラウドシステム（第二プラットフォームシステム）、２０１…認証モジュール、２０２…ＧＵＩモジュール、２０３…サービスモジュール、２０４…第二ユーザ管理ＤＢ（第二ユーザ管理手段）、２１１…メール送信部（メール送信手段）、２１２…ユーザ登録部（第二ユーザ管理手段）、２１３…ユーザ認証部（ユーザ認証手段）、２１４…サービス認可部（外部サービス判定手段、サービス認可手段）、２１５…サービスアプリ（第二アプリケーション）、２１７…キャッシュ、３００…外部サービス群、３０１…外部サービス、４００…メール受信サーバ、５００…ＭＦＰ、５０１…ブラウザ、５１０…コントローラ、５１１…ＣＰＵ、５１２…ＲＯＭ、５１３…ＲＡＭ、５１４…ＨＤＤ、５１５…操作表示ＩＦ、５１６…操作表示部、５１７…通信ＩＦ、５１８…エンジン制御部、５１９…スキャナエンジン、５２０…プリントエンジン、６００…ＰＣ、６０１…ブラウザ、６１１…ＣＰＵ、６１２…ＲＯＭ、６１３…ＲＡＭ、６１４…ＨＤＤ、６１５…操作部、６１６…表示部、６１７…通信ＩＦ、７００…クライアント端末、７０１…ブラウザ、７０２…ＵＩ部、７０３…Ｃｏｏｋｉｅ保持部、７０４…Ｗｅｂストレージ、８１０…ホーム画面、８１１…アプリボタン、８２０…アプリ画面、８２１…ユーザリストボタン、８２２…登録ボタン、８２３…戻るボタン、８２４…登録・認証ボタン、８３０…アドレス入力画面、８３１…アドレス入力欄、８４０…ユーザ登録画面、８４１…保存ボタン、８５０…認可連携画面、８５１…許可ボタン、８６０…メール送信完了画面、８７０…ユーザ登録完了画面、８７１…コネクトボタン、８８０…認可連携確認画面、８９０…ＩＦ／ＰＷ入力画面、８９１…ＩＦ／ＰＷ入力欄、８９２…ＯＫボタン、８９３…新規登録ボタン
【先行技術文献】
【特許文献】
【００６３】
【特許文献１】特開２０１６−１２８９６６公報
【図１】
2018156405.tif 000003
【図２】
2018156405.tif 000004
【図３】
2018156405.tif 000005
【図４】
2018156405.tif 000006
【図５】
2018156405.tif 000007
【図６】
2018156405.tif 000008
【図７】
2018156405.tif 000009
【図８】
2018156405.tif 000010
【図９】
2018156405.tif 000011
【図１０】
2018156405.tif 000012
【図１１】
2018156405.tif 000013
【図１２】
2018156405.tif 000014
【図１３】
2018156405.tif 000015
【図１４】
2018156405.tif 000016