(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024179033
(43)【公開日】2024-12-26
(54)【発明の名称】サービス管理装置及びサービス管理方法
(51)【国際特許分類】
G06Q 10/00 20230101AFI20241219BHJP
G06Q 30/06 20230101ALI20241219BHJP
【FI】
G06Q10/00
G06Q30/06
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023097522
(22)【出願日】2023-06-14
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】天野 光司
(72)【発明者】
【氏名】長岡 晴子
(72)【発明者】
【氏名】高橋 利光
(72)【発明者】
【氏名】梅北 泰輔
【テーマコード(参考)】
5L010
5L030
5L049
【Fターム(参考)】
5L010AA01
5L030BB22
5L049AA01
5L049BB22
(57)【要約】 (修正有)
【課題】セグメント間の階層構造に基づくサービスへの柔軟なアクセス管理を実現するサービス管理装置及びサービス管理方法を提供する。
【解決手段】サービス管理システムにおいて、サービス管理装置100は、企業、組織、及びユーザを含むセグメントそれぞれについてセグメント間の包含関係による階層構造が付与された相互構造を示すセグメント構造管理テーブル132と、サービスのライセンスと、当該ライセンスを保有するセグメントの相互構造と、を示すサービス提供条件管理テーブル134と、を保持し、認証の対象であるユーザ及びサービスを示す認証要求を受信し、セグメント構造管理テーブル132から、認証要求が示すユーザを含む相互構造を特定し、特定した相互構造に含まれるセグメントが保有するサービスのライセンスと、認証要求が示すサービスと、に基づいて、認証要求に対する認証を行う。
【選択図】
図3
【特許請求の範囲】
【請求項1】
サービス管理装置であって、
プロセッサとメモリとを備え、
前記メモリは、
企業、組織、及びユーザを含むセグメントそれぞれについてセグメント間の包含関係による階層構造が付与された相互構造を示すセグメント構造情報と、
サービスのライセンスと、当該ライセンスを保有するセグメントの前記相互構造と、を示すサービス提供条件管理情報と、を保持し、
前記プロセッサは、
認証の対象であるユーザ及びサービスを示す認証要求を受信し、
前記セグメント構造情報から、前記認証要求が示すユーザを含む相互構造を特定し、
前記特定した相互構造に含まれるセグメントが保有するサービスのライセンスと、前記認証要求が示すサービスと、に基づいて、前記認証要求に対する認証を行う、サービス管理装置。
【請求項2】
請求項1に記載のサービス管理装置であって、
前記サービス提供条件管理情報は、前記ライセンスを利用するセグメントが当該ライセンスに対応するサービスを利用するための予算を示し、
前記メモリは、前記セグメントそれぞれが有する予算に当該セグメントの前記相互構造が付与された予算構造情報を保持し、
前記プロセッサは、
前記認証要求が示すサービスに前記サービス提供条件管理情報において対応する予算と、前記特定した相互構造に含まれるセグメントが保有する前記予算構造情報が示す予算と、を比較して、前記認証要求に対する認証を行う、サービス管理装置。
【請求項3】
請求項1に記載のサービス管理装置であって、
前記メモリは、
前記サービスのライセンスと、当該ライセンスを保有するセグメントの前記相互構造と、当該サービスの利用量に基づく対価を計算するルールである従量計算ルールと、を示す従量計算ルール管理情報を保持し、
前記プロセッサは、
サービスと、当該サービスを利用したユーザと、当該サービスの利用量と、を示すメッセージを取得し、
前記従量計算ルール管理情報から、前記メッセージが示すユーザを含む相互構造と前記メッセージが示すサービスとに対応する従量計算ルールを特定し、
前記メッセージが示す利用量と、前記特定した従量計算ルールと、に基づいて、当該サービスの利用量に基づく対価を計算する、サービス管理装置。
【請求項4】
請求項3に記載のサービス管理装置であって、
前記メモリは、前記セグメントそれぞれが有する予算に当該セグメントの前記相互構造が付与された予算構造情報を保持し、
前記プロセッサは、前記計算した対価を、前記メッセージが示すユーザを含む相互情報に含まれるセグメントが保有する前記予算構造情報が示す予算に対して請求する、サービス管理装置。
【請求項5】
請求項3に記載のサービス管理装置であって、
前記メモリは、前記サービスによって得られた利益を受け取る組織と、当該サービスによって得られた利益の分配率と、を示すサービス利益分配管理情報を保持し、
前記プロセッサは、
前記サービス利益分配管理情報を参照して、前記計算した対価に対応するサービスを受け取る組織を特定し、
当該サービスと前記特定した組織と、に前記サービス利益分配管理情報において対応する分配率と、前記対価と、に基づいて、前記特定した組織に分配する利益を算出する、サービス管理装置。
【請求項6】
請求項5に記載のサービス管理装置であって、
前記メモリは、前記対価を支払う支払通貨と、前記分配される利益を受け取る受取通貨と、を示す情報を保持し、
前記プロセッサは、支払われた前記対価の前記支払通貨を前記受取通貨に変換して、前記特定した組織に利益を分配する、サービス管理装置。
【請求項7】
請求項3に記載のサービス管理装置であって、
前記プロセッサは、
前記メッセージが示すユーザを含む相互構造と、前記メッセージが示すサービスと、前記サービス提供条件管理情報が示す当該相互構造に対応するライセンスのサービスと、に基づいて、不正利用又は許可外利用を検知し、
前記不正利用又は前記許可外利用を検知した場合、前記メッセージが示すユーザが保有するライセンスに関する情報を、前記サービス提供条件管理情報から削除する、サービス管理装置。
【請求項8】
請求項1に記載のサービス管理装置であって、
前記プロセッサは、
第1ユーザを第2ユーザに変更する指示を受け付け、
前記セグメント構造情報における相互構造に含まれる前記第1ユーザと、前記サービス提供条件管理情報における相互構造に含まれる前記第1ユーザと、を前記第2ユーザに変更する、サービス管理装置。
【請求項9】
請求項1に記載のサービス管理装置であって、
前記プロセッサは、
第1セグメントが第1サービスのライセンスを保有することを示す情報を、前記サービス提供条件管理情報に登録する指示を受け付け、
前記第1セグメントを含む相互構造において、前記第1セグメントより上位の階層に位置するセグメントを、前記セグメント構造情報から特定し、
前記特定したセグメントが前記第1サービスのライセンスを保有していると、前記サービス提供条件管理情報に基づいて判定した場合、前記指示を拒否する、サービス管理装置。
【請求項10】
請求項1に記載のサービス管理装置であって、
前記メモリは、複数のユーザのグループを示す情報を保持し、
前記プロセッサは、前記複数のユーザの一部のユーザから受信した認証要求に対する認証に成功しても、前記複数のユーザの全てのユーザから受信した認証要求に対する認証に成功するまでは、当該一部のユーザを前記サービスの利用待ち状態とする、サービス管理装置。
【請求項11】
請求項1に記載のサービス管理装置であって、
前記メモリは、前記セグメントそれぞれが有する予算に当該セグメントの前記相互構造が付与された予算構造情報を保持し、
前記プロセッサは、
予算の融通元であるセグメントと、融通先であるセグメントと、融通する融通金額と、を示す指示を受け付けた場合、
前記予算構造情報における前記融通元であるセグメントの予算から前記融通金額を減算し、
前記融通先であるセグメントの前記相互構造と、前記融通金額と、を前記予算構造情報に追加する、サービス管理装置。
【請求項12】
サービス管理装置によるサービス管理方法であって、
前記サービス管理装置は、プロセッサとメモリとを備え、
前記メモリは、
企業、組織、及びユーザを含むセグメントそれぞれについてセグメント間の包含関係による階層構造が付与された相互構造を示すセグメント構造情報と、
サービスのライセンスと、当該ライセンスを保有するセグメントの前記相互構造と、を示すサービス提供条件管理情報と、を保持し、
前記サービス管理方法は、
前記プロセッサが、認証の対象であるユーザ及びサービスを示す認証要求を受信し、
前記プロセッサが、前記セグメント構造情報から、前記認証要求が示すユーザを含む相互構造を特定し、
前記プロセッサが、前記特定した相互構造に含まれるセグメントが保有するサービスのライセンスと、前記認証要求が示すサービスと、に基づいて、前記認証要求に対する認証を行う、サービス管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービス管理装置及びサービス管理方法に関する。
【背景技術】
【0002】
本技術分野の背景技術として、特開2020-067777号公報(特許文献1)がある。この公報には、サブスクリプション商品販売システムは、販売可能な複数種類のサブスクリプション商品に関する商品情報を管理する商品情報管理手段と、複数種類のサブスクリプション商品のうちのいずれかを指定するための商品指定手段、商品指定手段を介して指定されたサブスクリプション商品に関する商品情報を商品情報管理手段から取得し、当該サブスクリプション商品に応じたサブスクリプション契約情報を当該商品情報と対応付けて管理する契約情報管理手段とを備えている、ことが記載されている(要約参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1には、サブスクリプション商品販売システムが記載されており、サブスクリプション商品を契約した販売先の情報を管理している。サブスクリプションサービスを契約する販売先として、企業、企業に含まれる組織、及び組織に含まれるユーザ等の様々な階層的なセグメントが考えられる。例えば、企業に属する組織や、当該組織に属するユーザ等が、当該企業が契約しているサブスクリプションサービスにアクセスして利用する場合には、セグメント間の階層構造を考慮した上でアクセス管理を行う必要がある。
【0005】
しかし、特許文献1に記載の技術においては、このような契約先のセグメント間の階層構造を考慮することについては、記載されていない。そこで、本発明の一態様は、セグメント間の階層構造に基づくサービスへの柔軟なアクセス管理を実現することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一態様は以下の構成を採用する。サービス管理装置は、プロセッサとメモリとを備え、前記メモリは、企業、組織、及びユーザを含むセグメントそれぞれについてセグメント間の包含関係による階層構造が付与された相互構造を示すセグメント構造情報と、サービスのライセンスと、当該ライセンスを保有するセグメントの前記相互構造と、を示すサービス提供条件管理情報と、を保持し、前記プロセッサは、認証の対象であるユーザ及びサービスを示す認証要求を受信し、前記セグメント構造情報から、前記認証要求が示すユーザを含む相互構造を特定し、前記特定した相互構造に含まれるセグメントが保有するサービスのライセンスと、前記認証要求が示すサービスと、に基づいて、前記認証要求に対する認証を行う。
【発明の効果】
【0007】
本発明の一態様によれば、セグメント間の階層構造に基づくサービスへの柔軟なアクセス管理を実現することができる。
【0008】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【0009】
【
図1】実施例におけるサービス管理システムの構成例を示すブロック図である。
【
図2】実施例におけるサービス管理システムに含まれる各装置、及びユーザ端末を構成する計算機のハードウェア構成例を示すブロック図である。
【
図3】実施例におけるサービス管理装置の機能構成例を示すブロック図である。
【
図4】実施例における一元管理される前の各種情報の概要の一例を示す説明図である。
【
図5】実施例におけるユーザ構造管理テーブルのデータ構成例を示す図である。
【
図6】実施例におけるセグメント構造管理テーブルのデータ構成例を示す図である。
【
図7】実施例における予算構造管理テーブルのデータ構成例を示す図である。
【
図8】実施例におけるサービス提供条件管理テーブルのデータ構成例を示す図である。
【
図9】実施例における従量計算ルール管理テーブルのデータ構成例を示す図である。
【
図10】実施例における従量実績管理テーブルのデータ構成例を示す図である。
【
図11】実施例におけるレポート用エビデンス管理テーブルのデータ構成例を示す図である。
【
図12】実施例におけるサービス提供セグメント構造管理テーブルのデータ構成例を示す図である。
【
図13】実施例におけるサービス利益分配管理テーブルのデータ構成例を示す図である。
【
図14】実施例における従量実績生成処理の一例を示すフローチャートである。
【
図15】実施例における認証管理処理の一例を示すフローチャートである。
【
図16】実施例における請求処理の一例を示すフローチャートである。
【
図17】実施例における利益分配処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態を図面に基づいて詳細に説明する。本実施形態において、同一の構成には原則として同一の符号を付け、繰り返しの説明は省略する。なお、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。
【実施例0011】
図1は、サービス管理システムの構成例を示すブロック図である。サービス管理システム500は、例えば、互いにインターネット等のネットワークで接続された、サービス管理装置100、サービス提供装置200、ユーザ決済管理情報300、及び企業管理情報400を含む。サービス管理システム500は、ユーザ端末600にインターネット等のネットワークで接続されている。
【0012】
サービス管理装置100は、サービス提供セグメントがユーザに提供するサービス、ユーザが所属する企業、サービスを利用するための決済、及びサービスを提供組織への利益分配等を管理する。
【0013】
サービス提供装置200は、ユーザ端末600に対してサービスを提供する。サービス提供装置200は、サービス提供セグメントに設置されてユーザ端末600に対して各種クラウドサービスを提供してもよいし、ユーザ組織に設置されてオンプレミスで運用されてもよい。
【0014】
ユーザ決済管理情報300は、ユーザがサービスを利用するために用いる決済に関する情報であり、例えば、ユーザ識別情報310を含む。ユーザ識別情報310は、例えば、ユーザが利用する決済サービスにおいてユーザを識別する情報を含む。
【0015】
企業管理情報400は、ユーザが属する企業に関する情報であり、例えば、企業予算構造情報410、組織決済構造情報420、及び組織構造情報430を含む。企業予算構造情報410は、企業が有する予算費目や企業が利用する決済方法(以下、予算費目や決済方法を総称して単に予算とも呼ぶ)に関する情報を含む。組織決済構造情報420は、企業に属する組織の決済構造を示す。組織構造情報430は、ユーザが属する組織の構造を示す。
【0016】
なお、ユーザ決済管理情報300及び企業管理情報400は、サービス管理装置100に格納されていてもよいし、サービス管理システム500に含まれる他の装置や、サービス管理システム500に接続されている外部の装置に格納されていてもよい。
【0017】
ユーザ端末600は、サービス提供装置200が提供するサービスを利用する端末であり、サービスの利用に際して、サービス提供装置200との間で通信パケット700の送受信を行う。なお、サービス管理装置100が通信パケット700を取得し、取得した通信パケット700をサービス管理に用いる。
【0018】
なお、本実施形態において、企業は他の企業に含まれる(例えば、親企業と子企業の関係)ことがあるものの、企業が組織及びユーザに含まれることはない。また、組織は企業又は他の組織に含まれることがあるものの、組織がユーザに含まれることはない。また、ユーザは企業又は組織に含まれる。従って、企業、組織、及びユーザ等のセグメント間の包含関係を示す階層構造(包含する側が上位の階層であり、包含される側が下位の階層である)において、組織は企業よりも下位の階層に属し、ユーザは企業及び組織よりも下位の階層に属する。
【0019】
図2は、サービス管理システム500に含まれる各装置、及びユーザ端末600を構成する計算機のハードウェア構成例を示すブロック図である。計算機1000は、例えば、CPU(Central Processing Unit)1100、メモリ1200、補助記憶装置1300、通信装置1400、入力装置1500、及び出力装置1600を有する。
【0020】
CPU1100は、プロセッサを含み、メモリ1200に格納されたプログラムを実行する。メモリ1200は、不揮発性の記憶素子であるROM(Read Only Memory)及び揮発性の記憶素子であるRAM(Random Access Memory)を含む。ROMは、不変のプログラム(例えば、BIOS(Basic Input/Output System))などを格納する。RAMは、DRAM(Dynamic Random Access Memory)のような高速かつ揮発性の記憶素子であり、CPU1100が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【0021】
補助記憶装置1300は、例えば、磁気記憶装置(HDD(Hard Disk Drive))、フラッシュメモリ(SSD(Solid State Drive))等の大容量かつ不揮発性の記憶装置であり、CPU1100が実行するプログラム及びプログラムの実行時に使用されるデータを格納する。すなわち、プログラムは、補助記憶装置1300から読み出されて、メモリ1200にロードされて、CPU1100によって実行される。
【0022】
入力装置1500は、キーボードやマウスなどの、オペレータからの入力を受ける装置である。出力装置1600は、ディスプレイ装置やプリンタなどの、プログラムの実行結果をオペレータが視認可能な形式で出力する装置である。
【0023】
通信装置1400は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。また、通信装置1400は、例えば、USB(Universal Serial Bus)等のシリアルインターフェースを含む。
【0024】
CPU1100が実行するプログラムの一部またはすべては、非一時的記憶媒体であるリムーバブルメディア(CD-ROM、フラッシュメモリなど)又は、非一時的記憶装置を備える外部計算機からネットワークを介して計算機1000に提供され、非一時的記憶媒体である不揮発性の補助記憶装置1300に格納されてもよい。このため、計算機1000は、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【0025】
サービス管理システム500に含まれる各装置、及びユーザ端末600は、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【0026】
図3は、サービス管理装置100の機能構成例を示すブロック図である。サービス管理装置100は、例えば、通貨連携機能111、ユーザ端末管理機能112、予算構造識別機能113、セグメント構造識別機能114、サービス提供条件管理機能115、サービス提供セグメント管理機能116、従量計算ルール管理機能117、請求機能118、請求額集約機能119、利益分配機能120、及びレポーティング機能121を有する。
【0027】
通貨連携機能111は、複数の通貨やポイント間で金額やポイント数の変換を行う。ユーザ端末管理機能112は、ユーザ端末600を管理する。予算構造識別機能113、ユーザ、組織、及び企業の予算構造を識別する。セグメント構造識別機能114、ユーザ、組織、及び企業を含むセグメントのセグメント構造を識別する。サービス提供条件管理機能115は、サービスが提供されるためのライセンスや必要対価等を管理する。
【0028】
サービス提供セグメント管理機能116は、サービスを提供するセグメントを管理する。従量計算ルール管理機能117は、サービスの従量による対価を計算するための従量計算ルールを管理する。請求機能118は、サービスの利用やライセンスの保有に関する対価を請求する。請求額集約機能119は、サービスの利用やライセンスの保有に関する対価の請求額を集約する。
【0029】
利益分配機能120は、サービスの利用やライセンスの保有に関する対価によって得られた利益をサービス提供元に分配する。レポーティング機能121は、サービスの利用やライセンスの保有に関する対価の請求及び支払に関するレポートを生成する。
【0030】
例えば、サービス管理装置100を構成する計算機1000のCPU1100は、当該計算機1000のメモリ1200にロードされた通貨連携プログラムに従って動作することで、通貨連携機能111として機能し、当該計算機1000のメモリ1200にロードされたユーザ端末管理プログラムに従って動作することで、ユーザ端末管理機能112として機能する。サービス管理装置100に含まれる他の機能についても、プログラムと当該機能の関係は同様である。
【0031】
なお、サービス管理装置100に含まれる他の機能の一部又は全部が、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよい。
【0032】
サービス管理装置100は、ユーザ構造管理テーブル131、セグメント構造管理テーブル132、予算構造管理テーブル133、サービス提供条件管理テーブル134、従量計算ルール管理テーブル135、従量実績管理テーブル136、レポート用エビデンス管理テーブル137、サービス提供セグメント構造管理テーブル138、及びサービス利益分配管理テーブル139を保持する。これら各種テーブルの詳細については、
図5~
図13を用いて後述する。
【0033】
サービス管理装置100が保持するテーブルは、例えば、サービス管理装置100を構成する計算機1000のメモリ1200若しくは補助記憶装置1300、又はサービス管理装置100に接続されている外部の記憶装置に格納されている。
【0034】
なお、本実施形態において、サービス管理システム500及びユーザ端末600が使用する情報は、データ構造に依存せずどのようなデータ構造で表現されていてもよい。例えば、リスト、テーブル、データベース又はキューから適切に選択したデータ構造体が、情報を格納することができる。
【0035】
図4は、一元管理される前の各種情報の概要の一例を示す説明図である。
図1で説明した通り、サービス管理システム500及びユーザ端末600が有する、一元管理される前の情報は、例えば、ユーザ識別情報310、ユーザ識別情報610、通信パケット700、企業予算構造情報410、組織決済構造情報420、及び組織構造情報430を含む。これらの情報は、いずれも、1又は複数の識別情報を階層構造で示す。
【0036】
詳細は後述するが、これら識別情報は階層構造が異なるものの、同じ種類のIDを含んでいたり、ある識別情報に含まれるIDと、異なる識別情報に含まれるIDと、の間で階層構造を定義できたりする。これらの識別情報が一元化された情報をサービス管理装置100が有することにより、サービスへの認証及びサービスに対する決済等を一元管理することができる。
【0037】
ユーザ識別情報610は、ユーザ端末600が、サービス提供装置200が提供するサービスをアクティベーションする際、又は当該サービスにログインする際等の認証時のユーザの識別情報であり、例えば、ユーザ端末ID/サービスID/ユーザIDの形式で表現される。
【0038】
ユーザ端末IDは、ユーザ端末600を識別するIDである。サービスIDは、サービスを識別するIDである。ユーザIDは、ユーザを識別するユーザIDである。なお、「/」で区切られた左側のIDは、当該階層構造において右側のIDよりも上位の階層に属するIDである。
【0039】
ユーザ識別情報310は、ユーザ端末600のユーザの予算の識別情報であり、例えば、ユーザ端末ID/予算ID/ユーザIDの形式で表現される。予算IDは、決済サービス(サービス提供装置200が提供するサービスとは異なる)や予算を識別するIDである。
【0040】
図4の通信パケット700は、ユーザ端末600が、サービス提供装置200が提供するサービスを利用する際に、ユーザ端末600からサービス提供装置200に送信されるパケットであり、例えば、サービスID/ユーザIDの形式で表現される識別情報を含む。なお、通信パケット700のヘッダには、ユーザ端末IDが付与されていてもよい。
【0041】
ユーザ識別情報310、ユーザ識別情報610、及び通信パケット700は、階層構造及び階層構造に含まれるIDが異なるものの、いずれもユーザIDを含むため、サービス管理装置100はこれらの識別情報を一元管理することで、例えば、認証のためのユーザ識別情報610が示すユーザIDを用いてサービス提供装置200に対するユーザの認証及びユーザによる決済の双方を実現することができる。
【0042】
企業予算構造情報410は、企業が有する予算の識別情報であり、例えば、企業ID/予算IDの形式で表現される。組織決済構造情報420は、組織に提供されたサービスに対する決済をする主体を示す識別情報であり、例えば、企業ID/組織ID(つまり、組織IDが示す組織に提供されたサービスに対する対価を企業IDが示す企業が支払うことを示す)の形式で表現される。組織構造情報430は、企業内の組織の一員としてのユーザの識別情報であり、例えば、企業ID/拠点ID/組織ID/ユーザIDの形式で表現される。
【0043】
組織決済構造情報420は組織に提供されたサービスに対する決済を当該組織が属する企業が行うことを示し、企業予算構造情報410は当該企業が有する予算を示すため、サービス管理装置100は、組織決済構造情報420と企業予算構造情報410とを一元管理することで、サービスの提供を受けた組織に基づいて、当該サービスに対する決済を行うための(例えば企業の)予算を特定することができる。
【0044】
また、組織構造情報430はユーザが属する組織や企業、及び組織が属する組織や企業を示すため、ユーザが利用したサービスに対する決済を、当該ユーザが属する組織や当該組織が属する企業が行う場合には、サービス管理装置100が組織決済構造情報420と企業予算構造情報410と組織構造情報430とを一元管理することで、ユーザが利用したサービスに対する決済を行うための(組織や企業の)予算を特定することができる。
【0045】
また、サービス提供装置200がユーザ識別情報610と組織構造情報430とを一元管理することで、例えば、認証のためのユーザ識別情報610が示すユーザIDに基づいて、サービス提供装置200に対するユーザに対する認証、及び当該ユーザが所属する組織としての認証を行うことができる。
【0046】
また、サービス管理装置100が、後述するサービス提供セグメントの構造に関する情報やサービス提供セグメントが利益を受け取る方法(例えば、決済サービスや通貨等)等が定義された情報と、上記した各種識別情報が一元管理されることで、ユーザ、又は当該ユーザが属する組織若しくは企業が支払ったサービスへの対価を、サービス提供セグメントが利用する決済サービスや通貨等をもちいて、サービス提供セグメントに分配することができる。
【0047】
以下、
図5~
図13を用いて、サービス管理装置100が保持する各種管理テーブルについて説明する。後述するように、各管理テーブルは、レコード番号、データ型構造、構造化ID、値、及び単位を含む。
【0048】
構造化IDは、1つの識別子のみからなる、又は「/」によって区切られた複数の識別子からなる識別情報である。構造化IDは、当該構造化IDの末端(最も右側に位置する)の識別子に対応する識別情報であって、かつ当該末端の識別子の上位階層をRoot(全ての構造化IDの)まで順に辿る階層構造を示す識別情報である。データ型構造は、構造化IDに含まれるIDの種類と、「/」で区切られる階層構造と、を示す。
【0049】
「Root/企業ID/組織ID」のデータ型構造で定義される構造化IDの一例である「Root/企業名1/拠点名1」によって、末端の識別子(最も右側に位置する識別子)である「拠点名1」という組織が特定され、かつ「拠点名1」という組織が「企業名1」という企業に属していることも特定される。
【0050】
また、例えば、「ユーザID 1」のユーザが、「企業名1」という企業の「拠点名1」という組織と、「企業名1」という企業の「拠点名2」という組織と、に属している場合、「Root/企業名1/拠点名1/ユーザID 1」、「Root/企業名1/拠点名2/ユーザID 1」という2つの構造化IDが与えられることで、1人のユーザに対応する複数の階層構造を定義することができる。
【0051】
構造化IDにおいて種々の識別子が「/」で区切られることによって、包含関係、利用関係、提供関係、等の様々な階層構造が定義される。例えば、構造化IDのデータ型構造に「組織ID/ユーザID」という部分が含まれる場合、「組織ID」によって示される組織が、「ユーザID」によって示されるユーザを包含する関係を示す。
【0052】
また、例えば、構造化IDのデータ型構造に「企業ID/予算ID」という部分が含まれる場合、「企業ID」によって示される企業が、「予算ID」によって示される予算を利用する利用関係を示す。また、例えば、構造化IDのデータ型構造に「組織ID/サービスID」という部分が含まれる場合、「組織ID」によって示される組織が、「サービスID」によって示されるサービスを利用する関係を示す。
【0053】
また、構造化IDのデータ型構造に「サービス提供組織ID/サービスID」という部分が含まれる場合、「サービス提供組織ID」によって示されるサービス提供セグメントが、「サービスID」によって示されるサービスを提供する関係を示す。
【0054】
各管理テーブルに定義される値は、構造化IDの末端の識別子に対応する値を示す。各管理テーブルに定義される単位は、構造化IDの末端の識別子に対応する値に付される単位を示す。具体的な値や単位については
図5~
図13を用いて後述する。
【0055】
図5は、ユーザ構造管理テーブル131のデータ構成例を示す図である。ユーザ構造管理テーブル131は、ユーザIDを管理するためのテーブルである。ユーザ構造管理テーブル131においては、ユーザIDのみが管理されるため、ユーザ構造管理テーブル131において定義されている全ての構造化IDのデータ型構造が「ユーザID」のみからなる。
【0056】
ユーザ構造管理テーブル131において、値として、例えば、ユーザの名前が格納されている。なお、ユーザ構造管理テーブル131を含む各種管理テーブルにおいて、ユーザの名前のように数値ではなく文字列として定義される値に対応する単位は「文字列」である。
【0057】
また、ユーザ構造管理テーブル131には、ユーザが保有する1以上のメールアドレスと、ユーザの属性と、が定義されていてもよい。ユーザの属性は、例えば、当該ユーザの役職、勤続年数、及び年齢等を含む。
【0058】
図6は、セグメント構造管理テーブル132のデータ構成例を示す図である。セグメント構造管理テーブル132は、ユーザが属する組織、組織が属する組織、組織が属する企業、及び企業が属する企業等のセグメント間の包含関係を管理するためのテーブルである。
【0059】
セグメント構造管理テーブル132には、ユーザ、組織、及び企業それぞれの識別子について、上位の階層の組織や企業の識別子が付与された構造化IDが格納されている。セグメント構造管理テーブル132において、構造化IDの末端の識別子に対応するユーザ、組織、又は企業の名前が値として格納され、「文字列」が単位として格納されている。なお、例えば、企業が賃貸契約等によって拠点を利用している場合、「〇〇〇号室」等のような当該拠点の場所の名称を示す値を組織IDとして用いることもできる。
【0060】
図6の例のレコード番号が6である構造化IDは、親企業が子企業を含む企業間の包含関係や、拠点が部門を含む組織間の包含関係も定義しているように、構造化IDを用いることで複数階層の団体又は個人の包含関係をセグメント構造管理テーブル132において一括して定義できる。
【0061】
なお、セグメント構造管理テーブル132における構造化IDのデータ型構造の末端が「ユーザID」であるレコードに、
図5で示したユーザ構造管理テーブル131におけるメールアドレスや属性をマージすることで、セグメント構造とユーザ構造とが1つのテーブルで管理されてもよい。
【0062】
図7は、予算構造管理テーブル133のデータ構成例を示す図である。予算構造管理テーブル133は、セグメントが有する予算を示す。予算構造管理テーブル133に格納されている構造化IDの末端は、予算を示す識別子であり、当該識別子の1つ上位の階層には当該予算を有するセグメントの識別子が定義される。従って、予算構造管理テーブル133に格納されている構造化IDによって、セグメントが有する予算と、当該セグメントのセグメントを包含するセグメントを管理することができる。
【0063】
また、予算構造管理テーブル133において、構造化IDの末端の識別子である予算の値として金額又はポイント数等の予算量を示す数値欄が格納され、単位として当該金額の通貨単位又はポイントの単位等の予算量に対応する単位、及び当該予算量の支払方法(前払い、後払い、都度払い等)が格納されている。
【0064】
なお、例えば、セグメント間で予算の融通が可能であってもよい。例えば、企業や組織が支払を行う場合、セグメント構造管理テーブル132の構造化IDにおいて当該企業や当該組織の下位の階層に位置するセグメントが有する予算から支払を行うことが可能であってもよい。
【0065】
また、例えば、企業や組織の予算の一部の金額又は全額を、セグメント構造管理テーブル132の構造化IDにおいて当該企業や当該企業の下位の階層に位置するセグメントに付与することが可能であってもよい。例えば、サービス管理装置100が、ある企業の予算の一部の金額を、当該企業の下位の階層に位置する組織に付与する指示を受け付けた場合、予算構造管理テーブル133における当該予算の値から当該金額を減算し、当該組織に対応する当該金額の予算のレコードを追加することで、予算の付与が実現される。
【0066】
なお、当該予算の付与は、他企業の組織又はユーザに対して行われてもよいし、セグメント構造管理テーブル132の構造化IDにおいて上位の階層に位置する組織又は企業に対して行われてもよい。
【0067】
図8は、サービス提供条件管理テーブル134のデータ構成例を示す図である。サービス提供条件管理テーブル134は、セグメントのライセンス、及びセグメントが当該ライセンスを有するために必要な対価(予算)を示す。
【0068】
図8の例におけるレコード番号が2、3、5、7のレコードは、ライセンスを示すレコードである。
図8の例におけるレコード番号が3の構造化ID「Root/企業名1/本社ベースライセンス1/ユーザライセンス1」は、「ユーザライセンス1」というユーザ用のライセンスが「本社ベースライセンス1」というベースライセンスに含まれ、「本社ベースライセンス1」を「企業名1」の企業が有していることを示す。
【0069】
なお、ベースライセンスとは、サービス提供セグメントが提供する個々のサービスを利用する際に契約が必要となるライセンスであり、サービスを利用する主体は個々のサービスのライセンスを保有しているだけでは個々のサービスを利用することはできず、ベースライセンスを有しているうえで個々のサービスのライセンスとを有することで個々のサービスが利用可能となる。そのため、ベースライセンスに係る構造化IDに含まれるベースライセンスの識別子の上位階層には個々のサービスを識別するサービスIDは記述されていない。
【0070】
ライセンスを示すレコードの値には、当該ライセンスの保有数を示す数値、当該ライセンスによって利用可能なリソースの量(例えば、記憶容量や通信量)を示す数値等が格納され、単位にはライセンスの保有数の単位である「本」や、当該リソースに対応する単位が格納される。
【0071】
図8の例におけるレコード番号が1、4、6、8のレコードは、予算構造管理テーブル133と同様に、セグメントの予算に対応する構造化IDを示し、当該レコードにおける値は、ライセンスを保有するための必要対価を示し、当該レコードにおける単位は、当該値に対応する通貨単位、ポイントの単位、又は支払方法等が格納されている。
【0072】
また、例えば、これらのレコードにおいて、単位に「前払い」(ライセンスの契約前に対価を支払うこと)や「都度払い」(ライセンスを契約する都度対価を支払う、従量制のサービスを利用する都度にサービス利用の対価の支払うこと)が含まれる場合、サービスに対応する支払能力が不足している場合には、セグメントはサービスを利用することができない。
【0073】
以下、サービス提供条件管理テーブル134における、ライセンスを示すレコードと、ライセンスを保有するための必要対価を示すレコードと、の関係について説明する。サービス提供条件管理テーブル134では、
図8の例のように、ライセンスを示すレコード(即ち、データ型構造の末尾がライセンスIDであるレコード)と、当該ライセンスを保有するための必要対価を示すレコード(即ち、データ型構造の末尾が予算IDであるレコード)と、が定義されている。
【0074】
ライセンスを示すレコードにおけるサービスが提供されるためには、当該ライセンスを示すレコードに含まれる構造化IDとセグメント構造(「/」で連結された企業ID、組織ID、及び/又はユーザIDからなる部分であり、相互構造の一例である)が同一である構造化IDを含むレコードが示す対価が必要である。
【0075】
具体的には、例えば、レコード番号が3のレコード(ライセンスを示すレコード)は、「本社ベースライセンス1」に含まれる「ユーザライセンス2」を「企業名1」の企業が「200アカウント」保有することを示す。さらに、レコード番号が3のレコードの構造化IDが示すセグメント構造は「企業名1」のみからなり、必要対価を示すレコードのうち「企業1」のみからなるセグメント構造を示すレコードはレコード番号が1のレコードである。従って、レコード番号3が示す、「本社ベースライセンス1」に含まれる「ユーザライセンス2」を「企業名1」の企業が「200アカウント」保有するためには、レコード番号1のレコード(必要対価を示すレコード)が示す「企業名1」の「全社予算」から「100M$以上」の対価が「前払い」で支払われる必要がある。
【0076】
なお、
図8の例におけるレコード番号が5の構造化IDのように、サービス提供セグメントからのプレゼントキャンペーンによってライセンスが追加されることがあってもよい。
図8の例におけるレコード番号が7の構造化IDの末端は、「サービスID 1」というサービスIDが示すサービスに含まれる「ユーザオプションB」というライセンスIDを示す。
【0077】
例えば、通信パケット700や、サービス提供装置200が実行した各種機能のログに含まれるサービスID、ライセンスID、又はサービスIDとライセンスIDとの組み合わせと、サービス提供条件管理テーブル134に含まれる構造化IDと、からライセンスを保有する主体を特定することができる。
【0078】
なお、例えば、企業又は組織があるサービスのライセンスを有している場合、当該企業又は組織に含まれるセグメントが当該サービスのライセンスを契約できないようにしてもよく、これにより多重契約及び多重請求を防止することができる。具体的には、例えば、データ型構造が「企業ID/組織ID/サービスID/ライセンスID」、構造化IDが「企業名1/拠点名1/サービスID 1/ライセンスID 1」であるレコードがサービス提供条件管理テーブル134に登録されている場合に、「拠点名1」に含まれる「部門名1」の組織(セグメント間の包含関係はセグメント構造管理テーブル132から判定できる)に対する「サービスID 1」のライセンスをサービス提供条件管理テーブル134に登録する指示がされても、当該指示を拒否すればよい。
【0079】
図9は、従量計算ルール管理テーブル135のデータ構成例を示す図である。従量計算ルール管理テーブル135は、セグメントが有するライセンスに対する従量計算ルール、並びに当該従量計算ルールに従って計算された従量の対価を支払うための予算を示す。
【0080】
図9の例におけるレコード番号が2~6のレコードは、従量計算ルールを示し、当該レコードにおけるデータ型構造は、サービス提供条件管理テーブル134のライセンスに対応するレコードにおけるデータ型構造の末端に対象IDがさらに付与されたものである。対象IDは、当該ライセンスにおいて従量計算によって対価が決定されるうえで計算対象となる量の基準を示す識別情報である。
【0081】
また、従量計算ルールに対応するレコードの値は、対象IDが示す基準あたりの対価を示し、従量計算ルールに対応するレコードの単位は当該対価の通貨単位、ポイントの単位、及び/又は支払方法等を示す。
【0082】
例えば、
図9の例におけるレコード番号が3のレコードにおける構造化ID「Root/企業名1/本社ベースライセンス1/ユーザライセンス2/200アカウント」、値「200」、及び単位「ポイント」の組み合わせは、「企業名1」という企業が、「200アカウント」の「ユーザライセンス2」を含む「本社ベースライセンス1」を有し、「200アカウント」あたりの支払対価が200ポイントであることを示す。また、例えば、
図9の例におけるレコード番号が4のレコードにおいては、ライセンスがプレゼントキャンペーンの対象であるため、支払対価を示す値が負の値となっている(即ち割引を受けることを示す)。
【0083】
また、例えば、
図9の例におけるレコード番号が5~6のレコードにおいては、データ型構造の最上位の階層が「サービスID」であり、「サービスID」に対するライセンスを有するユーザ、組織、及び企業が定義されずに、従量計算ルールが定義される。つまり、これらのレコードにおいては、ユーザ、組織、及び企業に関わらず、サービスIDとライセンスIDと対象IDとの組み合わせによってのみ従量計算ルールが定義されている。従って、レコード番号が5~6のレコードの構造化IDにおいて、サービスIDより上位の階層には、任意の文字列(即ち任意の利用主体)を許容する正規表現「.*」が付与されている。
【0084】
また、
図9の例におけるレコード番号が1のレコードは、予算構造管理テーブル133と同様に、セグメントの予算、その予算量、及び支払方法を示す。
【0085】
従量計算ルール管理テーブル135では、
図9の例のように、従量計算ルールを示すレコード(即ち、データ型構造の末尾が対象IDであるレコード)と、当該従量計算ルールによって計算された従量の対価の支払元となる予算を示すレコード(即ち、データ型構造の末尾が予算IDであるレコード)と、が定義されている。
【0086】
従量計算ルールを示すレコードにおける従量の対価は、当該従量計算ルールを示すレコードに含まれる構造化IDとセグメント構造が同一である構造化IDを含むレコードが示す予算によって支払われる。
【0087】
具体的には、例えば、レコード番号が3のレコード(従量計算ルールを示すレコード)は、「本社ベースライセンス1」に含まれる「ユーザライセンス2」を「企業名1」の企業が保有する場合、保有する「ユーザライセンス2」のアカウント数が「200アカウント」ごとに、「200ポイント」の支払いが必要となることを示す。さらに、レコード番号が3のレコードの構造化IDが示すセグメント構造は「企業名1」のみからなり、予算を示すレコードのうち「企業1」のみからなるセグメント構造を示すレコードはレコード番号が1のレコードである。従って、レコード番号3が示す「200」ポイントの支払いは、レコード番号1のレコード(予算を示すレコード)が示す「企業名1」の「100M$」の「全社予算」から「後払い」で支払われる。
【0088】
また、例えば、レコード番号が4のレコード(従量計算ルールを示すレコード)の構造化IDが示すセグメント構造は「企業名1/拠点名1」からなるものの、セグメント構造が「企業名1/拠点名1」である構造化IDを有する予算を示すレコードが存在しない。また、レコード番号5のレコード(従量計算ルールを示すレコード)の構造化IDにおけるセグメント構造は正規表現(即ち任意のセグメント構造に対応する)で示されている。これらのような従量に対応する対価を支払う予算の特定方法については後述する。
【0089】
ここでは、説明を簡単にするために値の列に数値を設定しているが、利用ボリューム数とその単価を乗じた式や、利用ボリュームとその単価を乗じた式に、さらに基本料金を足した式、または、階段状定額を表す式など、各種算術式を入れることもできる。
【0090】
図10は、従量実績管理テーブル136のデータ構成例を示す図である。従量実績管理テーブル136は、セグメントが有するライセンスに対する従量計算ルールによる計算対象の利用実績(従量実績)、並びに当該従量計算ルールに従って計算された従量の対価を支払うための予算を示す。
【0091】
従量実績管理テーブル136のレコードは、従量計算ルール管理テーブル135のレコードと同様の構造を有する。但し、従量実績管理テーブル136の従量実績を示すレコード(レコード番号2~6のレコード)における値は、対象IDが示す対象の利用量を示し、従量実績を示すレコードにおける単位は、対象IDが示す対象の利用量の単位を示す。
【0092】
また、従量実績はユーザ、組織、又は企業がサービスを利用した実績を示すため、データ型構造におけるサービスIDの上位階層にはサービスの利用主体であるユーザID、組織ID、及び/又は企業IDが含まれ、構造化IDにはいずれかの利用主体を示すIDが含まれ、(
図9の例におけるレコード番号5と6のレコードにおける構造化IDとは異なり)任意の利用主体を示す正規表現は含まれない。
【0093】
図10の例におけるレコード番号が5のレコードにおける構造化ID「Root/企業名1/拠点名1/部門名1/課名称1/サービスID 2/ユーザオプションB/1000Tbyte転送毎」、値「1.5」、単位「Tbyte」の組み合わせは、「課名称1」という組織(「課名称1」は「部門名1」という組織に含まれ、「部門名1」は「拠点名1」という組織に含まれ、「拠点名1」は「企業名1」という企業に含まれる)が、「サービスID 2」というサービスに含まれ、基準単位が「1000Tbyte転送毎」である「ユーザオプションB」というライセンスを有し、当該ライセンスに対応するサービスを「1.5」「Tbyte」利用した、という従量実績を示す。当該従量実績による対価は、同じセグメント構造を示す構造化IDを有するレコード番号1のレコードに示す予算及び支払方法によって支払われる。
【0094】
従って、従量実績管理テーブル136が示す従量実績と、従量計算ルール管理テーブル135が示す従量計算ルールと、を照合することで、従量計算の対象である対価を算出することができる。
【0095】
図11は、レポート用エビデンス管理テーブル137のデータ構成例を示す図である。レポート用エビデンス管理テーブル137は、セグメントのライセンスを保有するための対価への請求及び支払に関するエビデンスと、を示す。
【0096】
レポート用エビデンス管理テーブル137のレコードは、サービス提供条件管理テーブル134のレコードと同様の構造を有する。但し、レポート用エビデンス管理テーブル137の予算を示すレコードの単位の末端には対価の支払に関するステータスが付与され、レポート用エビデンス管理テーブル137のライセンスを示すレコードの単位の末端には対価の請求に関するステータスが付与されている。
【0097】
例えば、レコード番号2と3のライセンスを示すレコードにおいて単位の末尾に「/請求」が付与されているため、当該ライセンスについて対価が請求済みであり、さらに当該ライセンスに対応する対価を示すレコード番号1のレコードにおいて単位の末尾に「/完了」が付与されているため、当該ライセンスの対価の支払が完了していることが示されている。即ち、レコード番号2と3のライセンスが有効であることが示されている。
【0098】
図12は、サービス提供セグメント構造管理テーブル138のデータ構成例を示す図である。サービス提供セグメント構造管理テーブル138は、サービス提供装置200が提供するサービス、当該サービスを提供するサービス提供セグメント、及びサービス提供セグメントを包含するセグメントを示す。
【0099】
サービス提供セグメント構造管理テーブル138におけるデータ型構造は、サービスを識別するサービスIDの上位の階層に当該サービスを提供するサービス提供セグメントのセグメント構造が付与されたものである。また、サービス提供セグメント構造管理テーブル138において、値として構造化IDの末端が示すサービスIDに対応するサービスの名称が格納され、単位として「文字列」が格納されている。
【0100】
例えば、
図12のレコード番号1のレコードは、「サービス提供企業ID 1」というサービス提供企業IDを有する企業に含まれる「サービス提供組織ID 1」というサービス提供組織IDを有する組織が、「サービスID 1」というサービスIDを有しかつ「サービス名1」という名称のサービスを提供することを示す。
【0101】
図13は、サービス利益分配管理テーブル139のデータ構成例を示す図である。サービス利益分配管理テーブル139は、サービス提供装置200が提供したサービスへの対価によって得られた利益の受取方法を示す。
【0102】
サービス利益分配管理テーブル139のデータ型構造は、例えば、サービス提供セグメント構造管理テーブル138におけるデータ型構造の末端に利益分配率を識別する利益分配IDが付与されたものである。また、サービス利益分配管理テーブル139の値として利益分配IDが示す利益の分配率が格納され、サービス利益分配管理テーブル139の単位として分配された利益を受け取る通貨単位やポイント単位等が格納される。
【0103】
例えば、
図13のレコード番号1のレコードは、「サービス提供企業ID 1」というサービス提供企業IDを有する企業に含まれる「サービス提供組織ID 1」というサービス提供組織IDを有する組織が、「サービスID 1」というサービスIDを有するサービスへの対価によって得られた利益の「80%」を「$」建てで受け取ることを示す。
【0104】
なお、1つのサービスに対して、当該サービスによる利益を受け取る複数の主体が存在することがある。例えば、サービス利益分配管理テーブル139において、例えば、「Root/サービス提供企業ID 1/サービス提供組織ID 1/サービスID 1/利益分配ID 1」という構造化IDと、「Root/サービス提供企業ID 1/サービス提供組織ID 2/サービスID 1/利益分配ID 2」という構造化IDと、が含まれていれば、「サービスID 1」のサービスへの対価による利益を「サービス提供組織ID 1」の組織と「サービス提供組織ID 2」の組織とが受け取ることを示す。
【0105】
図14は、従量実績生成処理の一例を示すフローチャートである。
図14の処理が開始する前に、ユーザ構造管理テーブル131、セグメント構造管理テーブル132、予算構造管理テーブル133、及び従量計算ルール管理テーブル135が予め設定されている。
【0106】
予算構造識別機能113は、予算構造管理テーブル133を読み込む(S1401)。予算構造識別機能113は、セグメント構造管理テーブル132を読み込む(S1402)。予算構造識別機能113は、従量計算ルール管理テーブル135を読み込む(S1403)。ステップS1403の処理の後、ステップS1404~ステップS1407の処理を含む一連の処理が繰り返される。
【0107】
予算構造識別機能113は、端末アクセスイベントメッセージ又はサービス動作イベントメッセージを取得する(S1404)。端末アクセスイベントメッセージは、ユーザ端末600がサービス提供装置200へアクセスしたことを示す情報である。サービス動作イベントメッセージは、サービス提供装置200がサービスに関する処理を行ったことを示す情報である。端末アクセスイベントメッセージ及びサービス動作イベントメッセージは、例えば、サービス提供装置200とユーザ端末600との間で送受信された通信パケット700や、サービス提供装置200が実行したサービスの動作ログ等に含まれる。
【0108】
また、端末アクセスイベントメッセージ及びサービス動作イベントメッセージには、ユーザ端末600のユーザIDや、サービス提供装置200が実行したサービスのサービスID、及び当該サービスによって提供された従量計算の対象となる量(例えば、記憶容量、通信量、アップロード数等)が含まれる。
【0109】
予算構造識別機能113は、端末アクセスイベントメッセージ又はサービス動作イベントメッセージに含まれるユーザIDやサービスIDを含む構造化IDを、ステップS1401~ステップS1403で読み込んだ各管理テーブルから、正規表現を用いて検索する(S1405)。
【0110】
例えば、ステップS1404において、予算構造識別機能113は、当該ユーザIDを含む構造化IDをセグメント構造管理テーブル132から検索することで、当該ユーザIDのユーザが属するセグメント構造を検索結果として得ることができる。
【0111】
また、例えば、ステップS1404において、予算構造識別機能113は、当該ユーザIDを含む構造化ID、及び当該ユーザが属するセグメント構造に含まれる組織又は企業の組織ID又は企業IDを含む構造化IDを、予算構造管理テーブル133から検索することで、当該ユーザの予算、及び当該組織又は企業の予算を検索結果として得ることができる。
【0112】
また、例えば、ステップS1404において、予算構造識別機能113は、当該ユーザID、当該組織ID、又は当該企業IDと、当該サービスIDと、を含む構造化IDを、従量計算ルール管理テーブル135から検索することで、当該サービスに対応する従量計算ルール、及び当該従量計算ルールに従って計算された従量対価を支払うための予算及び支払方法を検索結果として得ることができる。
【0113】
予算構造識別機能113は、ステップS1405で得られた検索結果に含まれる従量計算ルールに基づいて、従量計算に必要な情報を生成する(S1406)。具体的には、例えば、予算構造識別機能113は、検索結果に含まれる従量計算ルールの対象IDから従量計算の対象及び当該対象の量の基準(例えば、1000Tbyte転送毎など)を特定し、端末アクセスイベントメッセージ又はサービス動作イベントメッセージから当該特定した従量計算の対象の量(1.5Tbyteなど)を取得する。
【0114】
予算構造識別機能113は、従量実績管理テーブル136に情報を書き出し(S1407)。具体的には、例えば、予算構造識別機能113は、検索結果に含まれる従量対価を支払うための予算及び支払方法に対応するデータ型構造、構造化ID、値、及び単位を従量実績管理テーブル136に書き出す。さらに、例えば、予算構造識別機能113は、検索結果に含まれる従量計算ルールに対応するデータ型構造及び構造化IDを従量実績管理テーブル136に書き出し、当該特定した従量計算の対象の量(1.5Tbyteなど)と、当該特定した基準における単位(例えば、1000Tbyte転送毎に含まれるTbyteなど)と、を従量実績管理テーブル136における値と単位として書き出す。
【0115】
なお、検索結果に含まれる従量対価を支払うための予算及び支払方法に対応するレコードが既に従量実績管理テーブル136に存在する場合、予算構造識別機能113は、例えば、当該予算及び支払方法に関するレコードの書き出しを行わない。
【0116】
また、検索結果に含まれる従量計算ルールに対応するデータ型構造及び構造化IDを含むレコードが既に従量実績管理テーブル136に存在する場合、予算構造識別機能113は、当該特定した従量計算の対象の量を当該レコードにおける値に加算する。
【0117】
図14の処理により、サービス管理装置100は、ユーザIDやサービスIDを示す端末アクセスイベントメッセージ及びサービス動作イベントメッセージから、当該ユーザIDや当該サービスに紐づくセグメント構造、予算、従量計算ルールを特定して、従量計算実績を算出することができる。
【0118】
なお、例えば、予算構造識別機能113は、端末アクセスイベントメッセージ又はサービス動作イベントメッセージから不正利用又は許可外利用を検知した場合には、サービスを停止するようにしてもよい。具体的には、例えば、端末アクセスイベントメッセージ又はサービス動作イベントメッセージが示すユーザIDが属するセグメント構造に含まれるセグメントが、当該端末アクセスイベントメッセージ又は当該サービス動作イベントメッセージが示すサービスIDに係るライセンスを有していない(サービス提供条件管理テーブル134から判定できる)場合、不正利用又は許可外利用がされたと判定し、当該ユーザIDのユーザが有するライセンスを停止する(具体的には、例えば、サービス提供条件管理テーブル134において当該ユーザIDを構造化IDに含むライセンスを示すレコードを削除する)。
【0119】
図15は、認証管理処理の一例を示すフローチャートである。
図15の処理が開始する前に、ユーザ構造管理テーブル131、セグメント構造管理テーブル132、予算構造管理テーブル133、及びサービス提供条件管理テーブル134が予め設定されている。
【0120】
サービス提供条件管理機能115は、予算構造管理テーブル133を読み込む(S1501)。サービス提供条件管理機能115は、ユーザ構造管理テーブル131を読み込む(S1502)。サービス提供条件管理機能115は、セグメント構造管理テーブル132を読み込む(S1503)。サービス提供条件管理機能115は、サービス提供条件管理テーブル134を読み込む(S1504)。
【0121】
サービス提供条件管理機能115は、端末アクセス要求又はオンラインアクティベーション要求を取得する(S1505)。端末アクセス要求は、ユーザ端末600がサービス提供装置200へのアクセスを要求したことを示す情報である。オンラインアクティベーション要求は、ユーザ端末600が、サービス提供装置200に対して、サービス提供装置200が提供するサービスのアクティベーションを要求したことを示す情報である。端末アクセス要求又はオンラインアクティベーション要求は、例えば、ユーザ端末600からサービス提供装置200へ送信された通信パケット700等に含まれる。
【0122】
また、端末アクセス要求及びオンラインアクティベーション要求には、ユーザ端末600のユーザIDや、サービス提供装置200が提供可能なサービスであって、アクティベーションの対象となるサービス、のサービスID等が含まれる。端末アクセス要求及びオンラインアクティベーション要求は、いずれもユーザ端末600の認証要求の一例である。
【0123】
サービス提供条件管理機能115は、ステップS1501~S1504で読み込んだ各管理テーブルを、正規表現を用いて検索して、アクセス要求又はオンラインアクティベーション要求が示すユーザが、当該要求が示すサービスに対するアクセス又はオンラインアクティベーションを許可されているかを判定する(S1506)。
【0124】
例えば、ステップS1506において、サービス提供条件管理機能115は、当該ユーザIDを含む構造化IDをセグメント構造管理テーブル132から検索することで、当該ユーザIDのユーザが属するセグメント構造を検索結果として得ることができる。
【0125】
また、例えば、ステップS1506において、サービス提供条件管理機能115は、当該ユーザIDを含む構造化ID、及び当該ユーザが属するセグメント構造に含まれる組織又は企業の組織ID又は企業IDを含む構造化IDを、予算構造管理テーブル133から検索することで、当該ユーザの予算、及び当該組織又は企業の予算を検索結果として得ることができる。
【0126】
また、例えば、ステップS1506において、サービス提供条件管理機能115は、当該ユーザID、当該組織ID、又は当該企業IDと、当該サービスIDと、を含む構造化IDを、サービス提供条件管理テーブル134から検索することで、当該ユーザ、当該組織、又は当該企業の当該サービスに対応するライセンス、及び当該ライセンスを保有するための必要対価を検索結果として得ることができる。
【0127】
さらに、例えば、サービス提供条件管理機能115は、当該ユーザ、当該組織、又は当該企業の当該サービスに対応するライセンスが検索結果に含まれ、かつ検索結果が示す当該ライセンスに対応する必要対価の値が、予算構造管理テーブル133から検索された予算であって、当該必要対価と同じ構造化IDを有する予算の値以下である場合に、当該ユーザIDが示すユーザによる当該サービスIDが示すサービスへのアクセス又はアクティベーションが許可されると判定し、それ以外の場合にアクセス又はアクティベーションが許可されないと判定する。
【0128】
サービス提供条件管理機能115は、アクセス又はアクティベーションが許可されると判定した場合(S1507:YES)、アクセス要求又はオンラインアクティベーション要求を許可し(S1508)、許可されないと判定した場合(S1507:NO)、アクセス要求又はオンラインアクティベーション要求を拒否し、認証要求処理を終了する。
【0129】
図15の処理により、サービス管理装置100は、ユーザIDやサービスIDを示す認証要求から、当該ユーザIDや当該サービスに紐づくセグメント構造、予算、ライセンス、及び必要対価を特定して、認証要求を許可するかを判定することができる。
【0130】
なお、
図15の例では、認証要求にサービスIDが含まれる例を示したが、認証要求にサービスIDが含まれずにユーザIDが含まれる場合に、サービス提供条件管理機能115は、当該ユーザが認証要求を許可される全てのサービスを特定して、ユーザ端末600に提示してもよい。
【0131】
図16は、請求処理の一例を示すフローチャートである。
図16の処理が開始する前に、ユーザ構造管理テーブル131、セグメント構造管理テーブル132、及び従量計算ルール管理テーブル135が予め設定され、従量実績管理処理が行われている(即ち従量実績管理テーブル136が設定されている)。
【0132】
請求機能118は、従量実績管理テーブル136を読み込む(S1601)。請求機能118は、ユーザ構造管理テーブル131を読み込む(S1602)。請求機能118は、予算構造管理テーブル133を読み込む(S1603)。請求機能118は、従量計算ルール管理テーブル135を読み込む(S1604)。
【0133】
請求機能118は、従量実績管理テーブル136が示す従量実績を示すレコードと、従量計算ルール管理テーブル135が示す従量計算ルールと、に基づいて、当該従量実績への対価の請求額を算出する(S1605)。具体的には、例えば、請求機能118は、従量実績管理テーブル136の従量実績を示すレコードにおける構造化IDと値と単位とを取得し、当該取得した構造化IDに対応する従量計算を示すレコードを従量計算ルール管理テーブル135から取得し、当該値と単位と、従量計算を示すレコードが示す値と単位と、から当該従量実績への対価の請求額を算出する。
【0134】
請求機能118は、従量実績管理テーブル136の従量実績を示すレコードにおける構造化IDが示すセグメント構造と、従量実績管理テーブル136の予算を示すレコードにおける構造化IDが示すセグメント構造と、を特定する(S1606)。
【0135】
請求機能118は、ステップS1606で特定したセグメント構造が一致する予算がある従量実績について(S1607:YES)、当該特定したセグメント構造の当該予算へ当該算出した対価を請求し、レポーティング機能121は、請求対象のライセンスに関するレコード、請求先の予算に関するレコード、及び請求額等をレポート用エビデンス管理テーブル137に書き出して、請求処理を終了する。なお、対価の請求内容及び支払内容がブロックチェーンに記録されてもよい。
【0136】
具体的には、例えば、
図10の従量実績管理テーブル136の例において、レコード番号が2と3の従量実績を示すレコードにおける構造化IDが示すセグメント構造は「企業名1」のみからなり、レコード番号が1の予算を示すレコードにおける構造化IDが示すセグメント構造も「企業名1」のみからなるなる。従って、請求機能118は、レコード番号2と3のレコードが示す従量実績への対価を、レコード番号が1のレコードが示す予算及び支払方法に従って支払うよう請求する。
【0137】
レポーティング機能121は、ステップS1606で特定したセグメント構造が一致する予算がない従量実績について(S1607:NO)、従量実績のセグメント構造に対応するセグメント構造を有する予算を予算構造管理テーブル133から特定し、当該特定した予算に対して当該算出した対価を請求する明細レポートを生成する(S1609)。
【0138】
具体的には、例えば、
図10の従量実績管理テーブル136の例において、レコード番号が4の従量実績を示すレコードにおける構造化IDが示すセグメント構造は「企業名1/拠点名1」であり、セグメント構造が「企業名1/拠点名1」である構造化IDを有し、かつ予算を示すレコードは存在しない。一方、
図7の予算構造管理テーブル133には、セグメント構造が「企業名1/拠点名1」である構造化IDを有するレコード(レコード番号が2のレコード)があり、当該構造化IDが示す予算は「拠点予算」である。従って、請求機能118は、
図10の従量実績管理テーブル136の例において、レコード番号が4のレコードが示す従量実績への対価を、
図7の予算構造管理テーブル133が示す予算及び支払方法に従って支払うよう請求する明細レポートを生成する。
【0139】
レポーティング機能121は、ステップS1609で配賦した請求内容をレポート用エビデンス管理テーブル137に書き出す(S1610)。請求機能118は、一括請求と、予算構造と、に合わせた明細を発行して(S1611)、請求処理を終了する。
【0140】
図16の処理により、サービス管理装置100は、従量実績、従量計算ルール、及び予算構造から、従量実績への対価の算出、及び当該対価の請求の配賦を実現することができる。
【0141】
図17は、利益分配処理の一例を示すフローチャートである。
図17の処理が開始する前に、サービス利益分配管理テーブル139が予め設定され、レポート用エビデンス管理テーブル137のライセンスに対する対価の請求に関するレコードが生成されている。
【0142】
利益分配機能120は、サービス利益分配管理テーブル139を読み込む(S1701)。利益分配機能120は、レポート用エビデンス管理テーブル137を読み込む(S1702)。利益分配機能120は、レポート用エビデンス管理テーブル137が示す請求内容と、サービス利益分配管理テーブル139が示す分配率と、に基づいて、サービス提供元への利益分配額を算出する(S1703)。
【0143】
具体的には、例えば、利益分配機能120は、レポート用エビデンス管理テーブル137が示す請求済みのライセンスに対応する構造化IDに含まれるサービスIDと、レポート用エビデンス管理テーブル137が示す当該請求済みのライセンスの対価を支払う予算の値と、を特定する。
【0144】
さらに、例えば、利益分配機能120は、サービス利益分配管理テーブル139から、当該サービスIDの利益を分配するサービス提供元と、利益(対価そのものであってもよいし、対価の所定割合であってもよい)の分配率と、を特定し、特定したサービス提供元に分配する利益を算出する。
【0145】
対価の請求に対する支払いが行われたら、レポーティング機能121は、当該対価の請求の支払いが完了したことをレポート用エビデンス管理テーブル137に書き出し、利益分配機能120は、当該対価による利益を、ステップS1703で算出した分配額に従ってサービス提供元に分配し(S1704)、利益分配処理を終了する。
【0146】
なお、レポート用エビデンス管理テーブル137が示す対価の支払いに用いられた単位(通貨やポイント)と、サービス利益分配管理テーブル139が示す分配された利益を受け取る単位と、が異なる場合、例えば、通貨連携機能111が、対価の支払いに用いられた単位の額を、分配された利益を受け取る単位に変換した上で分配額を算出して、単位が変換された分配額をサービス提供元に分配する。
【0147】
図17の処理により、サービス管理装置100は、サービスを提供したことによって得られた利益を、サービス提供元に対して適切に分配することができる。
【0148】
なお、本実施例のサービス管理装置100は、上記した各種管理テーブルによってユーザ構造、セグメント構造、予算構造、及びサービス提供条件等を管理することにより、ユーザ変更、ユーザの異動、並びにライセンス譲渡等に柔軟に対応することができる。
【0149】
例えば、サービス管理装置100は、「ユーザID 1」のユーザを「ユーザ ID3」のユーザに変更する指示を受け付けた場合、セグメント構造管理テーブル132、予算構造管理テーブル133、サービス提供条件管理テーブル134、及び従量計算ルール管理テーブル135等の構造化IDに含まれる「ユーザID 1」という部分を「ユーザID 3」に変更する。これにより、「ユーザID 1」のユーザが利用可能であったサービス及び予算を「ユーザID 3」のユーザが利用可能となる。
【0150】
また、例えば、サービス管理装置100は、「企業名1/拠点名1/部門名1/課名称1」で階層構造が定義される組織に属している「ユーザID 1」のユーザが、「企業名1/拠点名2/部門名2/課名称2」で階層構造が定義される組織に異動したことを示す通知を受信した場合、セグメント構造管理テーブル132、予算構造管理テーブル133、サービス提供条件管理テーブル134、及び従量計算ルール管理テーブル135等の構造化IDに含まれる「企業名1/拠点名1/部門名1/課名称1/ユーザID 1」という部分を「企業名1/拠点名2/部門名2/課名称2/ユーザID 1」に変更する。これにより、「ユーザID 1」のユーザに紐づいているライセンス及び予算については異動後にも当該ユーザが継続して利用可能となるものの、「ユーザID 1」のユーザが異動前に所属していた組織に紐づいていたライセンスについては異動後には利用不可能となる。
【0151】
また、例えば、サービス管理装置100は、「Root/企業名1/拠点名1」の組織が有するの「サービスID 1/プレゼントキャンペーンA」で定義される100本のライセンスのうちの30本を「Root/企業名1/拠点名2」の組織に譲渡する指示を受け付けた場合、サービス提供条件管理テーブル134における構造化ID「Root/企業名1/拠点名1/サービスID 1/プレゼントキャンペーンA」の値を「70」(=100-30)に変更し、構造化IDが「Root/企業名1/拠点名2/サービスID 1/プレゼントキャンペーンA」、値が「30」、単位が「本」であるレコードをサービス提供条件管理テーブル134に追加する。
【0152】
また、例えば、サービス管理装置100は、「ユーザID 1」のユーザが退職することを示す通知(即ち当該ユーザを削除する指示)を受け付けた場合、ユーザ構造管理テーブル131、セグメント構造管理テーブル132、及び予算構造管理テーブル133から「ユーザID 1」を含む構造化IDを含むレコードを削除し、サービス提供条件管理テーブル134における「ユーザID 1」を含む構造化IDを含むレコードを削除又は当該構造化IDに含まれる「/ユーザID 1」を削除(即ちライセンスが「ユーザID 1」が所属する組織に譲渡される)し、従量計算ルール管理テーブル135及び従量実績管理テーブル136における「ユーザID 1」を含む構造化IDから「/ユーザID 1」を削除する(即ち従量による対価の請求が「ユーザID 1」が所属する組織に引き継がれる)。
【0153】
なお、上記した例において構造化IDを用いて表現されている情報が、XML(Extensible Markup Language)やJSON(JavaScript(登録商標) Object Notation)などの入れ子構造やKey-Valueデータ構造を用いた任意の構造化データによって表現されてもよい。
【0154】
また、さらに複雑な識別を行うために構造化IDに含まれる識別子にプレフィックス(枕識別情報)が付加されてもよく、これにより一段階深い識別構造を用いてさらに複雑な構造管理を実現することもできる。
本実施例では、サービス管理装置100が、所定のルールに基づいて対価を割引するための処理を説明する。主に、実施例1との相違点を説明し、実施例1との同様の内容については原則的に説明を省略する。
対価の割引を実行する第1の例について説明する。第1の例では、同じ企業に属する異なる複数の組織が同じサービスのライセンスを保有する場合、当該複数の組織に対して当該サービスに係る料金を割引する。つまり、サービス提供条件管理テーブル134のライセンスを示す複数のレコードにおいて、構造化IDに含まれるサービスIDが同じであり、当該構造化IDが示すセグメント構造における企業IDが同じであり、かつ当該セグメント構造における組織IDが異なる場合、当該複数のレコードが示すライセンスに係るサービスが割引の対象となる。
例えば、従量計算ルール管理機能117は、サービス提供条件管理テーブル134から上記した割引対象のライセンスを特定し、当該ライセンスを示す構造化IDと同様の構造化IDと、所定の割引額と、を示すレコードを従量計算ルール管理テーブル135に追加することで、当該割引についてのルールを従量計算ルール管理テーブル135に定義することができ、同じ企業に属する異なる複数の組織に提供するサービスに対する割引を実現することができる。
また、割引についてのルールを従量計算ルール管理テーブル135に定義せず、請求処理の際に当該割引を考慮した請求額を算出してもよい。例えば、請求処理において、請求機能118は、サービス提供条件管理テーブル134から上記した割引対象のライセンスを検索し、当該割引対象のサービスに係る請求額については、ステップS1605において算出した請求額から所定の割引額を引いた値を採用してもよい。
このように同じ企業の異なる組織において同じサービスを利用する場合に対価を割引することで、当該サービスの導入を促進し、かつ導入されたサービスの解約の抑制を図ることができる。
対価の割引を実行する第2の例について説明する。第2の例では、連携している異なる複数の企業が同じサービスのライセンスを保有する場合、当該複数の企業に対して当該サービスに係る料金を割引する。例えば、サービス管理装置100は、連携している複数の企業の企業IDからなるグループを管理するテーブルを有することで連携企業を特定することができる。サービス提供条件管理テーブル134のライセンスを示す複数のレコードにおいて、構造化IDに含まれるサービスIDが同じであり、当該構造化IDが示すセグメント構造における企業IDが連携企業の関係にある場合、当該複数のレコードが示すライセンスに係るサービスが割引の対象となる。
なお、割引対象のライセンスに対してサービス対価の割引を実現する方法は、上記した第1の例と同様である。このように、複数の連携企業において同じサービスを利用する場合に対価を割引することで、当該サービスの導入を促進し、かつ導入されたサービスの解約の抑制を図ることができる。
対価の割引を実行する第3の例について説明する。第3の例では、同じ企業の同じ組織の特定の関係を有する複数のユーザが同じサービスのライセンスを保有する場合、当該複数のユーザに対して当該サービスに係る料金を割引する。以下、当該特定の関係を有する複数のユーザが、シニアユーザと新人ユーザのペアである例を説明する。
例えば、ユーザ構造管理テーブル131の属性に、ユーザの年齢が定義され、60歳以上のユーザをシニアユーザとし、25歳以下のユーザを新人ユーザとする。サービス提供条件管理テーブル134のライセンスを示す2つのレコードにおいて、構造化IDに含まれるサービスIDが同じであり、当該構造化IDが示すセグメント構造が同じであり、かつ当該構造化IDが示すユーザがそれぞれシニアユーザと新人ユーザ(ユーザ構造管理テーブル131の属性が示す年齢から判定できる)である場合、当該2つのレコードが示すライセンスに係るサービスが割引の対象となる。
なお、割引対象のライセンスに対してサービス対価の割引を実現する方法は、上記した第1の例と同様である。このように、同じ企業の同じ組織の特定の関係を有する複数のユーザが同じサービスを利用する場合に対価を割引することで、当該サービスの導入を促進し、かつ導入されたサービスの解約の抑制を図ることができる。
対価の割引を実行する第4の例について説明する。第4の例では、複数のユーザが同じグループに属し、同じサービスを同じ時間に利用する場合、当該複数のユーザに対して当該サービスに係る料金を割引する。
例えば、サービス管理装置100は、複数のユーザのユーザIDからなるグループを管理するテーブルを有することで当該複数のユーザを特定することができる。例えば、当該複数のユーザIDのユーザそれぞれによる同じサービスへのアクセス要求が所定時間内に許可された場合、当該複数のユーザそれぞれに対する当該サービスが割引の対象となる。
なお、割引対象のライセンスに対してサービス対価の割引を実現する方法は、上記した第4の例と同様である。また、当該複数のユーザ全てのアクセスが許可されるまでは、当該複数のユーザの一部のアクセス要求が許可されていても当該一部のユーザが当該サービスを利用できない(即ち当該一部のユーザがサービスの利用待ち状態となる)ようにしてもよい。このように、複数のユーザが同じサービスを同じ時間帯に利用する場合に対価を割引することで、当該サービスの導入を促進し、かつ導入されたサービスの解約の抑制を図ることができ、上記した利用待ち状態を発生させることにより当該サービスの利用時間帯のコントロールすることができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。