JP2009518713A - マルチテナント環境において顧客データを機密保護するためのシステムおよび方法 - Google Patents

マルチテナント環境において顧客データを機密保護するためのシステムおよび方法 Download PDF

Info

Publication number
JP2009518713A
JP2009518713A JP2008543519A JP2008543519A JP2009518713A JP 2009518713 A JP2009518713 A JP 2009518713A JP 2008543519 A JP2008543519 A JP 2008543519A JP 2008543519 A JP2008543519 A JP 2008543519A JP 2009518713 A JP2009518713 A JP 2009518713A
Authority
JP
Japan
Prior art keywords
query plan
database system
information
client
user information
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
JP2008543519A
Other languages
English (en)
Other versions
JP5065287B2 (ja
Inventor
エリック チャン
クレイグ ワイスマン
ポール ナカダ
デーブ モエレンホフ
トッド マッキノン
Original Assignee
セールスフォース ドット コム インコーポレイティッド
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 セールスフォース ドット コム インコーポレイティッド filed Critical セールスフォース ドット コム インコーポレイティッド
Publication of JP2009518713A publication Critical patent/JP2009518713A/ja
Application granted granted Critical
Publication of JP5065287B2 publication Critical patent/JP5065287B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)

Abstract

クエリプラン検出モジュールを使用してデータベースシステムを絶えずポーリングして疑わしいクエリプランを発見し、警報を出すことにより、マルチテナントデータベースネットワーク環境におけるネットワーク機密保護が強化される。機密保護はまた、受信されるクライアント要求それぞれに関してユーザ情報および組織情報を記録し、その情報を、アプリケーションサーバからの応答に含まれる情報と比較し、応答が適正なユーザに送信されていることを立証する、アプリケーションサーバとクライアントシステムとの間に位置するファイアウォールシステムを使用して強化することができる。機密保護はまた、クライアント側で格納されたユーザ情報および組織ID情報を応答の中の類似情報と比較することによってアプリケーションサーバからの応答が適正なユーザシステムに送信されているかどうかを立証する、クライアントシステム上で実行するロジックをクライアント側ファイアウォールシステムとともに使用して、強化することができる。

Description

発明の分野
本発明は、概してデータベースネットワークシステムにおけるデータ機密保護に関し、より具体的には、マルチテナントデータベースネットワークシステムにおけるデータ機密保護に関する。
著作権表示
本特許文献の開示の一部は、著作権保護の対象となる内容を含む。著作権所有者は、特許庁の特許ファイルまたは記録に見られるような特許文献または特許開示の複製には異議を唱えないが、他の点ではすべての著作権を留保する。
関連出願の相互参照
本出願は、全体として参照により本明細書に組み入れられる「SYSTEMS AND METHODS FOR SECURING CUSTOMER DATA IN A MULTI-TENANT ENVIRONMENT」と題する2005年12月2日出願の米国特許仮出願第60/741,995号の恩典を主張する。
背景
最新のデータベースシステムでは、一つまたは複数の顧客がデータベースシステムのハードウェアおよびソフトウェアの種々の要素を共用することができる。このような共用ハードウェアおよびソフトウェア手法は、データベース関連のサービスを、各顧客がハードウェアおよびソフトウェアを自分用に購入しなければならない場合に比べ、はるかに廉価で提供することを可能にする。そのようなシステムでは、顧客データが機密保護され、組織内の適正なユーザのみが閲覧可能かつ更新可能であることを保証することが非常に望ましい。
データ機密保護は、侵入検出および物理的アクセス規制をはじめとする物理的機密保護から始まる。典型的には、ネットワーク層では、HTTPプロトコルを介する適正なアクセスの場合を除き、データセンタ内のすべての機器へのアクセスを遮断するために工業規格ネットワークファイアウォールが使用される。また、ネットワークファイアウォールがすべての無許可アクセスを遮断していることを保証するため、ネットワークをデータセンタの外からスキャンすることもできる。それでもなお、アプリケーションソフトウェア、システム・ネットワークソフトウェアおよび/またはシステム・ネットワークハードウェアにおいて起こりうる、間違ったページまたはデータをユーザに返送しかねないエラーまたは欠陥に対する防御として、追加的または代替的な機密保護システムおよび方法を提供することは有用である。
したがって、共用ハードウェアおよびソフトウェアインフラストラクチャにおける任意のエラーまたは欠陥が、重大な顧客データを間違ったユーザに送り渡してしまうことがないことを保証するシステムおよび方法を提供することが望ましい。
概要
本発明は、マルチテナントデータベースネットワーク環境においてシステムおよびネットワーク機密保護を強化するためのシステムおよび方法を提供する。これらのシステムおよび方法は、一つまたは複数の技術、たとえば疑わしいクエリプランを識別する技術、クエリに含まれるユーザ情報および組織情報を、アプリケーションサーバからの応答に含まれるユーザ情報および組織情報と比較して、その応答が実際に適正なユーザに送信されていることを立証する技術、およびクライアント側で格納されたユーザ情報および組織ID情報を応答の中の類似情報と比較することによってアプリケーションサーバからの応答が実際に適正なユーザシステムに送信されているかどうかを立証する技術を使用する。これらの技術の一つまたは複数を使用して、態様は、マルチテナント環境において顧客データを機密保護することができる。
本明細書で使用する「マルチテナントデータベースシステム」とは、データベースシステムのハードウェアおよびソフトウェアの種々の要素を一つまたは複数の顧客が共用することができるシステムをいう。たとえば、所与のアプリケーションサーバは、多数の顧客からの要求を同時に処理することができ、所与のデータベーステーブルは、潜在的にはるかに多数の顧客のための行を格納することができる。本明細書で使用する「クエリプラン」とは、データベースシステム中の情報にアクセスするために使用される一連のステップをいう。
ある態様にしたがって、一例として、クエリプラン検出モジュールがデータベースシステムをポーリングして、クエリプランが疑わしいクエリプランであるかどうかを判定し、そうである場合、警報を出す。疑わしいクエリプランとしては、マルチテナントデータベースシステム中では決して起こらないはずであるクエリプランおよび数少ない特定された状況でしか起こらないはずであるクエリプラン、たとえば多数のパーティションを読むジョインおよびハッシュジョインがある。各組織のデータはマルチテナントデータベース中の単一の物理的データベースパーティションに格納されることができるため、多数のパーティション中のデータにアクセスする、ユーザによって起動されるクエリは、疑わしいクエリプランとみなすことができる。同様に、多数のテナントにまたがってデータを格納するために大きなテーブルが使用される場合、テーブル中のデータ行の全部または大部分を読む任意のクエリプランは、疑わしいとみなすことができる。簡潔に記すためにここでは列挙しない他の疑わしいクエリプランもまた、態様において考えられる。さらに、態様は、警報を出すことに代えてまたはそれに加えて、他の動作、たとえば非限定的に、疑わしいクエリプランの放棄、クエリプランの実行の延期、監査メッセージの記録等を実行することもできる。態様はまた、特定の疑わしいクエリプランがクエリプランの例外クラスのメンバーであるかどうかを判定し、そうである場合、警報を出すことなく、そのクエリプランの実行を許すこともできる。
もう一つの態様にしたがって、サーバ側ファイアウォールシステムが、アプリケーションサーバとクライアントシステムとの間に位置する一つまたは複数のファイアウォールサーバのスタックを含む。ファイアウォールサーバが、受信されたクライアント要求それぞれに関してユーザ情報および組織情報を記録し、この情報を、アプリケーションサーバからの応答に含まれるユーザ情報および組織情報と比較して、該応答が実際に適正なユーザに送信されていることを立証する。もう一つの態様では、クライアント側ファイアウォールシステムが、クライアント側で格納されたユーザ情報および組織ID情報を応答の中の類似情報と比較することによってアプリケーションサーバからの応答が実際に適正なユーザシステムに送信されているかどうかを立証する、クライアントシステム上で実行するロジックを含む。クライアント側ファイアウォールは、ネットワークハードウェアおよび/またはソフトウェアメッセージ移送におけるエラーを検出するのに有用である。
クライアントおよびサーバファイアウォール態様は、類似した原理、すなわち、どのユーザ情報および組織がページを要求しているのかを追跡したのち、ユーザに返送されるページが実際にそのユーザに宛てられていることを保証するという原理に基づくことができる。いくつかの態様では、これらの手法は、間違ったページをユーザに返送するおそれのある、アプリケーションソフトウェア、システムソフトウェアまたはハードウェアにおけるエラーまたは欠陥に対する防御を提供することができる。
例示的なクライアント側ファイアウォール態様では、ユーザ情報および組織の一意ID(たとえばユーザハッシュクッキー中)を使用して、どのユーザがページを要求しているのかを追跡する。サーバファイアウォールは、認証されたユーザのために直接作成された、各セッションに割り当てられたセッションID (SID)を使用してこれを追跡する。SIDは、ページごとに返送するには望ましくない可能性がある潜在的に慎重に扱うべき情報であるため、この態様におけるアプリケーションサーバは、ユーザハッシュを、返送されるページのHTML (Hyper-text Markup Language)に直接注入し、SIDをHTTP (Hyper-Text Transport Protocol)ヘッダに注入する。サーバファイアウォールは、各ページのヘッダ中のSIDをスキャンし、そのSIDを取り除いたのち、ページをクライアントに返送する。しかし、一つの局面では、ユーザハッシュは、クライアントファイアウォールによって妥当性検証された場合、html中に残る。
サーバファイアウォール態様は、サーバファイアウォールが要求ごとに稼働するという利点を有することができるが、クライアントファイアウォールは、そのファイアウォールを実現するロジックプラットフォーム(たとえば、Java、JavaScript、ActiveX等)をサポートするクライアントの場合にしか稼働しない。しかし、クライアントファイアウォール態様は、クライアントファイアウォールが、サーバファイアウォールによっては捕らえられないと考えられるネットワーク層中のエラーをサーバファイアウォールとクライアントとの間で捕らえることができるという利点を有することができる。
特許請求の範囲および本明細書の図面を含む残り部分を参照すると、本発明の他の特徴および利点が理解される。以下、添付の図面を参照しながら本発明のさらなる特徴および利点ならびに本発明の様々な態様の構造および動作を詳細に説明する。図中、同種の番号は同一または機能的に類似した要素を示す。
本発明の様々な態様を図面を参照しながら説明する。
詳細な説明
本発明の態様は、マルチテナントデータベースネットワーク環境において顧客データを機密保護するためのシステムおよび方法を提供する。特に、これらのシステムおよび方法は、マルチテナントデータベースネットワークシステムの共用ソフトウェアおよびハードウェアインフラストラクチャで起こりうる任意のエラーまたは欠陥が、間違ったユーザへのページまたはデータの送り渡しを生じさせることがないことを保証するのに役立つ。特定の局面で、これらのシステムおよび方法は、クエリプランを解析し、起こらないはずである、または十分に限定された数少ない状況でしか起こらないはずである特定のクエリプランを検出する。また、いくつかの態様にしたがって、サーバ側ファイアウォールシステムおよび方法が、ユーザに送信されるデータおよびページの機密保護がサーバ側インフラストラクチャ問題による影響を受けないことを保証する。特定の態様では、ユーザに送信されるデータおよびページの機密保護がネットワーク層インフラストラクチャ問題による影響を受けないことを保証するために、クライアント側ファイアウォールシステムおよび方法が提供される。
機密保護概観
アプリケーションレベルでの機密保護は、三つの主要なファセット、すなわち認証、許可および監査を含むものとして概念化することができる。認証機構は典型的には、サービスにログインする各ユーザが自らのパスワードを入力することを要求する。このパスワードを、たとえばデータベースに格納されたパスワードに照らして検査して、ユーザの身元を立証することができる。ひとたび立証されるならば、そのユーザに対してセッションが作成され、ユーザID、組織ID、クライアントIPアドレスおよび期限切れ時期のような情報を含むことができるセッションID (SID)がそのセッションに割り当てられる。また、SIDは、悪意のあるハッカーがその内容を改ざんすることを防ぐために暗号化することもできる。
SIDは典型的には、ブラウザによってアクセスするクライアントの場合にはハイパーテキスト転送プロトコル(HTTP)クッキーとしてユーザに返送され、アプリケーションプログラミングインターフェース(API)によってアクセスするクライアントの場合にはストリングデータフィールドとしてユーザに返送される。後続の要求のたびに、クライアントは、SIDを含むこのクッキーまたはデータフィールドを返送する。アプリケーションサーバは、要求を処理するとき、まずSIDを読み取り、SIDを解読してそのSIDが改ざんされていないことを立証し、SIDが期限切れではないこと、かつユーザが指定のIPアドレスからシステムにアクセスする許可をまだ有していることを立証する。SIDが期限切れになる(たとえば15分)前にウィンドウ内に起こるいかなる要求に関しても、アプリケーションサーバは、より遅い期限切れ時期を有する新たなSIDを作成することによって「セッションの寿命を延長」することができる。
許可機構は典型的には、ひとたびアプリケーションがユーザの身元およびそのユーザが属する組織を(たとえば上記のSID機構から)知るならば、ユーザプロフィールに基づいて種々の特徴および機能への適正なアクセスを強要するアプリケーションを含む。アプリケーションはまた、組織のために構成された任意のデータ共用規則に基づく適正なデータ行アクセスを強要する。
監査機構は典型的には、たとえば、ユーザログインの日時ならびにSIDからのユーザIDおよび組織IDに基づいてユーザがシステムに対して実行する動作を記録するアプリケーションを含む。この情報は、種々の監査活動のために使用することができる。
次に、例示的な態様を参照しながら、一つまたは複数の認証、許可および監査ファセットでアプリケーション機密保護に対する改善を提供するための機構および方法を説明する。
システム概観
図1は、マルチテナントデータベースシステムを使用することができる環境を示す。図1 (さらに詳細には図2)に示すように、ユーザシステム12は、ネットワーク14を介して、マルチテナントデータベースシステム(MTS)16と対話することができる。これらのユーザシステム12のユーザは、異なる能力を有するユーザであることができ、ある特定のユーザシステム12の能力は、現在のユーザに対する許可(許可レベル)によってすべて決まる。たとえば、ある販売員が特定のユーザシステム12を使用してMTS16と対話している場合、そのユーザシステムは、その販売員に割り当てられた能力を有する。しかし、管理者がそのユーザシステムを使用してMTS16と対話している場合、そのユーザシステムは、その管理者に割り当てられた能力を有する。階層ロールモデルを有するシステムでは、ある許可レベルのユーザは、より低い許可レベルのユーザがアクセス可能であるアプリケーション、データおよびデータベース情報にアクセスすることはできるが、より高い許可レベルのユーザがアクセス可能である特定のアプリケーション、データベース情報およびデータにアクセスすることはできない。このように、アプリケーションおよびデータベース情報にアクセスし、それを変更することに関して、異なるユーザは、ユーザの機密保護または許可レベルに依存して異なる能力を有する。
ネットワーク14は、LAN (ローカルエリアネットワーク)、WAN (ワイドエリアネットワーク)、ワイヤレスネットワーク、二地点間ネットワーク、星状ネットワーク、トークンリングネットワーク、ハブネットワークまたは他の適切な構成であることができる。現在使用されているもっとも一般的なタイプのネットワークは、TCP/IP (トランスファーコントロールプロトコルおよびインターネットプロトコル)ネットワーク、たとえば本明細書における例の多くで使用される、「インターネット(Internet)」(「I」は大文字)と呼ばれることが多いネットワークの全世界的相互ネットワークである。しかし、TCP/IPは現在好ましいプロトコルであるが、本発明が使用することができるネットワークはそれに限定されないということが理解される。
ユーザシステム12は、TCP/IPを使用してMTS16と通信することもできるし、より高いネットワークレベルでは、他の一般的なインターネットプロトコル、たとえばHTTP、FTP、AFS、WAP等を使用して通信することもできる。HTTPが使用される例では、ユーザシステム12は、MTS16側のHTTPサーバとの間でHTTPメッセージを送受信するための、一般に「ブラウザ」と呼ばれるHTTPクライアントを含むことができる。このようなHTTPサーバは、MTS16とネットワーク14との間の唯一のネットワークインターフェースとして実現することもできるが、他の技術を併用または代用してもよい。いくつかの実現態様では、MTS16とネットワーク14との間のインターフェースは、負荷分担機能、たとえば、負荷を平衡させ、入って来るHTTP要求を複数のサーバで均等に分配するための総当たり式HTTP要求分配装置を含む。好ましくは、複数のサーバそれぞれは、少なくともそのサーバにアクセスしているユーザに関しては、MTSのデータへのアクセスを有する。
一つの局面で、図1に示すシステムは、ウェブベースの顧客関係管理(CRM)システムを実現する。たとえば、一つの局面で、MTS16は、CRMソフトウェアアプリケーションを実現し、実行し、関連のデータ、コード、フォーム、ウェブページおよび他の情報をユーザシステム12との間で提供し、データベースシステム関連データ、オブジェクトおよびウェブページコンテンツに格納し、そこから検索するように構成されたアプリケーションサーバを含む。マルチテナントシステムでは、多数のテナントのためのデータを同じ物理的データベースオブジェクトに格納することができるが、しかしテナントデータは典型的には、明示的に共用される場合を除き、一つのテナントが別のテナントのデータにアクセスすることのないよう、一つのテナントのデータが他のテナントのデータから論理的に別々に維持されるように編成される。特定の局面では、システム16は、CRMアプリケーションに代わるアプリケーションまたはCRMアプリケーションに追加されるアプリケーションを実現する。たとえば、システム16は、CRMアプリケーションをはじめとする多数のホストされた(標準およびカスタム)アプリケーションへのテナントアクセスを提供することができる。
ネットワークインターフェース20、テナントデータのための格納装置22、MTS16およびおそらくは多数のテナントにとってアクセス可能なシステムデータのための格納装置24、MTS16の種々の機能を実現するためのプログラムコード26ならびにMTSシステムプロセスおよびテナント固有プロセスを実行する、たとえばアプリケーションホストサービスの一部としてアプリケーションを稼働させるためのプロセススペース28を含む、MTS16の要素の一つの編成が図1に示されている。MTS16上で実行することができるさらなるプロセスとしては、データベース索引付けプロセスがある。
図1に示すシステム中のいくつかの要素は、本明細書で詳細に説明する必要のない従来の周知の要素を含む。たとえば、各ユーザシステム12は、デスクトップパーソナルコンピュータ、ワークステーション、ラップトップ、PDA、携帯電話もしくは任意のワイヤレスアクセスプロトコル(WAP)使用可能装置またはインターネットもしくは他のネットワーク接続と直接または間接的にインターフェースすることができる他のコンピューティング装置を含むことができる。ユーザシステム12は典型的には、HTTPクライアント、たとえばブラウザプログラム、たとえばMicrosoftのInternet Explorerブラウザ、NetscapeのNavigatorブラウザ、Operaのブラウザ、または携帯電話、PDAもしくは他のワイヤレス装置の場合にはWAP使用可能ブラウザ等を稼働させて、ユーザシステム12のユーザ(たとえばマルチテナントデータベースシステムの加入者)が、MTS16からネットワーク14を介してそれに利用可能な情報、ページおよびアプリケーションにアクセスし、それを処理し、閲覧することを可能にする。各ユーザシステム12はまた、典型的には、MTS16または他のシステムもしくはサーバによって提供されるページ、フォーム、アプリケーションおよび他の情報とともにブラウザによって表示装置(たとえばモニタスクリーン、LCD等)上に提供されるグラフィカルユーザインターフェース(GUI)と対話するための一つまたは複数のユーザインターフェース装置、たとえばキーボード、マウス、タッチスクリーン、ペン等を含む。たとえば、ユーザインターフェース装置は、MTS16によってホストされるデータおよびアプリケーションにアクセスし、格納されたデータに対して探索を実行し、ユーザがユーザに提示されることができる種々のGUIページと対話することを他のやり方で可能にするために使用することができる。
上述したように、本発明は、ネットワークの特定の全世界的相互ネットワークを指すインターネットとの使用に適している。しかし、インターネットに代えて他のネットワーク、たとえばイントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、非TCP/IPベースのネットワーク、LANまたはWAN等を使用することもできることが理解される。
一つの態様にしたがって、各ユーザシステム12およびそのコンポーネントのすべては、Intel Pentiumプロセッサ等といった中央処理ユニットを使用して稼働されるコンピュータコードを含む、ブラウザのようなアプリケーションを使用してオペレータ構成可能である。同様に、MTS16(および、二つ以上ある場合には、MTSのさらなるインスタンス)およびそれらのコンポーネントのすべては、Intel Pentiumプロセッサ等といったの中央処理ユニットまたは多数のプロセッサユニットを使用して稼働されるコンピュータコードを含むアプリケーションを使用してオペレータ構成可能である。MTS16を、本明細書に記載するようにウェブページ、アプリケーションならびに他のデータおよび媒体コンテンツを相互通信し、処理するように作動させ、構成するためのコンピュータコードは、好ましくは、ダウンロードされ、ハードディスクに格納されるが、プログラムコード全体またはその部分は、周知であるような他の揮発性または不揮発性記憶媒体または装置、たとえばROMまたはRAMに格納することもできるし、プログラムコードを格納することができる任意の媒体、たとえばコンパクトディスク(CD)媒体、デジタル多用途ディスク(DVD)媒体、フロッピーディスク等に提供することもできる。さらには、プログラムコード全体またはその部分は、周知であるようにたとえばインターネットを介してソフトウェアソースまたは別のサーバから転送し、ダウンロードすることもできるし、周知であるように他の従来のネットワーク接続(たとえばエクストラネット、VPN、LAN等)を介して、周知であるように任意の通信媒体およびプロトコル(たとえばTCP/IP、HTTP、HTTPS、イーサネット等)を使用して転送することもできる。また、本発明の局面を実現するコンピュータコードは、クライアントシステムおよび/またはサーバもしくはサーバシステム上で実行することができる任意のプログラミング言語、たとえばC、C++、HTML、他のマークアップ言語、Java、JavaScript、ActiveX、任意の他のスクリプト言語、たとえばVBScriptおよび周知であるような他多くのプログラミング言語で実現することができるということが理解される。
一つの態様にしたがって、各MTS16は、ウェブページ、フォーム、アプリケーション、データおよび媒体コンテンツをユーザ(クライアント)システム12に提供して、MTS16のテナントとしてのユーザシステム12によるアクセスをサポートするように構成されている。そのようなものとして、MTS16は、データが共用されない限り各テナントのデータを別々に維持するための機密保護機構を提供する。一つより多いMTSが使用される場合、それらは、互いに近接させて(たとえば、一つのビルまたは敷地の中に配置されたサーバファーム中に)位置させることもできるし、互いに離れた場所に分散させることもできる(たとえば、一つまたは複数のサーバをA市に位置させ、一つまたは複数のサーバをB市に位置させる)。本明細書で使用するように、各MTSは、局所的にまたは一つもしくは複数の地理的場所に分散した一つもしくは複数の論理的および/または物理的に接続されたサーバを含むことができる。さらには、「サーバ」とは、当技術分野で周知であるように、処理ハードウェアおよびプロセススペースならびに対応する格納システムおよびデータベースアプリケーション(たとえばOODBMSまたはRDBMS)を含むコンピュータシステムを含むことを意図する。また、「サーバシステム」と「サーバ」とが本明細書でしばしば互換可能に使用されるということが理解される。同様に、本明細書に記載するデータベースは、単一のデータベース、分散データベース、分散データベースの集合体、冗長オンラインもしくはオフラインバックアップまたは他の冗長性を有するデータベース等として実現することができ、分散データベースまたは格納ネットワークおよび対応する処理知能(processing intelligence)を含むこともできる。
図2は、MTS16の要素および種々の相互接続をさらに詳細に示す。この例では、ネットワークインターフェースは、一つまたは複数のHTTPアプリケーションサーバ100として実現されている。同じく、個々のテナントプロセススペース104を含むシステムプロセススペース102、システムデータベース106、テナントデータベース108およびテナント管理プロセススペース110が示されている。テナントデータベース108は、物理的編成または、論理的編成のいずれかであることもできる個々のテナント格納区域112に分割されていてもよい。各テナント格納区域112内で、ユーザ格納装置114は、各ユーザに対して同様に割り当てられることができる。たとえば、ユーザが最も頻繁に使う(MRU:most recently used)項目のコピーがユーザ格納区域114に格納されてもよい。同様に、テナントである編成全体とってのMRU項目のコピーがテナント格納区域112に格納されてもよい。
また、各アプリケーションサーバ100を異なるネットワーク接続によってデータベースシステム、たとえばシステムデータベース106およびテナントデータベース108に通信可能に結合してもよいことが理解される。たとえば、一つのサーバ1001をインターネット14によって結合し、別のサーバ100N-1を直接ネットワークリンクによって結合し、別のサーバ100Nをさらに異なるネットワーク接続によって結合してもよい。トランスファーコントロールプロトコルおよびインターネットプロトコル(TCP/IP)が、サーバ100とデータベースシステムとの間の通信に典型的なプロトコルであるが、使用されるネットワーク相互接続に依存して、他のトランスポートプロトコルを使用してシステムを最適化してもよいということが当業者には明らかである。
特定の局面で、各アプリケーションサーバ100は、テナントである任意の組織に対応する任意のユーザのための要求を取り扱うように構成されている。何らかの理由で任意の時機にサーバをサーバプールに追加したり、そこから取り去ったりすることができることが望ましいため、好ましくは、特定のアプリケーションサーバ100に対するユーザおよび/または組織のサーバ相性はない。したがって、一つの態様で、負荷分散機能(たとえばF5 Big-IP負荷分散装置)を実現するインターフェースシステム(たとえば図4を参照)がサーバ100とユーザシステム12との間に通信可能に結合されてサーバ100への要求を分散する。一つの局面では、負荷分散装置は、最小接続アルゴリズムを使用してユーザ要求をサーバ100に経路指定する。総当たりおよび観測応答時間のような負荷分散アルゴリズムの他の例を使用することもできる。たとえば、特定の局面では、同じユーザからの三つの連続する要求が三つの異なるサーバ100にヒットすることもあり、異なるユーザからの三つの要求が同じサーバ100にヒットすることもある。このようにして、MTS16は、異なるユーザ情報および組織にまたがって異なるオブジェクト、データおよびアプリケーションの格納およびそれらへのアクセスを取り扱うところのマルチテナント式である。
格納の一例として、一つのテナントは、販売戦力を雇用し、各販売員がMTS16を使用して販売プロセスを管理する会社であってもよい。したがって、ユーザは、すべてそのユーザの個人販売プロセスに適用可能な接触データ、リードデータ、顧客フォローアップデータ、業績データ、目標および進捗データ等を維持することができる(たとえばテナントデータベース108中に)。好ましいMTS編成では、アクセス、閲覧、変更、報告、転送、計算等をするためのこのデータおよびアプリケーションのすべてが、ネットワークアクセス以上のものを有しないユーザシステムによって維持し、アクセスすることができるため、ユーザは、自らの販売努力およびサイクルを多くの異なるユーザシステムのいずれかからでも管理することができる。たとえば、販売員が顧客を訪問し、その顧客がロビーにインターネットアクセスを有する場合、その販売員は、顧客がロビーに到着するのを待つ間その顧客に関する重要な更新を得ることができる。
各ユーザの雇用主にかかわらず各ユーザデータは他のユーザのデータから別々にされてもよいが、一部のデータは、テナントである所与の組織に関して複数のユーザまたは全ユーザによって共用される、またはアクセス可能である全組織的データであってもよい。したがって、MTS16によって管理される、テナントレベルで割り当てられるデータ構造があってもよいし、一方で、他のデータ構造はユーザレベルで管理されてもよい。MTSは、考えられる競合他社を含む多数のテナントをサポートする可能性があるため、MTSは、データ、アプリケーションおよびアプリケーション使用を別々に維持する機密保護プロトコルを有するべきである。また、多くのテナントは、自らのシステムを維持するよりもMTSにアクセスすることを選択するため、冗長性、使用可能時間およびバックアップがさらなる重要な機能であり、MTSにおいて実現される必要がある。
ユーザ固有のデータおよびテナント固有のデータに加えて、MTS16はまた、多数のテナントによって使用可能なシステムレベルデータまたは他のデータを維持する。このようなシステムレベルデータは、テナント間で共用可能である業界レポート、ニュース、投稿等を含む可能性がある。
特定の局面で、クライアントシステム12は、アプリケーションサーバ100と通信して、データベースシステム106および/またはデータベースシステム108への一つまたは複数のクエリを要する可能性があるシステムレベルおよびテナントレベルデータをMTS16から要求し、更新する。MTS16 (たとえば、MTS16中のアプリケーションサーバ100)が、所望の情報にアクセスするように設計された一つまたは複数のSQLステートメント(SQLクエリ)を自動的に生成する。データベースシステム108はまた、データベースからの要求されたデータにアクセスするためのクエリプランを生成することもできる。
各データベースは、一般に、既定のカテゴリーに当てはめられたデータを含むオブジェクトの集合体、たとえば論理テーブルの集合とみなすことができる。「テーブル」とは、データオブジェクトの一つの表現であり、本明細書では、本発明にしたがってオブジェクトおよびカスタムオブジェクトの概念的記述を簡素化するために使用される。本明細書では「テーブル」と「オブジェクト」とは互換可能に使用することができるということが理解される。各テーブルは一般に、列またはフィールドとして論理的に編成された一つまたは複数のデータカテゴリーを閲覧可能なスキーマで含む。テーブルの各行またはレコードは、フィールドによって規定される各カテゴリーに関するデータのインスタンスを含む。たとえば、CRMデータベースは、名前、住所、電話番号、ファックス番号等の基本的接触情報のためのフィールドによって顧客を記述するテーブルを含むこともできる。もう一つのテーブルが、顧客、製品、販売価格、日付等の情報のためのフィールドを含め、購入オーダを記述することができる。一部のマルチテナントデータベースシステムでは、標準エンティティテーブルがすべてのテナントによる使用のために設けられる可能性がある。CRMデータベースアプリケーションの場合、そのような標準エンティティは、それぞれが既定のフィールドを含む、会計、接触、リードおよび機会データのためのテーブルを含む可能性がある。本明細書では「エンティティ」はまた、「オブジェクト」および「テーブル」とで互換可能に使用することもできるということが理解される。
一部のマルチテナントデータベースシステムでは、テナントは、カスタムオブジェクトを作成し、格納することを許されることもできるし、たとえば標準オブジェクトのためのカスタムフィールド、たとえばカスタム索引フィールドを作成することによって標準エンティティまたはオブジェクトをカスタマイズすることを許されることもできる。2004年4月2日に出願された「Custom Entities and Fields In a Multi-Tenant Database System」と題する、参照により本明細書に組み入れられる米国特許第出願第10/817,161号は、マルチテナントデータベースシステムにおいてカスタムオブジェクトを作成し、標準オブジェクトをカスタマイズするためのシステムおよび方法を教示している。特定の局面では、たとえば、すべてのカスタムエンティティデータ行が、1組織あたり多数の論理テーブルを含むことができる一つのマルチテナント物理的テーブルに格納される。多数の「テーブル」が実際には一つの大きなテーブルに格納される、またはそれらのデータが他の顧客のデータと同じテーブルに格納されることができるということが顧客に対して透過的である。
マルチテナントデータベースシステムでは、すべての顧客が、そのシステムを稼働させるハードウェアおよびソフトウェアの種々の要素を共用することができる。たとえば、所与のアプリケーションサーバは、何百もの顧客の要求を同時に処理することができる。そして、所与のデータベーステーブルが何千もの顧客からの行を格納することができる。そのようなシステムでは、顧客のデータが機密保護され、組織中の適正なユーザによってのみ閲覧可能かつ更新可能であることを保証することが非常に望ましい。従来のデータ機密保護、たとえば侵入検出および物理的アクセス規制ならびに工業規格ネットワークファイアウォールを実現することもできるが、それでもなお、アプリケーションソフトウェア、システム・ネットワークソフトウェアおよび/またはシステム・ネットワークハードウェアにおいて起こりうる、間違ったページまたはデータをユーザに返送しかねないエラーまたは欠陥に対する防御として、追加的または代替的な機密保護システムおよび方法を提供することは有用である。
機密保護機能
図3は、一つの態様のデータベースクエリプラン検出システム200を示す。一つの局面で、図3のデータベースクエリプラン検出システムは、図1のマルチテナントデータベースシステム16中で実現される。図示するように、データベースクエリプラン検出システム200は、データベースシステム220(たとえば、図2のシステムデータベース106および/またはテナントデータベース108)に通信可能に結合されたデータベースクエリプラン検出モジュール210を含む。データベースクエリプラン検出モジュール210は、定期的にデータベース220に問い合わせしてクエリプランを検索し、解析するプロセスを実現する。特定の局面では、データベースクエリプラン検出モジュール210は、図示するような別個の装置、たとえば別個のサーバまたはコンピュータシステムとして実現されるが、アプリケーションサーバ100またはデータベースサーバとして実現されてもよいということが理解される。
典型的なマルチテナントデータベーススキーマでは、特定のクエリプランは決して起こらないはずであり、他のクエリプランは数少ない特定された状況でしか起こらないはずである。そのようなものとしては、多数のパーティションを読むジョインおよびハッシュジョインを挙げることができる。たとえば、各組織のデータは一つの物理的データベースパーティションに格納することができるため、多数のパーティション中のデータにアクセスする、ユーザによって起動される任意のクエリは疑わしいクエリである。同様に、多数のテナントにまたがってデータを格納するために大きなテーブルが使用される場合、テーブル中のデータ行の全部または大部分を読む任意のクエリプランは疑わしいクエリプランと考えられる。
一つの局面で、データベースクエリプラン検出モジュールは、データベースから独立して稼働するバックグラウンドプロセスを実行し、データベースが使用しているクエリプランのためのデータベースを頻繁にポーリングして、任意の予想外のプランまたは疑わしいプランを探す。不適正または疑わしいクエリプランを検出する場合、一つの局面で、モジュールは、その疑わしいプランが例外、たとえばシステムハウスキーピングタスクを実行するクエリプランに該当するかどうかを判定し、該当しない場合、モジュールは、その情報を記録し、適切な警報を出す。プランが例外に該当する場合、プランを進行させることができる。製造サービスに対して、ならびに開発および試験中の両方にこのクエリプラン検出モジュールを稼働させることは、間違ったデータが間違った顧客によってアクセスされる結果を招くおそれのあるコードまたはインフラストラクチャ問題を検出するのに有用である。
疑わしいと考えられるさらなるクエリプランの例としては、全テーブルスキャン、マージ・ジョイン・カルテシアン(Cartesian)または「Partition Hash All」クエリもしくは類似した処理を含む任意のプランがある。「Partition Hash All」クエリ実行ステップまたは類似のステップでは、データベースは、全パーティションをメモリに読み込み、それを包括的アクセスに備えて編成することができる。これは、クエリが物理的パーティションにまたがってスキャンしていることを意味する。任意の全テーブルスキャンを実行するクエリプランは、組織フィルタを含まないクエリを示す可能性がある。一つの典型的なマルチテナントデータベーススキーマの場合、所与の組織の行は、典型的に、データベーステーブルの低い割合である。データベースが「索引を使用しない」全テーブルスキャンを実行している場合、これは、クエリが組織IDフィルタをミスしている可能性が高いことを示す。マージ・ジョイン・カルテシアンは、データベース(たとえば、Oracle, Inc.(Redwood Shores, California)によって提供されるデータベース)が、そのテーブル中の行の高い割合にアクセスするクエリに関して、二つのテーブルからすべてのデータをメモリに読み込むことによってクエリを最適化しようとしていることを示す特定のプランである。これらのプランのすべては数少ないケースで有効であり、したがって、一つの局面では「例外」リストに載ると考えられる。
図4は、一つの態様のサーバ側ファイアウォールシステム300を示す。一つの局面で、図4のファイアウォールシステムは、図1のマルチテナントデータベースシステム16で実現される。図示するように、ファイアウォールシステム300は、アプリケーションサーバ100に通信可能に結合された一つまたは複数のファイアウォールサーバ310を含む。一つまたは複数の負荷分散サーバを含む負荷分散システム305が存在する場合、ファイアウォールサーバ310は、負荷分散システム305とアプリケーションサーバ100との間に位置する。しかし、ファイアウォールサーバ310の機能を負荷分散システム305またはアプリケーションサーバ100中で実現することもできるということが理解される。しかし、ファイアウォールサーバ機能がアプリケーションサーバと切り離されており、ファイアウォールサーバが、アプリケーションサーバとは異なるハードウェアおよびソフトウェアプラットフォームで作動するということが好ましい。これは、一つのシステム(たとえば、アプリケーションサーバシステムまたはファイアウォールサーバシステム)に影響するインフラストラクチャ問題が他のシステムに影響するという可能性を大きく減らす。同様に、負荷分散システム305がファイアウォールサーバ310とは異なるハードウェアおよびソフトウェアプラットフォームで作動することが望ましい。
一つの局面で、図4に示すように、ファイアウォールシステム300は、UIをレンダリングし、ビジネス論理を実行するアプリケーションサーバ100からの一つまたは複数のサーバ310の別個のスタックを含む。これらのファイアウォールサーバ310の目的は、負荷分散システム305とアプリケーションサーバ100との間(または、負荷分散システム機能が存在しない場合、ネットワーク14とアプリケーションサーバ100との間)で要求を中継することである。中継する要求それぞれに関して、各ファイアウォールサーバ310は以下のステップを実行する:
(1)クライアント12から受信された要求中のSID (またはクライアントハッシュ)を記録する;および
(2)要求をアプリケーションサーバ100に転送する。
特定の局面で、負荷分散装置とファイアウォールサーバとの間に1対1、1対多または多対多の対応があってもよい。すなわち、負荷分散サーバは、一つまたは複数の特定のファイアウォールサーバにアドレス指定するように構成されてもよいし、または任意のファイアウォールサーバにアドレス指定することもできる。同様に、ファイアウォールサーバとアプリケーションサーバとの間に1対1、1対多または多対多の対応があってもよい。
アプリケーションサーバ100は、受信されたクライアント要求に応答するとき、典型的には、その応答のためのSID (または、ユーザIDおよび組織ID情報を備えたクライアントハッシュ)を含む応答ヘッダを付加する。ファイアウォールサーバ310は、応答メッセージを受信し、SID (またはクライアントハッシュ)を抽出し、応答の中のSID (またはクライアントハッシュ)中の情報を、はじめにクライアントによって発行されたSID中の情報に比較する。それらが異なる場合、ファイアウォールサーバは、何らかのエラーがあったことを認識し、クライアントに対し、間違ったページではなくエラーコードで応答する。ファイアウォールは、このエラーを記録し、たとえばシステム管理者に通知を送信することによって適切な警報を出す。情報が一致する場合、ファイアウォールサーバ310は、ページの本体および/またはHTTPヘッダからSIDを引き離し、応答を要求側クライアントに転送することができる。
図5は、一つの態様の典型的なクライアントファイアウォールプロセスを示す。典型的な動作で、クライアントシステムは、ログイン要求をMTS16に送信することによってセッションを開始し、そのログイン要求がアプリケーションサーバ100によって受信される。応答して、アプリケーションは、ログイン応答を要求側クライアントシステム12に返送する。一つの局面で、応答はログインページを含む; ページ「frontdoor.jsp」が、常に、ログインする際にユーザが遭遇する最初のページである。このページは、簡単なログインスクリプトを稼働させて(クライアント側で)、クライアントが検証ロジックをサポートするということを立証する。クライアントファイアウォールはクライアント側検証ロジック処理に依存するため、これは重要である。一つの局面で、検証ロジックはJavaScriptで実現され、ログインスクリプトは、クライアントがJavaScriptをサポートするということを立証する。クライアントがJavaScript(または、ファイアウォールが実現されているクライアントロジックプラットフォームなら何でも)をサポートしない場合、アプリケーションは作動するが、ファイアウォールなしで作動する。
一つの局面で、ユーザがログインするとき、「frontdoor.jsp」ページがSIDクッキーを設定する。SIDが期限切れになる(たとえば15分)前にウィンドウ内で要求される最初のページである場合、サービス中の他の任意のページがSIDクッキーを設定することもできる。SIDクッキーが設定されるたび、「ユーザハッシュ」と呼ばれるもう一つのクッキーが同じく設定される。このクッキーは、所与のユーザ情報および組織を一意に識別する文字数字列を含む。
SIDおよびユーザハッシュクッキーは、HTTPクッキーヘッダではなくクライアントロジック(たとえばJavaScript)を使用して設定されなければならない。これは、SIDまたはユーザハッシュクッキーが設定される前にそのページが本当にクライアントに宛てられているということをクライアントファイアウォールロジックが妥当性検証することを可能にする。標準のHTTPヘッダを使用してクッキーが設定される場合、クライアントファイアウォールコードが稼働する前にブラウザがSIDおよびユーザハッシュクッキーを設定して検査を無用にする。
図5に戻ると、ユーザがシステムにログインしたのち、要求またはクエリをシステムに送信することができる。アプリケーションサーバ100が要求を受信し、処理し、応答メッセージを要求側クライアントに返送する。一つの局面では、アプリケーションサーバ100は、クライアントに返送される各ページに関して、そのページが生成されたユーザ情報および組織のためのユーザIDおよび組織IDのハッシュを含む。また、クライアントベースのロジック(たとえばJavaScript)を各ページに含む。クライアントによって受信されると、クライアントロジックが実行し、ページが生成されたユーザIDおよび組織IDが、最初の要求を出したユーザIDおよび組織と同じであることを妥当性検証する。一つの局面で、このロジックは、クライアント側で(たとえばSIDおよび/またはユーザハッシュクッキー中に)格納されたユーザIDおよび組織IDを、ページとともに返送されるIDと比較する。このクライアント側ロジックのためのJavaScriptソースコードの一例を以下に示す。
Figure 2009518713
「needsClientHash」という関数および他の関連するJavaScript関数のためのJavaScriptソースコードの例を以下に示す。
Figure 2009518713
サーバファイアウォール態様と同様に、クライアントファイアウォールが、あるページが間違ったユーザまたは組織に送り渡されていることを検出する場合、ファイアウォールはただちにユーザをアプリケーションからログアウトさせ、適切な警報を出す。
他のプログラミングロジックを使用してクライアントファイアウォール検証ロジックを実現してもよいということが理解される。たとえば、JavaまたはActiveXプラグイン等を使用することもできる。たとえばActiveXプラグインとして実現される場合、クライアントに送信される各ページは、検証ロジックを実行するためにActiveXプラグインへの呼出しを含むことができる。
実施例および具体的な態様に関して本発明を説明したが、本発明は、開示された態様に限定されないということを理解しなければならない。むしろ、本発明は、当業者には自明であるような種々の改変および類似形態を包含することを意図する。したがって、請求の範囲は、そのような改変および類似形態をすべて包含するために、もっとも広義な解釈を与えられるべきである。
マルチテナントデータベースシステムを使用することができる環境を示す。 図1の要素および種々の相互接続をさらに詳細に示す。 一つの態様のデータベースクエリプラン検出システム200のアーキテクチャを示す。 一つの態様のサーバ側ファイアウォールシステム300のアーキテクチャを示す。 本発明の一つの態様のクライアントファイアウォールプロセスを示す。

Claims (26)

  1. 多数のテナントそれぞれのデータを格納するためのデータベースシステム、
    該多数のテナントそれぞれの該データベースシステムへのネットワークアクセスを提供するための、該データベースシステムおよびネットワークに通信可能に結合されたアプリケーションサーバ、および
    クエリプランを求めて該データベースシステムをポーリングし、クエリプランを解析してクエリプランが疑わしいかどうかを判定するためのクエリプラン検出モジュール
    を含む、マルチテナントデータベースシステム。
  2. クエリプラン検出モジュールが疑わしいクエリプランの実行を阻止する、請求項1記載のシステム。
  3. クエリプランが疑わしい場合、クエリプラン検出モジュールが警報を発する、請求項1記載のシステム。
  4. 疑わしいクエリプランそれぞれに関して、クエリプラン検出モジュールが、該疑わしいクエリプランがクエリプラン例外に該当するかどうかを判定する、請求項1記載のシステム。
  5. クエリプラン例外に該当する疑わしいクエリプランが実行される、請求項4記載のシステム。
  6. クエリプランが疑わしい場合、クエリプラン検出モジュールがクエリプラン情報を記録する、請求項1記載のシステム。
  7. クエリプラン検出モジュールが製造および開発中に稼働する、請求項1記載のシステム。
  8. クエリプランを解析してクエリプランが疑わしいかどうかを判定することが、該クエリプランが、マルチテナントデータベースシステム中では決して起こらないはずであるクエリプランまたはマルチテナントデータベースシステム中の少数の特定された状況でしか起こらないはずであるクエリプランの少なくとも一つであるかどうかを判定することを含む、請求項1記載のシステム。
  9. 多数のテナントのデータを格納するためのデータベースシステム、
    該データベースシステムおよびネットワークに通信可能に結合された、少なくとも一つのクライアントシステムのデータベースシステムへのネットワークアクセスを提供するアプリケーションサーバ、ならびに
    クライアント要求を受信し、
    該クライアント要求からユーザ情報および組織情報を抽出し、
    該クライアント要求を該アプリケーションサーバに転送し、かつ
    該アプリケーションサーバから受信された応答メッセージに含まれるユーザ情報および組織情報を、該クライアント要求から抽出された該ユーザ情報および組織情報と比較するように動作可能である、
    該アプリケーションサーバと該少なくとも一つのクライアントシステムとの間に通信可能に結合された、少なくとも一つのファイアウォールサーバ
    を含む、マルチテナントデータベースシステム。
  10. ユーザ情報および組織情報が、セッションID (SID)クッキーおよびストリングデータフィールドの少なくとも一つに含まれ、クライアント要求および応答メッセージそれぞれが該セッションID (SID)クッキーおよび該ストリングデータフィールドの少なくとも一つを含む、請求項9記載のマルチテナントデータベースシステム。
  11. ファイアウォールサーバが、応答メッセージの一部として含まれるページの本体からユーザ情報および組織情報の部分を引き離し、該応答メッセージをクライアントシステムに転送する、請求項9記載のマルチテナントデータベースシステム。
  12. 応答の中のユーザ情報および組織情報が抽出されたユーザ情報および組織情報と一致しない時に、ファイアウォールサーバが警報を出す、請求項9記載のマルチテナントデータベースシステム。
  13. 応答の中のユーザ情報および組織情報が抽出されたユーザ情報および組織情報と一致しない時に、ファイアウォールサーバがクライアント要求に応答してエラーコードを生成し、かつ送信する、請求項9記載のマルチテナントデータベースシステム。
  14. 応答の中のユーザ情報および組織情報が抽出されたユーザ情報および組織情報と一致しない時に、ファイアウォールサーバがクライアント要求に応答してクライアントシステムをアプリケーションサーバからログアウトさせる、請求項9記載のマルチテナントデータベースシステム。
  15. 応答の中のユーザ情報および組織情報が抽出されたユーザ情報および組織情報と一致しない時に、ファイアウォールサーバがエラー情報を記録する、請求項9記載のマルチテナントデータベースシステム。
  16. ファイアウォールサーバが、ユーザ情報および組織情報の一意IDを使用して、ページを要求しているユーザの身元を追跡する、請求項9記載のマルチテナントデータベースシステム。
  17. ファイアウォールサーバが、応答メッセージに含まれるユーザ情報および組織情報を抽出する、請求項9記載のマルチテナントデータベースシステム。
  18. ファイアウォールサーバが、応答メッセージのHTMLヘッダからユーザ情報および組織情報を抽出する、請求項9記載のマルチテナントデータベースシステム。
  19. データベースシステムが、データベースシステムをネットワークに通信可能に結合するアプリケーションサーバを含み、アプリケーションサーバが、少なくとも一つのクライアントシステムのデータベースシステムへのネットワークアクセスを提供する、データベースシステムにおいて、第一のクライアントシステムから受信されたログイン要求に応答して、ユーザ情報および組織情報ならびに第一の検証ロジックを含むログイン応答メッセージで該第一のクライアントシステムに応答する工程、
    該第一のクライアントシステムにおいて、該第一の検証ロジックを実行して該ユーザ情報および組織情報を設定する工程、
    該データベースシステムにおいて、該第一のクライアントシステムから受信された後続の要求に応答して、ユーザ情報および組織情報ならびに第二の検証ロジックを含む応答メッセージによって該第一のクライアントシステムに応答する工程、および
    該第一のクライアントシステムにおいて、該第二の検証ロジックを実行して、該応答メッセージで受信されたユーザ情報および組織情報が該第一のクライアントシステムにおいて設定されたユーザ情報および組織情報と一致することを妥当性検証する工程
    を含む、マルチテナントデータベースシステム中でクライアント側ファイアウォールを提供して多数のテナントのためのデータを格納する方法。
  20. ユーザ情報および組織情報がセッションID (SID)クッキーおよびストリングデータフィールドの少なくとも一つに含まれ、ログイン応答および応答メッセージそれぞれが該セッションID (SID)クッキーおよび該ストリングデータフィールドの少なくとも一つを含む、請求項19記載の方法。
  21. 応答メッセージで受信されたユーザ情報および組織情報が第一のクライアントシステムにおいて設定されたユーザ情報および組織情報と一致しない場合、ユーザを自動的にアプリケーションサーバからログアウトさせる、請求項19記載の方法。
  22. 応答メッセージで受信されたユーザ情報および組織情報が第一のクライアントシステムで設定されたユーザ情報および組織情報と一致しない場合、該第一のクライアントシステムがシステム管理者に警報を送信する、請求項19記載の方法。
  23. マルチテナントデータベースシステムのクエリプランをモニタリングして、任意のクエリプランが、マルチテナントデータベースシステム中では決して起こらないはずであるクエリプランまたはマルチテナントデータベースシステム中の少数の特定された状況でしか起こらないはずであるクエリプランの少なくとも一つであるかどうかを判定する工程、および
    クエリプランが、マルチテナントデータベースシステム中では決して起こらないはずであるクエリプランまたはマルチテナントデータベースシステム中の少数の特定された状況でしか起こらないはずであるクエリプランの少なくとも一つであると判定される場合、マルチテナント環境において顧客データを機密保護するための措置を講じる工程
    を含む、マルチテナント環境において顧客データを機密保護する方法。
  24. クエリプランが、マルチテナントデータベースシステム中では決して起こらないはずであるクエリプランまたはマルチテナントデータベースシステム中の少数の特定された状況でしか起こらないはずであるクエリプランの少なくとも一つであると判定される場合、マルチテナント環境において顧客データを機密保護するための措置を講じる工程が、警報を出す工程、監査メッセージを記録する工程、ならびに該クエリプランを放棄する工程、および該クエリプランの実行を延期する工程の少なくとも一つを含む、請求項23記載の方法。
  25. マルチテナントデータベースシステム中では決して起こらないはずであるクエリプランまたはマルチテナントデータベースシステム中の少数の特定された状況でしか起こらないはずであるクエリプランの少なくとも一つであると判定される特定のクエリプランが、クエリプランの例外クラスのメンバーであるかどうかを判定する工程、および
    該クエリプランがクエリプランの例外クラスのメンバーであることがわかった時に、警報を出すことなく該クエリプランの実行を許す工程
    をさらに含む、請求項23記載の方法。
  26. 実行されると、一つまたは複数のプロセッサにマルチテナントデータベースシステムのクエリプランをモニタリングさせて任意のクエリプランが疑わしいかどうかを判定させるコードを転送する工程、および
    クエリプランが疑わしいと判定される場合、実行されると、一つまたは複数のプロセッサにマルチテナント環境において顧客データを機密保護するための措置を講じさせるコードを転送する工程
    を含む、マルチテナント環境において顧客データを機密保護するためのコードを転送する方法。
JP2008543519A 2005-12-02 2006-11-30 マルチテナント環境において顧客データを機密保護するためのシステムおよび方法 Active JP5065287B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US74199505P 2005-12-02 2005-12-02
US60/741,995 2005-12-02
US11/585,527 2006-10-23
US11/585,527 US8069153B2 (en) 2005-12-02 2006-10-23 Systems and methods for securing customer data in a multi-tenant environment
PCT/US2006/046128 WO2007064958A2 (en) 2005-12-02 2006-11-30 Systems and methods for securing customer data in a multi-tenant environment

Publications (2)

Publication Number Publication Date
JP2009518713A true JP2009518713A (ja) 2009-05-07
JP5065287B2 JP5065287B2 (ja) 2012-10-31

Family

ID=38092864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008543519A Active JP5065287B2 (ja) 2005-12-02 2006-11-30 マルチテナント環境において顧客データを機密保護するためのシステムおよび方法

Country Status (5)

Country Link
US (4) US8069153B2 (ja)
EP (2) EP3629210B1 (ja)
JP (1) JP5065287B2 (ja)
CN (2) CN102117310B (ja)
WO (1) WO2007064958A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101239A (ja) * 2016-12-20 2018-06-28 株式会社ミロク情報サービス 共通プログラム、データベース管理装置、及びデータベース管理方法

Families Citing this family (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7529728B2 (en) 2003-09-23 2009-05-05 Salesforce.Com, Inc. Query optimization in a multi-tenant database system
US8543566B2 (en) 2003-09-23 2013-09-24 Salesforce.Com, Inc. System and methods of improving a multi-tenant database query using contextual knowledge about non-homogeneously distributed tenant data
US7779039B2 (en) 2004-04-02 2010-08-17 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system
US7665063B1 (en) 2004-05-26 2010-02-16 Pegasystems, Inc. Integration of declarative rule-based processing with procedural programming
US8335704B2 (en) 2005-01-28 2012-12-18 Pegasystems Inc. Methods and apparatus for work management and routing
WO2007008248A2 (en) * 2005-07-11 2007-01-18 Voicedemand, Inc. Voice control of a media player
US7949684B2 (en) 2005-09-09 2011-05-24 Salesforce.Com, Inc. Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment
US8069153B2 (en) 2005-12-02 2011-11-29 Salesforce.Com, Inc. Systems and methods for securing customer data in a multi-tenant environment
US8924335B1 (en) 2006-03-30 2014-12-30 Pegasystems Inc. Rule-based user interface conformance methods
US8250525B2 (en) 2007-03-02 2012-08-21 Pegasystems Inc. Proactive performance management for multi-user enterprise software systems
US8095618B2 (en) * 2007-03-30 2012-01-10 Microsoft Corporation In-memory caching of shared customizable multi-tenant data
US8019812B2 (en) 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture
US20090025005A1 (en) * 2007-07-20 2009-01-22 Creighton University Resource assignment system
JP2009070015A (ja) * 2007-09-12 2009-04-02 Hitachi Electronics Service Co Ltd アプリケーション利用サービス提供システム
US8117225B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC Drill-down system, method, and computer program product for focusing a search
US8117242B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC System, method, and computer program product for performing a search in conjunction with use of an online application
US8645423B2 (en) * 2008-05-02 2014-02-04 Oracle International Corporation Method of partitioning a database
US9791993B2 (en) 2008-05-08 2017-10-17 Salesforce.Com, Inc System, method and computer program product for creating a re-usable component utilizing a multi-tenant on-demand database service
US20090282045A1 (en) * 2008-05-09 2009-11-12 Business Objects, S.A. Apparatus and method for accessing data in a multi-tenant database according to a trust hierarchy
US9361366B1 (en) 2008-06-03 2016-06-07 Salesforce.Com, Inc. Method and system for controlling access to a multi-tenant database system using a virtual portal
US8473518B1 (en) 2008-07-03 2013-06-25 Salesforce.Com, Inc. Techniques for processing group membership data in a multi-tenant database system
US8078397B1 (en) 2008-08-22 2011-12-13 Boadin Technology, LLC System, method, and computer program product for social networking utilizing a vehicular assembly
US8190692B1 (en) 2008-08-22 2012-05-29 Boadin Technology, LLC Location-based messaging system, method, and computer program product
US8131458B1 (en) 2008-08-22 2012-03-06 Boadin Technology, LLC System, method, and computer program product for instant messaging utilizing a vehicular assembly
US8073590B1 (en) 2008-08-22 2011-12-06 Boadin Technology, LLC System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US8265862B1 (en) 2008-08-22 2012-09-11 Boadin Technology, LLC System, method, and computer program product for communicating location-related information
US8473469B1 (en) 2008-08-25 2013-06-25 Salesforce.Com, Inc. Techniques for implementing batch processing in a multi-tenant on-demand database system
US8407205B2 (en) * 2008-09-11 2013-03-26 Salesforce.Com, Inc. Automating sharing data between users of a multi-tenant database service
CN101777047A (zh) * 2009-01-08 2010-07-14 国际商业机器公司 多租户环境下访问数据库的系统、设备和方法
US8296321B2 (en) * 2009-02-11 2012-10-23 Salesforce.Com, Inc. Techniques for changing perceivable stimuli associated with a user interface for an on-demand database service
US8843435B1 (en) 2009-03-12 2014-09-23 Pegasystems Inc. Techniques for dynamic data processing
US8468492B1 (en) 2009-03-30 2013-06-18 Pegasystems, Inc. System and method for creation and modification of software applications
US20100286992A1 (en) * 2009-05-08 2010-11-11 Microsoft Corporation Integration of Third-Party Business Applications with Hosted Multi-Tenant Business Software System
WO2010135412A2 (en) 2009-05-19 2010-11-25 Security First Corp. Systems and methods for securing data in the cloud
US8626729B2 (en) * 2009-09-28 2014-01-07 Oracle International Corporation Database index monitoring system
US10482425B2 (en) 2009-09-29 2019-11-19 Salesforce.Com, Inc. Techniques for managing functionality changes of an on-demand database system
US10229157B2 (en) * 2009-10-05 2019-03-12 Salesforce.Com, Inc. Implementing composite custom indices in a multi-tenant database
GB2474300B (en) * 2009-10-12 2012-05-30 Hewlett Packard Development Co Method and system for printing
US8776067B1 (en) 2009-12-11 2014-07-08 Salesforce.Com, Inc. Techniques for utilizing computational resources in a multi-tenant on-demand database system
US8443366B1 (en) 2009-12-11 2013-05-14 Salesforce.Com, Inc. Techniques for establishing a parallel processing framework for a multi-tenant on-demand database system
US20110179025A1 (en) * 2010-01-21 2011-07-21 Kryptonite Systems Inc Social and contextual searching for enterprise business applications
US20110219050A1 (en) * 2010-03-04 2011-09-08 Kryptonite Systems, Inc. Portability of personal and social information in a multi-tenant environment
CN102200977B (zh) * 2010-03-23 2014-10-29 国际商业机器公司 多租户环境下扩展数据库表的方法和系统
US9189090B2 (en) * 2010-03-26 2015-11-17 Salesforce.Com, Inc. Techniques for interpreting signals from computer input devices
US8977675B2 (en) 2010-03-26 2015-03-10 Salesforce.Com, Inc. Methods and systems for providing time and date specific software user interfaces
US8646048B2 (en) 2010-03-31 2014-02-04 saleforce.com, inc System, method and computer program product for authenticating and authorizing an external entity
US20110246504A1 (en) * 2010-04-01 2011-10-06 Salesforce.Com, Inc. System, method and computer program product for performing one or more actions based on a comparison of data associated with a client to one or more criteria
US9189367B2 (en) * 2010-04-20 2015-11-17 Salesforce.Com, Inc. Methods and systems for debugging bytecode in an on-demand service environment
US9411907B2 (en) * 2010-04-26 2016-08-09 Salesforce.Com, Inc. Method and system for performing searches in a multi-tenant database environment
US8595181B2 (en) 2010-05-03 2013-11-26 Salesforce.Com, Inc. Report preview caching techniques in a multi-tenant database
US8977739B2 (en) 2010-05-03 2015-03-10 Salesforce.Com, Inc. Configurable frame work for testing and analysis of client-side web browser page performance
US8930327B2 (en) 2010-05-04 2015-01-06 Salesforce.Com, Inc. Method and system for scrubbing information from heap dumps
US8972431B2 (en) 2010-05-06 2015-03-03 Salesforce.Com, Inc. Synonym supported searches
US8549359B2 (en) 2010-05-12 2013-10-01 Salesforce.Com, Inc. Method and system for identifying errors in code
US9350705B2 (en) 2010-06-25 2016-05-24 Salesforce.Com, Inc. Methods and systems for providing a token-based application firewall correlation
US9407603B2 (en) 2010-06-25 2016-08-02 Salesforce.Com, Inc. Methods and systems for providing context-based outbound processing application firewalls
US8819632B2 (en) 2010-07-09 2014-08-26 Salesforce.Com, Inc. Techniques for distributing information in a computer network related to a software anomaly
CN103229450B (zh) * 2010-08-11 2016-09-28 安全第一公司 用于安全多租户数据存储的系统和方法
CN103229165A (zh) 2010-08-12 2013-07-31 安全第一公司 用于数据的安全远程存储的系统和方法
US9069901B2 (en) 2010-08-19 2015-06-30 Salesforce.Com, Inc. Software and framework for reusable automated testing of computer software systems
US8661084B1 (en) * 2010-08-27 2014-02-25 Okta, Inc. Metadata based platform for accessing and managing multiple heterogeneous information services
US8577915B2 (en) * 2010-09-10 2013-11-05 Veveo, Inc. Method of and system for conducting personalized federated search and presentation of results therefrom
US9015493B2 (en) 2010-09-16 2015-04-21 Microsoft Technology Licensing, Llc Multitenant-aware protection service
US8935427B2 (en) * 2010-09-23 2015-01-13 Microsoft Corporation Providing virtual networks using multi-tenant relays
US8700906B2 (en) 2011-01-14 2014-04-15 Microsoft Corporation Secure computing in multi-tenant data centers
US8880487B1 (en) * 2011-02-18 2014-11-04 Pegasystems Inc. Systems and methods for distributed rules processing
US10666732B2 (en) * 2011-03-21 2020-05-26 Iplcontent, Llc Systems and methods to provide digital amenities for local access
US8774213B2 (en) 2011-03-30 2014-07-08 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
BR112013024883B8 (pt) * 2011-03-30 2021-11-03 Amazon Tech Inc Frameworks e interfaces para processamento de pacote à base de dispositivo de descarga
US10324946B2 (en) * 2011-06-23 2019-06-18 Salesforce.Com Inc. Methods and systems for caching data shared between organizations in a multi-tenant database system
US8782762B2 (en) 2011-08-17 2014-07-15 International Business Machines Corporation Building data security in a networked computing environment
CN103036856A (zh) * 2011-10-09 2013-04-10 镇江金软计算机科技有限责任公司 基于saas应用的多租户系统实现
US8819210B2 (en) 2011-12-06 2014-08-26 Sap Portals Israel Ltd Multi-tenant infrastructure
US10467058B2 (en) 2011-12-20 2019-11-05 Microsoft Technology Licensing, Llc Sandboxing for multi-tenancy
US8938444B2 (en) * 2011-12-29 2015-01-20 Teradata Us, Inc. Techniques for external application-directed data partitioning in data exporting from a database management system
US9195936B1 (en) 2011-12-30 2015-11-24 Pegasystems Inc. System and method for updating or modifying an application without manual coding
JP6098169B2 (ja) * 2012-02-01 2017-03-22 株式会社リコー 情報処理システム、情報処理装置、プログラム及び認証方法
WO2013162561A1 (en) * 2012-04-26 2013-10-31 Hewlett-Packard Development Company, L.P. Platform runtime abstraction
US10049131B2 (en) * 2012-07-02 2018-08-14 Salesforce.Com, Inc. Computer implemented methods and apparatus for determining user access to custom metadata
US9495403B2 (en) * 2012-09-14 2016-11-15 Salesforce.Com, Inc. Method and system for cleaning data in a customer relationship management system
US9875467B2 (en) * 2012-10-05 2018-01-23 Oracle International Corporation Business intelligence report provider
US8875166B2 (en) 2012-11-08 2014-10-28 Sharp Laboratories Of America, Inc. Method and cloud security framework for implementing tenant license verification
US20140222696A1 (en) * 2013-02-07 2014-08-07 Navia.Com, Llc Peer to peer network for display of real estate information
US10157228B2 (en) * 2013-02-22 2018-12-18 Mitel Networks Corporation Communication system including a confidence level for a contact type and method of using same
CN104077530A (zh) * 2013-03-27 2014-10-01 国际商业机器公司 用于评估数据访问语句的安全性的方法和装置
US9298521B1 (en) * 2013-04-29 2016-03-29 Seagate Technology Llc Command sets and functions
US9411973B2 (en) * 2013-05-02 2016-08-09 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a security gateway
CN104348777B (zh) * 2013-07-24 2019-04-09 腾讯科技(深圳)有限公司 一种移动终端对第三方服务器的访问控制方法及系统
US9471353B1 (en) * 2014-03-21 2016-10-18 Amazon Technologies, Inc. Isolating tenants executing in multi-tenant software containers
US9754122B1 (en) 2014-03-21 2017-09-05 Amazon Technologies, Inc. Isolating tenants executing in multi-tenant software containers
US9703611B1 (en) 2014-03-21 2017-07-11 Amazon Technologies, Inc. Isolating resources for utilization by tenants executing in multi-tenant software containers
US10356026B2 (en) 2014-04-25 2019-07-16 Entit Software Llc Data management in a distributed computing environment
US10296753B2 (en) * 2014-08-26 2019-05-21 Salesforce.Com, Inc. Permission comparator
US10469396B2 (en) 2014-10-10 2019-11-05 Pegasystems, Inc. Event processing with enhanced throughput
US9923965B2 (en) 2015-06-05 2018-03-20 International Business Machines Corporation Storage mirroring over wide area network circuits with dynamic on-demand capacity
US9923839B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Configuring resources to exploit elastic network capability
US10177993B2 (en) 2015-11-25 2019-01-08 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
US10581680B2 (en) 2015-11-25 2020-03-03 International Business Machines Corporation Dynamic configuration of network features
US10057327B2 (en) 2015-11-25 2018-08-21 International Business Machines Corporation Controlled transfer of data over an elastic network
US9923784B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Data transfer using flexible dynamic elastic network service provider relationships
US10216441B2 (en) 2015-11-25 2019-02-26 International Business Machines Corporation Dynamic quality of service for storage I/O port allocation
US10057273B1 (en) * 2016-03-30 2018-08-21 EMC IP Holding Company LLC System and method for ensuring per tenant mutual exclusion of data and administrative entities with low latency and high scale
US10698599B2 (en) 2016-06-03 2020-06-30 Pegasystems, Inc. Connecting graphical shapes using gestures
US10698647B2 (en) 2016-07-11 2020-06-30 Pegasystems Inc. Selective sharing for collaborative application usage
US10305861B2 (en) 2016-08-29 2019-05-28 Microsoft Technology Licensing, Llc. Cross-tenant data leakage isolation
US10841337B2 (en) 2016-11-28 2020-11-17 Secureworks Corp. Computer implemented system and method, and computer program product for reversibly remediating a security risk
US10558641B2 (en) 2017-04-21 2020-02-11 Microsoft Technology Licensing, Llc Trigger system for databases using proxy
US20190102841A1 (en) * 2017-10-04 2019-04-04 Servicenow, Inc. Mapping engine configurations with task managed workflows and grid user interfaces
US10735470B2 (en) 2017-11-06 2020-08-04 Secureworks Corp. Systems and methods for sharing, distributing, or accessing security data and/or security applications, models, or analytics
US10594713B2 (en) 2017-11-10 2020-03-17 Secureworks Corp. Systems and methods for secure propagation of statistical models within threat intelligence communities
US10671283B2 (en) * 2018-01-31 2020-06-02 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing intelligently suggested keyboard shortcuts for web console applications
US11003718B2 (en) 2018-06-12 2021-05-11 Secureworks Corp. Systems and methods for enabling a global aggregated search, while allowing configurable client anonymity
US10785238B2 (en) 2018-06-12 2020-09-22 Secureworks Corp. Systems and methods for threat discovery across distinct organizations
US11048488B2 (en) 2018-08-14 2021-06-29 Pegasystems, Inc. Software code optimizer and method
US20200177509A1 (en) * 2018-12-04 2020-06-04 Forcepoint Llc System and method for anycast load balancing for distribution system
US10922229B2 (en) 2019-03-11 2021-02-16 Microsoft Technology Licensing, Llc In-memory normalization of cached objects to reduce cache memory footprint
US11310268B2 (en) 2019-05-06 2022-04-19 Secureworks Corp. Systems and methods using computer vision and machine learning for detection of malicious actions
US11418524B2 (en) 2019-05-07 2022-08-16 SecureworksCorp. Systems and methods of hierarchical behavior activity modeling and detection for systems-level security
US11381589B2 (en) 2019-10-11 2022-07-05 Secureworks Corp. Systems and methods for distributed extended common vulnerabilities and exposures data management
US11522877B2 (en) 2019-12-16 2022-12-06 Secureworks Corp. Systems and methods for identifying malicious actors or activities
CN111752906B (zh) * 2019-12-30 2023-12-05 北京沃东天骏信息技术有限公司 请求响应方法、装置和系统、计算机系统和可读存储介质
US11567945B1 (en) 2020-08-27 2023-01-31 Pegasystems Inc. Customized digital content generation systems and methods
US11588834B2 (en) 2020-09-03 2023-02-21 Secureworks Corp. Systems and methods for identifying attack patterns or suspicious activity in client networks
US11528294B2 (en) 2021-02-18 2022-12-13 SecureworksCorp. Systems and methods for automated threat detection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223022A1 (en) * 2004-04-02 2005-10-06 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system

Family Cites Families (219)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608872A (en) 1993-03-19 1997-03-04 Ncr Corporation System for allowing all remote computers to perform annotation on an image and replicating the annotated image on the respective displays of other comuters
US5649104A (en) 1993-03-19 1997-07-15 Ncr Corporation System for allowing user of any computer to draw image over that generated by the host computer and replicating the drawn image to other computers
US7991347B1 (en) 1994-04-07 2011-08-02 Data Innovation Llc System and method for accessing set of digital data at a remote site
US5577188A (en) 1994-05-31 1996-11-19 Future Labs, Inc. Method to provide for virtual screen overlay
US7181758B1 (en) 1994-07-25 2007-02-20 Data Innovation, L.L.C. Information distribution and processing system
US5546576A (en) * 1995-02-17 1996-08-13 International Business Machines Corporation Query optimizer system that detects and prevents mutating table violations of database integrity in a query before execution plan generation
GB2300991B (en) 1995-05-15 1997-11-05 Andrew Macgregor Ritchie Serving signals to browsing clients
US5715450A (en) 1995-09-27 1998-02-03 Siebel Systems, Inc. Method of selecting and presenting data from a database using a query language to a user of a computer system
US5831610A (en) 1996-02-23 1998-11-03 Netsuite Development L.P. Designing networks
US5821937A (en) 1996-02-23 1998-10-13 Netsuite Development, L.P. Computer method for updating a network design
US5873096A (en) 1997-10-08 1999-02-16 Siebel Systems, Inc. Method of maintaining a network of partially replicated database system
US6604117B2 (en) 1996-03-19 2003-08-05 Siebel Systems, Inc. Method of maintaining a network of partially replicated database system
US5822747A (en) * 1996-08-23 1998-10-13 Tandem Computers, Inc. System and method for optimizing database queries
US5875296A (en) * 1997-01-28 1999-02-23 International Business Machines Corporation Distributed file system web server user authentication with cookies
AU6183698A (en) 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of determining visibility to a remote database client of a plurality of database transactions having variable visibility strengths
AU6668398A (en) 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of determining the visibility to a remote databaseclient of a plurality of database transactions using simplified visibility rules
WO1998038762A2 (en) 1997-02-26 1998-09-03 Siebel Systems, Inc. Determining visibility to a remote database client
AU6336698A (en) 1997-02-26 1998-09-29 Siebel Systems, Inc. Distributed relational database
AU6440398A (en) 1997-02-26 1998-09-18 Siebel Systems, Inc. Method of using a cache to determine the visibility to a remote database client of a plurality of database transactions
AU6336798A (en) 1997-02-27 1998-09-29 Siebel Systems, Inc. Method of synchronizing independently distributed software and database schema
JP2001514776A (ja) 1997-02-27 2001-09-11 シーベル システムズ,インコーポレイティド ローカルな修正を組み込むソフトウェア配布の連続レベル移送の方法
JP2001513926A (ja) 1997-02-28 2001-09-04 シーベル システムズ,インコーポレイティド 複数レベルのリモート・クライアントを持つ部分的複製分散データベース
US6226745B1 (en) * 1997-03-21 2001-05-01 Gio Wiederhold Information sharing system and method with requester dependent sharing and security rules
US6766454B1 (en) * 1997-04-08 2004-07-20 Visto Corporation System and method for using an authentication applet to identify and authenticate a user in a computer network
US6144638A (en) * 1997-05-09 2000-11-07 Bbn Corporation Multi-tenant unit
US6169534B1 (en) 1997-06-26 2001-01-02 Upshot.Com Graphical user interface for customer information management
US5918159A (en) 1997-08-04 1999-06-29 Fomukong; Mundi Location reporting satellite paging system with optional blocking of location reporting
US6560461B1 (en) 1997-08-04 2003-05-06 Mundi Fomukong Authorized location reporting paging system
US9197599B1 (en) * 1997-09-26 2015-11-24 Verizon Patent And Licensing Inc. Integrated business system for web based telecommunications management
US20020059095A1 (en) 1998-02-26 2002-05-16 Cook Rachael Linette System and method for generating, capturing, and managing customer lead information over a computer network
US6732111B2 (en) 1998-03-03 2004-05-04 Siebel Systems, Inc. Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US6772229B1 (en) 2000-11-13 2004-08-03 Groupserve, Inc. Centrifugal communication and collaboration method
US6161149A (en) 1998-03-13 2000-12-12 Groupserve, Inc. Centrifugal communication and collaboration method
US5963953A (en) 1998-03-30 1999-10-05 Siebel Systems, Inc. Method, and system for product configuration
US6212524B1 (en) * 1998-05-06 2001-04-03 E.Piphany, Inc. Method and apparatus for creating and populating a datamart
US6289384B1 (en) * 1998-06-05 2001-09-11 I2 Technologies, Inc. System and method for event notification through a firewall
US6088796A (en) * 1998-08-06 2000-07-11 Cianfrocca; Francis Secure middleware and server control system for querying through a network firewall
US6353818B1 (en) * 1998-08-19 2002-03-05 Ncr Corporation Plan-per-tuple optimizing of database queries with user-defined functions
WO2000013122A1 (en) 1998-08-27 2000-03-09 Upshot Corporation A method and apparatus for network-based sales force management
US6470453B1 (en) * 1998-09-17 2002-10-22 Cisco Technology, Inc. Validating connections to a network system
US6480850B1 (en) * 1998-10-02 2002-11-12 Ncr Corporation System and method for managing data privacy in a database management system including a dependently connected privacy data mart
US6813617B2 (en) * 1998-10-05 2004-11-02 Oracle International Corporation Dynamic generation of optimizer hints
US6587854B1 (en) * 1998-10-05 2003-07-01 Oracle Corporation Virtually partitioning user data in a database system
US7281003B2 (en) * 1998-10-05 2007-10-09 Oracle International Corporation Database fine-grained access control
US6601087B1 (en) 1998-11-18 2003-07-29 Webex Communications, Inc. Instant document sharing
US6549908B1 (en) 1998-11-18 2003-04-15 Siebel Systems, Inc. Methods and apparatus for interpreting user selections in the context of a relation distributed as a set of orthogonalized sub-relations
US6728960B1 (en) 1998-11-18 2004-04-27 Siebel Systems, Inc. Techniques for managing multiple threads in a browser environment
EP1163604A4 (en) 1998-11-30 2002-01-09 Siebel Systems Inc ASSIGNMENT MANAGER
EP1135723A4 (en) 1998-11-30 2005-02-16 Siebel Systems Inc DEVELOPMENT TOOL, METHOD AND SYSTEM FOR CUSTOMER SERVICE APPLICATIONS
WO2000033235A1 (en) 1998-11-30 2000-06-08 Siebel Systems, Inc. State models for monitoring processes
WO2000033226A1 (en) 1998-11-30 2000-06-08 Siebel Systems, Inc. Smart scripting call centers
US6438549B1 (en) * 1998-12-03 2002-08-20 International Business Machines Corporation Method for storing sparse hierarchical data in a relational database
US7356482B2 (en) 1998-12-18 2008-04-08 Alternative Systems, Inc. Integrated change management unit
US6513046B1 (en) * 1999-12-15 2003-01-28 Tangis Corporation Storing and recalling information to augment human memories
US6321238B1 (en) * 1998-12-28 2001-11-20 Oracle Corporation Hybrid shared nothing/shared disk database system
CA2363571A1 (en) * 1999-02-26 2000-08-31 America Online, Inc. Proxy server augmenting a client request with user profile data
US6574635B2 (en) 1999-03-03 2003-06-03 Siebel Systems, Inc. Application instantiation based upon attributes and values stored in a meta data repository, including tiering of application layers objects and components
US20020072951A1 (en) 1999-03-03 2002-06-13 Michael Lee Marketing support database management method, system and program product
US6446035B1 (en) * 1999-05-05 2002-09-03 Xerox Corporation Finding groups of people based on linguistically analyzable content of resources accessed
US7698160B2 (en) 1999-05-07 2010-04-13 Virtualagility, Inc System for performing collaborative tasks
US8095413B1 (en) 1999-05-07 2012-01-10 VirtualAgility, Inc. Processing management information
US6842758B1 (en) * 1999-07-30 2005-01-11 Computer Associates Think, Inc. Modular method and system for performing database queries
US6401125B1 (en) * 1999-08-05 2002-06-04 Nextpage, Inc. System and method for maintaining state information between a web proxy server and its clients
US6823384B1 (en) * 1999-10-15 2004-11-23 James Wilson Methods and apparatus for securely collecting customer service agent data in a multi-tenant environment
US6621834B1 (en) 1999-11-05 2003-09-16 Raindance Communications, Inc. System and method for voice transmission over network protocols
US6535909B1 (en) 1999-11-18 2003-03-18 Contigo Software, Inc. System and method for record and playback of collaborative Web browsing session
US6324568B1 (en) 1999-11-30 2001-11-27 Siebel Systems, Inc. Method and system for distributing objects over a network
US6324648B1 (en) * 1999-12-14 2001-11-27 Gte Service Corporation Secure gateway having user identification and password authentication
US6654032B1 (en) 1999-12-23 2003-11-25 Webex Communications, Inc. Instant sharing of documents on a remote server
DE20021691U1 (de) * 2000-01-20 2001-04-12 Mayr Michael Isolierglasscheibe mit integrierter Rolloeinrichtung
US7313626B2 (en) * 2000-03-29 2007-12-25 Adc Wireless Solutions Llc Operations and maintenace architecture for multiprotocol distributed system
US7266502B2 (en) 2000-03-31 2007-09-04 Siebel Systems, Inc. Feature centric release manager method and system
US6721724B1 (en) * 2000-03-31 2004-04-13 Microsoft Corporation Validating multiple execution plans for database queries
US6336137B1 (en) 2000-03-31 2002-01-01 Siebel Systems, Inc. Web client-server system and method for incompatible page markup and presentation languages
US6732100B1 (en) * 2000-03-31 2004-05-04 Siebel Systems, Inc. Database access method and system for user role defined access
US6577726B1 (en) 2000-03-31 2003-06-10 Siebel Systems, Inc. Computer telephony integration hotelling method and system
US6820082B1 (en) * 2000-04-03 2004-11-16 Allegis Corporation Rule based database security system and method
US6434550B1 (en) 2000-04-14 2002-08-13 Rightnow Technologies, Inc. Temporal updates of relevancy rating of retrieved information in an information search system
US6842748B1 (en) 2000-04-14 2005-01-11 Rightnow Technologies, Inc. Usage based strength between related information in an information retrieval system
US7730072B2 (en) 2000-04-14 2010-06-01 Rightnow Technologies, Inc. Automated adaptive classification system for knowledge networks
US6665655B1 (en) 2000-04-14 2003-12-16 Rightnow Technologies, Inc. Implicit rating of retrieved information in an information search system
US7831616B2 (en) * 2000-04-27 2010-11-09 Webfeat, Inc. Systems and methods for managing database authentication and sessions
US7096219B1 (en) * 2000-05-10 2006-08-22 Teleran Technologies, Inc. Method and apparatus for optimizing a data access customer service system
US6678672B1 (en) * 2000-05-31 2004-01-13 Ncr Corporation Efficient exception handling during access plan execution in an on-line analytic processing system
US6763501B1 (en) 2000-06-09 2004-07-13 Webex Communications, Inc. Remote document serving
DK1297446T3 (da) * 2000-07-05 2006-01-30 Ernst & Young Llp Fremgangsmåde og apparat for tilvejebringelse af computertjenester
US7047202B2 (en) * 2000-07-13 2006-05-16 Amit Jaipuria Method and apparatus for optimizing networking potential using a secured system for an online community
WO2002010981A2 (en) * 2000-07-28 2002-02-07 Easyask, Inc. Distributed search system and method
JP4356226B2 (ja) * 2000-09-12 2009-11-04 ソニー株式会社 サーバ装置、配信システム、配信方法、及び端末装置
GB2367387A (en) * 2000-09-27 2002-04-03 Int Computers Ltd Personal data protection
KR100365357B1 (ko) 2000-10-11 2002-12-18 엘지전자 주식회사 무선통신 단말기의 데이터 통신 방법
JP2002123548A (ja) * 2000-10-12 2002-04-26 Sony Corp 情報提供システム、情報画像管理サーバ、クライアント、並びに情報画像管理プログラムを記録した記録媒体
US7080101B1 (en) * 2000-12-01 2006-07-18 Ncr Corp. Method and apparatus for partitioning data for storage in a database
JP2002183036A (ja) * 2000-12-14 2002-06-28 Isao:Kk コミュニケーションシステム、コミュニケーション情報処理装置、情報端末装置、コミュニケーション方法、および、記録媒体
US20020107910A1 (en) * 2001-02-02 2002-08-08 Yan Zhao Client/server two-way communication system framework under HTTP protocol
US7581230B2 (en) 2001-02-06 2009-08-25 Siebel Systems, Inc. Adaptive communication application programming interface
USD454139S1 (en) 2001-02-20 2002-03-05 Rightnow Technologies Display screen for a computer
US7185364B2 (en) * 2001-03-21 2007-02-27 Oracle International Corporation Access system interface
US6757690B2 (en) * 2001-03-26 2004-06-29 International Business Machines Corporation Method and system for monitoring and securing data access in a database system
US7363388B2 (en) 2001-03-28 2008-04-22 Siebel Systems, Inc. Method and system for direct server synchronization with a computing device
US6829655B1 (en) 2001-03-28 2004-12-07 Siebel Systems, Inc. Method and system for server synchronization with a computing device via a companion device
US7174514B2 (en) 2001-03-28 2007-02-06 Siebel Systems, Inc. Engine to present a user interface based on a logical structure, such as one for a customer relationship management system, across a web site
JP4448623B2 (ja) * 2001-03-29 2010-04-14 セイコーエプソン株式会社 デジタルコンテンツ提供システム,デジタルコンテンツ提供方法,サーバ装置及びデジタルコンテンツ提供プログラム
US20030018705A1 (en) 2001-03-31 2003-01-23 Mingte Chen Media-independent communication server
US20030206192A1 (en) 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
US6732095B1 (en) 2001-04-13 2004-05-04 Siebel Systems, Inc. Method and apparatus for mapping between XML and relational representations
US7020645B2 (en) * 2001-04-19 2006-03-28 Eoriginal, Inc. Systems and methods for state-less authentication
US20020157020A1 (en) * 2001-04-20 2002-10-24 Coby Royer Firewall for protecting electronic commerce databases from malicious hackers
US7761288B2 (en) 2001-04-30 2010-07-20 Siebel Systems, Inc. Polylingual simultaneous shipping of software
US6711565B1 (en) 2001-06-18 2004-03-23 Siebel Systems, Inc. Method, apparatus, and system for previewing search results
US6763351B1 (en) 2001-06-18 2004-07-13 Siebel Systems, Inc. Method, apparatus, and system for attaching search results
US6782383B2 (en) 2001-06-18 2004-08-24 Siebel Systems, Inc. System and method to implement a persistent and dismissible search center frame
US6728702B1 (en) 2001-06-18 2004-04-27 Siebel Systems, Inc. System and method to implement an integrated search center supporting a full-text search and query on a database
US20030004971A1 (en) 2001-06-29 2003-01-02 Gong Wen G. Automatic generation of data models and accompanying user interfaces
US7266840B2 (en) * 2001-07-12 2007-09-04 Vignette Corporation Method and system for secure, authorized e-mail based transactions
US7904454B2 (en) * 2001-07-16 2011-03-08 International Business Machines Corporation Database access security
US7130852B2 (en) * 2001-07-27 2006-10-31 Silicon Valley Bank Internal security system for a relational database system
US7299496B2 (en) * 2001-08-14 2007-11-20 Illinois Institute Of Technology Detection of misuse of authorized access in an information retrieval system
US20030046587A1 (en) * 2001-09-05 2003-03-06 Satyam Bheemarasetti Secure remote access using enterprise peer networks
US7761535B2 (en) 2001-09-28 2010-07-20 Siebel Systems, Inc. Method and system for server synchronization with a computing device
US6993712B2 (en) 2001-09-28 2006-01-31 Siebel Systems, Inc. System and method for facilitating user interaction in a browser environment
US6826582B1 (en) 2001-09-28 2004-11-30 Emc Corporation Method and system for using file systems for content management
CA2357937A1 (en) * 2001-09-28 2003-03-28 Ibm Canada Limited-Ibm Canada Limitee Database diagnostic system and method
US6724399B1 (en) 2001-09-28 2004-04-20 Siebel Systems, Inc. Methods and apparatus for enabling keyboard accelerators in applications implemented via a browser
US6978445B2 (en) 2001-09-28 2005-12-20 Siebel Systems, Inc. Method and system for supporting user navigation in a browser environment
US7962565B2 (en) 2001-09-29 2011-06-14 Siebel Systems, Inc. Method, apparatus and system for a mobile web client
US6901595B2 (en) 2001-09-29 2005-05-31 Siebel Systems, Inc. Method, apparatus, and system for implementing a framework to support a web-based application
US7146617B2 (en) 2001-09-29 2006-12-05 Siebel Systems, Inc. Method, apparatus, and system for implementing view caching in a framework to support web-based applications
US8359335B2 (en) 2001-09-29 2013-01-22 Siebel Systems, Inc. Computing system and method to implicitly commit unsaved data for a world wide web application
US7289949B2 (en) 2001-10-09 2007-10-30 Right Now Technologies, Inc. Method for routing electronic correspondence based on the level and type of emotion contained therein
US6801903B2 (en) * 2001-10-12 2004-10-05 Ncr Corporation Collecting statistics in a database system
TW548592B (en) * 2001-10-22 2003-08-21 Taiwan Semiconductor Mfg System and method for single login of application program
KR100994666B1 (ko) * 2001-11-20 2010-11-16 웨스턴 디지털 테크놀로지스, 인코포레이티드 네트워크 기반 디바이스를 위한 액세스 및 제어 시스템
ATE375567T1 (de) * 2001-11-23 2007-10-15 Protegrity Res & Dev Verfahren zur erkennung von eindringling in einem datenbanksystem
US7062502B1 (en) 2001-12-28 2006-06-13 Kesler John N Automated generation of dynamic data entry user interface for relational database management systems
US6804330B1 (en) 2002-01-04 2004-10-12 Siebel Systems, Inc. Method and system for accessing CRM data via voice
US7076795B2 (en) * 2002-01-11 2006-07-11 International Business Machiness Corporation System and method for granting access to resources
US7058890B2 (en) 2002-02-13 2006-06-06 Siebel Systems, Inc. Method and system for enabling connectivity to a data system
US6845452B1 (en) * 2002-03-12 2005-01-18 Reactivity, Inc. Providing security for external access to a protected computer network
US7672853B2 (en) 2002-03-29 2010-03-02 Siebel Systems, Inc. User interface for processing requests for approval
US7131071B2 (en) 2002-03-29 2006-10-31 Siebel Systems, Inc. Defining an approval process for requests for approval
JP2003296213A (ja) * 2002-04-03 2003-10-17 Sony Corp 情報授受方法および情報授受システム
US20030233582A1 (en) * 2002-04-09 2003-12-18 Ram Pemmaraju Methods and apparatus for a computer network firewall which can be configured dynamically via an authentication mechanism
US6976023B2 (en) * 2002-04-23 2005-12-13 International Business Machines Corporation System and method for managing application specific privileges in a content management system
US6850949B2 (en) 2002-06-03 2005-02-01 Right Now Technologies, Inc. System and method for generating a dynamic interface via a communications network
US7373336B2 (en) * 2002-06-10 2008-05-13 Koninklijke Philips Electronics N.V. Content augmentation based on personal profiles
US7594181B2 (en) 2002-06-27 2009-09-22 Siebel Systems, Inc. Prototyping graphical user interfaces
US7437720B2 (en) 2002-06-27 2008-10-14 Siebel Systems, Inc. Efficient high-interactivity user interface for client-server applications
US8639542B2 (en) 2002-06-27 2014-01-28 Siebel Systems, Inc. Method and apparatus to facilitate development of a customer-specific business process model
US7281139B2 (en) * 2002-07-11 2007-10-09 Sun Microsystems, Inc. Authenticating legacy service via web technology
US20040010489A1 (en) 2002-07-12 2004-01-15 Rightnow Technologies, Inc. Method for providing search-specific web pages in a network computing environment
US20040034635A1 (en) * 2002-08-15 2004-02-19 Czarnecki David Anthony Method and system for identifying and matching companies to business event information
US7251787B2 (en) 2002-08-28 2007-07-31 Siebel Systems, Inc. Method and apparatus for an integrated process modeller
US20040044909A1 (en) * 2002-09-04 2004-03-04 Mirza Absar Ahmed Method and system for accessing an object behind a firewall
US6928554B2 (en) * 2002-10-31 2005-08-09 International Business Machines Corporation Method of query return data analysis for early warning indicators of possible security exposures
CA2502558A1 (en) * 2003-01-14 2004-07-29 Matsushita Electric Industrial Co., Ltd. System, method, and program for using or managing content
US7099858B2 (en) * 2003-01-30 2006-08-29 International Business Machines Corporation Data management system that provides intelligent access plan caching
US9448860B2 (en) 2003-03-21 2016-09-20 Oracle America, Inc. Method and architecture for providing data-change alerts to external applications via a push service
US7904340B2 (en) 2003-03-24 2011-03-08 Siebel Systems, Inc. Methods and computer-readable medium for defining a product model
JP2006521641A (ja) 2003-03-24 2006-09-21 シーベル システムズ,インコーポレイティド カスタム共通オブジェクト
EP1606740A4 (en) 2003-03-24 2007-10-03 Siebel Systems Inc COMMON OBJECT
US8762415B2 (en) 2003-03-25 2014-06-24 Siebel Systems, Inc. Modeling of order data
US20040193656A1 (en) * 2003-03-28 2004-09-30 Pizzo Michael J. Systems and methods for caching and invalidating database results and derived objects
US7685515B2 (en) 2003-04-04 2010-03-23 Netsuite, Inc. Facilitating data manipulation in a browser-based user interface of an enterprise business application
US7412455B2 (en) 2003-04-30 2008-08-12 Dillon David M Software framework that facilitates design and implementation of database applications
US7620655B2 (en) 2003-05-07 2009-11-17 Enecto Ab Method, device and computer program product for identifying visitors of websites
US7146363B2 (en) * 2003-05-20 2006-12-05 Microsoft Corporation System and method for cardinality estimation based on query execution feedback
US7409336B2 (en) 2003-06-19 2008-08-05 Siebel Systems, Inc. Method and system for searching data based on identified subset of categories and relevance-scored text representation-category combinations
US20040260659A1 (en) 2003-06-23 2004-12-23 Len Chan Function space reservation system
US7237227B2 (en) 2003-06-30 2007-06-26 Siebel Systems, Inc. Application user interface template with free-form layout
US7406714B1 (en) * 2003-07-01 2008-07-29 Symantec Corporation Computer code intrusion detection system based on acceptable retrievals
CA2533167A1 (en) * 2003-07-22 2005-01-27 Kinor Technologies Inc. Information access using ontologies
US20050108526A1 (en) * 2003-08-11 2005-05-19 Gavin Robertson Query server system security and privacy access profiles
US7694314B2 (en) 2003-08-28 2010-04-06 Siebel Systems, Inc. Universal application network architecture
US7171413B2 (en) * 2003-08-29 2007-01-30 International Business Machines Corporation Two phase intermediate query security using access control
US7509311B2 (en) * 2003-08-29 2009-03-24 Microsoft Corporation Use of statistics on views in query optimization
WO2005024669A1 (en) * 2003-09-04 2005-03-17 Oracle International Corporation Self-managing database architecture
US7805411B2 (en) * 2003-09-06 2010-09-28 Oracle International Corporation Auto-tuning SQL statements
US7529728B2 (en) * 2003-09-23 2009-05-05 Salesforce.Com, Inc. Query optimization in a multi-tenant database system
US7171398B2 (en) * 2003-10-16 2007-01-30 International Business Machines Corporation Outer and exception join to inner join normalization
US8775412B2 (en) * 2004-01-08 2014-07-08 International Business Machines Corporation Method and system for a self-healing query access plan
US7353279B2 (en) * 2004-01-08 2008-04-01 Hughes Electronics Corporation Proxy architecture for providing quality of service(QoS) reservations
US8375048B1 (en) * 2004-01-20 2013-02-12 Microsoft Corporation Query augmentation
US7327258B2 (en) * 2004-02-04 2008-02-05 Guardian Mobile Monitoring Systems System for, and method of, monitoring the movements of mobile items
US7661141B2 (en) * 2004-02-11 2010-02-09 Microsoft Corporation Systems and methods that optimize row level database security
US20050203881A1 (en) * 2004-03-09 2005-09-15 Akio Sakamoto Database user behavior monitor system and method
US7487149B2 (en) * 2004-03-10 2009-02-03 Oracle International Corporation Method and apparatus for providing query-level security in a database system
US20050203921A1 (en) * 2004-03-11 2005-09-15 Newman Aaron C. System for protecting database applications from unauthorized activity
US7606792B2 (en) * 2004-03-19 2009-10-20 Microsoft Corporation System and method for efficient evaluation of a query that invokes a table valued function
US7739262B2 (en) * 2004-03-19 2010-06-15 Microsoft Corporation Enforcing currency and consistency constraints in database query processing
US7200595B2 (en) * 2004-03-29 2007-04-03 Microsoft Corporation Systems and methods for fine grained access control of data stored in relational databases
US7353219B2 (en) * 2004-05-28 2008-04-01 International Business Machines Corporation Determining validity ranges of query plans based on suboptimality
KR100690764B1 (ko) * 2004-06-08 2007-03-09 엘지전자 주식회사 아이엠피에스 클라이언트의 상태정보 동기화 방법
US20050289098A1 (en) * 2004-06-24 2005-12-29 International Business Machines Corporation Dynamically selecting alternative query access plans
US7480718B2 (en) * 2004-06-28 2009-01-20 International Business Machines Corporation Method for providing single sign-on user names for Web cookies in a multiple user information directory environment
US8346761B2 (en) * 2004-08-05 2013-01-01 International Business Machines Corporation Method and system for data mining for automatic query optimization
US7653665B1 (en) * 2004-09-13 2010-01-26 Microsoft Corporation Systems and methods for avoiding database anomalies when maintaining constraints and indexes in presence of snapshot isolation
US7363299B2 (en) * 2004-11-18 2008-04-22 University Of Washington Computing probabilistic answers to queries
US8131744B2 (en) * 2004-12-17 2012-03-06 International Business Machines Corporation Well organized query result sets
US7693863B2 (en) * 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US9886492B2 (en) * 2004-12-22 2018-02-06 Teradata Us, Inc. Self-adjusting database-query optimizer
US20060235831A1 (en) * 2005-01-14 2006-10-19 Adinolfi Ronald E Multi-source multi-tenant entitlement enforcing data repository and method of operation
US20060247944A1 (en) * 2005-01-14 2006-11-02 Calusinski Edward P Jr Enabling value enhancement of reference data by employing scalable cleansing and evolutionarily tracked source data tags
US7882100B2 (en) * 2005-01-24 2011-02-01 Sybase, Inc. Database system with methodology for generating bushy nested loop join trees
GB0502383D0 (en) * 2005-02-04 2005-03-16 Nokia Corp User identities
US7444331B1 (en) * 2005-03-02 2008-10-28 Symantec Corporation Detecting code injection attacks against databases
US7860842B2 (en) * 2005-03-16 2010-12-28 Oracle International Corporation Mechanism to detect and analyze SQL injection threats
US7810142B2 (en) * 2005-03-21 2010-10-05 International Business Machines Corporation Auditing compliance with a hippocratic database
JP4615344B2 (ja) * 2005-03-24 2011-01-19 株式会社日立製作所 データ処理システム及びデータベースの管理方法
US7765200B2 (en) * 2005-03-25 2010-07-27 International Business Machines Corporation SQL query problem determination tool
US8086615B2 (en) * 2005-03-28 2011-12-27 Oracle International Corporation Security data redaction
US7558796B1 (en) * 2005-05-19 2009-07-07 Symantec Corporation Determining origins of queries for a database intrusion detection system
JP4545647B2 (ja) * 2005-06-17 2010-09-15 富士通株式会社 攻撃検知・防御システム
US7774361B1 (en) * 2005-07-08 2010-08-10 Symantec Corporation Effective aggregation and presentation of database intrusion incidents
US7970788B2 (en) * 2005-08-02 2011-06-28 International Business Machines Corporation Selective local database access restriction
US8484232B2 (en) * 2005-11-22 2013-07-09 International Business Machines Corporation Method, computer arrangement, computer program and computer program product for checking for the presence of control statements in a data value
US8069153B2 (en) 2005-12-02 2011-11-29 Salesforce.Com, Inc. Systems and methods for securing customer data in a multi-tenant environment
US8082301B2 (en) 2006-11-10 2011-12-20 Virtual Agility, Inc. System for supporting collaborative activity
US8719287B2 (en) 2007-08-31 2014-05-06 Business Objects Software Limited Apparatus and method for dynamically selecting componentized executable instructions at run time

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050223022A1 (en) * 2004-04-02 2005-10-06 Salesforce.Com, Inc. Custom entities and fields in a multi-tenant database system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018101239A (ja) * 2016-12-20 2018-06-28 株式会社ミロク情報サービス 共通プログラム、データベース管理装置、及びデータベース管理方法
WO2018117107A1 (ja) * 2016-12-20 2018-06-28 株式会社ミロク情報サービス 共通プログラム、データベース管理装置、及びデータベース管理方法
KR20190086777A (ko) * 2016-12-20 2019-07-23 가부시키가이샤 미로쿠 죠호 서비스 공통 프로그램, 데이터베이스 관리장치 및 데이터베이스 관리방법
KR102087325B1 (ko) 2016-12-20 2020-03-10 가부시키가이샤 미로쿠 죠호 서비스 공통 프로그램, 데이터베이스 관리장치 및 데이터베이스 관리방법

Also Published As

Publication number Publication date
CN101336433A (zh) 2008-12-31
EP1958099A2 (en) 2008-08-20
US8799320B2 (en) 2014-08-05
EP3629210A2 (en) 2020-04-01
EP1958099A4 (en) 2013-07-10
JP5065287B2 (ja) 2012-10-31
CN102117310B (zh) 2014-05-21
EP3629210B1 (en) 2022-05-11
US8069153B2 (en) 2011-11-29
US8620876B2 (en) 2013-12-31
EP1958099B1 (en) 2019-04-24
EP3629210A3 (en) 2020-07-29
WO2007064958B1 (en) 2008-07-31
WO2007064958A3 (en) 2008-06-12
WO2007064958A2 (en) 2007-06-07
US20070130130A1 (en) 2007-06-07
US20120260341A1 (en) 2012-10-11
CN101336433B (zh) 2015-07-15
US20120259839A1 (en) 2012-10-11
US8788532B2 (en) 2014-07-22
CN102117310A (zh) 2011-07-06
US20120047570A1 (en) 2012-02-23

Similar Documents

Publication Publication Date Title
JP5065287B2 (ja) マルチテナント環境において顧客データを機密保護するためのシステムおよび方法
US10313329B2 (en) On-demand service security system and method for managing a risk of access as a condition of permitting access to the on-demand service
US8826451B2 (en) Mechanism for facilitating communication authentication between cloud applications and on-premise applications
US20200007529A1 (en) Authenticating computing system requests with an unknown destination across tenants of a multi-tenant system
US9619652B2 (en) System, method and computer program product for determining a risk score for an entity
US7831570B2 (en) Mandatory access control label security
US8732856B2 (en) Cross-domain security for data vault
US7814076B2 (en) Data vault
US10958431B2 (en) Authenticating computing system requests across tenants of a multi-tenant database system
US8646048B2 (en) System, method and computer program product for authenticating and authorizing an external entity
US20100235495A1 (en) Methods and systems for reducing a load on a multi-tenant database
US20130198236A1 (en) System, method and computer program product for enabling access to a resource of a multi-tenant on-demand database service utilizing a token
US20110321150A1 (en) Methods And Systems For Context-Based Application Firewalls
US20060248084A1 (en) Dynamic auditing
US20110246504A1 (en) System, method and computer program product for performing one or more actions based on a comparison of data associated with a client to one or more criteria
US20120272292A1 (en) Method and apparatus for protecting against attacks from outside content
US8863251B1 (en) On-demand service security system and method for managing a risk of access as a condition of permitting access to the on-demand service
US11089019B2 (en) Techniques and architectures for secure session usage and logging
US11997204B2 (en) Authenticating computing system requests across tenants of a multi-tenant database system
JP2024521121A (ja) 組織のセキュリティポリシーに対するユーザコンプライアンスの信頼度のスコアリング

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110615

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110913

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110921

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111006

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111014

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111114

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111121

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20111205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111215

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20111206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120528

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5065287

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150817

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D03

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250