JP2009146350A - Service management device, data access controller, and data retrieval method - Google Patents

Service management device, data access controller, and data retrieval method Download PDF

Info

Publication number
JP2009146350A
JP2009146350A JP2007325969A JP2007325969A JP2009146350A JP 2009146350 A JP2009146350 A JP 2009146350A JP 2007325969 A JP2007325969 A JP 2007325969A JP 2007325969 A JP2007325969 A JP 2007325969A JP 2009146350 A JP2009146350 A JP 2009146350A
Authority
JP
Japan
Prior art keywords
server
acl
store
drill
data
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.)
Pending
Application number
JP2007325969A
Other languages
Japanese (ja)
Inventor
Yoshiaki Takeda
義聡 竹田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2007325969A priority Critical patent/JP2009146350A/en
Publication of JP2009146350A publication Critical patent/JP2009146350A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To raise processing efficiency when a certain tenant executes drill through from data tabulation results of the whole system to individual data about each tenant when each tenant has a DB and a DWH individually in a multi-tenant SaaS system. <P>SOLUTION: A service management device 117 tabulates detail data collected from a plurality of SaaS servers 101 for store to generate the whole tabulation result 115, and generates an ACL subset 116 indicating an SaaS server 101 for store for accumulating the detail data in which permission of access is indicated from a request source of the whole tabulation result 115 by a common ACL 126 among the detail data. The SaaS server 101 for store at the request source of the whole tabulation result 115 executes the drill through from a part of the whole tabulation result 115 to the detail data accumulated in the SaaS server 101 for store indicated by the ACL subset 116. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、サービス管理装置及びデータアクセス制御装置及びデータ検索システム及びデータ検索方法に関するものである。   The present invention relates to a service management device, a data access control device, a data search system, and a data search method.

従来のパッケージS/W(ソフトウェア)の代替としてWebブラウザベースのUI(ユーザインタフェース)によりインターネット経由で全ての機能を提供するSaaS(Software・as・a・Service)が注目されている。マルチテナントのSaaSシステム(マルチテナントとは、同一システム内に複数サービスが共存している状態を指し、テナントは個々のサービスを指す)では、各テナントが個別にDB(データベース)やDWH(データウェアハウス)を持っている場合がある。   As an alternative to the conventional package S / W (software), SaaS (Software as a Service) that provides all functions via the Internet with a Web browser-based UI (user interface) has attracted attention. In a multi-tenant SaaS system (a multi-tenant refers to a state where multiple services coexist in the same system, and a tenant refers to an individual service), each tenant individually has a DB (database) or DWH (dataware May have a house).

DBの一種である掲示板システムにおいて、ユーザ、及び、ユーザが属する少なくとも1レベルの階層のグループごとに、データベース、及び、データベースが属する少なくとも1レベルの階層のデータベースグループに対するアクセス権を設定し、データベースアクセス要求に対して、要求元となるユーザの階層構造、アクセス対象となるデータベースの階層構造、及び、上記アクセス権の設定内容を基に、アクセス権のチェックを行うものがある(例えば、特許文献1参照)。
特開平7−64844号公報
In a bulletin board system, which is a type of DB, for each user and at least one level of hierarchy group to which the user belongs, access rights to the database and at least one level of the database group to which the database belongs are set to access the database. In response to a request, there is one that checks access right based on the hierarchical structure of the user who is the request source, the hierarchical structure of the database to be accessed, and the setting contents of the access right (for example, Patent Document 1). reference).
JP-A-7-64844

マルチテナントのSaaS(Software・as・a・Service)システムにおいて、各テナントが個別にDB(データベース)やDWH(データウェアハウス)を持っているものの一例として、複数の店舗からなるフランチャイズチェーン(FC)におけるSaaS利用を考える。一般にFCでは、店舗ごとに業務内容が異なるため、店舗ごとに別々のSaaSを契約する。一方、FCの親業者や地域のFC店舗管理監督者などにおいては、傘下の店舗の業務内容を把握するため、複数の店舗のSaaSにアクセスし、売上情報などについてテナントを横断して検索・集計を行いたいという要求がある。この際、データ分析を経営に生かすビジネスインテリジェンス(BI)の世界では、テナントを横断するFC全体の集計結果から見出される現象の原因追求のため、集計データ参照画面から個別の明細データを検索して参照するドリルスルー機能(個別明細データ検索機能)を提供するのが一般的である。個々の店舗においては、FC全体の売上などの集計結果を参照したいという要求がある一方、他店舗がFC全体の集計結果からドリルスルーする際、自店舗の詳細情報である明細は同じ管理地区に属さない他店舗には参照されたくないというニーズがある。   As an example of multi-tenant SaaS (Software as a Service) system where each tenant individually has a DB (database) and DWH (data warehouse), a franchise chain (FC) consisting of multiple stores Consider using SaaS in In general, in FC, since the business content differs for each store, a separate SaaS contract is made for each store. On the other hand, FC parent companies and regional FC store management supervisors access SaaS at multiple stores to search and aggregate sales information across tenants in order to grasp the business details of the stores under their control. There is a request to do. At this time, in the business intelligence (BI) world where data analysis is utilized for management, individual detail data is searched from the aggregate data reference screen in order to pursue the cause of the phenomenon found from the aggregate results of the entire FC across tenants. It is common to provide a drill-through function to be referred to (individual item data search function). While each store has a request to refer to the aggregated results such as the sales of the entire FC, when other stores drill through the aggregated results of the entire FC, the details that are the detailed information of their stores are in the same management district There is a need not to be referred to other stores that do not belong.

しかし、テナントごとにDBやDWHを持っているSaaSにおいては、個々のDBやDWHごとにアクセス制御情報を設定する必要があり、管理が煩雑である。図1に、この場合のSaaSシステム991の構成を示す。図1において、ACL(アクセス制御リスト)は、アクセス制御情報に相当する。ACL1、ACL2、ACL3は、店舗1用SaaSサーバ、店舗2用SaaSサーバ、店舗3用SaaSサーバがそれぞれACLを個別に管理している様子を示す。   However, in SaaS having a DB or DWH for each tenant, it is necessary to set access control information for each DB or DWH, and management is complicated. FIG. 1 shows the configuration of the SaaS system 991 in this case. In FIG. 1, ACL (access control list) corresponds to access control information. ACL1, ACL2, and ACL3 show how the SaaS server for store 1, the SaaS server for store 2, and the SaaS server for store 3 manage the ACL individually.

これに対し、テナントを横断してのデータの検索・集計に必要なマスタ情報、及び、マスタ情報の要素間の階層構造情報を、FC内で共有するようにすることができる。この際、要素ごと、階層ごとに、アクセス権情報を設定できるようにする。図2に、この場合のSaaSシステム992の構成を示す。図2において、共通ACLは、マスタ情報、マスタ情報の要素間の階層構造情報、及び、マスタ情報に対するアクセス権情報を合わせたものに相当する。同じFCに属する店舗A1、A2、A3、・・・は、SaaSシステム992の提供するSaaSを契約している。このSaaSシステム992は、店舗A1、A2、A3、・・・のそれぞれに対応するSaaSサーバを用意し、サービスを提供する(SaaSサーバは論理的に分かれていればよく、物理的には同一のサーバを仮想マシン(VM)などにより論理的に分割することにより実現されていてもよい)。各店舗の情報を管理するDBはSaaSサーバごとに物理的又は論理的に分けて実現されるのが一般的である。またSaaSシステム992は、SaaS監視管理サーバを用いて各ユーザ対応のSaaSサーバの監視・管理を行う。   On the other hand, master information necessary for data search / aggregation across tenants and hierarchical structure information between elements of the master information can be shared in the FC. At this time, access right information can be set for each element and each layer. FIG. 2 shows the configuration of the SaaS system 992 in this case. In FIG. 2, the common ACL corresponds to a combination of master information, hierarchical structure information between elements of the master information, and access right information for the master information. Stores A1, A2, A3,... Belonging to the same FC have contracted SaaS provided by the SaaS system 992. This SaaS system 992 prepares SaaS servers corresponding to the stores A1, A2, A3,... And provides services (the SaaS servers only need to be logically separated and are physically the same). It may be realized by logically dividing the server by a virtual machine (VM) or the like). The DB that manages the information of each store is generally realized physically or logically for each SaaS server. The SaaS system 992 monitors and manages the SaaS server corresponding to each user using the SaaS monitoring management server.

このように共通ACLを用いた構成とすることにより、FC全体の横断的な集計結果に対するドリルスルーを行うために、店舗ごとのDBやDWHに対するアクセス制御情報をSaaSサーバごとに個別に管理する必要がなくなり、共通ACLにFC内のアクセス制御情報を集約して管理を簡略化できる。SaaSシステム992において、各店舗のユーザ又は管理者は、端末から、各店舗のSaaSサーバ上にあるDBへの参照アクセス権利を持つSaaS監視管理サーバに対して、FC全体の売上などの集計を要求する。SaaS監視管理サーバは、各店舗のSaaSサーバに対して問い合わせを行った後、各店舗個別の集計結果を受け取り、全体集計を実行する。そして、SaaS監視管理サーバは、FC全体の集計結果を、全体集計要求元の各店舗用SaaSサーバに送り、各店舗のユーザは各店舗用SaaSサーバ上のFC全体の集計結果を参照する。   In this way, with the configuration using the common ACL, in order to drill through the cross-sectional results of the entire FC, it is necessary to manage access control information for each store DB and DWH individually for each SaaS server. Thus, the access control information in the FC can be aggregated in the common ACL, and management can be simplified. In the SaaS system 992, the user or manager of each store requests aggregation of the sales of the entire FC from the terminal to the SaaS monitoring and management server having the right to access the DB on the SaaS server of each store. To do. After making an inquiry to the SaaS server of each store, the SaaS monitoring management server receives the total result of each store and executes total tabulation. Then, the SaaS monitoring management server sends the aggregation result of the entire FC to the SaaS server for each store of the total aggregation request source, and the user of each store refers to the aggregation result of the entire FC on the SaaS server for each store.

BIにおいては、FC全体の集計結果を基にした、複数店舗のDBへのドリルスルー時には、リアルタイム性を重視して各店舗からの結果を取得次第ドリルスルー要求元に返したいという要望がある。しかしながら、SaaSシステム992では、SaaS監視管理サーバに結果が集約され、リアルタイム性が落ちるという課題がある。例えば、図2において、店舗A1が、FC全体の集計結果に基づくドリルスルー要求を出すものとすると、店舗A1は、共通ACLを保管しているSaaS監視管理サーバに対して、ドリルスルー要求を出す。ここで、ドリルスルーのリアルタイム性を向上させるためには、各店舗用SaaSサーバ上のDBに対する検索結果を直接ドリルスルー要求元(店舗A1)に戻したいが、各店舗用SaaSサーバに対する検索要求はSaaS監視管理サーバより出されているため、応答もSaaS監視管理サーバに対して返され、SaaS監視管理サーバが全ての店舗の結果をまとめてドリルスルー要求元に返すことになる。   In the BI, when drilling through to the DB of a plurality of stores based on the aggregated results of the entire FC, there is a desire to return the results from each store to the drill-through request source as soon as they are acquired with emphasis on real-time performance. However, in the SaaS system 992, there is a problem that the results are collected in the SaaS monitoring management server, and the real-time performance is deteriorated. For example, in FIG. 2, if the store A1 issues a drill-through request based on the total result of the FC, the store A1 issues a drill-through request to the SaaS monitoring management server that stores the common ACL. . Here, in order to improve the real time property of drill-through, the search result for the DB on each store SaaS server is directly returned to the drill-through request source (store A1), but the search request for each store SaaS server is Since it is issued from the SaaS monitoring management server, a response is also returned to the SaaS monitoring management server, and the SaaS monitoring management server collectively returns the results of all stores to the drill-through request source.

これに対し、店舗A1が、各店舗用SaaSサーバに対して、ドリルスルー要求を出し、共通ACLの確認はドリルスルー要求を受け付けた各店舗用SaaSサーバにて実施する構成をとることにより、ドリルスルーの結果を取得次第、ドリルスルー要求元(店舗A1)に表示することが可能になる。このとき、ドリルスルー要求元のSaaSサーバに結果受取スレッドを生成し、非同期に結果を各店舗用SaaSサーバから受け取り、表示するように実装することができる。図3に、この場合の処理の概略を示す。図3の処理の流れは下記の通りである。
(1)ドリルスルー要求元(店舗A1)は、各店舗に対し、ドリルスルーを要求する。
(2)各店舗は、SaaS監視管理サーバ上の共通ACLを参照し、ドリルスルー要求元(店舗A1)に対し、自己の持つDBへのアクセスを許可してよいか確認する。
(3)SaaS監視管理サーバは、各店舗に対し、各店舗の持つDBへのドリルスルー要求元(店舗A1)のアクセス可否を通知する。
(4)(3)でアクセス可となった店舗は、ドリルスルー要求元(店舗A1)に対し、ドリルスルー結果を送付する。
On the other hand, the store A1 issues a drill-through request to each store SaaS server, and the common ACL is confirmed by the store SaaS server that has received the drill-through request. As soon as the through result is acquired, it can be displayed on the drill-through request source (store A1). At this time, a result receiving thread is generated in the SaaS server that is the source of the drill-through request, and the result can be asynchronously received and displayed from each store SaaS server. FIG. 3 shows an outline of processing in this case. The processing flow of FIG. 3 is as follows.
(1) The drill-through request source (store A1) requests drill-through from each store.
(2) Each store refers to the common ACL on the SaaS monitoring management server, and confirms whether or not the drill-through request source (store A1) may be permitted to access its own DB.
(3) The SaaS monitoring management server notifies each store whether or not the drill-through request source (store A1) can access the DB of each store.
(4) The store that can be accessed in (3) sends the drill-through result to the drill-through request source (store A1).

図3において、ドリルスルー要求元(店舗A1)は共通ACLを持たないため、ドリルスルー要求は全店舗のSaaSサーバに対して行うことになり、無駄な通信トラフィックが発生するという課題がある。仮に、この課題に対処するためにドリルスルー要求元に共通ACLの複製を配置すると、共通ACLの管理コストの問題が発生する。   In FIG. 3, since the drill-through request source (store A1) does not have a common ACL, the drill-through request is made to the SaaS servers of all stores, and there is a problem that unnecessary communication traffic occurs. If a duplicate of the common ACL is arranged at the drill-through request source in order to cope with this problem, a problem of management cost of the common ACL occurs.

上記のようなSaaSシステムにおいて、ドリルスルー要求元のサービス契約に対する料金滞納の有無、利用時間・データ量の制限超過の有無など、利用状況に応じてドリルスルーに対する制限をかけることが必要な場合がある。   In the SaaS system as described above, there may be cases where it is necessary to limit drill-through according to usage conditions, such as whether there is a charge delinquency for the service contract of the drill-through request source or whether usage time / data amount limit is exceeded. is there.

本発明は、例えば、マルチテナントのSaaSシステムにおいて、各テナントが個別にDBやDWHを持っている場合、あるテナントがシステム全体のデータ集計結果から各テナントの個別のデータへのドリルスルーを実行する際の処理効率を向上させることを目的とする。具体的には、本発明は、ドリルスルーを実行するテナントが、非同期通信により他のテナントからドリルスルーの結果を受け取ることを可能にしつつ、アクセス権を持たない他のテナントへドリルスルーの結果を無駄に問い合わせることを防ぐことを目的とする。また、本発明は、ドリルスルーを実行するテナントが、他のテナントにドリルスルーの結果を要求する際に、サービス契約に対する利用状況に応じた制限をかけることを目的とする。   In the present invention, for example, in a multi-tenant SaaS system, when each tenant individually has a DB or DWH, a certain tenant performs a drill-through from the data aggregation result of the entire system to individual data of each tenant. The purpose is to improve the processing efficiency. Specifically, the present invention enables a tenant executing drill-through to receive the result of drill-through from another tenant through asynchronous communication, while transmitting the result of drill-through to another tenant that does not have access rights. The purpose is to prevent unnecessary inquiries. It is another object of the present invention to place a restriction according to the usage status of a service contract when a tenant executing drill-through requests a drill-through result from another tenant.

本発明の一の態様に係るサービス管理装置は、
複数の種類の明細データを蓄積する複数のサーバの1つ(以下、「第1サーバ」という)から、集計対象とする明細データの種類を指定した集計要求をネットワーク経由で受信し、前記複数のサーバから、各サーバに蓄積された当該種類の明細データをネットワーク経由で収集し、当該明細データを処理装置により集計して集計データを生成する集計実行部と、
各サーバから他のサーバに蓄積された明細データへのアクセスの許否をサーバごとに示す共通ACL(アクセス制御リスト)を記憶装置により記憶する共通ACL管理データベースと、
前記集計実行部が集計した明細データのうち、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積するサーバ(以下、「第2サーバ」という)を示すACLサブセットを処理装置により生成するドリルスルー用ACLサブセット生成部とを備え、
前記集計実行部は、前記第1サーバに対し、生成した集計データと前記ドリルスルー用ACLサブセット生成部が生成したACLサブセットとをネットワーク経由で送信し、当該集計データの一部から当該ACLサブセットで示された第2サーバに蓄積された明細データへのドリルスルーを前記第1サーバに実行させることを特徴とする。
A service management apparatus according to one aspect of the present invention includes:
From one of a plurality of servers that store a plurality of types of detailed data (hereinafter referred to as “first server”), a totaling request specifying a type of detailed data to be totaled is received via the network, A totalization execution unit that collects detailed data of the type stored in each server from the server via the network, and generates totalized data by counting the detailed data by a processing device;
A common ACL management database that stores, in a storage device, a common ACL (access control list) that indicates whether or not access to detailed data stored in other servers from each server is permitted;
Of the detailed data aggregated by the aggregation execution unit, a server that accumulates detailed data indicated to permit access from the first server in the common ACL stored in the common ACL management database (hereinafter referred to as “the first item”). An ACL subset generating unit for generating an ACL subset indicating a “two server”) by a processing device,
The aggregation execution unit transmits the generated aggregation data and the ACL subset generated by the drill-through ACL subset generation unit to the first server via a network, and the ACL subset is generated from a part of the aggregation data. The first server is caused to execute drill-through to detailed data stored in the indicated second server.

本発明の一の態様によれば、サービス管理装置が、第1サーバから、集計対象とする明細データの種類を指定した集計要求をネットワーク経由で受信し、複数のサーバから、各サーバに蓄積された当該種類の明細データをネットワーク経由で収集し、当該明細データを集計して集計データを生成し、当該明細データのうち、共通ACL管理データベースに記憶された共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積する第2サーバを示すACLサブセットを生成し、前記第1サーバに対し、生成した集計データとACLサブセットとを送信し、当該集計データの一部から当該ACLサブセットで示された第2サーバに蓄積された明細データへのドリルスルーを前記第1サーバに実行させることにより、例えば、マルチテナントのSaaS(Software・as・a・Service)システムにおいて、各テナントが個別にDB(データベース)やDWH(データウェアハウス)を持っている場合、あるテナントがシステム全体のデータ集計結果から各テナントの個別のデータへのドリルスルーを実行する際の処理効率が向上する。   According to one aspect of the present invention, the service management apparatus receives a totaling request specifying the type of detailed data to be totaled from the first server via the network, and is accumulated in each server from a plurality of servers. The detailed data of the type is collected via the network, and the detailed data is aggregated to generate aggregate data. Among the detailed data, the common ACL stored in the common ACL management database accesses the first server. And generating the ACL subset indicating the second server that stores the detailed data indicated to be permitted, and transmitting the generated aggregate data and the ACL subset to the first server, from a part of the aggregate data By causing the first server to drill through to the detailed data stored in the second server indicated by the ACL subset, For example, in a multi-tenant SaaS (Software as a Service) system, if each tenant has a DB (database) or DWH (data warehouse) individually, a certain tenant is Processing efficiency when executing drill-through to individual data of each tenant is improved.

以下、本発明の実施の形態について、図を用いて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

実施の形態1.
図4は、SaaSシステム100(本実施の形態に係るデータ検索システム)の構成を示すブロック図である。SaaSは、前述したように、Software・as・a・Serviceの略である。
Embodiment 1 FIG.
FIG. 4 is a block diagram showing a configuration of the SaaS system 100 (data search system according to the present embodiment). As described above, SaaS is an abbreviation for Software as a Service.

図4において、SaaSシステム100は、複数の店舗用SaaSサーバ101(本実施の形態における複数のサーバ)、少なくとも1つのSaaS監視管理サーバ102、複数のユーザ端末127を備える。これらのサーバ及び端末は、互いにネットワーク200経由でデータ通信を行う。   4, the SaaS system 100 includes a plurality of store SaaS servers 101 (a plurality of servers in the present embodiment), at least one SaaS monitoring management server 102, and a plurality of user terminals 127. These servers and terminals perform data communication with each other via the network 200.

店舗用SaaSサーバ101は、店舗用SaaS機能を有するデータアクセス制御装置103を具備するサービスサーバである。データアクセス制御装置103は、作業用記憶領域104、サービスコンテンツDB105(データベース)、横断的集計要求部106(本実施の形態における集計要求部)、横断的集計応答部107(本実施の形態における集計応答部)、ドリルスルー要求部108、ACLサブセット管理部109(ACLは、前述したように、アクセス制御リストのことである)、ドリルスルー応答部110を備える。ドリルスルー要求部108は、条件抽出部111、ACLサブセット解釈部112、結果受取部113、結果表示部114を有する。各部の動作については後述する。   The store SaaS server 101 is a service server including a data access control device 103 having a store SaaS function. The data access control device 103 includes a working storage area 104, a service content DB 105 (database), a cross-tabulation requesting unit 106 (counting request unit in the present embodiment), and a cross-sectional tabulation response unit 107 (counting in the present embodiment). A response unit), a drill-through request unit 108, an ACL subset management unit 109 (ACL is an access control list as described above), and a drill-through response unit 110. The drill-through request unit 108 includes a condition extraction unit 111, an ACL subset interpretation unit 112, a result reception unit 113, and a result display unit 114. The operation of each part will be described later.

図示していないが、店舗用SaaSサーバ101は、記憶装置、処理装置、入力装置、出力装置などのハードウェア資源を備える。データアクセス制御装置103の作業用記憶領域104は、店舗用SaaSサーバ101の記憶装置(例えば、揮発性メモリ)に実装され、後述する全体集計結果115及びACLサブセット116を格納するために用いられる。データアクセス制御装置103のサービスコンテンツDB105は、店舗用SaaSサーバ101の記憶装置(例えば、ハードディスク)に実装され、複数の種類の明細データを蓄積する。明細データは、各店舗用SaaSサーバ101が提供する個別のサービスに係るデータである。本実施の形態では、サービスコンテンツDB105内の1つの表(テーブル)につき、1種類の明細データを記録するものとする。   Although not shown, the store SaaS server 101 includes hardware resources such as a storage device, a processing device, an input device, and an output device. The work storage area 104 of the data access control device 103 is mounted on a storage device (for example, a volatile memory) of the store SaaS server 101, and is used to store an overall count result 115 and an ACL subset 116, which will be described later. The service content DB 105 of the data access control device 103 is mounted on a storage device (for example, a hard disk) of the store SaaS server 101 and stores a plurality of types of detailed data. The detail data is data relating to an individual service provided by each store SaaS server 101. In the present embodiment, one type of detailed data is recorded for one table in the service content DB 105.

SaaS監視管理サーバ102は、SaaS監視管理機能を有するサービス管理装置117を具備するサービス監視管理サーバである。サービス管理装置117は、共通ACL管理DB119(データベース)、横断的集計実行部120(本実施の形態における集計実行部)、共通ACL管理部121、ドリルスルー用ACLサブセット生成部122を備える。各部の動作については後述する。   The SaaS monitoring management server 102 is a service monitoring management server including a service management device 117 having a SaaS monitoring management function. The service management apparatus 117 includes a common ACL management DB 119 (database), a cross-sectional aggregation execution unit 120 (aggregation execution unit in the present embodiment), a common ACL management unit 121, and a drill-through ACL subset generation unit 122. The operation of each part will be described later.

図示していないが、SaaS監視管理サーバ102は、記憶装置、処理装置、入力装置、出力装置などのハードウェア資源を備える。サービス管理装置117の共通ACL管理DB119は、SaaS監視管理サーバ102の記憶装置(例えば、ハードディスク)に実装され、共通ACL126を保管する。サービス管理装置117の共通ACL管理DB119は、複数の種類の共通ACL126を保管してもよい。共通ACL126は、各店舗用SaaSサーバ101から他の店舗用SaaSサーバ101のサービスコンテンツDB105に蓄積された明細データへのアクセスの許否(共通アクセス制御情報)を、店舗用SaaSサーバ101ごとに示すデータである。本実施の形態では、共通ACL管理DB119内の複数の表が、1種類の共通ACL126を記録するものとする。   Although not shown, the SaaS monitoring management server 102 includes hardware resources such as a storage device, a processing device, an input device, and an output device. The common ACL management DB 119 of the service management apparatus 117 is mounted on a storage device (for example, a hard disk) of the SaaS monitoring management server 102 and stores the common ACL 126. The common ACL management DB 119 of the service management device 117 may store a plurality of types of common ACLs 126. The common ACL 126 is data indicating, for each store SaaS server 101, permission / refusal (common access control information) of detailed data stored in the service content DB 105 of each store SaaS server 101 from each store SaaS server 101. It is. In the present embodiment, it is assumed that a plurality of tables in the common ACL management DB 119 record one type of common ACL 126.

SaaSシステム100において、SaaS監視管理サーバ102が具備するサービス管理装置117は、全体集計結果115の全体集計要求元(複数の店舗用SaaSサーバ101のいずれか1つが具備するデータアクセス制御装置103)への送付時に、共通ACL126で定義された共通アクセス制御情報のうち、集計条件に応じて絞り込まれる共通アクセス制御情報内の要素(店舗用SaaSサーバ101)よりなるサブセット(ドリルスルー対象となるデータをドリルスルー要求元に対して返すことが許可されている店舗用SaaSサーバ101のリスト)を併せて送付する。これにより、全体集計要求元のデータアクセス制御装置103は、全体集計結果115とともに受け取った共通ACL126のサブセット(全体集計要求元のデータアクセス制御装置103では、作業用記憶領域104にACLサブセット116として保管される)を基に、ドリルスルー要求を送る店舗用SaaSサーバ101(店舗)の数を絞ることができる。全体集計要求元(ドリルスルーの要求元でもある)のデータアクセス制御装置103は、共通ACL126を持たないため、図3のSaaSシステム992と同じ方式を用いるのであれば、図3の(1)のように、ドリルスルー要求を全店舗に対して送らなければならなかった。一方、本実施の形態に係るSaaSシステム100では、上記のように、全体集計要求元のデータアクセス制御装置103は共通ACL126の部分情報(サブセット)であるACLサブセット116を用いて、ドリルスルー要求を送付する店舗を絞り込むことが可能となる。このような構成をとることにより、前述したような非同期通信によるドリルスルー結果の受け取りを可能にしつつ、ドリルスルーの要求元がアクセス権を持たない店舗に対して無駄に送付する要求の数を抑えることができる。また、最小限のアクセス制御情報を店舗用SaaSサーバ101にコピーする構成をとることにより、共通ACL126の複製を各店舗用SaaSサーバ101に配置する構成と比べて管理コストを抑えることができる。   In the SaaS system 100, the service management apparatus 117 included in the SaaS monitoring management server 102 is directed to the total count request source of the total count result 115 (the data access control apparatus 103 included in any one of the plurality of store SaaS servers 101). Of the common access control information defined in the common ACL 126, and the subset (the store SaaS server 101) of the elements in the common access control information that are narrowed down according to the aggregation condition (drill-through data is drilled) A list of store SaaS servers 101 that are permitted to be returned to the through request source is also sent. Thereby, the data access control device 103 of the total aggregation request source stores the subset of the common ACL 126 received together with the total aggregation result 115 (in the data access control device 103 of the total aggregation request source, it is stored as the ACL subset 116 in the work storage area 104. The number of store SaaS servers 101 (stores) to which a drill-through request is sent can be narrowed down. Since the data access control device 103 of the total aggregation request source (which is also the drill-through request source) does not have the common ACL 126, if the same method as the SaaS system 992 of FIG. 3 is used, the data access control device 103 of FIG. As such, drill-through requests had to be sent to all stores. On the other hand, in the SaaS system 100 according to the present embodiment, as described above, the data access control device 103 that is the total aggregation request source uses the ACL subset 116 that is partial information (subset) of the common ACL 126 to make a drill-through request. It is possible to narrow down the stores to send. By adopting such a configuration, it is possible to receive the drill-through result by the asynchronous communication as described above, and reduce the number of requests that the drill-through request source sends wastefully to a store that does not have the access right. be able to. Further, by adopting a configuration in which the minimum access control information is copied to the store SaaS server 101, the management cost can be reduced as compared with a configuration in which a copy of the common ACL 126 is arranged in each store SaaS server 101.

図5は、店舗用SaaSサーバ101、SaaS監視管理サーバ102のハードウェア資源の一例を示す図である。   FIG. 5 is a diagram illustrating an example of hardware resources of the store SaaS server 101 and the SaaS monitoring management server 102.

図5において、店舗用SaaSサーバ101、SaaS監視管理サーバ102は、いずれもコンピュータであり、CRT(Cathode・Ray・Tube)やLCD(液晶ディスプレイ)の表示画面を有する表示装置901、キーボード902(K/B)、マウス903、FDD904(Flexible・Disk・Drive)、CDD905(Compact・Disc・Drive)、プリンタ装置906などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。   In FIG. 5, the store SaaS server 101 and the SaaS monitoring management server 102 are both computers, a display device 901 having a CRT (Cathode / Ray / Tube) or LCD (Liquid Crystal Display) display screen, a keyboard 902 (K / B), hardware resources such as a mouse 903, an FDD904 (Flexible Disk Drive), a CDD905 (Compact Disk Drive), and a printer device 906, which are connected by cables and signal lines.

店舗用SaaSサーバ101、SaaS監視管理サーバ102は、プログラムを実行するCPU911(Central・Processing・Unit)を備えている。CPU911は、処理装置の一例である。CPU911は、バス912を介してROM913(Read・Only・Memory)、RAM914(Random・Access・Memory)、通信ボード915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。   The store SaaS server 101 and the SaaS monitoring management server 102 include a CPU 911 (Central Processing Unit) that executes a program. The CPU 911 is an example of a processing device. The CPU 911 includes a ROM 913 (Read / Only / Memory), a RAM 914 (Random / Access / Memory), a communication board 915, a display device 901, a keyboard 902, a mouse 903, an FDD904, a CDD905, a printer device 906, and a magnetic disk. It is connected to the device 920 and controls these hardware devices. Instead of the magnetic disk device 920, a storage medium such as an optical disk device or a memory card reader / writer may be used.

RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。通信ボード915、キーボード902、マウス903、FDD904、CDD905などは、入力装置の一例である。また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。   The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device. A communication board 915, a keyboard 902, a mouse 903, an FDD 904, a CDD 905, and the like are examples of input devices. The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、LAN(ローカルエリアネットワーク)などに接続されている。通信ボード915は、LANに限らず、インターネット、あるいは、IP−VPN(Internet・Protocol・Virtual・Private・Network)、広域LAN、ATM(Asynchronous・Transfer・Mode)ネットワークなどのWAN(ワイドエリアネットワーク)などに接続されていても構わない。LAN、インターネット、WANは、ネットワーク200の一例である。   The communication board 915 is connected to a LAN (local area network) or the like. The communication board 915 is not limited to a LAN, but is the Internet, or an IP-VPN (Internet, Protocol, Private, Network), a wide area LAN, a WAN (Wide Area Network) such as an ATM (Asynchronous, Transfer, Mode) network, or the like. It does not matter if it is connected to. LAN, the Internet, and WAN are examples of the network 200.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。プログラム群923には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。また、ファイル群924には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ID(識別子)」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理(動作)に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのCPU911の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。   The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924. The programs in the program group 923 are executed by the CPU 911, the operating system 921, and the window system 922. The program group 923 stores a program for executing a function described as “˜unit” in the description of the present embodiment. The program is read and executed by the CPU 911. The file group 924 includes data and information described as “˜data”, “˜information”, “˜ID (identifier)”, “˜flag”, and “˜result” in the description of this embodiment. Signal values, variable values, and parameters are stored as items of “˜file”, “˜database”, and “˜table”. The “˜file”, “˜database”, and “˜table” are stored in a storage medium such as a disk or a memory. Data, information, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for processing (operation) of the CPU 911 such as calculation / control / output / printing / display. Data, information, signal values, variable values, and parameters are temporarily stored in the main memory, cache memory, and buffer memory during processing of the CPU 911 such as extraction, search, reference, comparison, calculation, control, output, printing, and display. Is remembered.

また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、RAM914などのメモリ、FDD904のフレキシブルディスク(FD)、CDD905のコンパクトディスク(CD)、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク(MD)、DVD(Digital・Versatile・Disc)などの記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体により伝送される。   In addition, the arrows in the block diagrams and flowcharts used in the description of this embodiment mainly indicate input / output of data and signals, and the data and signals are the memory such as the RAM 914, the flexible disk (FD) of the FDD 904, and the compact of the CDD 905. Recording is performed on a recording medium such as a disk (CD), a magnetic disk of the magnetic disk device 920, another optical disk, a mini disk (MD), or a DVD (Digital Versatile Disc). Data and signals are transmitted by a bus 912, a signal line, a cable, and other transmission media.

また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVDなどの記録媒体に記憶される。このプログラムはCPU911により読み出され、CPU911により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。   In addition, what is described as “˜unit” in the description of this embodiment may be “˜circuit”, “˜device”, “˜device”, and “˜step”, “˜process”. , “˜procedure”, and “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be realized only by software, or only by hardware such as an element, a device, a board, and wiring, or a combination of software and hardware, and further by a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, flexible disk, optical disk, compact disk, minidisk, or DVD. This program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” described in the description of the present embodiment. Alternatively, it causes the computer to execute the procedures and methods described in the description of the present embodiment.

以下では、説明をより具体的にするため、店舗用SaaSサーバ101、SaaS監視管理サーバ102が図5に例示したコンピュータとハードウェア資源により実現されているものとする。   In the following, in order to make the description more specific, it is assumed that the store SaaS server 101 and the SaaS monitoring management server 102 are realized by the computer and hardware resources illustrated in FIG.

図6に、本実施の形態における横断的集計実行時の処理シーケンスを示す。   FIG. 6 shows a processing sequence at the time of executing the cross tabulation in the present embodiment.

図6において、複数の店舗用SaaSサーバ101の1つが全体集計要求元(横断的集計の実行後は、全体集計結果115を基にしたドリルスルーの要求元になる)の店舗用SaaSサーバ101(本実施の形態における第1サーバ)となる。ここでは、この店舗用SaaSサーバ101が設置された店舗を要求元店舗128と呼ぶ。また、他の1つ以上の店舗用SaaSサーバ101がそれぞれ設置された店舗を他店舗129と呼ぶ。   In FIG. 6, one of the plurality of store SaaS servers 101 is a store SaaS server 101 (which becomes a drill-through request source based on the total count result 115 after execution of cross-sectional count). First server in this embodiment). Here, the store where the store SaaS server 101 is installed is called a request source store 128. A store in which one or more other SaaS servers 101 for stores are respectively installed is referred to as another store 129.

(1)要求元店舗128の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計要求部106は、SaaS監視管理サーバ102のサービス管理装置117に対し、集計対象とする明細データの種類(集計対象及び集計条件)を指定した集計要求(全体集計要求)をネットワーク200経由で送信する。SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、要求元店舗128の店舗用SaaSサーバ101から集計要求をネットワーク200経由で受信する。即ち、横断的集計要求部106は、SaaS監視管理サーバ102の横断的集計実行部120に対して横断的集計(全体集計)を要求する。   (1) In the store SaaS server 101 of the request source store 128, the cross-tabulation requesting unit 106 of the data access control device 103 sends to the service management device 117 of the SaaS monitoring management server 102 the type of detailed data to be tabulated A totaling request (total totaling request) specifying (totaling target and totaling condition) is transmitted via the network 200. In the SaaS monitoring management server 102, the cross-sectional tabulation execution unit 120 of the service management device 117 receives a tabulation request from the store SaaS server 101 of the request source store 128 via the network 200. That is, the cross-sectional tabulation requesting unit 106 requests the cross-sectional tabulation execution unit 120 of the SaaS monitoring management server 102 to perform cross-tabulation (total tabulation).

(2)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、各店舗(要求元店舗128及び他店舗129)の店舗用SaaSサーバ101のデータアクセス制御装置103に対し、(1)の集計要求で指定された種類の明細データを要求する明細要求をネットワーク200経由で送信する。各店舗の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計応答部107は、SaaS監視管理サーバ102から明細要求をネットワーク200経由で受信する。即ち、(1)で要求元店舗128から全体集計要求を受け取った横断的集計実行部120は、要求元店舗128を含む全ての店舗(図6では、代表として、要求元店舗128からの横断的集計の要求に応答する他店舗129を示している)の横断的集計応答部107に対し、集計実行(既に持っている集計結果でもよい)を要求する。   (2) In the SaaS monitoring management server 102, the cross-sectional tabulation execution unit 120 of the service management device 117 performs the data access control device 103 of the store SaaS server 101 of each store (request source store 128 and other store 129). A detail request for requesting detailed data of the type specified in the aggregation request in (1) is transmitted via the network 200. In the store SaaS server 101 of each store, the cross tabulation response unit 107 of the data access control device 103 receives a detail request from the SaaS monitoring management server 102 via the network 200. That is, the cross-tabulation execution unit 120 that has received the total tabulation request from the request source store 128 in (1) receives all stores including the request source store 128 (in FIG. The cross-counting total response unit 107 (showing another store 129 responding to the totaling request) is requested to execute totaling (may be the totaling result already possessed).

(3)各店舗の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計応答部107は、(2)の明細要求で指定された種類の明細データをサービスコンテンツDB105から取得し、SaaS監視管理サーバ102のサービス管理装置117に対し、ネットワーク200経由で送信する。SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、各店舗の店舗用SaaSサーバ101から、明細データをネットワーク200経由で収集する。即ち、要求元店舗128及び他店舗129の横断的集計応答部107は、(2)の明細要求に対し、集計結果(明細データ)を返す。   (3) In the store SaaS server 101 of each store, the cross-sectional tabulation response unit 107 of the data access control device 103 acquires the detailed data of the type specified in the detailed request in (2) from the service content DB 105, and SaaS The data is transmitted to the service management apparatus 117 of the monitoring management server 102 via the network 200. In the SaaS monitoring management server 102, the cross tabulation execution unit 120 of the service management device 117 collects detailed data from the store SaaS server 101 of each store via the network 200. In other words, the cross-counting response unit 107 of the request source store 128 and the other store 129 returns a count result (detail data) in response to the detail request (2).

(4)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、(3)で収集した明細データをCPU911(処理装置)により集計して全体集計結果115(集計データ)を生成する。即ち、SaaS監視管理サーバ102の横断的集計実行部120は、(3)で得られた結果より全体集計結果115を生成する。   (4) In the SaaS monitoring management server 102, the cross-sectional tabulation execution unit 120 of the service management device 117 tabulates the detailed data collected in (3) by the CPU 911 (processing device) and obtains the total tabulation result 115 (tabulation data). Generate. In other words, the cross tabulation execution unit 120 of the SaaS monitoring management server 102 generates the total tabulation result 115 from the result obtained in (3).

(5)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、ドリルスルー用ACLサブセット生成部122に対し、ACLサブセット116の生成を要求する。   (5) In the SaaS monitoring management server 102, the cross-counting execution unit 120 of the service management device 117 requests the ACL subset generation unit 122 to generate the ACL subset 116.

(6)SaaS監視管理サーバ102において、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、共通ACL管理部121に対し、(4)の全体集計結果115に関係する共通ACL126の情報を要求する。(4)の全体集計結果115に関係する共通ACL126の情報とは、具体的には、(4)で横断的集計実行部120が集計した明細データのうち、共通ACL管理DB119に記憶された共通ACL126で要求元店舗128の店舗用SaaSサーバ101からのアクセスを許可することが示された明細データを蓄積する店舗用SaaSサーバ101(本実施の形態における第2サーバ)を示す情報である。   (6) In the SaaS monitoring management server 102, the drill-through ACL subset generation unit 122 of the service management device 117 requests the common ACL management unit 121 for information on the common ACL 126 related to the overall count result 115 of (4). To do. Specifically, the common ACL 126 information related to the total count result 115 in (4) is the common data stored in the common ACL management DB 119 among the detailed data tabulated by the cross-sectional count execution unit 120 in (4). This is information indicating the store SaaS server 101 (second server in the present embodiment) that stores detailed data indicated by the ACL 126 to permit access from the store SaaS server 101 of the request source store 128.

(7)SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理部121は、ドリルスルー用ACLサブセット生成部122に対し、(4)の全体集計結果115に関係する共通ACL126の情報を返す。   (7) In the SaaS monitoring management server 102, the common ACL management unit 121 of the service management device 117 returns information on the common ACL 126 related to the total count result 115 of (4) to the drill-through ACL subset generation unit 122. .

(8)SaaS監視管理サーバ102において、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、(7)の情報に基づいて、(4)で横断的集計実行部120が集計した明細データのうち、共通ACL管理DB119に記憶された共通ACL126で要求元店舗128の店舗用SaaSサーバ101からのアクセスを許可することが示された明細データを蓄積する店舗用SaaSサーバ101を示すACLサブセット116をCPU911により生成する。即ち、SaaS監視管理サーバ102のドリルスルー用ACLサブセット生成部122は、(7)で受け取った共通ACL126の情報を基にACLサブセット116を生成する。   (8) In the SaaS monitoring management server 102, the drill-through ACL subset generation unit 122 of the service management device 117 uses the information of (7) to store the detailed data collected by the cross-tabulation execution unit 120 in (4). Among them, the ACL subset 116 indicating the store SaaS server 101 that stores the detailed data indicated to permit the access from the store SaaS server 101 of the request source store 128 by the common ACL 126 stored in the common ACL management DB 119. It is generated by the CPU 911. That is, the drill-through ACL subset generation unit 122 of the SaaS monitoring management server 102 generates the ACL subset 116 based on the information of the common ACL 126 received in (7).

(9)SaaS監視管理サーバ102において、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、(8)で生成したACLサブセット116を横断的集計実行部120に返す。   (9) In the SaaS monitoring management server 102, the drill-through ACL subset generation unit 122 of the service management device 117 returns the ACL subset 116 generated in (8) to the cross-tabulation execution unit 120.

(10)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、(4)の全体集計結果115及び(9)で受け取ったACLサブセット116をマージする。   (10) In the SaaS monitoring management server 102, the cross-counting execution unit 120 of the service management apparatus 117 merges the total counting result 115 of (4) and the ACL subset 116 received in (9).

(11)SaaS監視管理サーバ102において、サービス管理装置117の横断的集計実行部120は、要求元店舗128の店舗用SaaSサーバ101に対し、(4)で生成した全体集計結果115と(8)でドリルスルー用ACLサブセット生成部122が生成したACLサブセット116とをネットワーク200経由で送信する。要求元店舗128の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計要求部106は、SaaS監視管理サーバ102から全体集計結果115とACLサブセット116とをネットワーク200経由で受信する。即ち、SaaS監視管理サーバ102の横断的集計実行部120は、(10)で生成したデータを、要求元店舗128の横断的集計要求部106に返す。   (11) In the SaaS monitoring management server 102, the cross-sectional tabulation execution unit 120 of the service management device 117 performs the total tabulation result 115 generated in (4) and (8) for the store SaaS server 101 of the request source store 128. The ACL subset 116 generated by the drill-through ACL subset generator 122 is transmitted via the network 200. In the store SaaS server 101 of the request source store 128, the cross tabulation request unit 106 of the data access control device 103 receives the total count result 115 and the ACL subset 116 from the SaaS monitoring management server 102 via the network 200. That is, the cross tabulation execution unit 120 of the SaaS monitoring management server 102 returns the data generated in (10) to the cross tabulation request unit 106 of the request source store 128.

(12)要求元店舗128の店舗用SaaSサーバ101において、データアクセス制御装置103の横断的集計要求部106は、(11)で受け取ったデータよりACLサブセット116を取り出し、ACLサブセット管理部109に渡す。   (12) In the store SaaS server 101 of the request source store 128, the cross tabulation requesting unit 106 of the data access control apparatus 103 extracts the ACL subset 116 from the data received in (11), and passes it to the ACL subset management unit 109. .

(13)要求元店舗128の店舗用SaaSサーバ101において、データアクセス制御装置103のACLサブセット管理部109は、作業用記憶領域104に(12)のACLサブセット116を格納し、横断的集計要求部106に対して応答を返す。この応答を受け取った横断的集計要求部106は、表示装置901(出力装置)により、例えば全体集計結果115を独自の画面に表示してもよいし、例えば“Microsoft Excel(登録商標)”のような表計算ソフトウェアに対して全体集計結果115を出力することにより、全体集計結果115を表計算ソフトウェアの画面に表示してもよい。   (13) In the store SaaS server 101 of the request source store 128, the ACL subset management unit 109 of the data access control device 103 stores the ACL subset 116 of (12) in the work storage area 104, and the cross-tabulation request unit A response is returned to 106. Upon receiving this response, the cross tabulation request unit 106 may display the total tabulation result 115 on a unique screen by the display device 901 (output device), for example, “Microsoft Excel (registered trademark)”. The total tabulation result 115 may be displayed on the screen of the spreadsheet software by outputting the total tabulation result 115 to the spreadsheet software.

以下、共通ACL126の構造について説明する。   Hereinafter, the structure of the common ACL 126 will be described.

本実施の形態では、SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理DB119は、複数の店舗用SaaSサーバ101を分類した複数のグループ(具体的には、階層構造において、店舗用SaaSサーバ101より上位の階層中の要素)のうち、各店舗用SaaSサーバ101が所属するグループを店舗用SaaSサーバ101ごとに示す共通ACL126を記憶する。そして、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、図6の(4)で横断的集計実行部120が集計した明細データが蓄積された店舗用SaaSサーバ101のうち、共通ACL管理DB119に記憶された共通ACL126で要求元店舗128の店舗用SaaSサーバ101と同じグループに所属することが示された店舗用SaaSサーバ101を示すACLサブセット116を生成する。   In the present embodiment, in the SaaS monitoring management server 102, the common ACL management DB 119 of the service management device 117 includes a plurality of groups (specifically, a store SaaS in a hierarchical structure) in which a plurality of store SaaS servers 101 are classified. The common ACL 126 indicating the group to which the store SaaS server 101 belongs among the elements in the hierarchy higher than the server 101 is stored for each store SaaS server 101. Then, the drill-through ACL subset generation unit 122 of the service management device 117 performs common ACL management among the SaaS servers 101 for stores in which the detailed data aggregated by the cross-sectional aggregation execution unit 120 in (4) of FIG. 6 is accumulated. The ACL subset 116 indicating the store SaaS server 101 indicated to belong to the same group as the store SaaS server 101 of the request source store 128 is generated by the common ACL 126 stored in the DB 119.

共通ACL126の論理構造の例を図7に示す。図7において、地方別・地区別集計用共通ACL130は、地方・地区・店舗の3つの論理的な階層を持つ共通ACL126である。この地方別・地区別集計用共通ACL130は、例えば、神奈川地区の情報には店舗A1、店舗A2がアクセスできることを示している。このような共通ACL126は、例えば通常のリレーショナルDBの表(テーブル)を用いて実現することができる。図7に示した地方別・地区別集計用共通ACL130を、リレーショナルDBで実現した例を図8に示す。図8において、地方テーブル131、地区テーブル132、店舗テーブル133は、図7に示した地方別・地区別集計用共通ACL130のそれぞれの階層に対応した表である。   An example of the logical structure of the common ACL 126 is shown in FIG. In FIG. 7, the common ACL 130 for tabulation by region / district is a common ACL 126 having three logical layers of regions / districts / stores. The common ACL 130 for tabulation by region / district indicates that, for example, the store A1 and the store A2 can access information on the Kanagawa district. Such a common ACL 126 can be realized by using, for example, a table of a normal relational DB. FIG. 8 shows an example in which the common ACL 130 for each region / district shown in FIG. 7 is realized by a relational DB. In FIG. 8, a local table 131, a district table 132, and a store table 133 are tables corresponding to the respective hierarchies of the regional / district total common ACL 130 shown in FIG.

以下、SaaS監視管理サーバ102のサービス管理装置117によるACLサブセット116の生成処理の詳細について説明する。   Details of the ACL subset 116 generation processing by the service management apparatus 117 of the SaaS monitoring management server 102 will be described below.

SaaS監視管理サーバ102において、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、共通ACL126の持つ要素である複数の店舗(店舗用SaaSサーバ101)のうち、ドリルスルー要求の対象となり得るサービスコンテンツDB105内の表に対して要求元の店舗用SaaSサーバ101がアクセス可能な店舗の情報だけをACLサブセット116として取り出す。そして、サービス管理装置117の横断的集計実行部120は、このACLサブセット116を全体集計結果115に添付する。ACLサブセット116として取り出される情報は、共通ACL126の階層(図7の例では地方・地区・店舗)を全体集計要求における集計条件と関連付けておき、全体集計実行時において集計条件中に現れる共通ACL126の階層中の要素又は当該要素より下位の階層中の要素だけを評価することにより得られる。本実施の形態では、集計条件で階層が指定されると、その階層中の要素ごとに明細データの数値が集計され、その結果が全体集計結果115となる。集計条件で指定された階層が店舗を要素とする階層であれば、要求元の店舗は、自己の明細データのみに対して全体集計結果115からのドリルスルーが可能である。集計条件で指定された階層が店舗を要素とする階層より上位であれば、要求元の店舗は、自己及び自己と同じ要素に属する店舗の明細データに対して全体集計結果115からのドリルスルーが可能である。   In the SaaS monitoring management server 102, the drill-through ACL subset generation unit 122 of the service management device 117 is a service that can be a target of a drill-through request among a plurality of stores (store SaaS server 101) that are elements of the common ACL 126. Only information on stores that can be accessed by the requesting store SaaS server 101 with respect to the table in the content DB 105 is extracted as the ACL subset 116. Then, the transverse tabulation execution unit 120 of the service management device 117 attaches this ACL subset 116 to the total tabulation result 115. The information extracted as the ACL subset 116 is obtained by associating the hierarchy of the common ACL 126 (in the example of FIG. 7, the region / district / store) with the aggregation condition in the overall aggregation request, and the common ACL 126 appearing in the aggregation condition at the time of the overall aggregation execution. It is obtained by evaluating only an element in the hierarchy or an element in the hierarchy lower than the element. In the present embodiment, when a hierarchy is specified by the aggregation condition, the numerical value of the detailed data is aggregated for each element in the hierarchy, and the result becomes the overall aggregation result 115. If the hierarchy specified by the aggregation condition is a hierarchy having a store as an element, the requesting store can drill through from the total aggregation result 115 only on its own detailed data. If the hierarchy specified in the aggregation condition is higher than the hierarchy having the store as an element, the requesting store performs drill-through from the overall aggregation result 115 on the detailed data of the store belonging to the same element as the self and itself. Is possible.

例えば、図7の例で、集計条件に「地区」が指定されている場合、店舗A1がドリルスルーを要求したとすると、集計条件で指定された階層が店舗を要素とする階層より上位であるため、店舗A1が属する地区である「神奈川」に属する店舗のみが、ドリルスルー対象となっているデータをドリルスルー要求元の店舗A1に対して返せることになる。よって、店舗A1、店舗A2のみの情報がACLサブセット116として取り出される。また、例えば、図7の例で、集計条件に「地方」が指定されている場合、店舗A1がドリルスルーを要求したとすると、集計条件で指定された階層が店舗を要素とする階層より上位であるため、店舗A1が属する地方である「関東」に属する店舗のみが、ドリルスルー対象となっているデータをドリルスルー要求元の店舗A1に対して返せることになる。よって、店舗A1、店舗A2、店舗A3のみの情報がACLサブセット116として取り出される。ただし、この例では、集計条件に「地方」が指定されている場合と集計条件に「地区」が指定されている場合とでドリルスルー対象になり得る範囲に差異が生じる。このような差異をなくすため、例えば、図7の例で、集計条件に「地方」が指定されている場合、店舗A1がドリルスルーを要求したとすると、「関東」に属する地区のうち、店舗A1が属する地区である「神奈川」に属する店舗のみが、ドリルスルー対象となっているデータをドリルスルー要求元の店舗A1に対して返せることにしてもよい。この場合は、集計条件に「地区」が指定されている場合と同様に、店舗A1、店舗A2のみの情報がACLサブセット116として取り出される。   For example, in the example of FIG. 7, if “district” is specified as the totaling condition and the store A1 requests drill-through, the level specified in the totaling condition is higher than the level having the store as an element. Therefore, only the store belonging to “Kanagawa”, which is the district to which the store A1 belongs, can return the drill-through target data to the store A1 as the drill-through request source. Therefore, information of only the store A1 and the store A2 is extracted as the ACL subset 116. Further, for example, in the example of FIG. 7, when “Region” is specified in the aggregation condition, if the store A1 requests drill-through, the hierarchy specified in the aggregation condition is higher than the hierarchy having the store as an element. Therefore, only the stores belonging to “Kanto”, which is the region to which the store A1 belongs, can return the drill-through target data to the store A1 that is the drill-through request source. Therefore, information of only the store A1, the store A2, and the store A3 is extracted as the ACL subset 116. However, in this example, there is a difference in the range that can be drilled through when “region” is specified as the totaling condition and when “district” is specified as the totaling condition. In order to eliminate such a difference, for example, in the example of FIG. 7, when “Region” is specified as the aggregation condition, if the store A1 requests drill-through, among the districts belonging to “Kanto” Only stores belonging to “Kanagawa”, which is the district to which A1 belongs, may be able to return the drill-through target data to the store A1 that is the source of the drill-through request. In this case, as in the case where “district” is designated as the aggregation condition, information on only the store A1 and the store A2 is extracted as the ACL subset 116.

ここで、例えば全体集計要求はSQL(Structured・Query・Language)のクエリとして実現でき、このとき、上述の集計条件はSQLの“GROUP BY”句として実現できる。この場合、共通ACL126の階層名を全体集計要求の集計条件(“GROUP BY”句のキー)として用いることができる構成にしておけば、全体集計要求の集計条件より、当該要求に対する全体集計結果115を基にしたドリルスルーにおいてドリルスルー要求元(全体集計要求元でもある)が最大限アクセス可能な店舗のリストを上述のようにACLサブセット116として取り出すことができる。   Here, for example, the total aggregation request can be realized as an SQL (Structured / Query / Language) query, and at this time, the above-described aggregation condition can be realized as an SQL “GROUP BY” phrase. In this case, if the hierarchical name of the common ACL 126 can be used as the total condition for the total total request (the key of the “GROUP BY” clause), the total total result 115 for the request is determined based on the total condition for the total total request. As described above, a list of stores that can be accessed to the maximum extent by the drill-through request source (also the total aggregation request source) can be retrieved as the ACL subset 116.

また、サービスコンテンツDB105内の表と共通ACL126との対応付けは、例えば、それぞれの種類の共通ACL126とサービスコンテンツDB105内のそれぞれの表との関連付け情報を共通ACL126又はサービスコンテンツDB105内の表の一部などとして管理することにより実現できる。あるいは、後述する実施の形態2において図15に示す分析サービスマスタ124のように、サービスコンテンツDB105内の表と共通ACL126との関係付けを示す情報を管理してもよい。逆に、例えば、サービスコンテンツDB105内の表と共通ACL126の一部又は全部について関連付けを行わず、全体集計要求元の指定した集計条件に対応する共通ACL126のみを適用することも可能である。ただし、この場合、ある集計条件を指定するとドリルスルーで検索できなかったデータが別の集計条件を指定するとドリルスルーで検索できるようになることになり、データのアクセス制御としては不都合な場合もある。このため、例えば、ある表に対して最低限適用することが必要な共通ACL126は表と関連付けておき、特別なデータに対する共通ACL126は集計条件とのみ関連付けるように構成してもよい。   In addition, the association between the table in the service content DB 105 and the common ACL 126 is, for example, the association information between each type of the common ACL 126 and each table in the service content DB 105 is one of the tables in the common ACL 126 or the service content DB 105. This can be realized by managing as a department. Alternatively, information indicating the association between the table in the service content DB 105 and the common ACL 126 may be managed as in the analysis service master 124 illustrated in FIG. On the other hand, for example, it is possible to apply only the common ACL 126 corresponding to the aggregation condition specified by the total aggregation request source without associating a part or all of the table in the service content DB 105 with the common ACL 126. However, in this case, if a certain aggregation condition is specified, data that could not be searched by drill-through can be searched by drill-through if another aggregation condition is specified, which may be inconvenient for data access control. . For this reason, for example, the common ACL 126 that needs to be applied to a certain table as a minimum may be associated with the table, and the common ACL 126 for special data may be associated only with the aggregation condition.

また、ある1つの表に対し、複数の共通ACL126を適用する場合、例えば、当該表に適用される各共通ACL126に含まれる共通要素のみアクセス可能として扱うことができる。あるいは、例えば、共通ACL126の当該表への適用の優先度をつけ、優先度の高い共通ACL126のみ適用するように構成することもできる。以下では、前者の構成を前提として説明する。   Further, when a plurality of common ACLs 126 are applied to a certain table, for example, only common elements included in each common ACL 126 applied to the table can be handled as accessible. Alternatively, for example, it is possible to give priority to the application of the common ACL 126 to the table and to apply only the common ACL 126 having a high priority. The following description is based on the premise of the former configuration.

なお、複数の表に対して同時にドリルスルーを要求する場合は、各表にアクセス可能な店舗の最大範囲を、ACLサブセット116として扱うように構成することができる。これは、ACLサブセット116によって、ドリルスルー要求元が全体集計要求の集計条件に対して最大限アクセス可能な範囲の情報を伝達できればよいからである。   In the case where drill-through is requested simultaneously for a plurality of tables, the maximum range of stores that can access each table can be handled as the ACL subset 116. This is because the ACL subset 116 only needs to be able to transmit information within a range in which the drill-through request source can access the aggregation condition of the overall aggregation request to the maximum extent.

図9は、サービス管理装置117のドリルスルー用ACLサブセット生成部122の動作を示すフローチャートである。   FIG. 9 is a flowchart showing the operation of the drill-through ACL subset generation unit 122 of the service management apparatus 117.

図9において、まず、ドリルスルー用ACLサブセット生成部122は、全体集計要求元の店舗(この後、全体集計結果を基にしたドリルスルーの要求元になる)の要求に含まれ、集計対象となっているサービスコンテンツDB105内の表を抽出する(ステップS101)。例えば、この要求はSQLのクエリとして実現でき、集計対象の表は、当該クエリのうち“FROM”句で指定された表を抽出することにより実現できる。続いて、ドリルスルー用ACLサブセット生成部122は、ステップS101で抽出した全ての表に対して、ステップS103以降の処理を実行する(ステップS102)。   In FIG. 9, first, the drill-through ACL subset generation unit 122 is included in the request of the store of the total aggregation request source (hereinafter, the drill-through request source based on the total aggregation result). The table in the service content DB 105 is extracted (step S101). For example, this request can be realized as an SQL query, and the table to be aggregated can be realized by extracting a table specified by the “FROM” phrase from the query. Subsequently, the drill-through ACL subset generation unit 122 executes the processing from step S103 onward for all the tables extracted in step S101 (step S102).

ドリルスルー用ACLサブセット生成部122は、ステップS102以降の処理で対象となっている表に適用する共通ACL126があるかどうかを判断する(ステップS103)。ステップS103で処理対象となっている表に適用する共通ACL126がある場合、ドリルスルー用ACLサブセット生成部122は、当該共通ACL126の階層及び下位の階層に対してステップS105、S106の処理を実行する(ステップS104)。例えば、図7に示した地方別・地区別集計用共通ACL130が処理対象となっている表に適用するものであれば、「地方」、「地区」、「店舗」の順に、ステップS105、S106の処理が実行される。   The drill-through ACL subset generation unit 122 determines whether there is a common ACL 126 to be applied to the target table in the processing after step S102 (step S103). When there is a common ACL 126 to be applied to the table to be processed in step S103, the drill-through ACL subset generation unit 122 executes the processes in steps S105 and S106 for the hierarchy and lower hierarchy of the common ACL 126. (Step S104). For example, if the common ACL 130 for aggregation by region / district shown in FIG. 7 is applied to the table to be processed, steps S105 and S106 are performed in the order of “region”, “district”, and “store”. The process is executed.

ドリルスルー用ACLサブセット生成部122は、全体集計要求元が指定した集計条件に、ステップS104で処理対象となっている共通ACL126の階層と対応するものがあるかどうか確認し(ステップS105)、対応するものがある場合は、当該共通ACL126から生成する一時リストに、当該階層の要素で下位にドリルスルー要求元を含むものの最下位層の要素を追加する(ステップS106)。例えば、図7に示した地方別・地区別集計用共通ACL130の「地区」が処理対象となっている階層であり、集計条件で「地区」が指定され、全体集計要求元が店舗A1であれば、一時リストに、「神奈川」の最下位層の要素である店舗A1、店舗A2が追加される。ここで、全体集計要求元が指定する集計条件は、例えばSQLの“GROUP BY”句として実現でき、ステップS105の判断は、この“GROUP BY”句のキーが、処理対象となっている共通ACL126の階層名と一致するかどうかを判断することとして実現できる。ドリルスルー用ACLサブセット生成部122は、前述の一時リストを、表ごと、表に適用される共通ACL126ごとに生成し、後述するステップS107、S108にてマージすることでACLサブセット116を生成する。   The drill-through ACL subset generation unit 122 checks whether or not the aggregation condition specified by the total aggregation request source corresponds to the hierarchy of the common ACL 126 that is the processing target in Step S104 (Step S105). If there is something to do, the element of the lowest layer of the element of the hierarchy including the drill-through request source is added to the temporary list generated from the common ACL 126 (step S106). For example, the “district” of the common ACL 130 for tabulation by region / district shown in FIG. 7 is the processing target, “district” is specified in the tabulation condition, and the total tabulation request source is the store A1. For example, the store A1 and the store A2 which are the lowest layer elements of “Kanagawa” are added to the temporary list. Here, the aggregation condition designated by the overall aggregation request source can be realized, for example, as an SQL “GROUP BY” phrase, and the determination in step S105 is performed by the common ACL 126 whose key is the “GROUP BY” phrase. This can be realized by determining whether or not it matches the hierarchical name. The drill-through ACL subset generation unit 122 generates the ACL subset 116 by generating the temporary list described above for each table and for each common ACL 126 applied to the table, and merging in steps S107 and S108 described later.

ドリルスルー用ACLサブセット生成部122は、ステップS105で、全体集計要求元が指定した集計条件に処理対象となっている共通ACL126の階層と対応するものがない場合は、ステップS104において次の階層の処理に進む。また、ドリルスルー用ACLサブセット生成部122は、ステップS103で、処理対象となっている表に適用する共通ACL126がない場合は、ステップS102において全体集計要求に含まれる次の表の処理に進む。   In step S105, the drill-through ACL subset generation unit 122 determines that the aggregation condition specified by the total aggregation request source does not correspond to the hierarchy of the common ACL 126 to be processed in step S104. Proceed to processing. If there is no common ACL 126 to be applied to the table to be processed in step S103, the drill-through ACL subset generation unit 122 proceeds to the processing of the next table included in the overall aggregation request in step S102.

ステップS104〜S106のループを終えると、ドリルスルー用ACLサブセット生成部122は、処理対象となっている表に適用する各共通ACL126から生成した一時リスト群に共通する要素群を、当該表から生成する一時リストに格納する(ステップS107)。例えば、図7に示した地方別・地区別集計用共通ACL130から生成した一時リストに店舗A1、店舗A2が含まれ、他の共通ACL126から生成した一時リストに店舗A1、店舗A2、店舗A3が含まれていれば、当該表から生成する一時リストには店舗A1、店舗A2のみが格納される。   When the loop of steps S104 to S106 is completed, the drill-through ACL subset generation unit 122 generates, from the table, an element group common to the temporary list group generated from each common ACL 126 applied to the table to be processed. The temporary list is stored (step S107). For example, store A1 and store A2 are included in the temporary list generated from the common ACL 130 for aggregation by region / district shown in FIG. 7, and store A1, store A2, and store A3 are included in the temporary list generated from the other common ACL 126. If it is included, only the store A1 and the store A2 are stored in the temporary list generated from the table.

また、ステップS102〜S107までのループを終えると、ドリルスルー用ACLサブセット生成部122は、各表から生成した一時リストのいずれかに含まれる要素の集合を、ACLサブセット116にする(ステップS108)。例えば、図7の例で、ある表から生成した一時リストに店舗A1、店舗A2が含まれ、他の表から生成した一時リストに店舗A2、店舗A3が含まれていれば、ACLサブセット116には店舗A1、店舗A2、店舗A3が含まれることとなる。   When the loop from step S102 to S107 is completed, the drill-through ACL subset generation unit 122 sets the set of elements included in any of the temporary lists generated from the tables as the ACL subset 116 (step S108). . For example, if store A1 and store A2 are included in the temporary list generated from a certain table and store A2 and store A3 are included in the temporary list generated from another table in the example of FIG. Will include store A1, store A2, and store A3.

なお、図9では、ACLサブセット116の生成手順として、ドリルスルー要求元店舗が最大限アクセス可能な店舗のリストを生成する処理のフローを示したが、過去に生成したACLサブセット116のキャッシュを用いるなど、より簡便な方法でACLサブセット116を生成することも可能である。また、ACLサブセット116は、ドリルスルー要求元店舗が最大限アクセス可能な店舗を包含する情報を示すものであれば、どのような形態をとっても構わない。   Although FIG. 9 shows a flow of processing for generating a list of stores that can be accessed to the maximum extent by the drill-through request source store as a procedure for generating the ACL subset 116, a cache of the ACL subset 116 generated in the past is used. The ACL subset 116 can be generated by a simpler method. Further, the ACL subset 116 may take any form as long as it indicates information including a store that the drill-through request source store can access to the maximum.

図10に、本実施の形態におけるドリルスルー実行時の処理シーケンスを示す。   FIG. 10 shows a processing sequence during drill-through execution in the present embodiment.

図10において、複数の店舗用SaaSサーバ101の1つが全体集計結果115を基にしたドリルスルーの要求元の店舗用SaaSサーバ101(本実施の形態における第1サーバ)となる。ここでは、図6と同様に、この店舗用SaaSサーバ101が設置された店舗を要求元店舗134と呼ぶ。また、図6の(11)で横断的集計要求部106が受信したACLサブセット116に示された店舗用SaaSサーバ101(本実施の形態における第2サーバ)が設置された店舗を他店舗135と呼ぶ。   In FIG. 10, one of the plurality of store SaaS servers 101 is a store SaaS server 101 (first server in the present embodiment) that is a drill-through request source based on the total count result 115. Here, as in FIG. 6, the store in which the store SaaS server 101 is installed is called a request source store 134. Further, the store where the store SaaS server 101 (second server in the present embodiment) indicated in the ACL subset 116 received by the cross-sectional tabulation unit 106 in (11) of FIG. Call.

(1)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108は、図6の(11)で横断的集計要求部106が受信した全体集計結果115のうち、ドリルスルー対象とする部分を指定した入力を通信ボード915(入力装置)によりユーザ端末127からネットワーク200経由で受け付ける。具体的には、ドリルスルー要求部108の条件抽出部111は、ユーザ端末127の入力より、ドリルスルーの条件(選択条件)を抽出し、ACLサブセット解釈部112に送付する。   (1) In the store SaaS server 101 of the request source store 134, the drill-through request unit 108 of the data access control device 103 includes the total count result 115 received by the cross tabulation request unit 106 in (11) of FIG. Then, an input designating a portion to be drilled through is received from the user terminal 127 via the network 200 by the communication board 915 (input device). Specifically, the condition extraction unit 111 of the drill-through request unit 108 extracts the drill-through condition (selection condition) from the input of the user terminal 127 and sends it to the ACL subset interpretation unit 112.

(2)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108のACLサブセット解釈部112は、ACLサブセット管理部109に対し、ACLサブセット116の取り出しを要求する。   (2) In the store SaaS server 101 of the request source store 134, the ACL subset interpretation unit 112 of the drill-through request unit 108 of the data access control device 103 requests the ACL subset management unit 109 to retrieve the ACL subset 116. .

(3)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のACLサブセット管理部109は、(2)の要求に対し、ドリルスルーの基となる全体集計結果115に適用するACLサブセット116を取り出し、ドリルスルー要求部108のACLサブセット解釈部112に送る。   (3) In the store SaaS server 101 of the request source store 134, the ACL subset management unit 109 of the data access control device 103 applies the ACL to the total count result 115 that is the basis of drill-through in response to the request of (2). The subset 116 is taken out and sent to the ACL subset interpretation unit 112 of the drill-through request unit 108.

(4)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108のACLサブセット解釈部112は、ドリルスルー要求を送付する店舗の数だけ、ドリルスルー要求部108の結果受取部113を呼び出す。これは、例えばスレッドごとに結果受取部113を実行することにより実現することができる。   (4) In the store SaaS server 101 of the request source store 134, the ACL subset interpretation unit 112 of the drill-through request unit 108 of the data access control device 103 has the same number of drill-through request units 108 as the number of stores to which the drill-through request is sent. The result receiving unit 113 is called. This can be realized by executing the result receiving unit 113 for each thread, for example.

(5)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108は、他店舗135の店舗用SaaSサーバ101に対し、(1)の入力で指定された部分に対応する明細データを指定したドリルスルー要求をネットワーク200経由で送信する。他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、要求元店舗134の店舗用SaaSサーバ101からドリルスルー要求をネットワーク200経由で受信する。具体的には、要求元店舗134のドリルスルー要求部108の結果受取部113は、要求元店舗134からのドリルスルー要求に応答する他店舗135のドリルスルー応答部110に対し、ドリルスルー要求を送付する。   (5) In the store SaaS server 101 of the request source store 134, the drill-through request unit 108 of the data access control device 103 is the part designated by the input (1) to the store SaaS server 101 of the other store 135 A drill-through request designating detailed data corresponding to is transmitted via the network 200. In the store SaaS server 101 of the other store 135, the drill-through response unit 110 of the data access control device 103 receives the drill-through request from the store SaaS server 101 of the request source store 134 via the network 200. Specifically, the result receiving unit 113 of the drill-through request unit 108 of the request source store 134 sends a drill-through request to the drill-through response unit 110 of another store 135 that responds to the drill-through request from the request source store 134. Send.

(6)他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、SaaS監視管理サーバ102のサービス管理装置117に対し、(5)のドリルスルー要求で指定された明細データを指定した確認要求をネットワーク200経由で送信する。SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理部121は、他店舗135の店舗用SaaSサーバ101から確認要求をネットワーク200経由で受信する。即ち、他店舗135のドリルスルー応答部110は、SaaS監視管理サーバ102の共通ACL管理部121に対し、要求元店舗134にアクセスを許可してよいか確認する。   (6) In the store SaaS server 101 of the other store 135, the drill-through response unit 110 of the data access control device 103 is designated by the drill-through request of (5) to the service management device 117 of the SaaS monitoring management server 102. The confirmation request designating the detailed data is transmitted via the network 200. In the SaaS monitoring management server 102, the common ACL management unit 121 of the service management device 117 receives a confirmation request from the store SaaS server 101 of another store 135 via the network 200. That is, the drill-through response unit 110 of the other store 135 confirms whether the access to the request source store 134 may be permitted to the common ACL management unit 121 of the SaaS monitoring management server 102.

(7)SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理部121は、共通ACL126で(6)の確認要求で指定された明細データへのアクセスを許可することが示されているか否かをCPU911(処理装置)により確認し、他店舗135の店舗用SaaSサーバ101に対し、当該確認結果をネットワーク200経由で送信する。他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、SaaS監視管理サーバ102から確認結果をネットワーク200経由で受信する。即ち、SaaS監視管理サーバ102の共通ACL管理部121は、(6)の確認要求で参照される共通ACL126を確認し、要求元店舗134のアクセス可否を他店舗135のドリルスルー応答部110に通知する。   (7) In the SaaS monitoring management server 102, whether or not the common ACL management unit 121 of the service management device 117 is permitted to access the detailed data designated by the confirmation request in (6) in the common ACL 126. This is confirmed by the CPU 911 (processing device), and the confirmation result is transmitted to the store SaaS server 101 of the other store 135 via the network 200. In the store SaaS server 101 of another store 135, the drill-through response unit 110 of the data access control device 103 receives the confirmation result from the SaaS monitoring management server 102 via the network 200. That is, the common ACL management unit 121 of the SaaS monitoring management server 102 confirms the common ACL 126 referred to in the confirmation request in (6), and notifies the drill-through response unit 110 of the other store 135 of whether the request source store 134 is accessible. To do.

(8)他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、(7)の確認結果に基づいて、(5)のドリルスルー要求で指定された明細データをサービスコンテンツDB105から取得する。即ち、(7)でアクセス可となった場合、他店舗135のドリルスルー応答部110は、他店舗135のサービスコンテンツDB105に対し、ドリルスルーのクエリを発行する。   (8) In the store SaaS server 101 of the other store 135, the drill-through response unit 110 of the data access control device 103 specifies the detailed data specified in the drill-through request of (5) based on the confirmation result of (7). Is acquired from the service content DB 105. That is, when access becomes possible in (7), the drill-through response unit 110 of the other store 135 issues a drill-through query to the service content DB 105 of the other store 135.

(9)他店舗135の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー応答部110は、要求元店舗134の店舗用SaaSサーバ101に対し、(8)の明細データをネットワーク200経由で送信する。要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108は、他店舗135の店舗用SaaSサーバ101から、当該明細データをネットワーク200経由で非同期通信により受信する。具体的には、他店舗135のドリルスルー応答部110は、(8)で1レコードずつクエリの結果を取得すると、要求元店舗134の結果受取部113を呼び出し、クエリの結果を渡す。ここで、非同期的に1レコードずつ渡すために、例えばこの(9)の処理はHTTP(HyperText・Transfer・Protocol)リクエストとして構成することができる。   (9) In the store SaaS server 101 of the other store 135, the drill-through response unit 110 of the data access control device 103 sends the detailed data of (8) to the store SaaS server 101 of the request source store 134 via the network 200. Send with. In the store SaaS server 101 of the request source store 134, the drill-through request unit 108 of the data access control device 103 receives the detailed data from the store SaaS server 101 of the other store 135 via the network 200 by asynchronous communication. Specifically, when the drill-through response unit 110 of the other store 135 obtains the query result for each record in (8), it calls the result receiving unit 113 of the request source store 134 and passes the query result. Here, in order to deliver one record at a time asynchronously, for example, the processing of (9) can be configured as an HTTP (HyperText / Transfer / Protocol) request.

(10)(9)で他店舗135のドリルスルー応答部110から要求元店舗134の結果受取部113に対する呼び出しが、HTTPリクエストのように呼び出し要求で実現されている場合、要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108の結果受取部113は、ダミーの応答(例えばHTTPレスポンス)を返すことにより、非同期的なドリルスルー結果の受け取りを実現できる。   (10) When the call from the drill-through response unit 110 of the other store 135 to the result receiving unit 113 of the request source store 134 is realized by a call request like an HTTP request in (9), the store of the request source store 134 In the SaaS server 101, the result receiving unit 113 of the drill-through request unit 108 of the data access control device 103 can realize reception of an asynchronous drill-through result by returning a dummy response (for example, an HTTP response).

(11)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108の結果受取部113は、(9)で1レコードずつクエリの結果を取得すると、ドリルスルー要求部108の結果表示部114を呼び出す。   (11) In the store SaaS server 101 of the request source store 134, when the result receiving unit 113 of the drill-through request unit 108 of the data access control device 103 acquires the query result for each record in (9), the drill-through request The result display unit 114 of the unit 108 is called.

(12)要求元店舗134の店舗用SaaSサーバ101において、データアクセス制御装置103のドリルスルー要求部108の結果表示部114は、ドリルスルー結果を表示する。このとき、ドリルスルー要求部108の結果表示部114は、図6の(13)と同様に、表示装置901(出力装置)により、例えばドリルスルー結果を独自の画面に表示してもよいし、例えば“Microsoft Excel(登録商標)”のような表計算ソフトウェアに対してドリルスルー結果を出力することにより、ドリルスルー結果を表計算ソフトウェアの画面に表示してもよい。   (12) In the store SaaS server 101 of the request source store 134, the result display unit 114 of the drill-through request unit 108 of the data access control device 103 displays the drill-through result. At this time, the result display unit 114 of the drill-through request unit 108 may display the drill-through result, for example, on a unique screen by the display device 901 (output device), as in (13) of FIG. For example, the drill-through result may be displayed on the screen of the spreadsheet software by outputting the drill-through result to spreadsheet software such as “Microsoft Excel (registered trademark)”.

図11に、全体集計結果115の例を示す。図6の(13)において、要求元店舗128の店舗用SaaSサーバ101の横断的集計要求部106が、例えば“Microsoft Excel(登録商標)”に対して全体集計結果115を出力した場合、図10の(1)において、要求元店舗134の店舗用SaaSサーバ101の条件抽出部111は、例えば“Microsoft Excel(登録商標)”のマクロやアドインを用いて、ユーザの指定するドリルスルーの条件を抽出することができる。例えば、図11において太枠で示したセルをユーザが選択した場合、条件抽出部111は、そのセルの属する行の値を読み取ることにより、ドリルスルーの条件として「2007年9月の関東地方神奈川地区のスナック菓子の売上」が指定されたことを抽出することができる。   FIG. 11 shows an example of the total count result 115. In FIG. 6 (13), when the cross tabulation requesting unit 106 of the store SaaS server 101 of the request source store 128 outputs the total tabulation result 115 to, for example, “Microsoft Excel (registered trademark)”, FIG. In (1), the condition extraction unit 111 of the store SaaS server 101 of the request source store 134 extracts a drill-through condition designated by the user using, for example, a macro or add-in of “Microsoft Excel (registered trademark)”. can do. For example, when the user selects a cell indicated by a thick frame in FIG. 11, the condition extraction unit 111 reads “the value of the row to which the cell belongs”, and as a drill-through condition “Kanto district Kanagawa in September 2007” It can be extracted that “sales of snack food in the district” is designated.

図12は、ドリルスルー要求部108の条件抽出部111の動作を示すフローチャートである。   FIG. 12 is a flowchart showing the operation of the condition extraction unit 111 of the drill-through request unit 108.

図12において、条件抽出部111は、ユーザの指定するドリルスルーの条件を抽出する(ステップS201)。例えば、図11において太枠で示したセルに対応する「2007年9月の関東地方神奈川地区のスナック菓子の売上」という条件を抽出する。次に、条件抽出部111は、ドリルスルーの条件をSQLの“FROM”句、“WHERE”句に変換する(ステップS202)。図11の例では、文字列“FROM 売上”、“WHERE 年=2007 & 月=9 & 地方=関東 & 地区=神奈川”を生成する。ここで、通常のドリルスルーでは詳細分析対象となるサービスコンテンツDB105の表の全ての列を選択して表示するため、“SELECT”句を生成する必要はないが、条件抽出部111は、表示する列を選択する処理を行ってもよい。最後に、条件抽出部111は、ステップS202で生成した文字列をACLサブセット解釈部112に送付する(ステップS203)。この文字列は、条件抽出部111が現在参照している全体集計結果115に付随するACLサブセット116中の店舗に対して、ドリルスルー要求部108の結果受取部113がドリルスルー要求の一部として送付する。   In FIG. 12, the condition extraction unit 111 extracts a drill-through condition specified by the user (step S201). For example, a condition of “sales of snack foods in Kanagawa district in September 2007” corresponding to the cells indicated by thick frames in FIG. 11 is extracted. Next, the condition extraction unit 111 converts the drill-through condition into an SQL “FROM” phrase and a “WHERE” phrase (step S202). In the example of FIG. 11, the character string “FROM sales”, “WHERE year = 2007 & month = 9 & region = Kanto & district = Kanagawa” is generated. Here, in normal drill-through, since all columns of the table of the service content DB 105 to be subjected to detailed analysis are selected and displayed, it is not necessary to generate the “SELECT” phrase, but the condition extraction unit 111 displays A process of selecting a column may be performed. Finally, the condition extraction unit 111 sends the character string generated in step S202 to the ACL subset interpretation unit 112 (step S203). This character string is received by the result receiving unit 113 of the drill-through request unit 108 as a part of the drill-through request for the store in the ACL subset 116 associated with the total tabulation result 115 that the condition extraction unit 111 is currently referring to. Send it.

以上のように、本実施の形態によれば、例えば、マルチテナントのSaaSシステムにおいて、各テナントが個別にDBやDWH(データウェアハウス)を持っている場合、あるテナントがシステム全体のデータ集計結果から各テナントの個別のデータへのドリルスルー(全体集計結果を基にした詳細なデータの問い合わせ)を実行する際の処理効率が向上する。具体的には、ドリルスルーの実行時に、非同期的なドリルスルー結果の受け取りを可能にしつつ、ドリルスルーの要求元がアクセス権を持たないテナントへ無駄な問い合わせを送付することを防ぐことが可能になる。   As described above, according to the present embodiment, for example, in a multi-tenant SaaS system, when each tenant individually has a DB or DWH (data warehouse), a certain tenant obtains the data total result of the entire system. To improve the processing efficiency when executing drill-through (inquiry of detailed data based on the total aggregation result) to individual data of each tenant. Specifically, when drill-through is performed, it is possible to receive asynchronous drill-through results and prevent the drill-through requester from sending useless inquiries to tenants who do not have access rights. Become.

上記のように、本実施の形態に係るデータ検索システムは、
個別のサービスを提供するサービスサーバ、複数のサービスサーバを監視管理するためのサービス監視管理サーバを備え、
サービス監視管理サーバにより用いられるサービス管理装置として、
複数のサービスサーバのそれぞれが保有するデータのマスタ情報、マスタ情報の要素間の階層構造情報、マスタ情報に対するアクセス権情報を一体化した情報(共通アクセス制御情報)をサービス監視管理サーバに集約して管理し、サービス利用者によるサービスサーバ上のデータに対するアクセス要求に当たっては、サービス利用者の利用しているサービスサーバに対し、集計条件に対応する共通アクセス制御情報内の階層の下位に属するサービスサーバのリストよりなる部分情報をコピーすることを特徴とするサービス管理装置を有する。
As described above, the data search system according to the present embodiment is
A service server that provides individual services, a service monitoring management server for monitoring and managing a plurality of service servers,
As a service management device used by the service monitoring management server,
The master information of data held by each of the multiple service servers, hierarchical structure information between elements of the master information, and information that integrates access right information for the master information (common access control information) is consolidated on the service monitoring management server. When a service user requests access to the data on the service server, the service server used by the service user has a service server belonging to a lower level in the common access control information corresponding to the aggregation condition. It has a service management device characterized by copying partial information consisting of a list.

また、上記データ検索システムは、
サービスサーバにより用いられるデータアクセス制御装置として、
当該システムにおいて上記サービス管理装置を利用しているサービス監視管理サーバより受け取った共通アクセス制御情報の部分情報を用いて、サービスサーバ自身又は当該システムを構成する他のサービスサーバに対するアクセス要求を送付することを特徴とするデータアクセス制御装置を有する。
The data search system is
As a data access control device used by the service server,
Using the partial information of the common access control information received from the service monitoring management server using the service management apparatus in the system, sending an access request to the service server itself or another service server constituting the system. A data access control device.

また、上記データ検索システムは、
サービスサーバにおいては上記データアクセス制御装置を用い、サービス監視管理サーバにおいては上記データアクセス制御装置を用いることにより、複数のサービスサーバのそれぞれが保有するデータを横断的に集計した結果を基に、集計結果に付随する共通アクセス制御情報の部分集合を利用して、個別明細データ検索要求を送付するサービスサーバの数を絞り込むことを特徴とする。
The data search system is
The service server uses the data access control device, and the service monitoring management server uses the data access control device. Based on the result of crossing the data held by each of the service servers, A subset of the common access control information accompanying the result is used to narrow down the number of service servers to which the individual detailed data search request is sent.

また、上記データ検索システムは、
詳細な個別明細データ検索要求に対する結果を、検索要求元のサービスサーバが検索結果を送付するサービスサーバとの間で同期をとらずに表示することを特徴とする。
The data search system is
The result for the detailed individual detail data search request is displayed without being synchronized with the service server to which the search request source service server sends the search result.

実施の形態2.
本実施の形態について、主に実施の形態1との差異を説明する。
Embodiment 2. FIG.
In the present embodiment, differences from the first embodiment will be mainly described.

図13は、SaaSシステム100の構成を示すブロック図である。   FIG. 13 is a block diagram showing the configuration of the SaaS system 100. As shown in FIG.

図13において、SaaS監視管理サーバ102のサービス管理装置117は、実施の形態1で図4に示した構成要素のほか、サービス管理DB118(データベース)を備える。サービス管理装置117のサービス管理DB118は、SaaS監視管理サーバ102の記憶装置(例えば、ハードディスク)に実装され、少なくとも、分析サービス契約123、分析サービスマスタ124、利用状況125の3つの表を持つ。   In FIG. 13, the service management apparatus 117 of the SaaS monitoring management server 102 includes a service management DB 118 (database) in addition to the components shown in FIG. 4 in the first embodiment. The service management DB 118 of the service management device 117 is mounted on a storage device (for example, a hard disk) of the SaaS monitoring management server 102, and has at least three tables of an analysis service contract 123, an analysis service master 124, and a usage status 125.

本実施の形態における横断的集計実行時の処理シーケンスは、実施の形態1で図6に示したものと同様である。   The processing sequence at the time of execution of cross-tabulation in the present embodiment is the same as that shown in FIG. 6 in the first embodiment.

本実施の形態では、SaaS監視管理サーバ102において、サービス管理装置117の共通ACL管理DB119は、共通ACL129の中に、各店舗用SaaSサーバ101から他の店舗用SaaSサーバ101に蓄積された各種類の明細データへのアクセスの許否を店舗用SaaSサーバ101と明細データの種類との組み合わせごとに示す例外リストを記憶装置により記憶する。そして、サービス管理装置117のドリルスルー用ACLサブセット生成部122は、図6の(4)で横断的集計実行部120が集計した明細データが蓄積された店舗用SaaSサーバ101のうち、共通ACL管理DB119に記憶された共通ACL129で要求元店舗128の店舗用SaaSサーバ101と同じグループに所属することが示された店舗用SaaSサーバ101に加えて、共通ACL管理DB119に記憶された共通ACL129で要求元店舗128の店舗用SaaSサーバ101と異なるグループに所属することが示された店舗用SaaSサーバ101であって、共通ACL管理DB119に記憶された例外リストで要求元店舗128の店舗用SaaSサーバ101からのアクセスを許可することが示された、図6の(4)で横断的集計実行部120が集計した明細データと同じ種類の明細データを蓄積する店舗用SaaSサーバ101を示すACLサブセット116を生成する。   In the present embodiment, in the SaaS monitoring management server 102, the common ACL management DB 119 of the service management device 117 is stored in the common ACL 129 from each store SaaS server 101 to another store SaaS server 101. The storage device stores an exception list indicating whether or not the detailed data is permitted for each combination of the store SaaS server 101 and the detailed data. Then, the drill-through ACL subset generation unit 122 of the service management device 117 performs common ACL management among the SaaS servers 101 for stores in which the detailed data aggregated by the cross-sectional aggregation execution unit 120 in (4) of FIG. 6 is accumulated. Requested by the common ACL 129 stored in the common ACL management DB 119 in addition to the store SaaS server 101 indicated to belong to the same group as the store SaaS server 101 of the request source store 128 in the common ACL 129 stored in the DB 119 The store SaaS server 101 that is shown to belong to a different group from the store SaaS server 101 of the original store 128, and the store SaaS server 101 of the request source store 128 in the exception list stored in the common ACL management DB 119. In Fig. 6 (indicated to allow access from ) Cross-tabulation execution unit 120 generates an ACL subset 116 showing a SaaS server 101 for shop to accumulate the same kind of detailed data and detailed data aggregated in.

実施の形態1で図7に示した地方別・地区別集計用共通ACL130を、リレーショナルDBで実現した例を図14に示す。図14において、地方テーブル131、地区テーブル132、店舗テーブル133は、実施の形態1の図8と同様に、図7に示した地方別・地区別集計用共通ACL130のそれぞれの階層に対応した表である。本実施の形態では、共通ACL126がそれぞれ例外リストを持ち、地方別・地区別集計用共通ACL130も1つの例外リストを持つ。   FIG. 14 shows an example in which the regional / division total common ACL 130 shown in FIG. 7 in the first embodiment is realized by a relational DB. In FIG. 14, the regional table 131, the district table 132, and the store table 133 are tables corresponding to the respective hierarchies of the common ACL 130 for tabulation by region and district shown in FIG. 7, as in FIG. 8 of the first embodiment. It is. In the present embodiment, each common ACL 126 has an exception list, and each region / division-specific common ACL 130 also has one exception list.

例外リストは、ドリルスルー要求元である店舗のサービス契約に対する料金滞納の有無、利用時間・データ量の制限超過の有無など、利用状況により要求元の店舗がドリルスルー可能な場合のみ評価される。例えば、各店舗は、SaaSのサービスにて「地方別・地区別売上分析」を契約している場合のみ、他店舗の管理するDBを参照可能であり、その場合、SaaS監視管理サーバ102は、ドリルスルー時のアクセス制御において、店舗テーブル133の一部である例外リストを評価するものとする。例外リストは、サービスコンテンツDB105の表名のリスト136(本実施の形態における表リスト)、及び、各表に対応づけられた、各店舗がアクセス可能な他店舗のリスト137(本実施の形態における要素リスト)よりなる。   The exception list is evaluated only when the requesting store can drill through depending on the usage status, such as whether there is a charge overdue for the service contract of the store that is the drill-through request source or whether the usage time / data amount limit is exceeded. For example, each store can refer to the DB managed by other stores only when contracting “sales analysis by region / district” with the service of SaaS, in which case the SaaS monitoring management server 102 In the access control during drill-through, an exception list that is a part of the store table 133 is evaluated. The exception list includes a list 136 of table names in the service content DB 105 (a table list in the present embodiment) and a list 137 of other stores that can be accessed by each store in association with each table (in the present embodiment). Element list).

各店舗のサービス契約に関する情報は、SaaS監視管理サーバ102の持つサービス管理DB118により管理する。   Information regarding the service contract of each store is managed by the service management DB 118 of the SaaS monitoring management server 102.

図15に、サービス管理DB118の表である分析サービス契約123及び分析サービスマスタ124の例を示す。   FIG. 15 shows an example of the analysis service contract 123 and the analysis service master 124 which are tables of the service management DB 118.

図15において、分析サービス契約123は、各店舗が契約している分析サービスの情報を持つ。図15の例では、分析サービス契約123は、店舗A1が「売上分析」、「在庫分析」の各分析サービスを契約していることを示している。また、店舗A2がいずれの分析サービスも契約していないことを示している。分析サービスマスタ24は、各分析サービスが、サービスコンテンツDB105のどの表に対する集計を許可し、ドリルスルー時にどの共通ACL126によるアクセス制御を行うかを示す情報を持つ。図15の例では、分析サービスマスタ24は、「売上分析」サービスについて、図16に例示するサービスコンテンツDB105の売上テーブル138に対する集計を許可し、共通ACL126として「地域」、「商品」、「組織」、「日時」を適用することを示している。また、「在庫分析」サービスについて、図16に例示するサービスコンテンツDB105の在庫テーブル139に対する集計を許可し、共通ACL126として「地域」、「商品」、「組織」、「日時」を適用することを示している。また、分析サービスマスタ24は、「店舗詳細分析」サービスについて、図16に例示するサービスコンテンツDB105の店舗詳細テーブル140に対する集計を許可し、共通ACL126として「地域」、「組織」、「日時」を適用することを示している。   In FIG. 15, the analysis service contract 123 has information on the analysis service contracted by each store. In the example of FIG. 15, the analysis service contract 123 indicates that the store A1 has contracted with each of the analysis services “sales analysis” and “inventory analysis”. Further, it is indicated that the store A2 does not contract any analysis service. The analysis service master 24 has information indicating which table in the service content DB 105 each analysis service permits, and which common ACL 126 performs access control at the time of drill-through. In the example of FIG. 15, the analysis service master 24 permits the “sales analysis” service to be aggregated with respect to the sales table 138 of the service content DB 105 illustrated in FIG. 16, and “region”, “product”, “organization” as the common ACL 126. ”And“ date and time ”are applied. In addition, regarding the “stock analysis” service, it is permitted to count the stock table 139 of the service content DB 105 illustrated in FIG. 16 and apply “region”, “product”, “organization”, and “date / time” as the common ACL 126. Show. Further, the analysis service master 24 permits the “store detail analysis” service to be aggregated with respect to the store detail table 140 of the service content DB 105 illustrated in FIG. 16, and sets “region”, “organization”, and “date / time” as the common ACL 126. It shows that it applies.

以下では、図16〜図18を利用して、各分析サービスにおけるアクセス制御の例を示す。   Hereinafter, an example of access control in each analysis service will be described with reference to FIGS.

図16に、サービスコンテンツDB105の表である売上テーブル138、在庫テーブル139、店舗詳細テーブル140の例を示す。この例では、売上テーブル138は、店舗名、売上日時、商品、単価、個数、金額を保持するよう構成されている。また、在庫テーブル139は、店舗名、商品、購入日、仕入元、個数、保持期限を保持するよう構成されている。また、店舗詳細テーブル140は、店舗名、売場面積、社員数、アルバイト数、住所を保持するよう構成されている。   FIG. 16 shows an example of a sales table 138, an inventory table 139, and a store detail table 140, which are tables of the service content DB 105. In this example, the sales table 138 is configured to hold a store name, sales date and time, merchandise, unit price, quantity, and amount. In addition, the inventory table 139 is configured to hold a store name, a product, a purchase date, a purchase source, a number, and a retention period. The store detail table 140 is configured to hold a store name, a sales floor area, the number of employees, the number of part-time jobs, and an address.

図17に、共通ACL126の例として、商品別集計用共通ACL141を示す。この例では、商品別集計用共通ACL141は、大分類・小分類・取扱店舗の3階層よりなる。例えば、商品別集計用共通ACL141を、図16に示した売上テーブル138に適用し、ドリルスルー要求元の店舗が扱わない商品については原則として他店舗へのドリルスルーを許可しないような構成をとることができる。図17において、店舗A1は、菓子・パン・アルコールを取り扱っているが、筆記具は取り扱っていないものとする。店舗A2は菓子・パンは取り扱っているが、アルコール・筆記具は取り扱っていないものとする。店舗A3は菓子・筆記具を取り扱っているが、パン・アルコールは取り扱っていないものとする。商品別集計用共通ACL141を、図16に示した売上テーブル138に適用することにより、店舗A1は、店舗A2の菓子・パンの売上情報、店舗A3の菓子の売上情報にアクセス可能となる。また、商品別集計用共通ACL141を、例えば図7に示した地方別・地区別集計用共通ACL130とともに、図16に示した売上テーブル138に適用する場合、店舗A1は店舗A2の菓子・パンの売上情報にアクセス可能となるが、店舗A3の売上情報にはアクセスできなくなる。   FIG. 17 shows a common ACL 141 for product-based aggregation as an example of the common ACL 126. In this example, the product-specific tabulation common ACL 141 includes three levels of major classification, minor classification, and handling stores. For example, the product-specific tabulation common ACL 141 is applied to the sales table 138 shown in FIG. 16, and in principle, a product that is not handled by the drill-through request source store is not permitted to be drill-through to another store. be able to. In FIG. 17, it is assumed that the store A1 handles confectionery, bread, and alcohol, but does not handle writing instruments. Store A2 handles confectionery and bread, but does not handle alcohol or writing instruments. Store A3 handles confectionery and writing instruments, but does not handle bread or alcohol. By applying the product-specific tabulation common ACL 141 to the sales table 138 shown in FIG. 16, the store A1 can access the confectionery and bread sales information of the store A2 and the confectionery sales information of the store A3. Further, when the common ACL for product totalization 141 is applied to the sales table 138 shown in FIG. 16 together with the common ACL for totaling by region / district shown in FIG. Although the sales information can be accessed, the sales information of the store A3 cannot be accessed.

図18に、共通ACL126の例として、組織別集計用共通ACL142を示す。この例では、組織別集計用共通ACL142は、事業部・店舗形態・店舗の3階層よりなる。例えば、組織別集計用共通ACL142を、図16に示した売上テーブル138や在庫テーブル139に適用し、所属する事業部の異なる店舗からのドリルスルー要求に対してはアクセスを許可しないような構成をとることができる。図18において、店舗A1と店舗A2とは互いの売上情報、在庫情報に対してドリルスルーできるが、店舗A1及び店舗A2と店舗A3とは互いのデータに対してドリルスルーできないようにすることができる。   FIG. 18 shows a common ACL 142 for organization-specific aggregation as an example of the common ACL 126. In this example, the organization-specific common ACL 142 is composed of three levels of division, store form, and store. For example, the organization-specific common ACL 142 is applied to the sales table 138 and the inventory table 139 shown in FIG. 16, and access is not permitted for drill-through requests from different stores of the business division to which the organization belongs. Can take. In FIG. 18, store A1 and store A2 can drill through to each other's sales information and inventory information, but store A1, store A2, and store A3 are prevented from drilling through to each other's data. it can.

図19に、サービス管理DB118の表である利用状況125の例を示す。   FIG. 19 shows an example of the usage status 125 that is a table of the service management DB 118.

図19において、利用状況125は、「契約者名」(店舗、又は、地区や地域の責任者など)、「料金支払日」、「当月利用時間」、「最終利用開始日時」、「最終利用終了日時」の各列により構成されている。SaaS監視管理サーバ102は、ある店舗が全体集計の要求元である場合、当該店舗が図15に示した分析サービス契約123において契約しているサービスに関し、図19に示した利用状況125にて当該店舗のサービス契約に対する料金滞納の有無、利用時間・データ量の制限超過の有無などを確認し、契約条件上サービスを利用可能な場合にのみ、図14に示した例外リストに含まれる対象に対するアクセスを許可する。変形例として、ある店舗がサービス利用時間に基づく従量課金契約をしている場合、サービス管理DB118中に記憶した従量課金契約タイプに関する情報を参照して利用制限を確認するように構成することもできる。   In FIG. 19, the usage status 125 includes “contractor name” (store or district / regional manager), “fee payment date”, “current usage time”, “last usage start date”, “last usage”. It is composed of columns of “end date and time”. When a certain store is a request source for the total aggregation, the SaaS monitoring management server 102 relates to the service contracted in the analysis service contract 123 shown in FIG. 15 by the use status 125 shown in FIG. Access to the target included in the exception list shown in FIG. 14 only when the service is available under the contract conditions by confirming whether there is a charge delinquency for the service contract of the store, whether the usage time / data amount limit is exceeded, etc. Allow. As a modified example, when a certain store has a pay-per-use contract based on service use time, the use restriction can be confirmed by referring to the information related to the pay-per-use contract type stored in the service management DB 118. .

図20は、サービス管理装置117のドリルスルー用ACLサブセット生成部122の動作を示すフローチャートである。   FIG. 20 is a flowchart showing the operation of the drill-through ACL subset generation unit 122 of the service management apparatus 117.

図20において、ステップS301〜S306は、実施の形態1の図9におけるステップS101〜S106と同様である。また、図20において、ステップS309、S310は、実施の形態1の図9におけるステップS107、S108と同様である。   20, steps S301 to S306 are the same as steps S101 to S106 in FIG. 9 of the first embodiment. In FIG. 20, steps S309 and S310 are the same as steps S107 and S108 in FIG. 9 of the first embodiment.

ステップS306の後、ドリルスルー用ACLサブセット生成部122は、全体集計要求元の店舗(ユーザ)のサービス契約状況に応じて、当該ユーザが例外リストを参照可能かどうか判断する(ステップS307)。ドリルスルー用ACLサブセット生成部122は、当該ユーザが例外リストを参照可能であると判断した場合、例外リストの参照処理を実行する(ステップS308)。ドリルスルー用ACLサブセット生成部122は、ステップS307で、当該ユーザが例外リストを参照できないと判断した場合、ステップS302において全体集計要求に含まれる次の表の処理に進む。   After step S306, the drill-through ACL subset generation unit 122 determines whether or not the user can refer to the exception list according to the service contract status of the store (user) of the total aggregation request source (step S307). When the drill-through ACL subset generation unit 122 determines that the user can refer to the exception list, the drill-through ACL subset generation unit 122 executes an exception list reference process (step S308). If the drill-through ACL subset generation unit 122 determines in step S307 that the user cannot refer to the exception list, the drill-through ACL subset generation unit 122 proceeds to the process of the next table included in the overall aggregation request in step S302.

図21は、図20におけるステップS307の詳細な動作を示すフローチャートである。   FIG. 21 is a flowchart showing a detailed operation of step S307 in FIG.

図21において、ドリルスルー用ACLサブセット生成部122は、サービス管理DB118の分析サービス契約123を参照し(ステップS401)、全体集計要求元の店舗(ユーザ)が分析サービスを契約しているかどうか判断する(ステップS402)。当該ユーザが分析サービスを契約している場合、ドリルスルー用ACLサブセット生成部122は、サービス管理DB118の利用状況125を参照し(ステップS403)、契約内容に従って料金滞納、利用時間の超過などがないかどうか確認する(ステップS404)。この判断はSaaSの個別事情により条件を追加・削除してもよい。   In FIG. 21, the drill-through ACL subset generation unit 122 refers to the analysis service contract 123 of the service management DB 118 (step S401), and determines whether the store (user) of the total aggregation request source has contracted for the analysis service. (Step S402). When the user subscribes to the analysis service, the drill-through ACL subset generation unit 122 refers to the usage state 125 of the service management DB 118 (step S403), and there is no charge delinquency or usage time excess according to the content of the contract. Whether or not (step S404). This determination may be made by adding / deleting conditions depending on individual circumstances of SaaS.

ステップS402、S404の両条件が真(YES)の場合、ドリルスルー用ACLサブセット生成部122は、当該ユーザが契約している全ての分析サービスに対してステップS406〜S410の処理をする(ステップS405)。   When both the conditions in steps S402 and S404 are true (YES), the drill-through ACL subset generation unit 122 performs the processes in steps S406 to S410 for all analysis services contracted by the user (step S405). ).

ドリルスルー用ACLサブセット生成部122は、サービス管理DB118の分析サービスマスタ124を参照し(ステップS406)、列「表」に全体集計対象が含まれているかどうかを判断する(ステップS407)。列「表」に全体集計対象の(全体集計結果115を基にしたドリルスルー要求対象になる)表が含まれている場合、ドリルスルー用ACLサブセット生成部122は、図20のステップS304〜S308の処理対象となっている共通ACL126を含む、契約済の分析サービスがあるかどうかを確認し(ステップS408)、このステップS408の確認結果が真(YES)である場合、図20のステップS304〜S308の処理対象となっている共通ACL126の例外リストが参照可能であると判断する(ステップS409)。   The drill-through ACL subset generation unit 122 refers to the analysis service master 124 of the service management DB 118 (step S406), and determines whether the column “table” includes an object of total aggregation (step S407). When the column “table” includes a table to be subjected to total aggregation (to be a drill-through request target based on the total aggregation result 115), the drill-through ACL subset generation unit 122 performs steps S304 to S308 in FIG. 20 is confirmed whether there is a contracted analysis service including the common ACL 126 to be processed (step S408). If the confirmation result in step S408 is true (YES), steps S304 to S304 in FIG. It is determined that the exception list of the common ACL 126 that is the processing target of S308 can be referred to (step S409).

ドリルスルー用ACLサブセット生成部122は、ステップS402でユーザが分析サービスを契約していないと判断した場合、ステップS404で当該ユーザが料金滞納、利用時間の超過などの問題を起こしており、分析サービスを利用させることができないと判断した場合、ステップS407でサービス管理DB118の分析サービスマスタ124の列「表」に全体集計対象が含まれていない場合、ステップS408で当該ユーザが図20のステップS304〜S308の処理対象となっている共通ACL126を含む分析サービスが契約していないと判断した場合、いずれにおいても当該共通ACL126の例外リストが参照不可であるか、又は、参照不要であると判断する(ステップS410)。   If the drill-through ACL subset generation unit 122 determines in step S402 that the user has not contracted for the analysis service, the user has caused problems such as arrears in charges and excess usage time in step S404. If the column “table” of the analysis service master 124 of the service management DB 118 does not contain an object of total tabulation in step S407, the user determines that the user has steps S304 to S304 in FIG. When it is determined that the analysis service including the common ACL 126 that is the processing target in S308 is not contracted, it is determined that the exception list of the common ACL 126 is not referable or reference is not required in any case ( Step S410).

例えば、店舗A1の店舗用SaaSサーバ101が、集計対象として図16に示した売上テーブル138を指定し、集計条件として図7の地方別・地区別集計用共通ACL130(図15に示した分析サービスマスタ124の共通ACL126「地域」に相当する)の「地区」を指定して全体集計を要求した場合、ドリルスルー用ACLサブセット生成部122は、店舗A1の利用状況がサービス契約に反しない限り、地方別・地区別集計用共通ACL130の例外リストは参照可能であると判断する。これは、図15に示した分析サービス契約123において、店舗A1が「売上分析」サービスを契約していることが示されており、分析サービスマスタ124において、売上テーブル138が「売上分析」サービスの処理対象であり、地方別・地区別集計用共通ACL130が売上テーブル138に適用される共通ACL126として設定されているからである。一方、例えば、店舗A2の店舗用SaaSサーバ101が、同様の全体集計を要求した場合、ドリルスルー用ACLサブセット生成部122は、店舗A2の利用状況に関わらず、地方別・地区別集計用共通ACL130の例外リストは参照不可であると判断する。これは、図15に示した分析サービス契約123において、店舗A2が「売上分析」サービスを契約していないことが示されているからである。また、例えば、図19に示した利用状況125において、店舗A1の当月利用時間は100時間である。この店舗A1が「1ヵ月の利用時間累計が50時間以内」のサービス契約をしている場合、ドリルスルー用ACLサブセット生成部122は、ステップS404からステップS410に進み、共通ACL126の例外リストは参照不可であると判断する。また、例えば、店舗A1が図15に示した分析サービスマスタ124の列「表」にない借入金テーブルなどに関する全体集計を要求した場合、ドリルスルー用ACLサブセット生成部122は、ステップS407からステップS410に進み、共通ACL126の例外リストは参照不可であると判断する。また、例えば、店舗A1が売上テーブル138に対して図15に示した分析サービスマスタ124に存在しない共通ACL126「営業時間帯」を適用するような全体集計を要求した場合、ドリルスルー用ACLサブセット生成部122は、ステップS408からステップS410に進み、共通ACL126の例外リストは参照不可であると判断する。   For example, the store SaaS server 101 of the store A1 designates the sales table 138 shown in FIG. 16 as an aggregation target, and the aggregation ACL for each region / district in FIG. 7 as the aggregation condition (the analysis service shown in FIG. 15). When the “total” is requested by designating “district” of the common ACL 126 “region” of the master 124, the drill-through ACL subset generation unit 122, unless the usage status of the store A 1 violates the service contract, It is determined that the exception list of the common ACL 130 for aggregation by region / division can be referred to. This indicates that the analysis service contract 123 shown in FIG. 15 indicates that the store A1 has a contract for the “sales analysis” service. In the analysis service master 124, the sales table 138 indicates the “sales analysis” service. This is because the common ACL 130 for aggregation by region and by region is set as the common ACL 126 applied to the sales table 138. On the other hand, for example, when the store SaaS server 101 of the store A2 requests the same total tabulation, the drill-through ACL subset generation unit 122 is common for tabulation by region and district regardless of the usage status of the store A2. It is determined that the ACL 130 exception list cannot be referenced. This is because the analysis service contract 123 shown in FIG. 15 indicates that the store A2 has not contracted the “sales analysis” service. Further, for example, in the usage state 125 shown in FIG. 19, the current month usage time of the store A1 is 100 hours. When this store A1 has a service contract that “the accumulated usage time of one month is within 50 hours”, the drill-through ACL subset generation unit 122 proceeds from step S404 to step S410, and the exception list of the common ACL 126 is referred to. Judge that it is impossible. Further, for example, when the store A1 requests total aggregation regarding a borrowing table or the like not in the column “table” of the analysis service master 124 shown in FIG. 15, the drill-through ACL subset generation unit 122 proceeds from step S407 to step S410. Then, it is determined that the exception list of the common ACL 126 is not referable. Further, for example, when the store A1 requests the total aggregation to apply the common ACL 126 “business hours” not existing in the analysis service master 124 shown in FIG. The unit 122 proceeds from step S408 to step S410, and determines that the exception list of the common ACL 126 is not referable.

図22は、図20におけるステップS308の詳細な動作を示すフローチャートである。   FIG. 22 is a flowchart showing the detailed operation of step S308 in FIG.

図22において、ドリルスルー用ACLサブセット生成部122は、例外リストの表リストに含まれる各表に対して(ステップS501)、全体集計要求(当該全体集計の対象は、当該全体集計結果115を基にしたドリルスルー要求の対象になる)に含まれる表であるかを判断する(ステップS502)。ドリルスルー用ACLサブセット生成部122は、対象となる表が全体集計要求に含まれる表であると判断した場合、ステップS502〜S505の処理を実行する。   In FIG. 22, the drill-through ACL subset generation unit 122 applies a total count request (the target of the total count is based on the total count result 115) to each table included in the table list of the exception list (step S <b> 501). It is determined whether the table is included in the drill-through request (step S502). When the drill-through ACL subset generation unit 122 determines that the target table is a table included in the overall aggregation request, the drill-through ACL subset generation unit 122 executes the processes of steps S502 to S505.

ドリルスルー用ACLサブセット生成部122は、対象となる表に対応する要素リストの持つ要素に対して(ステップS503)、図20のステップS306における一時リストに既に含まれている要素かどうかを確認する(ステップS504)。ドリルスルー用ACLサブセット生成部122は、対象となる要素が当該一時リストに含まれていない場合は、図20のステップS306における一時リストに当該要素を追加する(ステップS505)。ドリルスルー用ACLサブセット生成部122は、ステップS502で対象となる表が全体集計要求に含まれていない表であると判断した場合、あるいは、ステップS504で対象となる要素が既に当該一時リストに含まれていると判断した場合は、ステップS501で次の表に対する処理に進む。なお、図22において、例えば図20のステップS305において集計条件に対応すると判断された共通ACL126の階層において、その下位に全体集計要求元を含む要素に付随する例外リストに対して適用するように構成できる。あるいは、例えば、上記要素及びより下位の要素に付随する例外リストに対して適用するように構成してもよい。   The drill-through ACL subset generation unit 122 confirms whether or not the element in the element list corresponding to the target table is already included in the temporary list in step S306 of FIG. 20 (step S503). (Step S504). If the target element is not included in the temporary list, the drill-through ACL subset generation unit 122 adds the element to the temporary list in step S306 of FIG. 20 (step S505). When the drill-through ACL subset generation unit 122 determines in step S502 that the target table is not included in the total aggregation request, or in step S504, the target element is already included in the temporary list. If it is determined that it is, the process proceeds to the next table in step S501. In FIG. 22, for example, in the hierarchy of the common ACL 126 determined to correspond to the aggregation condition in step S305 of FIG. 20, the configuration is applied to the exception list attached to the element including the total aggregation request source below it. it can. Or you may comprise, for example with respect to the exception list | wrist accompanying the said element and a lower-order element.

例えば、店舗A1の店舗用SaaSサーバ101が、集計対象として図16に示した売上テーブル138を指定し、集計条件として図14に示した例外リストを含む地方別・地区別集計用共通ACL130の「地区」を指定して全体集計を要求した場合、前述したように、ドリルスルー用ACLサブセット生成部122は、店舗A1の利用状況がサービス契約に反しない限り、地方別・地区別集計用共通ACL130の例外リストは参照可能であると判断する。このとき、例外リストが参照されなければ、店舗A1の店舗用SaaSサーバ101は、店舗A1自身及び店舗A2の明細データのみにアクセス可能である。しかし、例外リストが参照される場合、ステップS502で売上テーブル138が全体集計の対象となっているため、ドリルスルー用ACLサブセット生成部122は、図14に示した例外リストの表名のリスト136から、売上テーブル138に対応する他店舗のリスト137を取得し、ステップS503〜S505の処理を実行する。この他店舗のリスト137には、店舗A2と店舗A4が含まれているが、店舗A2については、ドリルスルー用ACLサブセット生成部122は、ステップS504で図20のステップS306における一時リストに既に含まれている店舗であると判断するため、ステップS505の処理は実行しない。一方、店舗A4については、ドリルスルー用ACLサブセット生成部122は、ステップS503で図20のステップS306における一時リストに含まれていない店舗であると判断するため、ステップS505で店舗A4を当該一時リストに追加する。このように、例外リストが参照された場合、店舗A1の店舗用SaaSサーバ101は、店舗A1及び店舗A2の明細データだけでなく、例外的に、店舗A4の明細データにもアクセス(ドリルスルー)可能となる。   For example, the store SaaS server 101 of the store A1 designates the sales table 138 shown in FIG. 16 as an aggregation target, and includes the exception list shown in FIG. When the total count is requested by designating “district”, as described above, the drill-through ACL subset generation unit 122 does not violate the service contract as long as the usage status of the store A1 does not violate the service contract. It is determined that the exception list of can be referred to. At this time, if the exception list is not referred to, the store SaaS server 101 of the store A1 can access only the detailed data of the store A1 itself and the store A2. However, when the exception list is referred to, since the sales table 138 is a target of the total aggregation in step S502, the drill-through ACL subset generation unit 122 lists the table name of the exception list shown in FIG. From this, a list 137 of other stores corresponding to the sales table 138 is acquired, and the processes of steps S503 to S505 are executed. This list 137 of other stores includes store A2 and store A4. For store A2, the drill-through ACL subset generation unit 122 is already included in the temporary list in step S306 of FIG. 20 in step S504. In order to determine that the store is a store, the process of step S505 is not executed. On the other hand, for the store A4, the drill-through ACL subset generation unit 122 determines in step S503 that the store is not included in the temporary list in step S306 of FIG. Add to As described above, when the exception list is referred to, the store SaaS server 101 of the store A1 accesses not only the detailed data of the store A1 and the store A2 but also the detailed data of the store A4 (drill-through). It becomes possible.

以上のように、本実施の形態によれば、例えば、マルチテナントのSaaSシステムにおいて、各テナントが個別にDBやDWH(データウェアハウス)を持っている場合、各テナントのドリルスルー要求について、サービス契約に対する利用状況に応じた制限をかけることが可能となる。   As described above, according to the present embodiment, for example, in a multi-tenant SaaS system, when each tenant individually has a DB or a DWH (data warehouse), a service for a drill-through request of each tenant It is possible to apply restrictions according to the usage status for the contract.

上記のように、本実施の形態に係るデータ検索システムは、
個別のサービスを提供するサービスサーバ、複数のサービスサーバを監視管理するためのサービス監視管理サーバを備え、
サービス監視管理サーバにより用いられるサービス管理装置として、
複数のサービスサーバのそれぞれが保有するデータのマスタ情報、マスタ情報の要素間の階層構造情報、マスタ情報に対するアクセス権情報を一体化した情報(共通アクセス制御情報)をサービス監視管理サーバに集約して管理し、サービス利用者によるサービスサーバ上のデータに対するアクセス要求に当たっては、サービス利用者の利用しているサービスサーバに対し、集計条件に対応する共通アクセス制御情報内の階層の下位に属するサービスサーバのリストよりなる部分情報をコピーし、
さらに、共通アクセス制御情報において、アクセス制御の例外を例外リストにより管理し、当該例外リストは、当該ユーザが当該例外リストの利用に係るサービス契約を行っており、また当該ユーザのサービス利用状況がサービス利用契約に定める利用規定に従っている場合のみ評価を行うことを特徴とするサービス管理装置を有する。
As described above, the data search system according to the present embodiment is
A service server that provides individual services, a service monitoring management server for monitoring and managing a plurality of service servers,
As a service management device used by the service monitoring management server,
The master information of data held by each of the multiple service servers, hierarchical structure information between elements of the master information, and information that integrates access right information for the master information (common access control information) is consolidated on the service monitoring management server. When a service user requests access to the data on the service server, the service server used by the service user has a service server belonging to a lower level in the common access control information corresponding to the aggregation condition. Copy the partial information consisting of the list,
In addition, in the common access control information, exceptions of access control are managed by an exception list. The exception list has a service contract related to the use of the exception list by the user, and the service usage status of the user is a service. The service management apparatus is characterized in that the evaluation is performed only in accordance with the usage rule defined in the usage contract.

また、上記データ検索システムは、
サービス監視管理サーバにおいては上記サービス管理装置を用いることにより、集計結果に付随する共通アクセス制御情報の部分集合を利用して、個別明細データ検索要求を送付するサービスサーバの数を絞り込む際に、アクセス制御の例外については、当該ユーザが当該例外の利用に係るサービス契約を行っており、当該ユーザのサービス利用状況がサービス利用契約に定める利用規定に従っている場合のみ可能とすることを特徴とする。
The data search system is
The service monitoring management server uses the above-mentioned service management device, and when using the subset of the common access control information attached to the aggregation result, when narrowing down the number of service servers to which the individual detailed data search request is sent, Control exceptions can be made only when the user has a service contract related to the use of the exception, and the service usage status of the user complies with the usage rules stipulated in the service usage contract.

また、上記データ検索システムは、
詳細な個別明細データ検索要求に対する結果を、検索要求元のサービスサーバが検索結果を送付するサービスサーバとの間で同期をとらずに表示することを特徴とする。
The data search system is
The result for the detailed individual detail data search request is displayed without being synchronized with the service server to which the search request source service server sends the search result.

以上、本発明の実施の形態について説明したが、これらのうち、2つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、2つ以上の実施の形態を部分的に組み合わせて実施しても構わない。   As mentioned above, although embodiment of this invention was described, you may implement combining 2 or more embodiment among these. Alternatively, one of these embodiments may be partially implemented. Or you may implement combining two or more embodiment among these partially.

SaaSシステムの構成を示すブロック図である。It is a block diagram which shows the structure of a SaaS system. SaaSシステムの構成を示すブロック図である。It is a block diagram which shows the structure of a SaaS system. SaaSシステムにおけるドリルスルー処理手順を示す図である。It is a figure which shows the drill through process procedure in a SaaS system. 実施の形態1に係るSaaSシステムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of a SaaS system according to a first embodiment. 実施の形態1に係る店舗用SaaSサーバ及びSaaS監視管理サーバのハードウェア資源の一例を示す図である。It is a figure which shows an example of the hardware resource of the SaaS server for stores which concerns on Embodiment 1, and a SaaS monitoring management server. 実施の形態1における横断的集計実行時の処理シーケンスを示す図である。FIG. 6 is a diagram showing a processing sequence at the time of execution of cross-sectional aggregation in the first embodiment. 実施の形態1における共通ACLの例を示す図である。3 is a diagram illustrating an example of a common ACL in Embodiment 1. FIG. 実施の形態1における共通ACLのリレーショナルDBによる実現例を示す図である。6 is a diagram illustrating an implementation example of a common ACL using a relational DB according to Embodiment 1. FIG. 実施の形態1におけるドリルスルー用ACLサブセット生成部の動作を示すフローチャートである。6 is a flowchart showing an operation of a drill-through ACL subset generation unit according to the first embodiment. 実施の形態1におけるドリルスルー実行時の処理シーケンスを示す図である。FIG. 10 is a diagram showing a processing sequence at the time of drill-through execution in the first embodiment. 実施の形態1における全体集計結果の例を示す図である。FIG. 10 is a diagram showing an example of a total count result in the first embodiment. 実施の形態1におけるドリルスルー要求部の動作を示すフローチャートである。6 is a flowchart showing an operation of a drill-through request unit in the first embodiment. 実施の形態2における分析サービス契約及び分析サービスマスタの例を示す表である。10 is a table showing an example of an analysis service contract and an analysis service master in the second embodiment. 実施の形態2における共通ACLのリレーショナルDBによる実現例を示す図である。FIG. 11 is a diagram illustrating an implementation example using a relational DB of a common ACL in the second embodiment. 実施の形態2における分析サービス契約及び分析サービスマスタの例を示す図である。It is a figure which shows the example of the analysis service contract in Embodiment 2, and an analysis service master. 実施の形態2における明細データの例を示す表である。10 is a table showing an example of detailed data in the second embodiment. 実施の形態2における共通ACLの例を示す図である。FIG. 10 is a diagram illustrating an example of a common ACL in the second embodiment. 実施の形態2における共通ACLの例を示す図である。FIG. 10 is a diagram illustrating an example of a common ACL in the second embodiment. 実施の形態2における利用状況の例を示す表である。10 is a table illustrating an example of a usage situation in the second embodiment. 実施の形態2におけるドリルスルー用ACLサブセット生成部の動作を示すフローチャートである。10 is a flowchart showing an operation of an ACL subset generation unit for drill-through in the second embodiment. 実施の形態2におけるドリルスルー用ACLサブセット生成部の動作を示すフローチャートである。10 is a flowchart showing an operation of an ACL subset generation unit for drill-through in the second embodiment. 実施の形態2におけるドリルスルー用ACLサブセット生成部の動作を示すフローチャートである。10 is a flowchart showing an operation of an ACL subset generation unit for drill-through in the second embodiment.

符号の説明Explanation of symbols

100 SaaSシステム、101 店舗用SaaSサーバ、102 SaaS監視管理サーバ、103 データアクセス制御装置、104 作業用記憶領域、105 サービスコンテンツDB、106 横断的集計要求部、107 横断的集計応答部、108 ドリルスルー要求部、109 ACLサブセット管理部、110 ドリルスルー応答部、111 条件抽出部、112 ACLサブセット解釈部、113 結果受取部、114 結果表示部、115 全体集計結果、116 ACLサブセット、117 サービス管理装置、118 サービス管理DB、119 共通ACL管理DB、120 横断的集計実行部、121 共通ACL管理部、122 ドリルスルー用ACLサブセット生成部、123 分析サービス契約、124 分析サービスマスタ、125 利用状況、126 共通ACL、127 ユーザ端末、128 要求元店舗、129 他店舗、130 地方別・地区別集計用共通ACL、131 地方テーブル、132 地区テーブル、133 店舗テーブル、134 要求元店舗、135 他店舗、136 表名のリスト、137 他店舗のリスト、138 売上テーブル、139 在庫テーブル、140 店舗詳細テーブル、141 商品別集計用共通ACL、142 組織別集計用共通ACL、200 ネットワーク、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 オペレーティングシステム、922 ウィンドウシステム、923 プログラム群、924 ファイル群、991 SaaSシステム、992 SaaSシステム。   100 SaaS system, 101 Store SaaS server, 102 SaaS monitoring management server, 103 data access control device, 104 work storage area, 105 service content DB, 106 cross-tabulation request section, 107 cross-tabulation response section, 108 drill-through Request section, 109 ACL subset management section, 110 Drill-through response section, 111 Condition extraction section, 112 ACL subset interpretation section, 113 Result reception section, 114 Result display section, 115 Total count result, 116 ACL subset, 117 Service management device, 118 service management DB, 119 common ACL management DB, 120 cross-sectional aggregation execution unit, 121 common ACL management unit, 122 drill-through ACL subset generation unit, 123 analysis service contract, 124 analysis service manager 125, usage status, 126 common ACL, 127 user terminal, 128 request source store, 129 other store, 130 common ACL for aggregation by region / district, 131 district table, 132 district table, 133 store table, 134 request source store , 135 Other stores, 136 List of table names, 137 List of other stores, 138 Sales table, 139 Inventory table, 140 Store details table, 141 Common ACL for totaling by product, 142 Common ACL for totaling by organization, 200 network, 901 Display device, 902 keyboard, 903 mouse, 904 FDD, 905 CDD, 906 printer device, 911 CPU, 912 bus, 913 ROM, 914 RAM, 915 communication board, 920 magnetic disk device, 921 operating system Beam, 922 window system, 923 programs, 924 files, 991 SaaS system, 992 SaaS system.

Claims (7)

複数の種類の明細データを蓄積する複数のサーバの1つ(以下、「第1サーバ」という)から、集計対象とする明細データの種類を指定した集計要求をネットワーク経由で受信し、前記複数のサーバから、各サーバに蓄積された当該種類の明細データをネットワーク経由で収集し、当該明細データを処理装置により集計して集計データを生成する集計実行部と、
各サーバから他のサーバに蓄積された明細データへのアクセスの許否をサーバごとに示す共通ACL(アクセス制御リスト)を記憶装置により記憶する共通ACL管理データベースと、
前記集計実行部が集計した明細データのうち、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積するサーバ(以下、「第2サーバ」という)を示すACLサブセットを処理装置により生成するドリルスルー用ACLサブセット生成部とを備え、
前記集計実行部は、前記第1サーバに対し、生成した集計データと前記ドリルスルー用ACLサブセット生成部が生成したACLサブセットとをネットワーク経由で送信し、当該集計データの一部から当該ACLサブセットで示された第2サーバに蓄積された明細データへのドリルスルーを前記第1サーバに実行させることを特徴とするサービス管理装置。
From one of a plurality of servers that store a plurality of types of detailed data (hereinafter referred to as “first server”), a totaling request specifying a type of detailed data to be totaled is received via the network, A totalization execution unit that collects detailed data of the type stored in each server from the server via the network, and generates totalized data by counting the detailed data by a processing device;
A common ACL management database that stores, in a storage device, a common ACL (access control list) that indicates whether or not access to detailed data stored in other servers from each server is permitted;
Of the detailed data aggregated by the aggregation execution unit, a server that accumulates detailed data indicated to permit access from the first server in the common ACL stored in the common ACL management database (hereinafter referred to as “the first item”). An ACL subset generating unit for generating an ACL subset indicating a “two server”) by a processing device,
The aggregation execution unit transmits the generated aggregation data and the ACL subset generated by the drill-through ACL subset generation unit to the first server via a network, and the ACL subset is generated from a part of the aggregation data. A service management apparatus that causes the first server to execute drill-through to detailed data stored in the indicated second server.
前記共通ACL管理データベースは、前記複数のサーバを分類した複数のグループのうち、各サーバが所属するグループをサーバごとに示す共通ACLを記憶し、
前記ドリルスルー用ACLサブセット生成部は、前記集計実行部が集計した明細データが蓄積されたサーバのうち、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバと同じグループに所属することが示されたサーバを前記第2サーバとして示すACLサブセットを生成することを特徴とする請求項1に記載のサービス管理装置。
The common ACL management database stores a common ACL indicating, for each server, a group to which each server belongs among a plurality of groups in which the plurality of servers are classified.
The drill-through ACL subset generator belongs to the same group as the first server in the common ACL stored in the common ACL management database among the servers storing the detailed data tabulated by the tabulation execution unit. The service management apparatus according to claim 1, wherein an ACL subset indicating the server indicated by the URL as the second server is generated.
前記サービス管理装置は、さらに、
前記共通ACL管理データベースは、さらに、各サーバから他のサーバに蓄積された各種類の明細データへのアクセスの許否をサーバと明細データの種類との組み合わせごとに示す例外リストを記憶装置により記憶し、
前記ドリルスルー用ACLサブセット生成部は、前記集計実行部が集計した明細データが蓄積されたサーバのうち、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバと同じグループに所属することが示されたサーバに加えて、前記共通ACL管理データベースに記憶された共通ACLで前記第1サーバと異なるグループに所属することが示されたサーバであって、前記共通ACL管理データベースに記憶された例外リストで前記第1サーバからのアクセスを許可することが示された、前記集計実行部が集計した明細データと同じ種類の明細データを蓄積するサーバを前記第2サーバとして示すACLサブセットを生成することを特徴とする請求項2に記載のサービス管理装置。
The service management device further includes:
The common ACL management database further stores, in a storage device, an exception list indicating permission / refusal of each type of detailed data stored in other servers from each server for each combination of the server and the detailed data type. ,
The drill-through ACL subset generation unit belongs to the same group as the first server in the common ACL stored in the common ACL management database among the servers storing the detailed data tabulated by the tabulation execution unit. In addition to the server indicated, the common ACL stored in the common ACL management database indicates that it belongs to a group different from the first server, and is stored in the common ACL management database. Generate an ACL subset indicating, as the second server, a server that stores detailed data of the same type as the detailed data aggregated by the aggregation execution unit, which is indicated in the exception list to permit access from the first server. The service management apparatus according to claim 2.
複数の種類の明細データを蓄積する複数のサーバの1つ(以下、「第1サーバ」という)に具備されるデータアクセス制御装置において、
前記複数のサーバから各サーバに蓄積された明細データを収集するとともに各サーバから他のサーバに蓄積された明細データへのアクセスの許否をサーバごとに示す共通ACL(アクセス制御リスト)を記憶するサービス管理装置に対し、集計対象とする明細データの種類を指定した集計要求をネットワーク経由で送信し、前記サービス管理装置から、各サーバに蓄積された当該種類の明細データを集計して生成した集計データと、当該明細データのうち前記共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積するサーバ(以下、「第2サーバ」という)を示すACLサブセットとをネットワーク経由で受信する集計要求部と、
前記集計要求部が受信した集計データのうち、ドリルスルー対象とする部分を指定した入力を入力装置により受け付け、前記集計要求部が受信したACLサブセットに示された第2サーバに対し、前記入力で指定された部分に対応する明細データを指定したドリルスルー要求をネットワーク経由で送信し、当該第2サーバから、当該明細データをネットワーク経由で受信するドリルスルー要求部とを備えることを特徴とするデータアクセス制御装置。
In a data access control device provided in one of a plurality of servers that accumulate a plurality of types of detailed data (hereinafter referred to as “first server”),
A service that collects detailed data stored in each server from the plurality of servers and stores a common ACL (access control list) that indicates whether each server has access to detailed data stored in other servers. Aggregated data generated by sending a summary request specifying the type of detail data to be aggregated to the management device via the network and aggregating the type of detail data stored in each server from the service management device And an ACL subset indicating a server (hereinafter referred to as “second server”) that stores the detailed data indicated to permit access from the first server in the common ACL among the detailed data via the network. The aggregation request part received at
The input device receives an input designating a portion to be drilled out of the total data received by the total request unit, and the input to the second server indicated in the ACL subset received by the total request unit A data comprising: a drill-through request unit which transmits a drill-through request designating detailed data corresponding to a designated part via a network, and receives the detailed data from the second server via the network. Access control device.
前記ドリルスルー要求部は、前記集計要求部が受信したACLサブセットに示された第2サーバから、前記入力で指定された部分に対応する明細データを非同期通信により受信することを特徴とする請求項4に記載のデータアクセス制御装置。   The drill-through request unit receives asynchronous specification data corresponding to a part specified by the input from a second server indicated in the ACL subset received by the aggregation request unit. 4. The data access control device according to 4. 複数の種類の明細データを蓄積する複数のサーバの1つ(以下、「第1サーバ」という)が、各サーバから他のサーバに蓄積された明細データへのアクセスの許否をサーバごとに示す共通ACL(アクセス制御リスト)を記憶するサービス管理装置に対し、集計対象とする明細データの種類を指定した集計要求を送信し、
前記サービス管理装置が、前記複数のサーバから、各サーバに蓄積された明細データのうち、前記集計要求で指定された種類の明細データを収集し、当該明細データを処理装置により集計して集計データを生成し、
前記サービス管理装置が、集計した明細データのうち、前記共通ACLで前記第1サーバからのアクセスを許可することが示された明細データを蓄積するサーバ(以下、「第2サーバ」という)を示すACLサブセットを処理装置により生成し、
前記サービス管理装置が、前記第1サーバに対し、生成した集計データとACLサブセットとを送信し、
前記第1サーバが、前記集計データのうち、ドリルスルー対象とする部分を指定した入力を入力装置により受け付け、前記ACLサブセットに示された第2サーバに対し、前記入力で指定された部分に対応する明細データを指定したドリルスルー要求を送信し、
前記第2サーバが、前記第1サーバに対し、前記ドリルスルー要求で指定された明細データを送信し、
前記第1サーバが、前記明細データを表示装置により表示することを特徴とするデータ検索方法。
A common one of a plurality of servers that store a plurality of types of detailed data (hereinafter referred to as a “first server”) indicates whether each server is permitted to access detailed data stored in other servers. To the service management device that stores the ACL (access control list), a totaling request specifying the type of detailed data to be totaled is sent,
The service management device collects detailed data of the type specified in the totaling request from the multiple servers stored in each server from the plurality of servers, and totalizes the detailed data by a processing device. Produces
The service management device indicates a server (hereinafter referred to as a “second server”) that stores the detailed data indicated by the common ACL that access from the first server is permitted, among the detailed data collected. An ACL subset is generated by the processing unit;
The service management device transmits the generated aggregate data and ACL subset to the first server,
The first server receives an input designating a portion to be drilled out of the aggregated data by the input device, and corresponds to the portion designated by the input to the second server indicated in the ACL subset Send a drill-through request with the line item data
The second server sends the detailed data specified in the drill-through request to the first server,
The data search method, wherein the first server displays the detailed data on a display device.
前記データ検索方法は、さらに、
前記第2サーバが、前記サービス管理装置に対し、前記ドリルスルー要求で指定された明細データを指定した確認要求を送信し、
前記サービス管理装置が、前記共通ACLで前記第2サーバから送信された確認要求で指定された明細データへのアクセスを許可することが示されているか否かを処理装置により確認し、当該確認結果を送信し、
前記第2サーバが、前記確認結果に基づいて、前記第1サーバに対し、前記ドリルスルー要求で指定された明細データを送信することを特徴とする請求項6に記載のデータ検索方法。
The data search method further includes:
The second server sends a confirmation request specifying the detailed data specified in the drill-through request to the service management device;
The service management device confirms by the processing device whether or not it is shown that the access to the detailed data designated by the confirmation request transmitted from the second server is permitted by the common ACL, and the confirmation result Send
The data search method according to claim 6, wherein the second server transmits detailed data designated by the drill-through request to the first server based on the confirmation result.
JP2007325969A 2007-12-18 2007-12-18 Service management device, data access controller, and data retrieval method Pending JP2009146350A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007325969A JP2009146350A (en) 2007-12-18 2007-12-18 Service management device, data access controller, and data retrieval method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007325969A JP2009146350A (en) 2007-12-18 2007-12-18 Service management device, data access controller, and data retrieval method

Publications (1)

Publication Number Publication Date
JP2009146350A true JP2009146350A (en) 2009-07-02

Family

ID=40916849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007325969A Pending JP2009146350A (en) 2007-12-18 2007-12-18 Service management device, data access controller, and data retrieval method

Country Status (1)

Country Link
JP (1) JP2009146350A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033449A (en) * 2011-06-29 2013-02-14 Canon Inc Server system, control method and program
JP2013080299A (en) * 2011-09-30 2013-05-02 Fujitsu Social Science Laboratory Ltd Information process system, information processing method and information processing program
JP2013114614A (en) * 2011-11-30 2013-06-10 Nippon Telegr & Teleph Corp <Ntt> Information circulation system and access control method thereof
JP2013182320A (en) * 2012-02-29 2013-09-12 Mitsubishi Electric Corp Information processor, information processing method, and program
WO2014016977A1 (en) * 2012-07-27 2014-01-30 株式会社日立システムズ SaaS PAYMENT PROCESSING SYSTEM, SaaS USAGE FEE PAYMENT PROCESSING METHOD, AND PROGRAM
KR20150119108A (en) * 2013-02-13 2015-10-23 페이스북, 인크. Hive table links
WO2016194069A1 (en) * 2015-05-29 2016-12-08 株式会社日立システムズ Evidence providing system and evidence providing method
JP2021086403A (en) * 2019-11-28 2021-06-03 株式会社伊予エンジニアリング Re-engineering support system utilizing system existing in company
JP7445246B1 (en) 2023-07-24 2024-03-07 株式会社パトスロゴス Data processing system, data processing method, and data processing program

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033449A (en) * 2011-06-29 2013-02-14 Canon Inc Server system, control method and program
JP2013080299A (en) * 2011-09-30 2013-05-02 Fujitsu Social Science Laboratory Ltd Information process system, information processing method and information processing program
JP2013114614A (en) * 2011-11-30 2013-06-10 Nippon Telegr & Teleph Corp <Ntt> Information circulation system and access control method thereof
JP2013182320A (en) * 2012-02-29 2013-09-12 Mitsubishi Electric Corp Information processor, information processing method, and program
CN104508698A (en) * 2012-07-27 2015-04-08 株式会社日立系统 SaaS payment processing system, SaaS usage fee payment processing method, and program
JP2014026537A (en) * 2012-07-27 2014-02-06 Hitachi Systems Ltd Saas (software as service) settlement system, settlement method of saas usage faire and program
WO2014016977A1 (en) * 2012-07-27 2014-01-30 株式会社日立システムズ SaaS PAYMENT PROCESSING SYSTEM, SaaS USAGE FEE PAYMENT PROCESSING METHOD, AND PROGRAM
KR20150119108A (en) * 2013-02-13 2015-10-23 페이스북, 인크. Hive table links
JP2016511899A (en) * 2013-02-13 2016-04-21 フェイスブック,インク. Hive table link
KR101908553B1 (en) * 2013-02-13 2018-10-16 페이스북, 인크. Hive table links
US10339157B2 (en) 2013-02-13 2019-07-02 Facebook, Inc. Hive table links
WO2016194069A1 (en) * 2015-05-29 2016-12-08 株式会社日立システムズ Evidence providing system and evidence providing method
JP2021086403A (en) * 2019-11-28 2021-06-03 株式会社伊予エンジニアリング Re-engineering support system utilizing system existing in company
JP7445246B1 (en) 2023-07-24 2024-03-07 株式会社パトスロゴス Data processing system, data processing method, and data processing program

Similar Documents

Publication Publication Date Title
JP2009146350A (en) Service management device, data access controller, and data retrieval method
US9158843B1 (en) Addressing mechanism for data at world wide scale
US8555018B1 (en) Techniques for storing data
CN101410836B (en) A method for providing access to data stored in a database to an application
US9875272B1 (en) Method and system for designing a database system for high event rate, while maintaining predictable query performance
WO2011033734A1 (en) File search system and program
CN105144159A (en) HIVE table links
US9251164B2 (en) System, method and computer program product for using a database to access content stored outside of the database
US20040122946A1 (en) Delegation of administrative operations in user enrollment tasks
US10963842B1 (en) Communication platform for email management
US20070256083A1 (en) Systems and methods of accessing information across distributed computing components
JPH1097544A (en) Database processing system
US7020564B2 (en) Logical volume administration method, the service using the method and the memory medium storing the service
US10802881B2 (en) Methods and devices for enabling distributed computers to communicate more effectively in an enterprise requiring flexible approval notifications
US8949432B2 (en) Identity management
US20220343198A1 (en) Systems and methods for determining data criticality based on causal evaluation
US11429311B1 (en) Method and system for managing requests in a distributed system
CN112348664B (en) Credit credit management system supporting automatic early warning
US20220156245A1 (en) System and method for managing custom fields
JP2010134651A (en) Merchandise id server device, and method for controlling the same
US8726235B2 (en) Telecom business-oriented taxonomy for reusable services
US20040172585A1 (en) System and method for automatically starting a document on a workflow process
JP5315456B2 (en) ELECTRONIC DISTRIBUTION METHOD, ELECTRONIC DISTRIBUTION DEVICE, AND ELECTRONIC DISTRIBUTION PROGRAM
JP2009110241A (en) Electronic file management device
US20160162814A1 (en) Comparative peer analysis for business intelligence