JP2015524592A - 企業データシステム内のテナントのためのセキュリティおよびデータの隔離 - Google Patents

企業データシステム内のテナントのためのセキュリティおよびデータの隔離 Download PDF

Info

Publication number
JP2015524592A
JP2015524592A JP2015525498A JP2015525498A JP2015524592A JP 2015524592 A JP2015524592 A JP 2015524592A JP 2015525498 A JP2015525498 A JP 2015525498A JP 2015525498 A JP2015525498 A JP 2015525498A JP 2015524592 A JP2015524592 A JP 2015524592A
Authority
JP
Japan
Prior art keywords
data
tenant
manipulation request
computer
server layer
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.)
Granted
Application number
JP2015525498A
Other languages
English (en)
Other versions
JP2015524592A5 (ja
JP6633913B2 (ja
Inventor
ジョリー,ビジェータ
ナラ,アマール
ジー. ナトゥ,マダン
ジー. ナトゥ,マダン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2015524592A publication Critical patent/JP2015524592A/ja
Publication of JP2015524592A5 publication Critical patent/JP2015524592A5/ja
Application granted granted Critical
Publication of JP6633913B2 publication Critical patent/JP6633913B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

企業データシステム内のテナントのためのセキュリティおよびデータの隔離に関する。マルチテナントホスティングシステムが、テナントから企業データおよびテナント識別データを受信する。複数の異なるテナントからのデータが、単一のデータベースに記憶されるが、各テナントに対応するデータは、データベース内で、区分識別子によってデータをマーケティングすることによって区分けされる。したがって、ホスティングシステムは、個々のテナントがそれら自体のデータにアクセスできることのみ可能にする。

Description

企業データシステム内のテナントのためのセキュリティおよびデータの隔離に関する。
[0001] 企業組織は、多くの異なる種類の企業コンピュータプログラムまたはアプリケーションを使用することが多い。一部のそのようなプログラムは、企業資源計画(ERP)システム、顧客資源管理(CRM: customer resource management)システム、基幹業務(LOB: line of business)アプリケーション、および多くの他の企業に関連するプログラムを含む。
[0002] さらに、多くの組織は、それらの組織の企業プログラムにおいて役割(role)に基づくセキュリティを実施する。すなわち、ユーザは、会社において特定の役割を果たす可能性があり、その役割を負うユーザは、特定のデータにアクセスすることができるが、他のデータにはアクセスすることができない可能性がある。例えば、人材管理の役割を負っているユーザは、さまざまな従業員の給与および個人ファイルにアクセスすることができる可能性があるが、販売データまたは他の種類の通常の企業情報にはアクセスすることができない可能性がある。対照的に、営業部長の役割を負っているユーザは、さまざまな製品ラインにわたって会社の複数のレベルの販売データにアクセスすることができる可能性があるが、他の従業員のための個人ファイルおよび給与情報にはアクセスすることができない可能性がある。
[0003] 加えて、多くの会社は、それらの会社の企業に関連するデータの多くが極秘または企業独自のもの(proprietary)であるとみなす。例えば、多くの会社は、販売記録、セールスリード、個人ファイル情報、および他の企業情報のホスト(host)全体が極秘であり、その会社の企業独自のものであるとみなす。会社は、競合他社などの他の会社または関連会社さえもそのデータにアクセスすることができることを望まない。
[0004] この状況では、会社が特定の方法で互いに関連するようになることができるが、それらの会社が互いに情報を共有することをやはり望まない場合が生じる可能性がある。例えば、会社が、独立した企業(または子会社)を買収することによって大きくなる持ち株会社である可能性がある。子会社は、それらの子会社自体の管理および運営の大部分を握っており、それぞれの子会社のためのデータおよびプロセスは、他の子会社との間で共有されるべきでない。
[0005] 一部の現在の解決策は、子会社のそれぞれがその子会社自体の企業データを記憶するためのその子会社自体の別個のデータベースを持つことを必要とする。他の現在の解決策においては、それぞれの別個の子会社に、その子会社自体の別個のデータベース製品が与えられる。子会社のそれぞれのために与えられた企業データプログラムのまったく別々の設備が、存在する。例えば、それぞれの子会社は、ERPシステムをその子会社自体で別々に設置される可能性がある。
[0006] しかし、子会社が、それらの子会社の情報技術(IT)リソースをプールし、単一の企業ソフトウェアアプリケーションを利用することを望むこともあり得る。すなわち、子会社(または子会社のサブセット)は、単一の企業アプリケーションのインストールのコストを分担したいと望む可能性があるが、それでもなお、自身の企業データを、同じ企業アプリケーションを共有している他の子会社から完全に分け、隔離したままにしておきたいと望む。同様に、子会社のそれぞれは、その子会社自体の役割に基づくセキュリティ規則または他のセキュリティ規則を実施したいと望む可能性がある。
[0007] 以上の考察は、全般的な背景情報に関して与えられたものに過ぎず、特許請求の範囲の決定を幇助するものとして使用されることを意図したものではない。
[0008] マルチテナントホスティングシステムが、テナントから企業データおよびテナント識別データを受信する。複数の異なるテナントからのデータが、単一のデータベースに記憶されるが、各テナントに対応するデータは、データベース内で、区分識別子でデータをマークすることによって区分けされる。したがって、ホスティングシステムは、個々のテナントがそれら自体のデータにアクセスできることのみ可能にする。
[0009] この「課題を解決するための手段」は、「発明を実施するための形態」において以下でさらに説明される概念の選択を簡略化された形態で導入するために与えられる。この「課題を解決するための手段」は、特許請求の対象の重要な特徴または必須の特徴を識別するように意図されておらず、特許請求の範囲の決定を幇助するものとして使用されることを意図したものでもない。特許請求の対象は、「背景技術」で述べられたいずれかのまたはすべての欠点を解決する実装に限定されない。
[0010]企業データシステムの一実施形態のブロック図である。 [0011]テナントを設定する際の図1に示されたシステムの全体的な動作の一実施形態を示す流れ図である。 [0012]例示的なユーザインターフェース表示を示す図である。 例示的なユーザインターフェース表示を示す図である。 例示的なユーザインターフェース表示を示す図である。 例示的なユーザインターフェース表示を示す図である。 例示的なユーザインターフェース表示を示す図である。 [0013]区分けされたデータのためのデータ構造の一実施形態を示す図である。 [0014]区分けされたデータをテーブルで示す例示的なユーザインターフェース表示を示す図である。 区分けされたデータをテーブルで示す例示的なユーザインターフェース表示を示す図である。 区分けされたデータをテーブルで示す例示的なユーザインターフェース表示を示す図である。 [0015]企業データへのマルチテナントアクセスをホストする際の図1に示されたシステムの全体的な動作の一実施形態を示す流れ図である。 [0016]データアクセスおよびキャッシュ動作を行う際の図1に示されたシステムの動作の一実施形態を示す流れ図である。 [0017]テナントのサブセットがデータを共有するようにデータストアが区分けされるアーキテクチャを示す図である。 [0018]さまざまなアーキテクチャにおける図1のシステムの一実施形態を示すブロック図である。 [0019]モバイルデバイスのさまざまな実施形態を示す図である。 モバイルデバイスのさまざまな実施形態を示す図である。 モバイルデバイスのさまざまな実施形態を示す図である。 モバイルデバイスのさまざまな実施形態を示す図である。 [0020]1つの例示的なコンピューティング環境のブロック図である。
[0021] 図1は、企業データシステム100の一実施形態のブロック図を示す。企業データシステム100は、テナント102および104を示し、テナント102および104のそれぞれは、複数のクライアント(またはユーザ)106、108および110、112をそれぞれ有する。テナント102および104は、サーバレイヤ114にアクセスすることができ、サーバレイヤ114自体は、複数のサーバ116、118、および120を有する。図1に示されるように、テナント102および104は、ネットワーク122を通じてか、または矢印124および126にそれぞれ示されるように直接かのどちらかでサーバレイヤ114にアクセスすることができる。サーバレイヤ114は、データストア128に記憶されたデータにアクセスする(テナント102および104からの)要求を処理する。さらに、サーバレイヤ114は、キャッシュ130を用いてキャッシュを実装する。
[0022] 一実施形態において、システム100は、企業データシステム100で新しいテナントを設定するために管理者によって使用され得る管理者構成要素132も含む。新しいテナントのそれぞれは、(同じERPもしくはCRMのインストールまたは他の企業アプリケーションのインストールなどの)同じシステムを使用する。加えて、一実施形態においては、サーバレイヤ114が、テナント102および104のそれぞれのためのセキュリティ規則にアクセスすることができる。セキュリティ規則は、ブロック134によって示される。したがって、サーバレイヤ114は、それぞれのテナント102および104についてセキュリティを実施することができる。一実施形態において、セキュリティ規則は、クライアントがテナント102または104にログインするときの認証手順を定義し、さらに、テナント毎の役割に基づくセキュリティを定義する。言うまでもなく、他の種類のセキュリティ規則またはセキュリティ手順も、実施され得る。
[0023] 図1は、少なくともそれぞれのテナント102および104がプロセッサ136および138を有することを示す。当然ながら、各クライアントがそのクライアント自体のプロセッサをやはり有する可能性があり、簡単にするために各テナントについて1つのプロセッサが示されていることに留意されたい。図1は、各サーバ116、118、および120がそのサーバ自体のプロセッサ140、142、および144を有する可能性があることも示す。サーバレイヤ114がサーバのそれぞれによってアクセスされる単一のプロセッサを有する可能性があるが、各サーバのための個々のプロセッサが例示のために示されることにも留意されたい。一実施形態において、プロセッサのそれぞれは、メモリおよびタイミング回路(図示せず)に関連するコンピュータプロセッサを含む。プロセッサは、システム100の機能部分を形成し、システム100の他の構成要素によって作動され、システム100の他の構成要素の機能を助ける。
[0024] データストア128は、単一のデータストアとして示されているが、複数の異なるデータストアとして実装することもでき、それらのデータストアはサーバレイヤ114に対してローカルに位置するか、またはサーバレイヤ114の遠隔に位置することができることにも、留意されたい。データストア128は、例示的に、システム100のすべてのテナントによって使用される単一のデータベースインストールのためのストレージである。同様に、キャッシュ130は、単一のメモリ内キャッシュとして示されているが、複数の異なるメモリ内に実装されるなど、他の方法で実装される可能性もある。
[0025] さらに、図1は、一実施形態において、各クライアント106〜112がそのクライアント自体の構成データ146、148、150、および152をそれぞれ有することを示す。構成データは、例示的に、各クライアントの役割と、さらに、各クライアントが属する特定のテナントとを識別する。テナントはそのテナントの複数のクライアントのための構成データの共通の組を有する可能性もあるが、単に例として、各クライアントについて別々の構成データ(または構成ファイル)が示されていることに留意されたい。
[0026] システム100の動作の詳細な説明が残りの図に関連して以下で与えられるが、残りの説明の理解を深めるために、ここで、概要が与えられる。システム100は、テナント102および104が、単一のERPアプリケーション(または他の企業に関連するアプリケーション)を使用し、共通データベース128にそれらのテナントのデータのすべてを記憶することによって情報技術リソースをプールしたいが、それでもなお、それらのテナント自体の個人データが他のテナントによって閲覧またはアクセスされ得ないようにそれらの個人データの区分けを維持し続けたいと望むシナリオを例示的に示す。例えば、一例において、テナント102および104は、両方とも、(親持ち株会社の子会社などの)所有者が同じ企業である。その場合、各テナント102および104は、例示的に、そのテナント自体の管理および運営を握っており、そのテナントのデータを他のテナントから安全に区分けしておきたいと望む。その場合、クライアント106〜108は、テナント102によって使用される(例えば、ERPアプリケーションなどの)企業に関連するアプリケーションのユーザに対応し、クライアント110および112は、テナント104によって使用される同じアプリケーションのユーザに対応する。テナント102および104は、両方とも、企業に関連するアプリケーションの同じインストールを使用する。
[0027] 新しい組織が持ち株会社に追加されるとき(すなわち、新しいテナントがシステム100に追加されるとき)、管理者133は、例示的に、管理者構成要素132を通じてサーバレイヤ114にアクセスする。構成要素132は、例示的に、管理者133に提供されるユーザインターフェース表示135を生成するユーザインターフェース構成要素を有する。ユーザインターフェース表示135は、例示的に、サーバレイヤ114によって実装され、システムのさまざまなテナントのさまざまなクライアントによって使用される企業に関連するアプリケーションを操作するためのユーザ入力を管理者133が与えることを可能にするユーザ入力機構を含む。ユーザ入力機構は、(マウスまたはトラックボールなどの)ポイントアンドクリックデバイス、キーボード(仮想またはハードウェア)、ディスプレイスクリーンがタッチ感知式スクリーンである場合のタッチジェスチャ、音声入力などからのユーザ入力を受け取ることができる。図2Aは、管理者が新しいテナントを設定することを可能にするユーザインターフェース表示179の一実施形態を示す。管理者は、ユーザ入力機構181および183を使用して新しいテナントを識別し、設定(または生成)する。
[0028] 新しいテナントを設定するために、管理者133は、例示的に、新しいテナントのクライアントのうちの1つをセキュリティ管理者として識別する。例えば、テナント102が追加されるべき新しいテナントであると仮定する。管理者133は、クライアント106を、テナント102のセキュリティ管理者であるものとして識別する可能性がある。
[0029] 図2Bは、ユーザインターフェース表示125の別の実施形態を示す。表示125は、新しいテナントを生成するために管理者に対して表示され得る。表示125は、区分キー列127および名前列129を含む1組の列を含む。ユーザは、区分キー列127のセルを選択し、区分キーを入力し、列129の隣接するセルに対応する区分名を入力することができる。このようにして、管理者は、さまざまなクライアントのためのデータを区分けするためにデータストア128およびキャッシュ130で使用され得るテナント(すなわち、区分)を設定することができる。区分キー列127が3つの区分キー、「初期」、「P1」、および「P2」を含むことが、図2Bで見られ得る。対応する名前は、それぞれ、「初期パーティション」、「P1」、および「P2」である。
[0030] 図2Cは、管理者133が新しいテナントのクライアントをセキュリティ管理者として指定することを可能にするユーザインターフェース表示185の一実施形態である。管理者は、ユーザ入力機構187を用いてこれを行うことができる。
[0031] これは、クライアント106がログインし、テナント102を用いてデータストア128の情報にアクセスする(クライアント108などの)他のユーザを設定することができるようにクライアント106にセキュリティ構成要素を配信する。セキュリティ管理者(ここではクライアント106)は、セキュリティ規則と、テナント102の各ユーザの役割とを識別することもできる。図2Dは、セキュリティ管理者(例えば、ここではクライアント106)がこれを行うことを可能にするユーザインターフェース表示189の一実施形態を示す。テナントのユーザまたはクライアントは、ユーザ入力機構191を用いて設定される可能性があり、セキュリティ規則は、入力機構193を用いて設定される可能性がある。セキュリティ規則の役割およびユーザが、図1の134で示された各テナントのためのセキュリティ規則として記憶される。クライアント108に対応する役割情報と、クライアント108がテナント102に属するという事実とが、そのクライアント108に対応する構成ファイル(または構成データ)148に記憶される。構成ファイルは、クライアントに自動的に配信されるか、またはセキュリティ管理者が図2Dの機構195などのユーザ入力機構を作動させるときに送信される可能性がある。
[0032] 図2Eは、管理者が所与のテナントでユーザを設定するために使用することができるユーザインターフェース表示131の別の実施形態を示す。管理者が1組のテキストボックスおよびチェックボックスにユーザについてのさまざまな情報を入力することを可能にするユーザタブ133を管理者が選択したことが、見られ得る。例えば、管理者は、テキストボックス135にユーザIDを入力し、ボックス137にユーザ名を入力し、ボックス139にネットワークドメインを入力し、ボックス141に別名(alias)を入力することができる。ユーザは、例示的に、ドロップダウンメニュー143を用いてアカウントの種類を定義し、別のドロップダウンメニュー145を用いてデフォルトの会社を選択することもできる。そのとき、管理者は、チェックボックス147にチェックをすることによってこのユーザを有効にすることができ、ユーザは、ボックス149にチェックをすることによってこのユーザをデフォルトの区分に割り振ることができる。
[0033] 管理者は、例示的に、ボックス151に情報を入力することによってこのユーザのためのプロファイルを確立することができる。管理者は、ボタン153を作動させることによってこのユーザに1つまたは複数の役割を割り振ることもできる。これは、例示的に、管理者によってこのユーザに対して選択され得るかまたは他の方法で割り振られ得る1組の役割155を提示する。同様に、ドロップダウンボックス157を作動させることによって、管理者は、選択された役割の権限を見直すことができ、ドロップダウンボックス159を作動させることによって、管理者は、選択された役割に割り振られた他のユーザを見直すことができる。当然ながら、図2Eに示されたユーザインターフェース表示131は、例示的であるに過ぎず、ユーザを識別し、役割を割り振る他の方法も、使用され得る。
[0034] クライアント108は、データストア128の情報にアクセスするか、データストア128に情報を記憶したいと望むとき、まず、テナント102にログインする。構成データ148は、サーバレイヤ114に、クライアント108の役割と、クライアント108がどのテナントに属するかとを示す。したがって、例えば、クライアント108がデータストア128に記憶されるべき情報を提供するとき、サーバレイヤ114は、そのデータをテナントデータ154としてデータストア128に記憶する。さらに、サーバレイヤ114は、例示的に、テナントデータ154をテナント102から来たものとして識別する。したがって、サーバレイヤ114は、テナントデータ154、156、および158のすべてを所与のテナントに固有であるものとして識別する。クライアントがその後ログインし、データストア128のデータにアクセスすることを求めるとき、サーバレイヤ114は、その特定のクライアントのアクセスを、クライアントがログインで使ったテナント102または104に対応するデータ154、156、または158だけに制限する。例えば、クライアント110が後でクライアント104を通じてログインする場合、サーバレイヤ114は、構成データ150によって、クライアント110が所与の役割を有し、テナント104を通じてログインしたことを識別する。したがって、サーバレイヤ114は、テナント104におけるクライアント110の役割を考慮して、クライアント110のアクセスを、テナント104に対応するデータだけに制限する。
[0035] 言うまでもなく、システム100が、それぞれの個々のテナント102〜104がそのテナント自体の別個のテナントデータ154〜156を有することを示すことにも留意されたい。しかし、テナント102〜104のサブセットは、テナント102〜104の別のサブセットとは区分されたそのサブセットのデータを欲する可能性があることがあり得る。その場合、それぞれのサブセットは、そのサブセットのデータをサーバレイヤ114によって区分けされており、したがって、そのデータは、そのサブセットの任意のテナントによってアクセスされ得る。しかし、そのデータは、そのサブセット外のいかなるテナントによってもアクセスされ得ない。データは、例示のみを目的として、図1においては(サブセット毎ではなく)テナント毎に区分けされているところが示されている。
[0036] サーバレイヤ114がデータストア128と複数回やりとりをすることは望ましくない可能性があるので、サーバレイヤ114は、キャッシュ130を実装する。メモリ内キャッシュ130においてさえもデータの隔離を維持するために、サーバレイヤ114は、システム100の各テナントについてキャッシュされたデータの別個のコピーを設ける。したがって、例として、キャッシュされたテナントデータ160は、テナント102のためのキャッシュされたメモリのコピーである。キャッシュされたテナントデータ162は、テナント104のためのキャッシュされたデータのコピーであり、キャッシュされたテナントデータ164は、システム100の別のテナントのためのキャッシュされたデータのコピーである。サーバレイヤ114は、システム100のそれぞれの個々のテナント102〜104に対応するキャッシュされたデータ162〜164の別個のコピーを保有する。
[0037] 一部の共有されたデータ166は、テナント102〜104のすべてに共通である可能性があることがあり得る。例えば、共有されたデータ166は、テナントのそれぞれの親持ち株会社についての全般的な情報を含む可能性がある。その場合、サーバレイヤ114は、共有されたデータ166を記憶し、したがって、その共有されたデータは、任意のテナント(またはテナントの任意のサブセット)によってアクセスされ得る。共有されたデータ166は任意選択であるので破線で示されており、別の実施形態においては、いかなるデータもテナントの間で共有されない。
[0038] システム100の動作のより詳細な考察が、以降で与えられる。図2〜11が参照される。
[0039] 図2は、管理者133に新しいテナントを設定させる際のシステム100の動作の一実施形態を示す流れ図である。図2は、管理者133が、まずシステムにログインし、管理者構成要素132が、管理者133が新しいテナントまたは区分を生成することを可能にするユーザ入力機構181、183、127、および129を有する(図2Aの表示179または図2Bの表示125などの)ユーザインターフェース表示を生成する。これは、図2のブロック170によって示される。そのとき、管理者構成要素132は、新しいテナントを生成する管理者133から入力を受け取る。
[0040] 新しいテナントが生成されると、管理者構成要素132は、新しいテナントのための(例えば、テナント102のための)セキュリティ管理者として(クライアント106などの)別のユーザを割り振る管理者133からの入力を受け取るユーザ入力機構187を有する(図2Cの表示185などの)ユーザインターフェース表示を表示する。クライアント106をテナント102のためのセキュリティ管理者として割り振ることは、図2のブロック174によって示される。これは、サーバレイヤ114に、クライアント106が(ERPアプリケーションなどの)企業データシステムにログインし、新しいテナント102のユーザを(例えば、図2Dに示された表示189または図2Eの表示131を用いて)設定することを可能にさせる。これは、図2のブロック176によって示される。例えば、これは、セキュリティ管理者(例えば、クライアント106)がテナント102のユーザのそれぞれについて構成ファイル146〜148をロードすることを可能にする。構成ファイルをロードすることは、図2のブロック178によって示される。次いで、セキュリティ管理者は、テナント102のクライアントのそれぞれに役割を割り振ることもできる。これは、ブロック180によって示される。したがって、セキュリティ管理者は、さまざまな役割に基づくセキュリティ規則、認証規則、または他の種類のセキュリティ規則を企業データシステムに入力することができ、それらの規則は、サーバレイヤ114によって134でアクセスされ得る。当然ながら、セキュリティ管理者は、他のタスクも実行する可能性があり、これは、図2のブロック182によって示される。
[0041] 新しいテナント102が企業データシステムで設定されると、テナント102は、データストア128に企業データを記憶したいと望む可能性がある。それが行われる場合、データ転送を開始する特定のクライアント106〜108の構成データ146〜148も、データストア128にデータを記憶する要求に含められる。
[0042] 次いで、サーバレイヤ114は、新しいテナント102のデータをテナント102に属するテナントデータ154として識別することによってデータストア128に実装されたデータベースのそのデータを区分けする。このようにしてデータを区分けすることは、図2のブロック184によって示される。サーバレイヤ114は、さまざまな異なる方法でこれを行う可能性がある。例えば、サーバレイヤ114は、テナントデータ154の各テーブルを特定のテナントに属するものとして識別する区分識別子をそのテーブルに設ける可能性がある。テーブル毎にデータを区分けすることは、図2のブロック186によって示される。加えて、サーバレイヤ114は、各テーブルのそれぞれの個々の行のデータを区分けする可能性がある。すなわち、サーバレイヤは、テナント102に属するテーブルにおいて、テナント102に属するデータのあらゆる行を、その行のデータがテナント102に属することを区分識別子が示すようにしてストライピング(stripe)する可能性がある。行毎の区分けは、ブロック188によって示される。サーバレイヤ114は、他の方法で区分けする可能性もある。例えば、サーバレイヤ114は、テナント102によってのみアクセスされ得るスキーマに応じてテナントデータ154のテーブルのデータを構成する可能性がある。スキーマに基づく方法でデータを区分けすることは、ブロック190によって示される。サーバレイヤ114は、他の方法でデータを区分けする可能性もあり、これは、ブロック192によって示される。
[0043] 図3は、テナントデータ154および156がテナント102および104のためにデータベース128にどのように記憶されるかの例示的な例である1組のテーブル194および196の一実施形態を示す。図3の実施形態において、テーブル194は、テーブルレベル、行レベルである可能性がある区分識別子を有するか、またはスキーマに基づく可能性がある。区分識別子198は、データ200をテナント102に属するものと識別する。同様に、テーブル196は、データ204をテナント104に属するものと識別する区分識別子202を有する。データを区分けする他の方法も、本明細書においてやはり想定される。
[0044] 図3A〜3Cは、例として、テーブル内の区分けされたデータを示すユーザインターフェース表示を示す。図3Aは、顧客テーブルに関して、属性タブ213が選択されるときに属性を表示するユーザインターフェース表示211を示す。さまざまな属性が示されており、四角215で縁取られた属性は、区分識別子に基づくのみでなく、会社毎でもデータが区分けされることを示す。したがって、データにアクセスするテナントは、関連する区分にのみ属すればよいのではなく、関連する会社にも属さなければならない。
[0045] 図3Bは、異なるテーブルのための属性を示すユーザインターフェース表示217を示す。ここで、四角215は、データが区分識別子のみに基づいて区分けされることを示す。すなわち、関連する区分に割り振られた任意のテナントが、示されたテーブルにアクセスし得る。したがって、(例えば)会社のサブセットが、同じデータにアクセスする可能性がある。
[0046] 図3Cは、さらに別のテーブルのための属性を示すユーザインターフェース表示219を示す。ユーザインターフェース表示219において四角221内に示されたテーブルの属性は、テーブルがシステムデータを含むことを示す。テーブルが会社毎でも、区分毎でも区分けされないことを示し、テーブルがフレームワークテーブルグループ(table group)に属することを示すことによって、四角223内の属性は、テーブルがシステムで共有される共有されたデータを含むことを示す。
[0047] 図4は、テナント102がデータストア128に対するデータ操作要求を実行することを可能にする際のシステム100の動作の一実施形態を示す。一実施形態において、クライアント108は、テナント102にログインする。これは、図4のブロック210によって示される。クライアント108は、テナント102のセキュリティ管理者がクライアント108を設定するときに確立された認証手順を経ることによってこれを行う。認証は、図4のブロック212によって示される。そのとき、サーバレイヤ114は、クライアント108が属する特定のテナントを決定する。これは、多種多様な異なる方法で行われ得る。例えば、サーバレイヤ114は、クライアント108が属するテナントを確認することをクライアント108に求めるユーザインターフェース表示を提供する可能性がある。同様に、サーバレイヤ114は、クライアント108が属する特定のテナントを識別するためにクライアント108が書き込むアプリケーションプログラミングインターフェースを表示する可能性がある。これは、図4のブロック214によって示される。言うまでもなく、クライアント108は、さらに、サーバレイヤ114に構成データ148を自動的に提供する可能性があり、構成データは、例示的に、テナント102のためのクライアント108の役割のみでなく、クライアント108がシステムへのログインに使ったテナント102の識別情報も含む。これは、図4のブロック216によって示される。サーバレイヤ114は、クライアント108が属する特定のテナント102を識別する他の方法を使用する可能性もあり、これは、図4のブロック218によって示される。
[0048] テナントを通じてログインすると、クライアント108は、データ操作要求を送り、構成データ148が、その要求と一緒に送信される。これは、図4のブロック220によって示される。データ操作要求は、データベース128のデータを操作するか、またはデータベース128にデータを追加する任意の種類の要求である可能性がある。例えば、データ操作要求は、図4のブロック222によって示されるように、データベース128に記憶されるべき新しいデータを生成する可能性がある。要求は、ブロック224によって示されるように、データストア128からデータを削除する要求である可能性がある。要求は、データストア128のデータを更新するデータ修正要求である可能性がある。これは、ブロック226によって示される。要求は、ブロック228によって示されるように、単純に、データストア128のデータを取り出し、読み取る要求である可能性もある。もちろん、データ操作要求は、任意の他の種類の要求である可能性もあり、これは、ブロック230によって示される。
[0049] 次いで、サーバレイヤ114は、要求とともに送られた構成データを読み取って、クライアント108が属する特定のテナント102を判定し、さらに、(例えば)テナント102でクライアント108が担う役割を判定する。次いで、サーバレイヤ114は、クライアント108のストア128のデータへのアクセスを、構成データ148で識別される特定のテナント102のためのデータに制限することによって、データ操作要求を処理する。また、サーバレイヤ114は、例示的に、テナント102のためのセキュリティ規則134にアクセスしてクライアント108の役割を識別し、それらの規則にしたがってセキュリティを実施する。対応するテナントデータのみを用いて要求を処理し、そのテナントのためのセキュリティを実施することは、図4のブロック232によって示される。
[0050] システム100の動作をより詳細に示すために、図5は、データストア128からデータを取得するためにクライアント108によって送られる特定のデータアクセス要求を示す流れ図である。やはり、クライアント108は、例示的に、認証または他の所望のログイン手順を用いてテナント102にログインする。これは、図5のブロック240によって示される。次いで、クライアント108は、データストア128のテナントデータのクエリを送る。これは、図5のブロック242によって示される。クエリは、制限されない場合、ストア128の他のテナントのためのテナントデータを包含する可能性がある。例えば、クエリは、11月に生成されたすべてのセールスリードを探している場合、データベース128のすべてのテナントのためのテナントデータを包含する。クライアント108は、サーバレイヤ114にクエリと一緒に構成データ148を送信する。これは、図5のブロック244によって示される。サーバレイヤ114は、ブロック246によって示されるように、クエリおよび対応する構成データを受信する。サーバレイヤ114は、構成データ148を調べ、クエリがどのテナントから生じたか、およびテナントでクライアント108が担う役割を判定する。次いで、サーバレイヤ114は、テナント102に属し、テナント102のための役割に基づくセキュリティ(またはセキュリティ規則134によって定義された他のセキュリティ)を実施するデータのみを要求するために、構成データに基づいてクエリを修正する。これは、図5のブロック148によって示される。サーバレイヤ114は、クライアント108が属するテナント(この場合、クライアント102)に属するデータのみを包含するようにデータ要求を効果的に制限する。
[0051] 一実施形態において、サーバレイヤ114は、そのサーバレイヤ114がキャッシュ130によりデータ要求を処理することができるかどうかを判定する。そのようにする際に、サーバレイヤ114は、まず、この特定のテナント102のためのキャッシュされたテナントデータ160のコピーが実際に存在するかどうかを判定する。これは、図5のブロック250によって示される。存在しない場合、サーバレイヤ114は、ブロック252によって示されるように、テナント102のためのキャッシュのコピーを生成し、次いで、データストア128にアクセスして要求されたデータを取得する。これは、ブロック254によって示される。
[0052] しかし、サーバレイヤ114は、ブロック250において、テナント102のためのキャッシュのコピーが存在すると判定する場合、要求されたデータに関してそのキャッシュされたテナントデータを調べる。これは、図5のブロック256によって示される。サーバレイヤ114は、キャッシュ130により要求を処理することができる場合、そのように処理する。しかし、サーバレイヤ114は、キャッシュ130により要求を処理することができない場合、データベース128のデータにやはりアクセスしなくてはならない。要求がキャッシュ130によって処理され得るかどうかを判定することは、図5のブロック258によって示される。
[0053] どちらの場合も、サーバレイヤ114がキャッシュ130からデータを取得したか、またはデータストア128からデータを取得したかに関わらず、クエリに応答するデータが、テナント102のクライアント108に返される。これは、図5のブロック260によって示される。次いで、サーバレイヤ114は、任意の他の所望のキャッシュ動作を行う。例えば、(テナントのキャッシュのコピーにない)新しいデータがデータストア128から取り出された場合、サーバレイヤ114は、テナント102のためのキャッシュされたテナントデータにそのデータを追加する。言うまでもなく、サーバレイヤ114は、他の方法でテナントのキャッシュのコピーを更新する可能性もあり、キャッシュ130を維持するためのキャッシュ動作を行うことは、図5のブロック262によって示される。したがって、サーバレイヤ114は、そのサーバ114が(安全で区分された方法で)複数のテナントのためのデータを記憶することができるようにデータベース128を区分するだけでなく、そのサーバレイヤ114が同じことを行うことができるようにキャッシュ130を制御する。キャッシュされたデータのそれぞれのコピーは、所与のテナントに属するものとしてマークされ、他のテナントは、キャッシュされたデータのそのコピーにアクセスすることができない。キャッシュされたデータのそれぞれのコピーは、他のテナントのキャッシュされたデータとは別々に維持され、区分けされる。
[0054] 図5Aは、テナントのサブセットが、まとめて、しかし他のテナントとは別に区分けされる別の実施形態を示す。図5Aは、図1に示されたシステム100と同様であるシステム100を示し、同様の項目は、同様に番号を振られている。しかし、図5Aのシステム100は、テナント102および104が、例示的に、サブセット161としてグループにまとめられる2つの企業であることを示す。したがって、サブセット161のテナントは、互いのデータにアクセスすることができることを望むが、テナント105などのさらなるテナントのためのデータからそのデータを分け、隔離したいと望む。したがって、管理者は、両方のテナント102および104を同じ区分に割り振る。そのようにして、サーバレイヤ114は、両方のテナント102および104がデータ163のすべてにアクセスすることができるようにテナント102および104のために区分けされるそのデータ163を記憶する。しかし、データ163は、テナント105のための区分に割り振られるデータ165とは別々に区分けされる。したがって、テナント105は、データ163にアクセスすることができず、テナント102および104のサブセット161は、データ165にアクセスすることができない。
[0055] 一実施形態において、キャッシュ130は、データストア128と同じようにしてやはり別々に区分けされることに留意されたい。したがって、キャッシュ130は、テナント102および104のサブセット161のためのキャッシュされたデータの別個のコピーと、テナント105のためのキャッシュされたデータの別々に区分けされたコピーとを含む。したがって、キャッシュ130は、データストア128と同じようにして区分けされ、その結果、キャッシュ130に要求される任意のデータも、同じようにして区分けされる。
[0056] 本明細書において考察される企業データは、顧客の記録、注文、供給業者、リード、提案(proposal)、見積もり(quote)、販売データ、製品データ、位置データ、会社の財務およびマーケティングデータおよび戦略、個人データ、賃金または他の人材管理情報などの多種多様な企業データを含み得ることにも留意されたい。他の企業データまたは企業の記録も、使用され得る。
[0057] 図6は、システム100がクラウドコンピューティングアーキテクチャ500内に配置される点を除いて図1に示されたシステム100のブロック図である。クラウドコンピューティングは、サービスを提供するシステムの物理的な位置または構成をエンドユーザが知っていることを必要としない計算、ソフトウェア、データアクセス、およびストレージサービスを提供する。さまざまな実施形態において、クラウドコンピューティングは、適切なプロトコルを用いてインターネットなどの広域ネットワーク上でサービスを提供する。例えば、クラウドコンピューティングプロバイダは、広域ネットワーク上でアプリケーションを提供し、それらのアプリケーションは、ウェブブラウザまたは任意の他のコンピューティング構成要素を通じてアクセスされ得る。システム100のソフトウェアまたは構成要素および対応するデータは、遠隔の位置にあるサーバに記憶される可能性がある。クラウドコンピューティング環境の計算リソースは、遠隔のデータセンターの位置に集約される可能性があり、または分散される可能性がある。クラウドコンピューティングインフラストラクチャは、ユーザのための単一のアクセスポイント(point of access)に見えるとしても、共有されたデータセンターを通じてサービスを提供する可能性がある。したがって、本明細書において説明される構成要素および機能は、クラウドコンピューティングアーキテクチャを用いて遠隔の位置のサービスプロバイダから提供される可能性がある。代替的に、それらの構成要素および機能は、通常のサーバから提供される可能性があり、またはクライアントデバイスに直接もしくは他の方法でインストールされる可能性がある。
[0058] 説明は、パブリッククラウドコンピューティングとプライベートクラウドコンピューティングとの両方を含むように意図される。(パブリックとプライベートとの両方の)クラウドコンピューティングは、リソースの実質的にシームレスなプールを行い、基礎を成すハードウェアインフラストラクチャを管理し、構成する必要性を減らす。
[0059] パブリッククラウドは、供給業者によって管理され、典型的には、同じインフラストラクチャを用いて複数の消費者をサポートする。また、パブリッククラウドは、プライベートクラウドとは対照的に、エンドユーザをハードウェアの管理から解放することができる。プライベートクラウドは、組織自体によって管理される可能性があり、インフラストラクチャは、典型的には、他の組織と共有されない。組織は、インストールおよび修理など、ハードウェアを引き続きある程度維持する。
[0060] 図6に示された実施形態において、一部の項目は、図1に示された項目と同様であり、同様に番号を振られている。図6は、特に、サーバレイヤ114、データストア128、キャッシュ130、およびセキュリティ規則134が(パブリック、プライベート、または一部がパブリックである一方、他がプライベートである組合せである可能性がある)クラウド502内に位置することを示す。したがって、テナント102のクライアント108(またはユーザ103)は、ユーザデバイス504を用いてクラウド502を通じてそれらのシステムにアクセスする。
[0061] さらに、図6は、クラウドアーキテクチャの別の実施形態を示す。図6は、システム100の一部の要素がクラウド502に配置される一方、他の要素はクラウド502に配置されないことも想定されることを示す。例として、データストア128は、クラウド502の外に配置され、クラウド502を通じてアクセスされ得る。別の実施形態においては、セキュリティ規則134も、クラウド502の外にある。それらの要素は、どこに位置するかに関わりなく、ネットワーク(広域ネットワークもしくはローカルエリアネットワークのどちらか)を通じてデバイス504によって直接アクセスされ得るか、サービスによって遠隔の場所でホストされ得るか、またはクラウドを通じてサービスとして提供されるかもしくはクラウドにある接続サービスによってアクセスされ得る。これらのアーキテクチャのすべては、本明細書において想定される。
[0062] システム100またはその一部は多種多様な異なるデバイスに配置することができることにも留意されたい。それらのデバイスの一部は、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはパームトップコンピュータ、セル電話、スマートフォン、マルチメディアプレーヤー、携帯情報端末などの他のモバイルデバイスを含む。
[0063] 図7は、本システム(またはその一部)が展開され得る、ユーザまたはクライアントのハンドヘルドデバイス16として使用され得るハンドヘルドまたはモバイルコンピューティングデバイスの1つの例示的な実施形態の簡略化されたブロック図である。図8〜10は、ハンドヘルドまたはモバイルデバイスの例である。
[0064] 図7は、(テナントもしくはクライアントもしくは他の構成要素などの)システム100の構成要素を実行することができ、またはシステム100とインタラクションし、またはその両方を行うクライアントデバイス16の構成要素の全体的なブロック図を与える。デバイス16においては、ハンドヘルドデバイスが他のコンピューティングデバイスと通信することを可能にし、一部の実施形態では、スキャニングすることによるなどして自動的に情報を受信するためのチャネルを提供する通信リンク13が、設けられる。通信リンク13の例は、赤外線ポートと、シリアル/USBポートと、イーサネット(登録商標)ポートなどのケーブルネットワークポートと、ネットワークへのセルラアクセスを提供するために使用される無線サービスである汎用パケット無線サービス(GPRS)、LTE、HSPA、HSPA+、および他の3Gおよび4G無線プロトコル、1Xrtt、およびショートメッセージサービス、ならびにネットワークへのローカル無線接続を提供する802.11および802.11b(Wi-Fi)プロトコル、およびBluetooth(登録商標)プロトコルを含む1つまたは複数の通信プロトコルによる通信を可能にする無線ネットワークポートとを含む。
[0065] 他の実施形態では、(システム100のERPアプリケーションのような)アプリケーションまたはシステムは、セキュアデジタル(SD)カードインターフェース15に接続される取り外し可能なSDカードに収容される。SDカードインターフェース15および通信リンク13は、メモリ21、および入力/出力(I/O)構成要素23、ならびにクロック25、およびロケーションシステム27にも接続されるバス19を通じて(図1のプロセッサ136または138をやはり具現化する可能性がある)プロセッサ17と通信する。
[0066] I/O構成要素23は、一実施形態において、入力および出力動作を容易にするために設けられる。デバイス16のさまざまな実施形態のためのI/O構成要素23は、ボタン、タッチセンサ、マルチタッチセンサ、光学または映像センサ、音声センサ、タッチスクリーン、近接センサ、マイクロホン、チルトセンサ、および重力スイッチ(gravity switch)などの入力構成要素と、ディスプレイデバイス、スピーカ、および/またはプリンタポートなどの出力構成要素とを含み得る。他のI/O構成要素23も、使用され得る。
[0067] クロック25は、例示的に、時間および日にちを出力するリアルタイムクロック構成要素を含む。さらに、クロック25は、例示的に、プロセッサ17のためのタイミング機能を提供する可能性がある。
[0068] ロケーションシステム27は、例示的に、デバイス16の現在の地理的位置を出力する構成要素を含む。これは、例えば、全地球測位システム(GPS)受信機、LORANシステム、推測航法(dead reckoning)システム、セルラ三角測量システム、または他の測位システムを含み得る。さらに、ロケーションシステム27は、例えば、所望の地図、ナビゲーション経路、および他の地理的機能を生成するマッピングソフトウェアまたはナビゲーションソフトウェアを含み得る。
[0069] メモリ21は、オペレーティングシステム29、ネットワーク設定31、アプリケーション33、アプリケーション構成設定35、データストア37、通信ドライバ39、および通信構成設定41を記憶する。メモリ21は、すべての種類の有形の揮発性および不揮発性コンピュータ可読メモリデバイスを含み得る。メモリ21は、(以下で説明される)コンピュータストレージ媒体も含み得る。メモリ21は、プロセッサ17によって実行されるときに、プロセッサに、コンピュータによって実装される工程または機能を命令にしたがって実行させるコンピュータ可読命令を記憶する。システム100、またはデータストア128もしくはキャッシュ130の項目は、例えば、メモリ21に存在する可能性がある。同様に、デバイス16は、さまざまな企業アプリケーションを実行するか、または企業システム100の一部もしくはすべてを具現化することができるクライアント企業システム24を有する可能性がある。プロセッサ17は、他の構成要素の機能を助けるために他の構成要素によって作動される可能性もある。
[0070] ネットワーク設定31の例は、プロキシ情報、インターネット接続情報、およびマッピングなどの事柄を含む。アプリケーション構成設定35は、アプリケーションを特定の企業またはユーザのために適合させる設定を含む。通信構成設定41は、他のコンピュータとの通信のためのパラメータを与え、GPRSパラメータ、SMSパラメータ、接続ユーザ名、およびパスワードなどの項目を含む。
[0071] アプリケーション33は、オペレーティングシステム29の一部であるか、またはデバイス16の外部からホストされる可能性もあるが、デバイス16に既に記憶されたアプリケーションであるか、または使用中にインストールされるアプリケーションである可能性がある。
[0072] 図8は、デバイス16がタブレットコンピュータ600である一実施形態を示す。図8においては、ディスプレイスクリーン602に表示される(新しいテナントを生成するために使用される)ユーザインターフェース表示179を有するコンピュータ600が、示される。スクリーン602は、タッチスクリーンである可能性があり(したがって、ユーザの指604のタッチジェスチャがアプリケーションとインタラクションするために使用される可能性があり)、またはペンもしくはスタイラスから入力を受け取るペン対応インターフェースである可能性がある。スクリーン602は、オンスクリーン仮想キーボードを使用する可能性もある。言うまでもなく、スクリーン602は、例えば、無線リンクまたはUSBポートなどの好適な取り付け機構によってキーボードまたは他のユーザ入力デバイスに取り付けられる可能性もある。コンピュータ600は、例示的に、音声入力も受け取る可能性がある。
[0073] 図9および10は、使用され得るデバイス16のさらなる例を与えるが、他のデバイス16も使用され得る。図9においては、スマートフォンまたはモバイル電話45が、デバイス16として与えられる。電話45は、電話番号をダイヤルするための1組のキーパッド47、アプリケーションの画像を含む画像、アイコン、ウェブページ、写真、および映像を表示することができるディスプレイ49、ならびにディスプレイ上に示される項目を選択するための制御ボタン51を含む。電話は、汎用パケット無線サービス(GPRS)および1Xrttなどのセルラ電話信号と、ショートメッセージサービス(SMS)信号とを受信するためのアンテナ53を含む。一部の実施形態において、電話45は、セキュアデジタル(SD)カード57を受けるSDカードスロット55も含む。
[0074] 図10のモバイルデバイスは、携帯情報端末(PDA)59または(以降、PDA59と呼ばれる)マルチメディアプレーヤーもしくはタブレットコンピューティングデバイスなどである。PDA59は、スタイラスがスクリーン上に位置づけられるときにスタイラス63(またはユーザの指などの他のポインタ)の位置を感知する電磁誘導式スクリーン61を含む。これは、ユーザがスクリーン上の項目を選択し、強調表示し、移動させ、描画し、書くことを可能にする。PDA59は、ディスプレイ61に触れることなく、ユーザがディスプレイ61に表示されるメニューオプションまたは他の表示オプションをスクロールすることを可能にし、ユーザがアプリケーションを変更するかまたはユーザ入力機能を選択することを可能にするいくつかのユーザ入力キーまたは(ボタン65などの)ボタンも含む。図示されていないが、PDA59は、他のコンピュータとの無線通信を可能にする内蔵アンテナおよび赤外線送信機/受信機と、他のコンピューティングデバイスとのハードウェア接続を可能にする接続ポートとを含み得る。そのようなハードウェア接続は、概して、シリアルまたはUSBポートを通じて他のコンピュータに接続するクレードルによってなされる。したがって、これらの接続は、非ネットワーク接続である。一実施形態において、モバイルデバイス59は、SDカード69を受けるSDカードスロット67も含む。
[0075] デバイス16の他の形態があり得ることに留意されたい。
[0076] 図11は、(例えば)システム100が展開され得るコンピューティング環境の一実施形態である。図11を参照すると、一部の実施形態を実装するための例示的なシステムは、コンピュータ810の形態の多目的コンピューティングデバイスを含む。コンピュータ810の構成要素は、(サーバまたはテナントのためのプロセッサを含み得る)処理ユニット820、システムメモリ830、およびシステムメモリを含むさまざまなシステム構成要素を処理ユニット820に接続するシステムバス821を含み得るがこれらに限定されない。システムバス821は、各種のバスアーキテクチャのいずれかを使用したメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む数種のバス構造のいずれである可能性がある。限定ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ電子装置規格化協会(VESA: Video Electronics Standards Association)ローカルバス、およびMezzanineバスとしても知られる周辺装置相互接続(PCI: Peripheral Component Interconnect)バスを含む。図1に関連して説明されたメモリおよびプログラムは、図11の対応する部分に展開される可能性がある。
[0077] 通常、コンピュータ810は、さまざまなコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ810によってアクセスされる可能性があり、揮発性の媒体と不揮発性の媒体との両方、取り外し可能な媒体および取り外し不可能な媒体を含む任意の利用可能な媒体である可能性がある。限定でなく例として、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含む可能性がある。コンピュータストレージ媒体は、変調されたデータ信号または搬送波とは異なり、変調されたデータ信号または搬送波を含まない。コンピュータストレージ媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実現された揮発性と不揮発性との両方の取り外し可能な媒体および取り外し不可能な媒体を含むハードウェアストレージ媒体を含む。コンピュータストレージ媒体は、RAM、ROM、EEPROM、フラッシュメモリ、もしくは他のメモリ技術、CD−ROM、デジタルバーサタイルディスク(DVD)、もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、または所望の情報を記憶するために使用される可能性があり、コンピュータ810によってアクセスされる可能性がある任意の他の媒体を含むがこれらに限定されない。通常、通信媒体は、搬送機構でコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具現化し、任意の情報配信媒体を含む。用語「変調されたデータ信号」は、その信号の特徴のうちの1つまたは複数を、信号中に情報を符号化するような方法で設定または変更した信号を意味する。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響、RF、赤外線、および他の無線媒体などの無線媒体を含む。上記の媒体のうちの任意のものの組合せも、コンピュータ可読媒体の範囲に含まれるべきである。
[0078] システムメモリ830は、読み出し専用メモリ(ROM)831およびランダムアクセスメモリ(RAM)832などの揮発性および/または不揮発性メモリの形態のコンピュータストレージ媒体を含む。起動中などにコンピュータ810内の要素間で情報を転送することに役立つ基礎的なルーチンを含む基本入出力システム833(BIOS)は、概してROM831に記憶される。通常、RAM832は、処理ユニット820によって直ちにアクセスすることができる、および/または処理ユニット820によって現在動作させられているデータおよび/またはプログラムモジュールを含む。限定ではなく例として、図11は、オペレーティングシステム834、アプリケーションプログラム835、他のプログラムモジュール836、およびプログラムデータ837を示す。
[0079] コンピュータ810は、他の取り外し可能な/取り外し不可能な揮発性/不揮発性コンピュータストレージ媒体をやはり含む可能性がある。単なる例として、図11は、取り外し不可能な不揮発性磁気媒体からの読み出し、または当該媒体に対する書き込みを行うハードディスクドライブ841と、取り外し可能な不揮発性磁気ディスク852からの読み出し、または当該磁気ディスクに対する書き込みを行う磁気ディスクドライブ851と、CD ROMまたは他の光媒体などの取り外し可能な不揮発性光ディスク856からの読み出し、または当該光ディスクに対する書き込みを行う光ディスクドライブ855とを示す。例示的な動作環境で使用され得る他の取り外し可能な/取り外し不可能な揮発性/不揮発性コンピュータストレージ媒体は、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、固体RAM、固体ROMなどを含むがこれらに限定されない。ハードディスクドライブ841は、概してインターフェース840などの取り外し不可能なメモリインターフェースを介してシステムバス821に接続され、磁気ディスクドライブ851および光ディスクドライブ855は、概してインターフェース850などの取り外し可能なメモリインターフェースによってシステムバス821に接続される。
[0080] 上記で考察され、図11に示されたドライブおよびそれらのドライブに関連するコンピュータストレージ媒体は、コンピュータ810のためのコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を行う。例えば、図11において、ハードディスクドライブ841は、オペレーティングシステム844、アプリケーションプログラム845、他のプログラムモジュール846、およびプログラムデータ847を記憶するものとして示されている。これらの構成要素は、オペレーティングシステム834、アプリケーションプログラム835、他のプログラムモジュール836、およびプログラムデータ837と同じであるかまたは異なるかのどちらかである可能性があることに留意されたい。オペレーティングシステム844、アプリケーションプログラム845、他のプログラムモジュール846、およびプログラムデータ847は、少なくともそれらが異なるコピーであることを示すために、ここでは異なる番号を与えられる。
[0081] ユーザは、キーボード862、マイクロホン863、およびマウス、トラックボール、またはタッチパッドなどのポインティングデバイス861などの入力デバイスを通じてコンピュータ810に命令および情報を入力することができる。他の入力デバイス(図示せず)は、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどを含む可能性がある。これらのおよび他の入力デバイスは、システムバスに結合されたユーザ入力インターフェース860を介して処理ユニット820に接続されることが多いが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースおよびバス構造によって接続される可能性がある。視覚ディスプレイ891または他の種類のディスプレイデバイスも、ビデオインターフェース890などのインターフェースを介してシステムバス821に接続される。モニタに加えて、コンピュータは、出力周辺機器インターフェース895を介して接続され得るスピーカ897およびプリンタ896などの他の周辺出力デバイスを含む可能性もある。
[0082] コンピュータ810は、遠隔のコンピュータ880などの1つまたは複数の遠隔のコンピュータへの論理接続を使用したネットワーク化された環境で動作させられる。遠隔のコンピュータ880は、パーソナルコンピュータ、ハンドヘルドデバイス、サーバ、ルータ、ネットワークPC、ピアデバイス、または他のよくあるネットワークノードである可能性があり、概してコンピュータ810に関連して上で説明された要素の多くまたはすべてを含む。図8に示された論理接続は、ローカルエリアネットワーク(LAN)871および広域ネットワーク(WAN)873を含むが、他のネットワークを含む可能性もある。そのようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
[0083] LANネットワーキング環境において使用される場合、コンピュータ810は、ネットワークインターフェースまたはアダプタ870を介してLAN871に接続される。WANネットワーキング環境において使用される場合、概して、コンピュータ810は、モデム872、またはインターネットなどのWAN873を介して通信を確立するための他の手段を含む。内蔵または外付けである可能性があるモデム872は、ユーザ入力インターフェース860または他の適切な機構を介してシステムバス821に接続され得る。ネットワーク化された環境において、コンピュータ810に関連して示されたプログラムモジュール、またはそれらのモジュールの一部は、遠隔のメモリストレージデバイスに記憶され得る。限定ではなく例として、図11は、遠隔のコンピュータ880に存在するものとして遠隔のアプリケーションプログラム885を示す。図示されたネットワーク接続は例示的であり、コンピュータ間で通信リンクを確立する他の手段が使用され得ることが理解されるであろう。
[0084] 対象が構造的特徴および/または方法の動作に特有の言葉で説明されたが、添付の特許請求の範囲で定義された対象は上記で説明された特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、上述の特定の特徴および動作は特許請求の範囲を実施する例示的な形態として開示される。

Claims (10)

  1. 各テナントが複数のユーザを有する組織であるマルチテナントデータストアを処理するコンピュータ実装方法であって、
    所与のテナント以外の少なくとも1つの他のテナントを有する企業データアプリケーションにおいて前記所与のテナントを生成するためのユーザ入力を受け取るユーザ入力機構を有するテナント生成管理者表示を表示することと、
    前記所与のテナントにおいてクライアントをセキュリティ管理者として識別するユーザ入力を受け取るユーザ入力機構を有するセキュリティ管理者指定表示を表示することと、
    要求元のクライアントを前記所与のテナントのものであると識別するテナント識別データを含む前記要求元のクライアントからのデータ操作要求を前記企業データアプリケーションで受信することと、
    前記所与のテナントおよび前記少なくとも1つの他のテナントのためのデータを記憶する前記マルチテナントデータストアから前記企業データアプリケーションを用いて前記データ操作要求を処理することであって、前記所与のテナントのための前記データが、前記マルチテナントデータストア内で他のテナントのためのデータと区分けされ、前記データ操作要求が、前記テナント識別データに基づいて前記データ操作要求を前記所与のテナントのためのデータに制限することによって処理される、処理することとを含む方法。
  2. 前記データ操作要求を受信することが、データを前記マルチテナントデータストアに記憶する要求を受信することを含み、前記データ操作要求を処理することが、
    前記要求の前記データを前記マルチテナントデータストアに記憶することと、
    前記データが前記所与のテナントに属することを示す区分識別子で、前記マルチテナントデータストアに記憶される前記データをマークすることとを含む請求項1に記載のコンピュータ実装方法。
  3. 前記データ操作要求が、アクセスされるべき前記マルチテナントデータストアのデータを識別し、識別されるデータが、前記他のテナントのうちの1つまたは複数からのデータを含むように定義される請求項1に記載のコンピュータ実装方法。
  4. 前記データ操作要求を処理することが、
    前記所与のテナントに属するデータのみを定義する修正されたデータ操作要求を得るように前記データ操作要求を修正することと、
    前記修正されたデータ操作要求を処理することとを含む請求項3に記載のコンピュータ実装方法。
  5. データ操作要求を受信することが、
    前記他のテナントのうちの1つまたは複数からのデータを包含するデータの問い合わせを受信することを含み、前記データ操作要求を修正することが、
    前記区分識別子によって前記所与のテナントに属すると識別されたデータのみを返すように前記問い合わせを修正することを含む請求項4に記載のコンピュータ実装方法。
  6. セキュリティ規則を受け取ることが、
    ユーザ入力機構を有するセキュリティ規則表示を表示することと、
    前記セキュリティ規則表示の前記ユーザ入力機構を通じて前記所与のテナントのために実施されるべきセキュリティ規則を受け取ることとを含み、前記データ操作要求を処理することが、
    前記データ操作要求の前記テナント識別データに基づいて前記所与のテナントのための前記セキュリティ規則にアクセスすることと、
    前記データ操作要求を処理する間に、前記所与のテナントのための前記セキュリティ規則を実施することとを含む請求項1に記載のコンピュータ実装方法。
  7. 前記データ操作要求を処理することが、
    キャッシュメモリ内で各テナントについてキャッシュされたデータの別個のコピーを維持することを含み、前記データ操作要求が、データを要求する問い合わせを含み、キャッシュされたデータの別個のコピーを維持することが、
    要求されたデータを、前記所与のテナントのためのキャッシュされたデータのみを記憶するキャッシュメモリに記憶することを含む請求項1に記載のコンピュータ実装方法。
  8. それぞれのテナントが複数の異なるクライアントを有する組織である第1のテナントおよび第2のテナントのために同じ企業データアプリケーションをホストするサーバレイヤであって、前記第1のテナントからの第1のデータおよび前記第2のテナントからの第2のデータを受信し、マルチテナントデータストアに前記第1のデータおよび前記第2のデータを記憶し、前記第1のデータが前記第2のテナントからアクセス不可能であり、前記第2のデータが前記第1のテナントからアクセス不可能であるように前記第1のデータを前記第2のデータから区分けする、サーバレイヤと、
    システムの機能部分を形成し、前記サーバレイヤによって作動され、前記サーバレイヤの機能を促進するコンピュータプロセッサとを含む、企業データシステム。
  9. 前記サーバレイヤが、前記第1のテナントおよび前記第2のテナントから構成データを受信し、前記第1のデータを記憶し、前記第1のデータを前記第1のテナントからのみアクセス可能であるものとして識別する前記構成データに基づく区分識別子で前記第1のデータをマークする請求項8に記載の企業データシステム。
  10. キャッシュメモリをさらに含み、前記キャッシュメモリが前記第1のテナントに対応するキャッシュされたデータの第1のコピーと前記第2のテナントに対応するキャッシュされたデータの第2のコピーとを有するように前記サーバレイヤが前記キャッシュメモリを維持し、キャッシュされたデータの前記第1のコピーが前記第2のテナントからアクセス不可能であり、キャッシュされたデータの前記第2のコピーが前記第1のテナントからアクセス不可能であるようにキャッシュされたデータの前記第1のコピーとキャッシュされたデータの前記第2のコピーとが前記キャッシュメモリ内で互いに区分けされる請求項9に記載の企業データシステム。
JP2015525498A 2012-07-30 2013-07-30 企業データシステム内のテナントのためのセキュリティおよびデータの隔離 Active JP6633913B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/561,113 US9959423B2 (en) 2012-07-30 2012-07-30 Security and data isolation for tenants in a business data system
US13/561,113 2012-07-30
PCT/US2013/052601 WO2014022323A1 (en) 2012-07-30 2013-07-30 Security and data isolation for tenants in a business data system

Publications (3)

Publication Number Publication Date
JP2015524592A true JP2015524592A (ja) 2015-08-24
JP2015524592A5 JP2015524592A5 (ja) 2016-08-12
JP6633913B2 JP6633913B2 (ja) 2020-01-22

Family

ID=48948545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015525498A Active JP6633913B2 (ja) 2012-07-30 2013-07-30 企業データシステム内のテナントのためのセキュリティおよびデータの隔離

Country Status (6)

Country Link
US (2) US9959423B2 (ja)
EP (1) EP2880591A1 (ja)
JP (1) JP6633913B2 (ja)
KR (1) KR102117727B1 (ja)
CN (1) CN104508678B (ja)
WO (1) WO2014022323A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595551B (zh) * 2012-08-17 2016-12-21 杭州华三通信技术有限公司 基于mqc实现网络虚拟化的网络管理方法和装置
US9830385B2 (en) * 2012-09-04 2017-11-28 Salesforce.Com, Inc. Methods and apparatus for partitioning data
US9342353B2 (en) * 2012-10-06 2016-05-17 International Business Machines Corporation Techniques for implementing information services with tenant specific service level agreements
US10146850B2 (en) 2012-10-30 2018-12-04 FHOOSH, Inc. Systems and methods for collecting, classifying, organizing and populating information on electronic forms
US20140331337A1 (en) * 2013-05-02 2014-11-06 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a gatekeeper
CN104216725B (zh) * 2013-06-04 2019-04-19 Sap欧洲公司 用于软件解决方案托管的存储库层策略调整
CN106462717B (zh) * 2014-06-23 2019-06-14 甲骨文国际公司 用于在多租户应用服务器环境中支持安全性的系统和方法
US11477278B2 (en) * 2014-06-24 2022-10-18 Oracle International Corporation System and method for supporting partitions in a multitenant application server environment
US9471803B2 (en) 2014-08-07 2016-10-18 Emc Corporation System and method for secure multi-tenancy in an operating system of a storage system
US10579823B2 (en) 2014-09-23 2020-03-03 Ubiq Security, Inc. Systems and methods for secure high speed data generation and access
WO2016049227A1 (en) 2014-09-23 2016-03-31 FHOOSH, Inc. Secure high speed data storage, access, recovery, and transmission
US10079720B2 (en) * 2015-06-23 2018-09-18 Microsoft Technology Licensing, Llc Dynamically managing different versions of a service
US10972375B2 (en) 2016-01-27 2021-04-06 Oracle International Corporation System and method of reserving a specific queue pair number for proprietary management traffic in a high-performance computing environment
US11018947B2 (en) 2016-01-27 2021-05-25 Oracle International Corporation System and method for supporting on-demand setup of local host channel adapter port partition membership in a high-performance computing environment
US10560318B2 (en) 2016-01-27 2020-02-11 Oracle International Corporation System and method for correlating fabric-level group membership with subnet-level partition membership in a high-performance computing environment
US10305861B2 (en) * 2016-08-29 2019-05-28 Microsoft Technology Licensing, Llc. Cross-tenant data leakage isolation
US10558641B2 (en) 2017-04-21 2020-02-11 Microsoft Technology Licensing, Llc Trigger system for databases using proxy
US10848494B2 (en) * 2017-08-14 2020-11-24 Microsoft Technology Licensing, Llc Compliance boundaries for multi-tenant cloud environment
US20190278931A1 (en) * 2018-03-08 2019-09-12 Ubiq Security, Inc. Systems and methods for secure data storage and retrieval
US11349656B2 (en) 2018-03-08 2022-05-31 Ubiq Security, Inc. Systems and methods for secure storage and transmission of a data stream
US11650749B1 (en) 2018-12-17 2023-05-16 Pure Storage, Inc. Controlling access to sensitive data in a shared dataset
US11354168B2 (en) 2019-01-18 2022-06-07 Salesforce.Com, Inc. Elastic data partitioning of a database
RU2737601C2 (ru) * 2019-03-13 2020-12-01 Анастасия Надеровна Рубцова Автоматизированная информационная система для размещения расширяемых служб с множеством арендаторов и субъектов (потребителей)
US10873586B2 (en) 2019-03-19 2020-12-22 Capital One Services, Llc Systems and methods for secure data access control
US12105815B2 (en) * 2019-08-29 2024-10-01 Schlumberger Technology Corporation System and method for managing external processing in a web-based computing system
CN111694682B (zh) * 2020-06-11 2023-10-03 深圳市铱云云计算有限公司 多层级租户的管理方法、装置、设备及存储介质
CN112925647B (zh) * 2021-03-24 2024-09-27 北京金山云网络技术有限公司 云边协同系统、集群资源的控制方法及装置
US11809591B1 (en) 2023-02-22 2023-11-07 Snowflake Inc. Column hiding management system

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076193A (ja) * 1998-08-27 2000-03-14 Fujitsu Ltd 電子情報共有セキュリティシステム及び電子情報共有セキュリティプログラムを記録したコンピュータ読み取り可能記録媒体
US20050223022A1 (en) * 2004-04-02 2005-10-06 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US20080244184A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation In-memory caching of shared customizable multi-tenant data
JP2009145972A (ja) * 2007-12-11 2009-07-02 Hitachi Information Systems Ltd データべースシステム及びデータべースシステムの制御方法
JP2010026653A (ja) * 2008-07-16 2010-02-04 Fujitsu Ltd データアクセス制御方法、データアクセス制御装置、及びプログラム
US20100138830A1 (en) * 2008-05-02 2010-06-03 Skytap Multitenant hosted virtual machine infrastructure
JP2011019129A (ja) * 2009-07-09 2011-01-27 Nec Corp データ管理システム及びデータ管理方法
US20110106802A1 (en) * 2009-10-30 2011-05-05 Pinkney David B Fixed content storage within a partitioned content platform using namespaces
WO2011053834A2 (en) * 2009-10-30 2011-05-05 Hitachi Data Systems Corporation Fixed content storage within a partitioned content platform using namespaces, with replication
WO2011111532A1 (ja) * 2010-03-10 2011-09-15 日本電気株式会社 データベースシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587854B1 (en) 1998-10-05 2003-07-01 Oracle Corporation Virtually partitioning user data in a database system
US6487552B1 (en) 1998-10-05 2002-11-26 Oracle Corporation Database fine-grained access control
US6732100B1 (en) * 2000-03-31 2004-05-04 Siebel Systems, Inc. Database access method and system for user role defined access
US20070143546A1 (en) * 2005-12-21 2007-06-21 Intel Corporation Partitioned shared cache
CN101639835A (zh) 2008-07-30 2010-02-03 国际商业机器公司 多租户场景中应用数据库分区的方法和装置
US8271536B2 (en) 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
US8364722B2 (en) 2010-01-19 2013-01-29 Microsoft Corporation Hosting multiple logical databases contained in physical database
US8595181B2 (en) 2010-05-03 2013-11-26 Salesforce.Com, Inc. Report preview caching techniques in a multi-tenant database
US8751525B2 (en) 2011-12-23 2014-06-10 Sap Ag Time slider operator for temporal data aggregation
US8868594B2 (en) 2011-12-23 2014-10-21 Sap Ag Split processing paths for a database calculation engine
US8880510B2 (en) 2011-12-23 2014-11-04 Sap Se Unique value calculation in partitioned tables

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076193A (ja) * 1998-08-27 2000-03-14 Fujitsu Ltd 電子情報共有セキュリティシステム及び電子情報共有セキュリティプログラムを記録したコンピュータ読み取り可能記録媒体
US20050223022A1 (en) * 2004-04-02 2005-10-06 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
JP2007531941A (ja) * 2004-04-02 2007-11-08 セールスフォース ドット コム インコーポレイティッド マルチテナント・データベース・システムにおけるカスタム・エンティティおよびフィールド
US20080244184A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation In-memory caching of shared customizable multi-tenant data
JP2010524083A (ja) * 2007-03-30 2010-07-15 マイクロソフト コーポレーション 共有・カスタマイズ可能なマルチテナントデータのメモリ内キャッシング
JP2009145972A (ja) * 2007-12-11 2009-07-02 Hitachi Information Systems Ltd データべースシステム及びデータべースシステムの制御方法
US20100138830A1 (en) * 2008-05-02 2010-06-03 Skytap Multitenant hosted virtual machine infrastructure
JP2010026653A (ja) * 2008-07-16 2010-02-04 Fujitsu Ltd データアクセス制御方法、データアクセス制御装置、及びプログラム
JP2011019129A (ja) * 2009-07-09 2011-01-27 Nec Corp データ管理システム及びデータ管理方法
US20110106802A1 (en) * 2009-10-30 2011-05-05 Pinkney David B Fixed content storage within a partitioned content platform using namespaces
WO2011053834A2 (en) * 2009-10-30 2011-05-05 Hitachi Data Systems Corporation Fixed content storage within a partitioned content platform using namespaces, with replication
WO2011111532A1 (ja) * 2010-03-10 2011-09-15 日本電気株式会社 データベースシステム

Also Published As

Publication number Publication date
CN104508678A (zh) 2015-04-08
US20180218169A1 (en) 2018-08-02
US20140032228A1 (en) 2014-01-30
EP2880591A1 (en) 2015-06-10
KR20150036323A (ko) 2015-04-07
JP6633913B2 (ja) 2020-01-22
KR102117727B1 (ko) 2020-06-01
CN104508678B (zh) 2018-10-16
WO2014022323A1 (en) 2014-02-06
US9959423B2 (en) 2018-05-01

Similar Documents

Publication Publication Date Title
JP6633913B2 (ja) 企業データシステム内のテナントのためのセキュリティおよびデータの隔離
CN109076087B (zh) 对电子数据的基于群组的外部共享
US9384337B1 (en) Item sharing based on information boundary and access control list settings
US20180124155A1 (en) Network-based group communication and file sharing system
US10547621B2 (en) Persistent mutable sharing of electronic content
US20140365961A1 (en) Unified worklist
US20160055343A1 (en) Hierarchical privacy settings for comments and markups in a shared document
CN107533696B (zh) 自动地将内容与人员相关
US20180121465A1 (en) Network-based communication and file sharing system
US20160261577A1 (en) Analysis with embedded electronic spreadsheets
JP2017528835A (ja) アカウント情報のサーバー認証へのマッピング
JP2015517165A (ja) ユーザーインターフェイスウェブサービス
US20150227630A1 (en) Caching queries for dynamic webpages
US20160205081A1 (en) Hierarchical data security
US9804749B2 (en) Context aware commands
CN112699407A (zh) 业务数据的访问方法、装置、设备和存储介质
US20140136938A1 (en) List management in a document management system
US20240296419A1 (en) Controlling access to shared resources in a segmented environment
US20240354705A1 (en) Moderated access to shared resources across segment boundaries in a segmented environment
US20160378574A1 (en) Integration and synchronization using a virtual data provider
TW201531055A (zh) 行動辦公裝置及其方法暨行動辦公系統與其方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160623

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180522

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180529

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180706

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190902

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191213

R150 Certificate of patent or registration of utility model

Ref document number: 6633913

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250